diff --git a/pdm.lock b/pdm.lock
index e40d73c468e64fb34e85aa0c6c2a75aca70ddd24..1ebc77d7e4bff3efb9fe7069ad59a0e5c6ed2553 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -2,10 +2,10 @@
 # It is not intended for manual editing.
 
 [metadata]
-groups = ["default", "dev", "lint", "local", "static-analysis", "typing", "watchfiles"]
+groups = ["default", "dev", "django-csp", "lint", "local", "static-analysis", "typing", "watchfiles"]
 strategy = ["inherit_metadata"]
 lock_version = "4.5.0"
-content_hash = "sha256:af6518bad6a153127d484181441f930ee00c15c1d0f704ea906e0fc5b4d15282"
+content_hash = "sha256:1e5c1e57c2e2a93e38b0b129351d7efb840b97cca3e7b69b9277b9766e03f521"
 
 [[metadata.targets]]
 requires_python = "==3.13.*"
@@ -472,6 +472,19 @@ files = [
     {file = "django_cors_headers-4.6.0.tar.gz", hash = "sha256:14d76b4b4c8d39375baeddd89e4f08899051eeaf177cb02a29bd6eae8cf63aa8"},
 ]
 
+[[package]]
+name = "django-csp"
+version = "3.8"
+summary = "Django Content Security Policy support."
+groups = ["default"]
+dependencies = [
+    "Django>=3.2",
+]
+files = [
+    {file = "django_csp-3.8-py3-none-any.whl", hash = "sha256:19b2978b03fcd73517d7d67acbc04fbbcaec0facc3e83baa502965892d1e0719"},
+    {file = "django_csp-3.8.tar.gz", hash = "sha256:ef0f1a9f7d8da68ae6e169c02e9ac661c0ecf04db70e0d1d85640512a68471c0"},
+]
+
 [[package]]
 name = "django-debug-toolbar"
 version = "4.4.6"
diff --git a/pyproject.toml b/pyproject.toml
index 9e4c869dfb62b52555721b72e47dabcd21e1f01c..48c77b34fe935b379b4349371f87cb985329fb47 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -44,6 +44,7 @@ dependencies = [
     "gunicorn>=23.0.0",
     "pydantic>=2.9.2",
     "django-rich>=1.13.0",
+    "django-csp>=3.8",
     "rules>=3.5",
 ]
 requires-python = "==3.13.*"
diff --git a/requirements.dev.txt b/requirements.dev.txt
index 7da485862cf49823ec2ef5f4c4e06a8dde9d9218..93aee3222cd3181cf681427344935cf3a125e245 100644
--- a/requirements.dev.txt
+++ b/requirements.dev.txt
@@ -31,6 +31,7 @@ distlib==0.3.9
 django==5.1.2
 django-bootstrap5==24.3
 django-cors-headers==4.6.0
+django-csp==3.8
 django-debug-toolbar==4.4.6
 django-environ==0.11.2
 django-modeltranslation==0.18.13
diff --git a/requirements.txt b/requirements.txt
index 1467aba9ded099d2bcff8dfce66cd482ac459f7b..f74cfcd121fb438008f1261a2006d3d645bbce29 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -20,6 +20,7 @@ distlib==0.3.9
 django==5.1.2
 django-bootstrap5==24.3
 django-cors-headers==4.6.0
+django-csp==3.8
 django-debug-toolbar==4.4.6
 django-environ==0.11.2
 django-modeltranslation==0.18.13
diff --git a/src/backoffice/static/vendor/datatables/datatables.min.css b/src/backoffice/static/vendor/datatables/datatables.min.css
index 2d313ad06fa508490ad70995298cb02d49a34308..141f5cc2a6016d62876016b95d4c3a1a18f5a8e9 100644
--- a/src/backoffice/static/vendor/datatables/datatables.min.css
+++ b/src/backoffice/static/vendor/datatables/datatables.min.css
@@ -4,21 +4,25 @@
  *
  * To rebuild or modify this file with the latest versions of the included
  * software please visit:
- *   https://datatables.net/download/#bs4/jszip-2.5.0/pdfmake-0.1.36/dt-1.10.18/b-1.5.6/b-colvis-1.5.6/b-html5-1.5.6/b-print-1.5.6/fh-3.1.4/rg-1.1.0
+ *   https://datatables.net/download/#bs5/jszip-3.10.1/pdfmake-0.2.7/dt-2.1.8/b-3.2.0/b-colvis-3.2.0/b-html5-3.2.0/b-print-3.2.0/fh-4.0.1/rg-1.5.1
  *
  * Included libraries:
- *   JSZip 2.5.0, pdfmake 0.1.36, DataTables 1.10.18, Buttons 1.5.6, Column visibility 1.5.6, HTML5 export 1.5.6, Print view 1.5.6, FixedHeader 3.1.4, RowGroup 1.1.0
+ *   JSZip 3.10.1, pdfmake 0.2.7, DataTables 2.1.8, Buttons 3.2.0, Column visibility 3.2.0, HTML5 export 3.2.0, Print view 3.2.0, FixedHeader 4.0.1, RowGroup 1.5.1
  */
 
-table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important;border-spacing:0}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:0.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:before,table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:0.9em;display:block;opacity:0.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:"\2191"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{right:0.5em;content:"\2193"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:before,div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_desc:after{display:none}div.dataTables_scrollBody table tbody tr:first-child th,div.dataTables_scrollBody table tbody tr:first-child td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:0.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
+:root{--dt-row-selected: 13, 110, 253;--dt-row-selected-text: 255, 255, 255;--dt-row-selected-link: 9, 10, 11;--dt-row-stripe: 0, 0, 0;--dt-row-hover: 0, 0, 0;--dt-column-ordering: 0, 0, 0;--dt-html-background: white}:root.dark{--dt-html-background: rgb(33, 37, 41)}table.dataTable td.dt-control{text-align:center;cursor:pointer}table.dataTable td.dt-control:before{display:inline-block;box-sizing:border-box;content:"";border-top:5px solid transparent;border-left:10px solid rgba(0, 0, 0, 0.5);border-bottom:5px solid transparent;border-right:0px solid transparent}table.dataTable tr.dt-hasChild td.dt-control:before{border-top:10px solid rgba(0, 0, 0, 0.5);border-left:5px solid transparent;border-bottom:0px solid transparent;border-right:5px solid transparent}html.dark table.dataTable td.dt-control:before,:root[data-bs-theme=dark] table.dataTable td.dt-control:before,:root[data-theme=dark] table.dataTable td.dt-control:before{border-left-color:rgba(255, 255, 255, 0.5)}html.dark table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,:root[data-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before{border-top-color:rgba(255, 255, 255, 0.5);border-left-color:transparent}div.dt-scroll{width:100%}div.dt-scroll-body thead tr,div.dt-scroll-body tfoot tr{height:0}div.dt-scroll-body thead tr th,div.dt-scroll-body thead tr td,div.dt-scroll-body tfoot tr th,div.dt-scroll-body tfoot tr td{height:0 !important;padding-top:0px !important;padding-bottom:0px !important;border-top-width:0px !important;border-bottom-width:0px !important}div.dt-scroll-body thead tr th div.dt-scroll-sizing,div.dt-scroll-body thead tr td div.dt-scroll-sizing,div.dt-scroll-body tfoot tr th div.dt-scroll-sizing,div.dt-scroll-body tfoot tr td div.dt-scroll-sizing{height:0 !important;overflow:hidden !important}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before{position:absolute;display:block;bottom:50%;content:"▲";content:"▲"/""}table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{position:absolute;display:block;top:50%;content:"▼";content:"▼"/""}table.dataTable thead>tr>th.dt-orderable-asc,table.dataTable thead>tr>th.dt-orderable-desc,table.dataTable thead>tr>th.dt-ordering-asc,table.dataTable thead>tr>th.dt-ordering-desc,table.dataTable thead>tr>td.dt-orderable-asc,table.dataTable thead>tr>td.dt-orderable-desc,table.dataTable thead>tr>td.dt-ordering-asc,table.dataTable thead>tr>td.dt-ordering-desc{position:relative;padding-right:30px}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order{position:absolute;right:12px;top:0;bottom:0;width:12px}table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-asc span.dt-column-order:after,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:before,table.dataTable thead>tr>th.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:after,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-asc span.dt-column-order:after,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:before,table.dataTable thead>tr>td.dt-orderable-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{left:0;opacity:.125;line-height:9px;font-size:.8em}table.dataTable thead>tr>th.dt-orderable-asc,table.dataTable thead>tr>th.dt-orderable-desc,table.dataTable thead>tr>td.dt-orderable-asc,table.dataTable thead>tr>td.dt-orderable-desc{cursor:pointer}table.dataTable thead>tr>th.dt-orderable-asc:hover,table.dataTable thead>tr>th.dt-orderable-desc:hover,table.dataTable thead>tr>td.dt-orderable-asc:hover,table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid rgba(0, 0, 0, 0.05);outline-offset:-2px}table.dataTable thead>tr>th.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>th.dt-ordering-desc span.dt-column-order:after,table.dataTable thead>tr>td.dt-ordering-asc span.dt-column-order:before,table.dataTable thead>tr>td.dt-ordering-desc span.dt-column-order:after{opacity:.6}table.dataTable thead>tr>th.sorting_desc_disabled span.dt-column-order:after,table.dataTable thead>tr>th.sorting_asc_disabled span.dt-column-order:before,table.dataTable thead>tr>td.sorting_desc_disabled span.dt-column-order:after,table.dataTable thead>tr>td.sorting_asc_disabled span.dt-column-order:before{display:none}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}div.dt-scroll-body>table.dataTable>thead>tr>th,div.dt-scroll-body>table.dataTable>thead>tr>td{overflow:hidden}:root.dark table.dataTable thead>tr>th.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>th.dt-orderable-desc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-asc:hover,:root.dark table.dataTable thead>tr>td.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>th.dt-orderable-desc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-asc:hover,:root[data-bs-theme=dark] table.dataTable thead>tr>td.dt-orderable-desc:hover{outline:2px solid rgba(255, 255, 255, 0.05)}div.dt-processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-22px;text-align:center;padding:2px;z-index:10}div.dt-processing>div:last-child{position:relative;width:80px;height:15px;margin:1em auto}div.dt-processing>div:last-child>div{position:absolute;top:0;width:13px;height:13px;border-radius:50%;background:rgb(13, 110, 253);background:rgb(var(--dt-row-selected));animation-timing-function:cubic-bezier(0, 1, 1, 0)}div.dt-processing>div:last-child>div:nth-child(1){left:8px;animation:datatables-loader-1 .6s infinite}div.dt-processing>div:last-child>div:nth-child(2){left:8px;animation:datatables-loader-2 .6s infinite}div.dt-processing>div:last-child>div:nth-child(3){left:32px;animation:datatables-loader-2 .6s infinite}div.dt-processing>div:last-child>div:nth-child(4){left:56px;animation:datatables-loader-3 .6s infinite}@keyframes datatables-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable th,table.dataTable td{box-sizing:border-box}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable th.dt-empty,table.dataTable td.dt-empty{text-align:center;vertical-align:top}table.dataTable th.dt-type-numeric,table.dataTable th.dt-type-date,table.dataTable td.dt-type-numeric,table.dataTable td.dt-type-date{text-align:right}table.dataTable thead th,table.dataTable thead td,table.dataTable tfoot th,table.dataTable tfoot td{text-align:left}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}/*! Bootstrap 5 integration for DataTables
+ *
+ * ©2020 SpryMedia Ltd, all rights reserved.
+ * License: MIT datatables.net/license/mit
+ */table.table.dataTable{clear:both;margin-bottom:0;max-width:none;border-spacing:0}table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1)>*{box-shadow:none}table.table.dataTable>:not(caption)>*>*{background-color:var(--bs-table-bg)}table.table.dataTable>tbody>tr{background-color:transparent}table.table.dataTable>tbody>tr.selected>*{box-shadow:inset 0 0 0 9999px rgb(13, 110, 253);box-shadow:inset 0 0 0 9999px rgb(var(--dt-row-selected));color:rgb(255, 255, 255);color:rgb(var(--dt-row-selected-text))}table.table.dataTable>tbody>tr.selected a{color:rgb(9, 10, 11);color:rgb(var(--dt-row-selected-link))}table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1)>*{box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-stripe), 0.05)}table.table.dataTable.table-striped>tbody>tr:nth-of-type(2n+1).selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.95);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.95)}table.table.dataTable.table-hover>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover), 0.075)}table.table.dataTable.table-hover>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.975);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected), 0.975)}div.dt-container div.dt-layout-start>*:not(:last-child){margin-right:1em}div.dt-container div.dt-layout-end>*:not(:first-child){margin-left:1em}div.dt-container div.dt-layout-full{width:100%}div.dt-container div.dt-layout-full>*:only-child{margin-left:auto;margin-right:auto}div.dt-container div.dt-layout-table>div{display:block !important}@media screen and (max-width: 767px){div.dt-container div.dt-layout-start>*:not(:last-child){margin-right:0}div.dt-container div.dt-layout-end>*:not(:first-child){margin-left:0}}div.dt-container div.dt-length label{font-weight:normal;text-align:left;white-space:nowrap}div.dt-container div.dt-length select{width:auto;display:inline-block;margin-right:.5em}div.dt-container div.dt-search{text-align:right}div.dt-container div.dt-search label{font-weight:normal;white-space:nowrap;text-align:left}div.dt-container div.dt-search input{margin-left:.5em;display:inline-block;width:auto}div.dt-container div.dt-paging{margin:0}div.dt-container div.dt-paging ul.pagination{margin:2px 0;flex-wrap:wrap}div.dt-container div.dt-row{position:relative}div.dt-scroll-head table.dataTable{margin-bottom:0 !important}div.dt-scroll-body{border-bottom-color:var(--bs-border-color);border-bottom-width:var(--bs-border-width);border-bottom-style:solid}div.dt-scroll-body>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dt-scroll-body>table>tbody>tr:first-child{border-top-width:0}div.dt-scroll-body>table>thead>tr{border-width:0 !important}div.dt-scroll-body>table>tbody>tr:last-child>*{border-bottom:none}div.dt-scroll-foot>.dt-scroll-footInner{box-sizing:content-box}div.dt-scroll-foot>.dt-scroll-footInner>table{margin-top:0 !important;border-top:none}div.dt-scroll-foot>.dt-scroll-footInner>table>tfoot>tr:first-child{border-top-width:0 !important}@media screen and (max-width: 767px){div.dt-container div.dt-length,div.dt-container div.dt-search,div.dt-container div.dt-info,div.dt-container div.dt-paging{text-align:center}div.dt-container .row{--bs-gutter-y: 0.5rem}div.dt-container div.dt-paging ul.pagination{justify-content:center !important}}table.dataTable.table-sm>thead>tr th.dt-orderable-asc,table.dataTable.table-sm>thead>tr th.dt-orderable-desc,table.dataTable.table-sm>thead>tr th.dt-ordering-asc,table.dataTable.table-sm>thead>tr th.dt-ordering-desc,table.dataTable.table-sm>thead>tr td.dt-orderable-asc,table.dataTable.table-sm>thead>tr td.dt-orderable-desc,table.dataTable.table-sm>thead>tr td.dt-ordering-asc,table.dataTable.table-sm>thead>tr td.dt-ordering-desc{padding-right:20px}table.dataTable.table-sm>thead>tr th.dt-orderable-asc span.dt-column-order,table.dataTable.table-sm>thead>tr th.dt-orderable-desc span.dt-column-order,table.dataTable.table-sm>thead>tr th.dt-ordering-asc span.dt-column-order,table.dataTable.table-sm>thead>tr th.dt-ordering-desc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-orderable-asc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-orderable-desc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-ordering-asc span.dt-column-order,table.dataTable.table-sm>thead>tr td.dt-ordering-desc span.dt-column-order{right:5px}div.dt-scroll-head table.table-bordered{border-bottom-width:0}div.table-responsive>div.dt-container>div.row{margin:0}div.table-responsive>div.dt-container>div.row>div[class^=col-]:first-child{padding-left:0}div.table-responsive>div.dt-container>div.row>div[class^=col-]:last-child{padding-right:0}:root[data-bs-theme=dark]{--dt-row-hover: 255, 255, 255;--dt-row-stripe: 255, 255, 255;--dt-column-ordering: 255, 255, 255}
 
 
-@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,0.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:0.5em;margin:0;font-weight:normal;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-button-collection-title{text-align:center;padding:0.3em 0 0.5em;font-size:0.9em}div.dt-button-collection-title:empty{display:none}div.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}div.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}div.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}div.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection.dropdown-menu .dt-button{border-radius:0}div.dt-button-collection{-webkit-column-gap:8px;-moz-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-moz-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-moz-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-moz-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-collection.fixed{max-width:none}div.dt-button-collection.fixed:before,div.dt-button-collection.fixed:after{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:0.5em}div.dt-buttons a.btn{float:none}}div.dt-buttons button.btn.processing,div.dt-buttons div.btn.processing,div.dt-buttons a.btn.processing{color:rgba(0,0,0,0.2)}div.dt-buttons button.btn.processing:after,div.dt-buttons div.btn.processing:after,div.dt-buttons a.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:' ';border:2px solid #282828;border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}
+@keyframes dtb-spinner{100%{transform:rotate(360deg)}}@-o-keyframes dtb-spinner{100%{-o-transform:rotate(360deg);transform:rotate(360deg)}}@-ms-keyframes dtb-spinner{100%{-ms-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dtb-spinner{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-moz-keyframes dtb-spinner{100%{-moz-transform:rotate(360deg);transform:rotate(360deg)}}div.dataTables_wrapper{position:relative}div.dt-buttons{position:initial}div.dt-buttons .dt-button{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:white;border-radius:.75em;box-shadow:3px 4px 10px 1px rgba(0, 0, 0, 0.8);text-align:center;z-index:2003;overflow:hidden}div.dt-button-info h2{padding:2rem 2rem 1rem 2rem;margin:0;font-weight:normal}div.dt-button-info>div{padding:1em 2em 2em 2em}div.dtb-popover-close{position:absolute;top:6px;right:6px;width:22px;height:22px;text-align:center;border-radius:3px;cursor:pointer;z-index:2003}button.dtb-hide-drop{display:none !important}div.dt-button-collection-title{text-align:center;padding:.3em .5em .5em;margin-left:.5em;margin-right:.5em;font-size:.9em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}div.dt-button-collection-title:empty{display:none}span.dt-button-spacer{display:inline-block;margin:.5em;white-space:nowrap}span.dt-button-spacer.bar{border-left:1px solid rgba(0, 0, 0, 0.3);vertical-align:middle;padding-left:.5em}span.dt-button-spacer.bar:empty{height:1em;width:1px;padding-left:0}div.dt-button-collection .dt-button-active{padding-right:3em}div.dt-button-collection .dt-button-active:after{position:absolute;top:50%;margin-top:-10px;right:1em;display:inline-block;content:"✓";color:inherit}div.dt-button-collection .dt-button-active.dt-button-split{padding-right:0}div.dt-button-collection .dt-button-active.dt-button-split:after{display:none}div.dt-button-collection .dt-button-active.dt-button-split>*:first-child{padding-right:3em}div.dt-button-collection .dt-button-active.dt-button-split>*:first-child:after{position:absolute;top:50%;margin-top:-10px;right:1em;display:inline-block;content:"✓";color:inherit}div.dt-button-collection .dt-button-active-a a{padding-right:3em}div.dt-button-collection .dt-button-active-a a:after{position:absolute;right:1em;display:inline-block;content:"✓";color:inherit}div.dt-button-collection span.dt-button-spacer{width:100%;font-size:.9em;text-align:center;margin:.5em 0}div.dt-button-collection span.dt-button-spacer:empty{height:0;width:100%}div.dt-button-collection span.dt-button-spacer.bar{border-left:none;border-bottom:1px solid rgba(0, 0, 0, 0.1);padding-left:0}@media print{table.dataTable tr>*{box-shadow:none !important}}html.dark div.dt-button-info{background-color:var(--dt-html-background);border:1px solid rgba(255, 255, 255, 0.15)}div.dt-buttons div.btn-group{position:initial}div.dt-buttons div.dropdown-menu{margin-top:4px;width:200px}div.dt-buttons div.dropdown-menu .dt-button{position:relative}div.dt-buttons div.dropdown-menu .dt-button.dropdown-toggle::after{position:absolute;right:12px;top:14px}div.dt-buttons div.dropdown-menu div.dt-button-split{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-content:flex-start;align-items:stretch}div.dt-buttons div.dropdown-menu div.dt-button-split a:first-child{min-width:auto;flex:1 0 50px;padding-right:0}div.dt-buttons div.dropdown-menu div.dt-button-split button:last-child{min-width:33px;flex:0;background:transparent;border:none;line-height:1rem;color:var(--bs-dropdown-link-color);padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);overflow:visible}div.dt-buttons div.dropdown-menu div.dt-button-split button:last-child:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}div.dt-buttons div.dropdown-menu.fixed{position:fixed;display:block;top:50%;left:50%;margin-left:-75px;border-radius:5px;background-color:white;padding:.5em}div.dt-buttons div.dropdown-menu.fixed.two-column{margin-left:-200px}div.dt-buttons div.dropdown-menu.fixed.three-column{margin-left:-225px}div.dt-buttons div.dropdown-menu.fixed.four-column{margin-left:-300px}div.dt-buttons div.dropdown-menu.fixed.columns{margin-left:-409px}@media screen and (max-width: 1024px){div.dt-buttons div.dropdown-menu.fixed.columns{margin-left:-308px}}@media screen and (max-width: 640px){div.dt-buttons div.dropdown-menu.fixed.columns{margin-left:-203px}}@media screen and (max-width: 460px){div.dt-buttons div.dropdown-menu.fixed.columns{margin-left:-100px}}div.dt-buttons div.dropdown-menu.fixed>:last-child{max-height:100vh;overflow:auto}div.dt-buttons div.dropdown-menu.two-column>:last-child,div.dt-buttons div.dropdown-menu.three-column>:last-child,div.dt-buttons div.dropdown-menu.four-column>:last-child{display:block !important;column-gap:8px}div.dt-buttons div.dropdown-menu.two-column>:last-child>*,div.dt-buttons div.dropdown-menu.three-column>:last-child>*,div.dt-buttons div.dropdown-menu.four-column>:last-child>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-buttons div.dropdown-menu.two-column{width:400px}div.dt-buttons div.dropdown-menu.two-column>:last-child{padding-bottom:1px;column-count:2}div.dt-buttons div.dropdown-menu.three-column{width:450px}div.dt-buttons div.dropdown-menu.three-column>:last-child{padding-bottom:1px;column-count:3}div.dt-buttons div.dropdown-menu.four-column{width:600px}div.dt-buttons div.dropdown-menu.four-column>:last-child{padding-bottom:1px;column-count:4}div.dt-buttons div.dropdown-menu .dt-button{border-radius:0}div.dt-buttons div.dropdown-menu.columns{width:auto}div.dt-buttons div.dropdown-menu.columns>:last-child{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:6px;width:818px;padding-bottom:1px}div.dt-buttons div.dropdown-menu.columns>:last-child .dt-button{min-width:200px;flex:0 1;margin:0}div.dt-buttons div.dropdown-menu.columns.dtb-b3>:last-child,div.dt-buttons div.dropdown-menu.columns.dtb-b2>:last-child,div.dt-buttons div.dropdown-menu.columns.dtb-b1>:last-child{justify-content:space-between}div.dt-buttons div.dropdown-menu.columns.dtb-b3 .dt-button{flex:1 1 32%}div.dt-buttons div.dropdown-menu.columns.dtb-b2 .dt-button{flex:1 1 48%}div.dt-buttons div.dropdown-menu.columns.dtb-b1 .dt-button{flex:1 1 100%}@media screen and (max-width: 1024px){div.dt-buttons div.dropdown-menu.columns>:last-child{width:612px}}@media screen and (max-width: 640px){div.dt-buttons div.dropdown-menu.columns>:last-child{width:406px}div.dt-buttons div.dropdown-menu.columns.dtb-b3 .dt-button{flex:0 1 32%}}@media screen and (max-width: 460px){div.dt-buttons div.dropdown-menu.columns>:last-child{width:200px}}div.dt-buttons span.dt-button-spacer.empty{margin:1px}div.dt-buttons span.dt-button-spacer.bar:empty{height:inherit}div.dt-buttons .btn.processing{color:rgba(0, 0, 0, 0.2)}div.dt-buttons .btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:" ";border:2px solid rgb(40, 40, 40);border-radius:50%;border-left-color:transparent;border-right-color:transparent;animation:dtb-spinner 1500ms infinite linear;-o-animation:dtb-spinner 1500ms infinite linear;-ms-animation:dtb-spinner 1500ms infinite linear;-webkit-animation:dtb-spinner 1500ms infinite linear;-moz-animation:dtb-spinner 1500ms infinite linear}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width: 767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:.5em}div.dt-buttons a.btn{float:none}}:root[data-bs-theme=dark] div.dropdown-menu.dt-button-collection.fixed{background-color:rgb(33, 37, 41);border:1px solid rgba(255, 255, 255, 0.15);border-radius:8px}
 
 
-table.dataTable.fixedHeader-floating,table.dataTable.fixedHeader-locked{background-color:white;margin-top:0 !important;margin-bottom:0 !important}table.dataTable.fixedHeader-floating{position:fixed !important}table.dataTable.fixedHeader-locked{position:absolute !important}@media print{table.fixedHeader-floating{display:none}}
+table.dataTable.fixedHeader-floating,table.dataTable.fixedHeader-locked{position:relative !important;background-color:var(--bs-body-bg);margin-top:0 !important;margin-bottom:0 !important}div.dtfh-floatingparent-foot table{border-top-color:var(--bs-border-color);border-top-width:var(--bs-border-width);border-top-style:solid}@media print{table.fixedHeader-floating{display:none}}
 
 
-table.dataTable tr.dtrg-group td{background-color:#e0e0e0}table.dataTable tr.dtrg-group.dtrg-level-0 td{font-weight:bold}table.dataTable tr.dtrg-group.dtrg-level-1 td,table.dataTable tr.dtrg-group.dtrg-level-2 td{background-color:#f0f0f0;padding-top:0.25em;padding-bottom:0.25em;padding-left:2em;font-size:0.9em}table.dataTable tr.dtrg-group.dtrg-level-2 td{background-color:#f3f3f3}
+table.dataTable tr.dtrg-group th{background-color:rgba(0, 0, 0, 0.1);text-align:left}table.dataTable tr.dtrg-group.dtrg-level-0 th{font-weight:bold}table.dataTable tr.dtrg-group.dtrg-level-1 th,table.dataTable tr.dtrg-group.dtrg-level-2 th,table.dataTable tr.dtrg-group.dtrg-level-3 th,table.dataTable tr.dtrg-group.dtrg-level-4 th,table.dataTable tr.dtrg-group.dtrg-level-5 th{background-color:rgba(0, 0, 0, 0.05);padding-top:.25em;padding-bottom:.25em;padding-left:2em;font-size:.9em}table.dataTable tr.dtrg-group.dtrg-level-2 th{background-color:rgba(0, 0, 0, 0.01);padding-left:2.5em}table.dataTable tr.dtrg-group.dtrg-level-3 th{background-color:rgba(0, 0, 0, 0.01);padding-left:3em}table.dataTable tr.dtrg-group.dtrg-level-4 th{background-color:rgba(0, 0, 0, 0.01);padding-left:3.5em}table.dataTable tr.dtrg-group.dtrg-level-5 th{background-color:rgba(0, 0, 0, 0.01);padding-left:4em}html.dark table.dataTable tr.dtrg-group th{background-color:rgba(255, 255, 255, 0.1)}html.dark table.dataTable tr.dtrg-group.dtrg-level-1 th{background-color:rgba(255, 255, 255, 0.05)}html.dark table.dataTable tr.dtrg-group.dtrg-level-2 th,html.dark table.dataTable tr.dtrg-group.dtrg-level-3 th,html.dark table.dataTable tr.dtrg-group.dtrg-level-4 th,html.dark table.dataTable tr.dtrg-group.dtrg-level-5 th{background-color:rgba(255, 255, 255, 0.01)}table.dataTable.table-striped tr.dtrg-level-0{background-color:rgba(0, 0, 0, 0.1)}table.dataTable.table-striped tr.dtrg-level-1{background-color:rgba(0, 0, 0, 0.05)}table.dataTable.table-striped tr.dtrg-level-2,table.dataTable.table-striped tr.dtrg-level-3,table.dataTable.table-striped tr.dtrg-level-4,table.dataTable.table-striped tr.dtrg-level-5{background-color:rgba(0, 0, 0, 0.01)}table.dataTable.table-striped tr.dtrg-level-1 tr.dtrg-level-2 th,table.dataTable.table-striped tr.dtrg-level-3 th,table.dataTable.table-striped tr.dtrg-level-4 th,table.dataTable.table-striped tr.dtrg-level-5 th{background-color:transparent}
 
 
diff --git a/src/backoffice/static/vendor/datatables/datatables.min.js b/src/backoffice/static/vendor/datatables/datatables.min.js
index a254e0699ce1c970b9dd78310fcecfac0a75cd80..bc7c9aa587c68369ea920453a3ec04eed1ea9826 100644
--- a/src/backoffice/static/vendor/datatables/datatables.min.js
+++ b/src/backoffice/static/vendor/datatables/datatables.min.js
@@ -4,375 +4,85 @@
  *
  * To rebuild or modify this file with the latest versions of the included
  * software please visit:
- *   https://datatables.net/download/#bs4/jszip-2.5.0/pdfmake-0.1.36/dt-1.10.18/b-1.5.6/b-colvis-1.5.6/b-html5-1.5.6/b-print-1.5.6/fh-3.1.4/rg-1.1.0
+ *   https://datatables.net/download/#bs5/jszip-3.10.1/pdfmake-0.2.7/dt-2.1.8/b-3.2.0/b-colvis-3.2.0/b-html5-3.2.0/b-print-3.2.0/fh-4.0.1/rg-1.5.1
  *
  * Included libraries:
- *   JSZip 2.5.0, pdfmake 0.1.36, DataTables 1.10.18, Buttons 1.5.6, Column visibility 1.5.6, HTML5 export 1.5.6, Print view 1.5.6, FixedHeader 3.1.4, RowGroup 1.1.0
+ *   JSZip 3.10.1, pdfmake 0.2.7, DataTables 2.1.8, Buttons 3.2.0, Column visibility 3.2.0, HTML5 export 3.2.0, Print view 3.2.0, FixedHeader 4.0.1, RowGroup 1.5.1
  */
 
 /*!
 
-JSZip - A Javascript class for generating and reading zip files
+JSZip v3.10.1 - A JavaScript class for generating and reading zip files
 <http://stuartk.com/jszip>
 
-(c) 2009-2014 Stuart Knightley <stuart [at] stuartk.com>
-Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/master/LICENSE.markdown.
+(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
 
 JSZip uses the library pako released under the MIT license :
-https://github.com/nodeca/pako/blob/master/LICENSE
+https://github.com/nodeca/pako/blob/main/LICENSE
 */
-!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;"undefined"!=typeof window?b=window:"undefined"!=typeof global?b=global:"undefined"!=typeof self&&(b=self),b.JSZip=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){"use strict";var d="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";c.encode=function(a){for(var b,c,e,f,g,h,i,j="",k=0;k<a.length;)b=a.charCodeAt(k++),c=a.charCodeAt(k++),e=a.charCodeAt(k++),f=b>>2,g=(3&b)<<4|c>>4,h=(15&c)<<2|e>>6,i=63&e,isNaN(c)?h=i=64:isNaN(e)&&(i=64),j=j+d.charAt(f)+d.charAt(g)+d.charAt(h)+d.charAt(i);return j},c.decode=function(a){var b,c,e,f,g,h,i,j="",k=0;for(a=a.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<a.length;)f=d.indexOf(a.charAt(k++)),g=d.indexOf(a.charAt(k++)),h=d.indexOf(a.charAt(k++)),i=d.indexOf(a.charAt(k++)),b=f<<2|g>>4,c=(15&g)<<4|h>>2,e=(3&h)<<6|i,j+=String.fromCharCode(b),64!=h&&(j+=String.fromCharCode(c)),64!=i&&(j+=String.fromCharCode(e));return j}},{}],2:[function(a,b){"use strict";function c(){this.compressedSize=0,this.uncompressedSize=0,this.crc32=0,this.compressionMethod=null,this.compressedContent=null}c.prototype={getContent:function(){return null},getCompressedContent:function(){return null}},b.exports=c},{}],3:[function(a,b,c){"use strict";c.STORE={magic:"\x00\x00",compress:function(a){return a},uncompress:function(a){return a},compressInputType:null,uncompressInputType:null},c.DEFLATE=a("./flate")},{"./flate":8}],4:[function(a,b){"use strict";var c=a("./utils"),d=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];b.exports=function(a,b){if("undefined"==typeof a||!a.length)return 0;var e="string"!==c.getTypeOf(a);"undefined"==typeof b&&(b=0);var f=0,g=0,h=0;b=-1^b;for(var i=0,j=a.length;j>i;i++)h=e?a[i]:a.charCodeAt(i),g=255&(b^h),f=d[g],b=b>>>8^f;return-1^b}},{"./utils":21}],5:[function(a,b){"use strict";function c(){this.data=null,this.length=0,this.index=0}var d=a("./utils");c.prototype={checkOffset:function(a){this.checkIndex(this.index+a)},checkIndex:function(a){if(this.length<a||0>a)throw new Error("End of data reached (data length = "+this.length+", asked index = "+a+"). Corrupted zip ?")},setIndex:function(a){this.checkIndex(a),this.index=a},skip:function(a){this.setIndex(this.index+a)},byteAt:function(){},readInt:function(a){var b,c=0;for(this.checkOffset(a),b=this.index+a-1;b>=this.index;b--)c=(c<<8)+this.byteAt(b);return this.index+=a,c},readString:function(a){return d.transformTo("string",this.readData(a))},readData:function(){},lastIndexOfSignature:function(){},readDate:function(){var a=this.readInt(4);return new Date((a>>25&127)+1980,(a>>21&15)-1,a>>16&31,a>>11&31,a>>5&63,(31&a)<<1)}},b.exports=c},{"./utils":21}],6:[function(a,b,c){"use strict";c.base64=!1,c.binary=!1,c.dir=!1,c.createFolders=!1,c.date=null,c.compression=null,c.compressionOptions=null,c.comment=null,c.unixPermissions=null,c.dosPermissions=null},{}],7:[function(a,b,c){"use strict";var d=a("./utils");c.string2binary=function(a){return d.string2binary(a)},c.string2Uint8Array=function(a){return d.transformTo("uint8array",a)},c.uint8Array2String=function(a){return d.transformTo("string",a)},c.string2Blob=function(a){var b=d.transformTo("arraybuffer",a);return d.arrayBuffer2Blob(b)},c.arrayBuffer2Blob=function(a){return d.arrayBuffer2Blob(a)},c.transformTo=function(a,b){return d.transformTo(a,b)},c.getTypeOf=function(a){return d.getTypeOf(a)},c.checkSupport=function(a){return d.checkSupport(a)},c.MAX_VALUE_16BITS=d.MAX_VALUE_16BITS,c.MAX_VALUE_32BITS=d.MAX_VALUE_32BITS,c.pretty=function(a){return d.pretty(a)},c.findCompression=function(a){return d.findCompression(a)},c.isRegExp=function(a){return d.isRegExp(a)}},{"./utils":21}],8:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,e=a("pako");c.uncompressInputType=d?"uint8array":"array",c.compressInputType=d?"uint8array":"array",c.magic="\b\x00",c.compress=function(a,b){return e.deflateRaw(a,{level:b.level||-1})},c.uncompress=function(a){return e.inflateRaw(a)}},{pako:24}],9:[function(a,b){"use strict";function c(a,b){return this instanceof c?(this.files={},this.comment=null,this.root="",a&&this.load(a,b),void(this.clone=function(){var a=new c;for(var b in this)"function"!=typeof this[b]&&(a[b]=this[b]);return a})):new c(a,b)}var d=a("./base64");c.prototype=a("./object"),c.prototype.load=a("./load"),c.support=a("./support"),c.defaults=a("./defaults"),c.utils=a("./deprecatedPublicUtils"),c.base64={encode:function(a){return d.encode(a)},decode:function(a){return d.decode(a)}},c.compressions=a("./compressions"),b.exports=c},{"./base64":1,"./compressions":3,"./defaults":6,"./deprecatedPublicUtils":7,"./load":10,"./object":13,"./support":17}],10:[function(a,b){"use strict";var c=a("./base64"),d=a("./zipEntries");b.exports=function(a,b){var e,f,g,h;for(b=b||{},b.base64&&(a=c.decode(a)),f=new d(a,b),e=f.files,g=0;g<e.length;g++)h=e[g],this.file(h.fileName,h.decompressed,{binary:!0,optimizedBinaryString:!0,date:h.date,dir:h.dir,comment:h.fileComment.length?h.fileComment:null,unixPermissions:h.unixPermissions,dosPermissions:h.dosPermissions,createFolders:b.createFolders});return f.zipComment.length&&(this.comment=f.zipComment),this}},{"./base64":1,"./zipEntries":22}],11:[function(a,b){(function(a){"use strict";b.exports=function(b,c){return new a(b,c)},b.exports.test=function(b){return a.isBuffer(b)}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],12:[function(a,b){"use strict";function c(a){this.data=a,this.length=this.data.length,this.index=0}var d=a("./uint8ArrayReader");c.prototype=new d,c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./uint8ArrayReader":18}],13:[function(a,b){"use strict";var c=a("./support"),d=a("./utils"),e=a("./crc32"),f=a("./signature"),g=a("./defaults"),h=a("./base64"),i=a("./compressions"),j=a("./compressedObject"),k=a("./nodeBuffer"),l=a("./utf8"),m=a("./stringWriter"),n=a("./uint8ArrayWriter"),o=function(a){if(a._data instanceof j&&(a._data=a._data.getContent(),a.options.binary=!0,a.options.base64=!1,"uint8array"===d.getTypeOf(a._data))){var b=a._data;a._data=new Uint8Array(b.length),0!==b.length&&a._data.set(b,0)}return a._data},p=function(a){var b=o(a),e=d.getTypeOf(b);return"string"===e?!a.options.binary&&c.nodebuffer?k(b,"utf-8"):a.asBinary():b},q=function(a){var b=o(this);return null===b||"undefined"==typeof b?"":(this.options.base64&&(b=h.decode(b)),b=a&&this.options.binary?D.utf8decode(b):d.transformTo("string",b),a||this.options.binary||(b=d.transformTo("string",D.utf8encode(b))),b)},r=function(a,b,c){this.name=a,this.dir=c.dir,this.date=c.date,this.comment=c.comment,this.unixPermissions=c.unixPermissions,this.dosPermissions=c.dosPermissions,this._data=b,this.options=c,this._initialMetadata={dir:c.dir,date:c.date}};r.prototype={asText:function(){return q.call(this,!0)},asBinary:function(){return q.call(this,!1)},asNodeBuffer:function(){var a=p(this);return d.transformTo("nodebuffer",a)},asUint8Array:function(){var a=p(this);return d.transformTo("uint8array",a)},asArrayBuffer:function(){return this.asUint8Array().buffer}};var s=function(a,b){var c,d="";for(c=0;b>c;c++)d+=String.fromCharCode(255&a),a>>>=8;return d},t=function(){var a,b,c={};for(a=0;a<arguments.length;a++)for(b in arguments[a])arguments[a].hasOwnProperty(b)&&"undefined"==typeof c[b]&&(c[b]=arguments[a][b]);return c},u=function(a){return a=a||{},a.base64!==!0||null!==a.binary&&void 0!==a.binary||(a.binary=!0),a=t(a,g),a.date=a.date||new Date,null!==a.compression&&(a.compression=a.compression.toUpperCase()),a},v=function(a,b,c){var e,f=d.getTypeOf(b);if(c=u(c),"string"==typeof c.unixPermissions&&(c.unixPermissions=parseInt(c.unixPermissions,8)),c.unixPermissions&&16384&c.unixPermissions&&(c.dir=!0),c.dosPermissions&&16&c.dosPermissions&&(c.dir=!0),c.dir&&(a=x(a)),c.createFolders&&(e=w(a))&&y.call(this,e,!0),c.dir||null===b||"undefined"==typeof b)c.base64=!1,c.binary=!1,b=null,f=null;else if("string"===f)c.binary&&!c.base64&&c.optimizedBinaryString!==!0&&(b=d.string2binary(b));else{if(c.base64=!1,c.binary=!0,!(f||b instanceof j))throw new Error("The data of '"+a+"' is in an unsupported format !");"arraybuffer"===f&&(b=d.transformTo("uint8array",b))}var g=new r(a,b,c);return this.files[a]=g,g},w=function(a){"/"==a.slice(-1)&&(a=a.substring(0,a.length-1));var b=a.lastIndexOf("/");return b>0?a.substring(0,b):""},x=function(a){return"/"!=a.slice(-1)&&(a+="/"),a},y=function(a,b){return b="undefined"!=typeof b?b:!1,a=x(a),this.files[a]||v.call(this,a,null,{dir:!0,createFolders:b}),this.files[a]},z=function(a,b,c){var f,g=new j;return a._data instanceof j?(g.uncompressedSize=a._data.uncompressedSize,g.crc32=a._data.crc32,0===g.uncompressedSize||a.dir?(b=i.STORE,g.compressedContent="",g.crc32=0):a._data.compressionMethod===b.magic?g.compressedContent=a._data.getCompressedContent():(f=a._data.getContent(),g.compressedContent=b.compress(d.transformTo(b.compressInputType,f),c))):(f=p(a),(!f||0===f.length||a.dir)&&(b=i.STORE,f=""),g.uncompressedSize=f.length,g.crc32=e(f),g.compressedContent=b.compress(d.transformTo(b.compressInputType,f),c)),g.compressedSize=g.compressedContent.length,g.compressionMethod=b.magic,g},A=function(a,b){var c=a;return a||(c=b?16893:33204),(65535&c)<<16},B=function(a){return 63&(a||0)},C=function(a,b,c,g,h){var i,j,k,m,n=(c.compressedContent,d.transformTo("string",l.utf8encode(b.name))),o=b.comment||"",p=d.transformTo("string",l.utf8encode(o)),q=n.length!==b.name.length,r=p.length!==o.length,t=b.options,u="",v="",w="";k=b._initialMetadata.dir!==b.dir?b.dir:t.dir,m=b._initialMetadata.date!==b.date?b.date:t.date;var x=0,y=0;k&&(x|=16),"UNIX"===h?(y=798,x|=A(b.unixPermissions,k)):(y=20,x|=B(b.dosPermissions,k)),i=m.getHours(),i<<=6,i|=m.getMinutes(),i<<=5,i|=m.getSeconds()/2,j=m.getFullYear()-1980,j<<=4,j|=m.getMonth()+1,j<<=5,j|=m.getDate(),q&&(v=s(1,1)+s(e(n),4)+n,u+="up"+s(v.length,2)+v),r&&(w=s(1,1)+s(this.crc32(p),4)+p,u+="uc"+s(w.length,2)+w);var z="";z+="\n\x00",z+=q||r?"\x00\b":"\x00\x00",z+=c.compressionMethod,z+=s(i,2),z+=s(j,2),z+=s(c.crc32,4),z+=s(c.compressedSize,4),z+=s(c.uncompressedSize,4),z+=s(n.length,2),z+=s(u.length,2);var C=f.LOCAL_FILE_HEADER+z+n+u,D=f.CENTRAL_FILE_HEADER+s(y,2)+z+s(p.length,2)+"\x00\x00\x00\x00"+s(x,4)+s(g,4)+n+u+p;return{fileRecord:C,dirRecord:D,compressedObject:c}},D={load:function(){throw new Error("Load method is not defined. Is the file jszip-load.js included ?")},filter:function(a){var b,c,d,e,f=[];for(b in this.files)this.files.hasOwnProperty(b)&&(d=this.files[b],e=new r(d.name,d._data,t(d.options)),c=b.slice(this.root.length,b.length),b.slice(0,this.root.length)===this.root&&a(c,e)&&f.push(e));return f},file:function(a,b,c){if(1===arguments.length){if(d.isRegExp(a)){var e=a;return this.filter(function(a,b){return!b.dir&&e.test(a)})}return this.filter(function(b,c){return!c.dir&&b===a})[0]||null}return a=this.root+a,v.call(this,a,b,c),this},folder:function(a){if(!a)return this;if(d.isRegExp(a))return this.filter(function(b,c){return c.dir&&a.test(b)});var b=this.root+a,c=y.call(this,b),e=this.clone();return e.root=c.name,e},remove:function(a){a=this.root+a;var b=this.files[a];if(b||("/"!=a.slice(-1)&&(a+="/"),b=this.files[a]),b&&!b.dir)delete this.files[a];else for(var c=this.filter(function(b,c){return c.name.slice(0,a.length)===a}),d=0;d<c.length;d++)delete this.files[c[d].name];return this},generate:function(a){a=t(a||{},{base64:!0,compression:"STORE",compressionOptions:null,type:"base64",platform:"DOS",comment:null,mimeType:"application/zip"}),d.checkSupport(a.type),("darwin"===a.platform||"freebsd"===a.platform||"linux"===a.platform||"sunos"===a.platform)&&(a.platform="UNIX"),"win32"===a.platform&&(a.platform="DOS");var b,c,e=[],g=0,j=0,k=d.transformTo("string",this.utf8encode(a.comment||this.comment||""));for(var l in this.files)if(this.files.hasOwnProperty(l)){var o=this.files[l],p=o.options.compression||a.compression.toUpperCase(),q=i[p];if(!q)throw new Error(p+" is not a valid compression method !");var r=o.options.compressionOptions||a.compressionOptions||{},u=z.call(this,o,q,r),v=C.call(this,l,o,u,g,a.platform);g+=v.fileRecord.length+u.compressedSize,j+=v.dirRecord.length,e.push(v)}var w="";w=f.CENTRAL_DIRECTORY_END+"\x00\x00\x00\x00"+s(e.length,2)+s(e.length,2)+s(j,4)+s(g,4)+s(k.length,2)+k;var x=a.type.toLowerCase();for(b="uint8array"===x||"arraybuffer"===x||"blob"===x||"nodebuffer"===x?new n(g+j+w.length):new m(g+j+w.length),c=0;c<e.length;c++)b.append(e[c].fileRecord),b.append(e[c].compressedObject.compressedContent);for(c=0;c<e.length;c++)b.append(e[c].dirRecord);b.append(w);var y=b.finalize();switch(a.type.toLowerCase()){case"uint8array":case"arraybuffer":case"nodebuffer":return d.transformTo(a.type.toLowerCase(),y);case"blob":return d.arrayBuffer2Blob(d.transformTo("arraybuffer",y),a.mimeType);case"base64":return a.base64?h.encode(y):y;default:return y}},crc32:function(a,b){return e(a,b)},utf8encode:function(a){return d.transformTo("string",l.utf8encode(a))},utf8decode:function(a){return l.utf8decode(a)}};b.exports=D},{"./base64":1,"./compressedObject":2,"./compressions":3,"./crc32":4,"./defaults":6,"./nodeBuffer":11,"./signature":14,"./stringWriter":16,"./support":17,"./uint8ArrayWriter":19,"./utf8":20,"./utils":21}],14:[function(a,b,c){"use strict";c.LOCAL_FILE_HEADER="PK",c.CENTRAL_FILE_HEADER="PK",c.CENTRAL_DIRECTORY_END="PK",c.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",c.ZIP64_CENTRAL_DIRECTORY_END="PK",c.DATA_DESCRIPTOR="PK\b"},{}],15:[function(a,b){"use strict";function c(a,b){this.data=a,b||(this.data=e.string2binary(this.data)),this.length=this.data.length,this.index=0}var d=a("./dataReader"),e=a("./utils");c.prototype=new d,c.prototype.byteAt=function(a){return this.data.charCodeAt(a)},c.prototype.lastIndexOfSignature=function(a){return this.data.lastIndexOf(a)},c.prototype.readData=function(a){this.checkOffset(a);var b=this.data.slice(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5,"./utils":21}],16:[function(a,b){"use strict";var c=a("./utils"),d=function(){this.data=[]};d.prototype={append:function(a){a=c.transformTo("string",a),this.data.push(a)},finalize:function(){return this.data.join("")}},b.exports=d},{"./utils":21}],17:[function(a,b,c){(function(a){"use strict";if(c.base64=!0,c.array=!0,c.string=!0,c.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,c.nodebuffer="undefined"!=typeof a,c.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)c.blob=!1;else{var b=new ArrayBuffer(0);try{c.blob=0===new Blob([b],{type:"application/zip"}).size}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;f.append(b),c.blob=0===f.getBlob("application/zip").size}catch(d){c.blob=!1}}}}).call(this,"undefined"!=typeof Buffer?Buffer:void 0)},{}],18:[function(a,b){"use strict";function c(a){a&&(this.data=a,this.length=this.data.length,this.index=0)}var d=a("./dataReader");c.prototype=new d,c.prototype.byteAt=function(a){return this.data[a]},c.prototype.lastIndexOfSignature=function(a){for(var b=a.charCodeAt(0),c=a.charCodeAt(1),d=a.charCodeAt(2),e=a.charCodeAt(3),f=this.length-4;f>=0;--f)if(this.data[f]===b&&this.data[f+1]===c&&this.data[f+2]===d&&this.data[f+3]===e)return f;return-1},c.prototype.readData=function(a){if(this.checkOffset(a),0===a)return new Uint8Array(0);var b=this.data.subarray(this.index,this.index+a);return this.index+=a,b},b.exports=c},{"./dataReader":5}],19:[function(a,b){"use strict";var c=a("./utils"),d=function(a){this.data=new Uint8Array(a),this.index=0};d.prototype={append:function(a){0!==a.length&&(a=c.transformTo("uint8array",a),this.data.set(a,this.index),this.index+=a.length)},finalize:function(){return this.data}},b.exports=d},{"./utils":21}],20:[function(a,b,c){"use strict";for(var d=a("./utils"),e=a("./support"),f=a("./nodeBuffer"),g=new Array(256),h=0;256>h;h++)g[h]=h>=252?6:h>=248?5:h>=240?4:h>=224?3:h>=192?2:1;g[254]=g[254]=1;var i=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=e.uint8array?new Uint8Array(i):new Array(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},j=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+g[a[c]]>b?c:b},k=function(a){var b,c,e,f,h=a.length,i=new Array(2*h);for(c=0,b=0;h>b;)if(e=a[b++],128>e)i[c++]=e;else if(f=g[e],f>4)i[c++]=65533,b+=f-1;else{for(e&=2===f?31:3===f?15:7;f>1&&h>b;)e=e<<6|63&a[b++],f--;f>1?i[c++]=65533:65536>e?i[c++]=e:(e-=65536,i[c++]=55296|e>>10&1023,i[c++]=56320|1023&e)}return i.length!==c&&(i.subarray?i=i.subarray(0,c):i.length=c),d.applyFromCharCode(i)};c.utf8encode=function(a){return e.nodebuffer?f(a,"utf-8"):i(a)},c.utf8decode=function(a){if(e.nodebuffer)return d.transformTo("nodebuffer",a).toString("utf-8");a=d.transformTo(e.uint8array?"uint8array":"array",a);for(var b=[],c=0,f=a.length,g=65536;f>c;){var h=j(a,Math.min(c+g,f));b.push(e.uint8array?k(a.subarray(c,h)):k(a.slice(c,h))),c=h}return b.join("")}},{"./nodeBuffer":11,"./support":17,"./utils":21}],21:[function(a,b,c){"use strict";function d(a){return a}function e(a,b){for(var c=0;c<a.length;++c)b[c]=255&a.charCodeAt(c);return b}function f(a){var b=65536,d=[],e=a.length,f=c.getTypeOf(a),g=0,h=!0;try{switch(f){case"uint8array":String.fromCharCode.apply(null,new Uint8Array(0));break;case"nodebuffer":String.fromCharCode.apply(null,j(0))}}catch(i){h=!1}if(!h){for(var k="",l=0;l<a.length;l++)k+=String.fromCharCode(a[l]);return k}for(;e>g&&b>1;)try{d.push("array"===f||"nodebuffer"===f?String.fromCharCode.apply(null,a.slice(g,Math.min(g+b,e))):String.fromCharCode.apply(null,a.subarray(g,Math.min(g+b,e)))),g+=b}catch(i){b=Math.floor(b/2)}return d.join("")}function g(a,b){for(var c=0;c<a.length;c++)b[c]=a[c];return b}var h=a("./support"),i=a("./compressions"),j=a("./nodeBuffer");c.string2binary=function(a){for(var b="",c=0;c<a.length;c++)b+=String.fromCharCode(255&a.charCodeAt(c));return b},c.arrayBuffer2Blob=function(a,b){c.checkSupport("blob"),b=b||"application/zip";try{return new Blob([a],{type:b})}catch(d){try{var e=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,f=new e;return f.append(a),f.getBlob(b)}catch(d){throw new Error("Bug : can't construct the Blob.")}}},c.applyFromCharCode=f;var k={};k.string={string:d,array:function(a){return e(a,new Array(a.length))},arraybuffer:function(a){return k.string.uint8array(a).buffer},uint8array:function(a){return e(a,new Uint8Array(a.length))},nodebuffer:function(a){return e(a,j(a.length))}},k.array={string:f,array:d,arraybuffer:function(a){return new Uint8Array(a).buffer},uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(a)}},k.arraybuffer={string:function(a){return f(new Uint8Array(a))},array:function(a){return g(new Uint8Array(a),new Array(a.byteLength))},arraybuffer:d,uint8array:function(a){return new Uint8Array(a)},nodebuffer:function(a){return j(new Uint8Array(a))}},k.uint8array={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return a.buffer},uint8array:d,nodebuffer:function(a){return j(a)}},k.nodebuffer={string:f,array:function(a){return g(a,new Array(a.length))},arraybuffer:function(a){return k.nodebuffer.uint8array(a).buffer},uint8array:function(a){return g(a,new Uint8Array(a.length))},nodebuffer:d},c.transformTo=function(a,b){if(b||(b=""),!a)return b;c.checkSupport(a);var d=c.getTypeOf(b),e=k[d][a](b);return e},c.getTypeOf=function(a){return"string"==typeof a?"string":"[object Array]"===Object.prototype.toString.call(a)?"array":h.nodebuffer&&j.test(a)?"nodebuffer":h.uint8array&&a instanceof Uint8Array?"uint8array":h.arraybuffer&&a instanceof ArrayBuffer?"arraybuffer":void 0},c.checkSupport=function(a){var b=h[a.toLowerCase()];if(!b)throw new Error(a+" is not supported by this browser")},c.MAX_VALUE_16BITS=65535,c.MAX_VALUE_32BITS=-1,c.pretty=function(a){var b,c,d="";for(c=0;c<(a||"").length;c++)b=a.charCodeAt(c),d+="\\x"+(16>b?"0":"")+b.toString(16).toUpperCase();return d},c.findCompression=function(a){for(var b in i)if(i.hasOwnProperty(b)&&i[b].magic===a)return i[b];return null},c.isRegExp=function(a){return"[object RegExp]"===Object.prototype.toString.call(a)}},{"./compressions":3,"./nodeBuffer":11,"./support":17}],22:[function(a,b){"use strict";function c(a,b){this.files=[],this.loadOptions=b,a&&this.load(a)}var d=a("./stringReader"),e=a("./nodeBufferReader"),f=a("./uint8ArrayReader"),g=a("./utils"),h=a("./signature"),i=a("./zipEntry"),j=a("./support"),k=a("./object");c.prototype={checkSignature:function(a){var b=this.reader.readString(4);if(b!==a)throw new Error("Corrupted zip or bug : unexpected signature ("+g.pretty(b)+", expected "+g.pretty(a)+")")},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2),this.zipComment=this.reader.readString(this.zipCommentLength),this.zipComment=k.utf8decode(this.zipComment)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.versionMadeBy=this.reader.readString(2),this.versionNeeded=this.reader.readInt(2),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var a,b,c,d=this.zip64EndOfCentralSize-44,e=0;d>e;)a=this.reader.readInt(2),b=this.reader.readInt(4),c=this.reader.readString(b),this.zip64ExtensibleData[a]={id:a,length:b,value:c}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),this.disksCount>1)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var a,b;for(a=0;a<this.files.length;a++)b=this.files[a],this.reader.setIndex(b.localHeaderOffset),this.checkSignature(h.LOCAL_FILE_HEADER),b.readLocalPart(this.reader),b.handleUTF8(),b.processAttributes()},readCentralDir:function(){var a;for(this.reader.setIndex(this.centralDirOffset);this.reader.readString(4)===h.CENTRAL_FILE_HEADER;)a=new i({zip64:this.zip64},this.loadOptions),a.readCentralPart(this.reader),this.files.push(a)},readEndOfCentral:function(){var a=this.reader.lastIndexOfSignature(h.CENTRAL_DIRECTORY_END);if(-1===a){var b=!0;try{this.reader.setIndex(0),this.checkSignature(h.LOCAL_FILE_HEADER),b=!1}catch(c){}throw new Error(b?"Can't find end of central directory : is this a zip file ? If it is, see http://stuk.github.io/jszip/documentation/howto/read_zip.html":"Corrupted zip : can't find end of central directory")}if(this.reader.setIndex(a),this.checkSignature(h.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===g.MAX_VALUE_16BITS||this.diskWithCentralDirStart===g.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===g.MAX_VALUE_16BITS||this.centralDirRecords===g.MAX_VALUE_16BITS||this.centralDirSize===g.MAX_VALUE_32BITS||this.centralDirOffset===g.MAX_VALUE_32BITS){if(this.zip64=!0,a=this.reader.lastIndexOfSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),-1===a)throw new Error("Corrupted zip : can't find the ZIP64 end of central directory locator");this.reader.setIndex(a),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(h.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}},prepareReader:function(a){var b=g.getTypeOf(a);this.reader="string"!==b||j.uint8array?"nodebuffer"===b?new e(a):new f(g.transformTo("uint8array",a)):new d(a,this.loadOptions.optimizedBinaryString)},load:function(a){this.prepareReader(a),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},b.exports=c},{"./nodeBufferReader":12,"./object":13,"./signature":14,"./stringReader":15,"./support":17,"./uint8ArrayReader":18,"./utils":21,"./zipEntry":23}],23:[function(a,b){"use strict";function c(a,b){this.options=a,this.loadOptions=b}var d=a("./stringReader"),e=a("./utils"),f=a("./compressedObject"),g=a("./object"),h=0,i=3;c.prototype={isEncrypted:function(){return 1===(1&this.bitFlag)},useUTF8:function(){return 2048===(2048&this.bitFlag)},prepareCompressedContent:function(a,b,c){return function(){var d=a.index;a.setIndex(b);var e=a.readData(c);return a.setIndex(d),e}},prepareContent:function(a,b,c,d,f){return function(){var a=e.transformTo(d.uncompressInputType,this.getCompressedContent()),b=d.uncompress(a);if(b.length!==f)throw new Error("Bug : uncompressed data size mismatch");return b}},readLocalPart:function(a){var b,c;if(a.skip(22),this.fileNameLength=a.readInt(2),c=a.readInt(2),this.fileName=a.readString(this.fileNameLength),a.skip(c),-1==this.compressedSize||-1==this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough informations from the central directory (compressedSize == -1 || uncompressedSize == -1)");if(b=e.findCompression(this.compressionMethod),null===b)throw new Error("Corrupted zip : compression "+e.pretty(this.compressionMethod)+" unknown (inner file : "+this.fileName+")");if(this.decompressed=new f,this.decompressed.compressedSize=this.compressedSize,this.decompressed.uncompressedSize=this.uncompressedSize,this.decompressed.crc32=this.crc32,this.decompressed.compressionMethod=this.compressionMethod,this.decompressed.getCompressedContent=this.prepareCompressedContent(a,a.index,this.compressedSize,b),this.decompressed.getContent=this.prepareContent(a,a.index,this.compressedSize,b,this.uncompressedSize),this.loadOptions.checkCRC32&&(this.decompressed=e.transformTo("string",this.decompressed.getContent()),g.crc32(this.decompressed)!==this.crc32))throw new Error("Corrupted zip : CRC32 mismatch")},readCentralPart:function(a){if(this.versionMadeBy=a.readInt(2),this.versionNeeded=a.readInt(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4),this.fileNameLength=a.readInt(2),this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");this.fileName=a.readString(this.fileNameLength),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readString(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var a=this.versionMadeBy>>8;this.dir=16&this.externalFileAttributes?!0:!1,a===h&&(this.dosPermissions=63&this.externalFileAttributes),a===i&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileName.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=new d(this.extraFields[1].value);this.uncompressedSize===e.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===e.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===e.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===e.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var b,c,d,e=a.index;for(this.extraFields=this.extraFields||{};a.index<e+this.extraFieldsLength;)b=a.readInt(2),c=a.readInt(2),d=a.readString(c),this.extraFields[b]={id:b,length:c,value:d}},handleUTF8:function(){if(this.useUTF8())this.fileName=g.utf8decode(this.fileName),this.fileComment=g.utf8decode(this.fileComment);else{var a=this.findExtraFieldUnicodePath();null!==a&&(this.fileName=a);var b=this.findExtraFieldUnicodeComment();null!==b&&(this.fileComment=b)}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileName)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))
-}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var b=new d(a.value);return 1!==b.readInt(1)?null:g.crc32(this.fileComment)!==b.readInt(4)?null:g.utf8decode(b.readString(a.length-5))}return null}},b.exports=c},{"./compressedObject":2,"./object":13,"./stringReader":15,"./utils":21}],24:[function(a,b){"use strict";var c=a("./lib/utils/common").assign,d=a("./lib/deflate"),e=a("./lib/inflate"),f=a("./lib/zlib/constants"),g={};c(g,d,e,f),b.exports=g},{"./lib/deflate":25,"./lib/inflate":26,"./lib/utils/common":27,"./lib/zlib/constants":30}],25:[function(a,b,c){"use strict";function d(a,b){var c=new s(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}function f(a,b){return b=b||{},b.gzip=!0,d(a,b)}var g=a("./zlib/deflate.js"),h=a("./utils/common"),i=a("./utils/strings"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=0,m=4,n=0,o=1,p=-1,q=0,r=8,s=function(a){this.options=h.assign({level:p,method:r,chunkSize:16384,windowBits:15,memLevel:8,strategy:q,to:""},a||{});var b=this.options;b.raw&&b.windowBits>0?b.windowBits=-b.windowBits:b.gzip&&b.windowBits>0&&b.windowBits<16&&(b.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=g.deflateInit2(this.strm,b.level,b.method,b.windowBits,b.memLevel,b.strategy);if(c!==n)throw new Error(j[c]);b.header&&g.deflateSetHeader(this.strm,b.header)};s.prototype.push=function(a,b){var c,d,e=this.strm,f=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?m:l,e.input="string"==typeof a?i.string2buf(a):a,e.next_in=0,e.avail_in=e.input.length;do{if(0===e.avail_out&&(e.output=new h.Buf8(f),e.next_out=0,e.avail_out=f),c=g.deflate(e,d),c!==o&&c!==n)return this.onEnd(c),this.ended=!0,!1;(0===e.avail_out||0===e.avail_in&&d===m)&&this.onData("string"===this.options.to?i.buf2binstring(h.shrinkBuf(e.output,e.next_out)):h.shrinkBuf(e.output,e.next_out))}while((e.avail_in>0||0===e.avail_out)&&c!==o);return d===m?(c=g.deflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===n):!0},s.prototype.onData=function(a){this.chunks.push(a)},s.prototype.onEnd=function(a){a===n&&(this.result="string"===this.options.to?this.chunks.join(""):h.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Deflate=s,c.deflate=d,c.deflateRaw=e,c.gzip=f},{"./utils/common":27,"./utils/strings":28,"./zlib/deflate.js":32,"./zlib/messages":37,"./zlib/zstream":39}],26:[function(a,b,c){"use strict";function d(a,b){var c=new m(b);if(c.push(a,!0),c.err)throw c.msg;return c.result}function e(a,b){return b=b||{},b.raw=!0,d(a,b)}var f=a("./zlib/inflate.js"),g=a("./utils/common"),h=a("./utils/strings"),i=a("./zlib/constants"),j=a("./zlib/messages"),k=a("./zlib/zstream"),l=a("./zlib/gzheader"),m=function(a){this.options=g.assign({chunkSize:16384,windowBits:0,to:""},a||{});var b=this.options;b.raw&&b.windowBits>=0&&b.windowBits<16&&(b.windowBits=-b.windowBits,0===b.windowBits&&(b.windowBits=-15)),!(b.windowBits>=0&&b.windowBits<16)||a&&a.windowBits||(b.windowBits+=32),b.windowBits>15&&b.windowBits<48&&0===(15&b.windowBits)&&(b.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new k,this.strm.avail_out=0;var c=f.inflateInit2(this.strm,b.windowBits);if(c!==i.Z_OK)throw new Error(j[c]);this.header=new l,f.inflateGetHeader(this.strm,this.header)};m.prototype.push=function(a,b){var c,d,e,j,k,l=this.strm,m=this.options.chunkSize;if(this.ended)return!1;d=b===~~b?b:b===!0?i.Z_FINISH:i.Z_NO_FLUSH,l.input="string"==typeof a?h.binstring2buf(a):a,l.next_in=0,l.avail_in=l.input.length;do{if(0===l.avail_out&&(l.output=new g.Buf8(m),l.next_out=0,l.avail_out=m),c=f.inflate(l,i.Z_NO_FLUSH),c!==i.Z_STREAM_END&&c!==i.Z_OK)return this.onEnd(c),this.ended=!0,!1;l.next_out&&(0===l.avail_out||c===i.Z_STREAM_END||0===l.avail_in&&d===i.Z_FINISH)&&("string"===this.options.to?(e=h.utf8border(l.output,l.next_out),j=l.next_out-e,k=h.buf2string(l.output,e),l.next_out=j,l.avail_out=m-j,j&&g.arraySet(l.output,l.output,e,j,0),this.onData(k)):this.onData(g.shrinkBuf(l.output,l.next_out)))}while(l.avail_in>0&&c!==i.Z_STREAM_END);return c===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(c=f.inflateEnd(this.strm),this.onEnd(c),this.ended=!0,c===i.Z_OK):!0},m.prototype.onData=function(a){this.chunks.push(a)},m.prototype.onEnd=function(a){a===i.Z_OK&&(this.result="string"===this.options.to?this.chunks.join(""):g.flattenChunks(this.chunks)),this.chunks=[],this.err=a,this.msg=this.strm.msg},c.Inflate=m,c.inflate=d,c.inflateRaw=e,c.ungzip=d},{"./utils/common":27,"./utils/strings":28,"./zlib/constants":30,"./zlib/gzheader":33,"./zlib/inflate.js":35,"./zlib/messages":37,"./zlib/zstream":39}],27:[function(a,b,c){"use strict";var d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;c.assign=function(a){for(var b=Array.prototype.slice.call(arguments,1);b.length;){var c=b.shift();if(c){if("object"!=typeof c)throw new TypeError(c+"must be non-object");for(var d in c)c.hasOwnProperty(d)&&(a[d]=c[d])}}return a},c.shrinkBuf=function(a,b){return a.length===b?a:a.subarray?a.subarray(0,b):(a.length=b,a)};var e={arraySet:function(a,b,c,d,e){if(b.subarray&&a.subarray)return void a.set(b.subarray(c,c+d),e);for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){var b,c,d,e,f,g;for(d=0,b=0,c=a.length;c>b;b++)d+=a[b].length;for(g=new Uint8Array(d),e=0,b=0,c=a.length;c>b;b++)f=a[b],g.set(f,e),e+=f.length;return g}},f={arraySet:function(a,b,c,d,e){for(var f=0;d>f;f++)a[e+f]=b[c+f]},flattenChunks:function(a){return[].concat.apply([],a)}};c.setTyped=function(a){a?(c.Buf8=Uint8Array,c.Buf16=Uint16Array,c.Buf32=Int32Array,c.assign(c,e)):(c.Buf8=Array,c.Buf16=Array,c.Buf32=Array,c.assign(c,f))},c.setTyped(d)},{}],28:[function(a,b,c){"use strict";function d(a,b){if(65537>b&&(a.subarray&&g||!a.subarray&&f))return String.fromCharCode.apply(null,e.shrinkBuf(a,b));for(var c="",d=0;b>d;d++)c+=String.fromCharCode(a[d]);return c}var e=a("./common"),f=!0,g=!0;try{String.fromCharCode.apply(null,[0])}catch(h){f=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(h){g=!1}for(var i=new e.Buf8(256),j=0;256>j;j++)i[j]=j>=252?6:j>=248?5:j>=240?4:j>=224?3:j>=192?2:1;i[254]=i[254]=1,c.string2buf=function(a){var b,c,d,f,g,h=a.length,i=0;for(f=0;h>f;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),i+=128>c?1:2048>c?2:65536>c?3:4;for(b=new e.Buf8(i),g=0,f=0;i>g;f++)c=a.charCodeAt(f),55296===(64512&c)&&h>f+1&&(d=a.charCodeAt(f+1),56320===(64512&d)&&(c=65536+(c-55296<<10)+(d-56320),f++)),128>c?b[g++]=c:2048>c?(b[g++]=192|c>>>6,b[g++]=128|63&c):65536>c?(b[g++]=224|c>>>12,b[g++]=128|c>>>6&63,b[g++]=128|63&c):(b[g++]=240|c>>>18,b[g++]=128|c>>>12&63,b[g++]=128|c>>>6&63,b[g++]=128|63&c);return b},c.buf2binstring=function(a){return d(a,a.length)},c.binstring2buf=function(a){for(var b=new e.Buf8(a.length),c=0,d=b.length;d>c;c++)b[c]=a.charCodeAt(c);return b},c.buf2string=function(a,b){var c,e,f,g,h=b||a.length,j=new Array(2*h);for(e=0,c=0;h>c;)if(f=a[c++],128>f)j[e++]=f;else if(g=i[f],g>4)j[e++]=65533,c+=g-1;else{for(f&=2===g?31:3===g?15:7;g>1&&h>c;)f=f<<6|63&a[c++],g--;g>1?j[e++]=65533:65536>f?j[e++]=f:(f-=65536,j[e++]=55296|f>>10&1023,j[e++]=56320|1023&f)}return d(j,e)},c.utf8border=function(a,b){var c;for(b=b||a.length,b>a.length&&(b=a.length),c=b-1;c>=0&&128===(192&a[c]);)c--;return 0>c?b:0===c?b:c+i[a[c]]>b?c:b}},{"./common":27}],29:[function(a,b){"use strict";function c(a,b,c,d){for(var e=65535&a|0,f=a>>>16&65535|0,g=0;0!==c;){g=c>2e3?2e3:c,c-=g;do e=e+b[d++]|0,f=f+e|0;while(--g);e%=65521,f%=65521}return e|f<<16|0}b.exports=c},{}],30:[function(a,b){b.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],31:[function(a,b){"use strict";function c(){for(var a,b=[],c=0;256>c;c++){a=c;for(var d=0;8>d;d++)a=1&a?3988292384^a>>>1:a>>>1;b[c]=a}return b}function d(a,b,c,d){var f=e,g=d+c;a=-1^a;for(var h=d;g>h;h++)a=a>>>8^f[255&(a^b[h])];return-1^a}var e=c();b.exports=d},{}],32:[function(a,b,c){"use strict";function d(a,b){return a.msg=G[b],b}function e(a){return(a<<1)-(a>4?9:0)}function f(a){for(var b=a.length;--b>=0;)a[b]=0}function g(a){var b=a.state,c=b.pending;c>a.avail_out&&(c=a.avail_out),0!==c&&(C.arraySet(a.output,b.pending_buf,b.pending_out,c,a.next_out),a.next_out+=c,b.pending_out+=c,a.total_out+=c,a.avail_out-=c,b.pending-=c,0===b.pending&&(b.pending_out=0))}function h(a,b){D._tr_flush_block(a,a.block_start>=0?a.block_start:-1,a.strstart-a.block_start,b),a.block_start=a.strstart,g(a.strm)}function i(a,b){a.pending_buf[a.pending++]=b}function j(a,b){a.pending_buf[a.pending++]=b>>>8&255,a.pending_buf[a.pending++]=255&b}function k(a,b,c,d){var e=a.avail_in;return e>d&&(e=d),0===e?0:(a.avail_in-=e,C.arraySet(b,a.input,a.next_in,e,c),1===a.state.wrap?a.adler=E(a.adler,b,e,c):2===a.state.wrap&&(a.adler=F(a.adler,b,e,c)),a.next_in+=e,a.total_in+=e,e)}function l(a,b){var c,d,e=a.max_chain_length,f=a.strstart,g=a.prev_length,h=a.nice_match,i=a.strstart>a.w_size-jb?a.strstart-(a.w_size-jb):0,j=a.window,k=a.w_mask,l=a.prev,m=a.strstart+ib,n=j[f+g-1],o=j[f+g];a.prev_length>=a.good_match&&(e>>=2),h>a.lookahead&&(h=a.lookahead);do if(c=b,j[c+g]===o&&j[c+g-1]===n&&j[c]===j[f]&&j[++c]===j[f+1]){f+=2,c++;do;while(j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&j[++f]===j[++c]&&m>f);if(d=ib-(m-f),f=m-ib,d>g){if(a.match_start=b,g=d,d>=h)break;n=j[f+g-1],o=j[f+g]}}while((b=l[b&k])>i&&0!==--e);return g<=a.lookahead?g:a.lookahead}function m(a){var b,c,d,e,f,g=a.w_size;do{if(e=a.window_size-a.lookahead-a.strstart,a.strstart>=g+(g-jb)){C.arraySet(a.window,a.window,g,g,0),a.match_start-=g,a.strstart-=g,a.block_start-=g,c=a.hash_size,b=c;do d=a.head[--b],a.head[b]=d>=g?d-g:0;while(--c);c=g,b=c;do d=a.prev[--b],a.prev[b]=d>=g?d-g:0;while(--c);e+=g}if(0===a.strm.avail_in)break;if(c=k(a.strm,a.window,a.strstart+a.lookahead,e),a.lookahead+=c,a.lookahead+a.insert>=hb)for(f=a.strstart-a.insert,a.ins_h=a.window[f],a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+1])&a.hash_mask;a.insert&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[f+hb-1])&a.hash_mask,a.prev[f&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=f,f++,a.insert--,!(a.lookahead+a.insert<hb)););}while(a.lookahead<jb&&0!==a.strm.avail_in)}function n(a,b){var c=65535;for(c>a.pending_buf_size-5&&(c=a.pending_buf_size-5);;){if(a.lookahead<=1){if(m(a),0===a.lookahead&&b===H)return sb;if(0===a.lookahead)break}a.strstart+=a.lookahead,a.lookahead=0;var d=a.block_start+c;if((0===a.strstart||a.strstart>=d)&&(a.lookahead=a.strstart-d,a.strstart=d,h(a,!1),0===a.strm.avail_out))return sb;if(a.strstart-a.block_start>=a.w_size-jb&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.strstart>a.block_start&&(h(a,!1),0===a.strm.avail_out)?sb:sb}function o(a,b){for(var c,d;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),0!==c&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c)),a.match_length>=hb)if(d=D._tr_tally(a,a.strstart-a.match_start,a.match_length-hb),a.lookahead-=a.match_length,a.match_length<=a.max_lazy_match&&a.lookahead>=hb){a.match_length--;do a.strstart++,a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart;while(0!==--a.match_length);a.strstart++}else a.strstart+=a.match_length,a.match_length=0,a.ins_h=a.window[a.strstart],a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+1])&a.hash_mask;else d=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++;if(d&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function p(a,b){for(var c,d,e;;){if(a.lookahead<jb){if(m(a),a.lookahead<jb&&b===H)return sb;if(0===a.lookahead)break}if(c=0,a.lookahead>=hb&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart),a.prev_length=a.match_length,a.prev_match=a.match_start,a.match_length=hb-1,0!==c&&a.prev_length<a.max_lazy_match&&a.strstart-c<=a.w_size-jb&&(a.match_length=l(a,c),a.match_length<=5&&(a.strategy===S||a.match_length===hb&&a.strstart-a.match_start>4096)&&(a.match_length=hb-1)),a.prev_length>=hb&&a.match_length<=a.prev_length){e=a.strstart+a.lookahead-hb,d=D._tr_tally(a,a.strstart-1-a.prev_match,a.prev_length-hb),a.lookahead-=a.prev_length-1,a.prev_length-=2;do++a.strstart<=e&&(a.ins_h=(a.ins_h<<a.hash_shift^a.window[a.strstart+hb-1])&a.hash_mask,c=a.prev[a.strstart&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=a.strstart);while(0!==--a.prev_length);if(a.match_available=0,a.match_length=hb-1,a.strstart++,d&&(h(a,!1),0===a.strm.avail_out))return sb}else if(a.match_available){if(d=D._tr_tally(a,0,a.window[a.strstart-1]),d&&h(a,!1),a.strstart++,a.lookahead--,0===a.strm.avail_out)return sb}else a.match_available=1,a.strstart++,a.lookahead--}return a.match_available&&(d=D._tr_tally(a,0,a.window[a.strstart-1]),a.match_available=0),a.insert=a.strstart<hb-1?a.strstart:hb-1,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function q(a,b){for(var c,d,e,f,g=a.window;;){if(a.lookahead<=ib){if(m(a),a.lookahead<=ib&&b===H)return sb;if(0===a.lookahead)break}if(a.match_length=0,a.lookahead>=hb&&a.strstart>0&&(e=a.strstart-1,d=g[e],d===g[++e]&&d===g[++e]&&d===g[++e])){f=a.strstart+ib;do;while(d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&d===g[++e]&&f>e);a.match_length=ib-(f-e),a.match_length>a.lookahead&&(a.match_length=a.lookahead)}if(a.match_length>=hb?(c=D._tr_tally(a,1,a.match_length-hb),a.lookahead-=a.match_length,a.strstart+=a.match_length,a.match_length=0):(c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++),c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function r(a,b){for(var c;;){if(0===a.lookahead&&(m(a),0===a.lookahead)){if(b===H)return sb;break}if(a.match_length=0,c=D._tr_tally(a,0,a.window[a.strstart]),a.lookahead--,a.strstart++,c&&(h(a,!1),0===a.strm.avail_out))return sb}return a.insert=0,b===K?(h(a,!0),0===a.strm.avail_out?ub:vb):a.last_lit&&(h(a,!1),0===a.strm.avail_out)?sb:tb}function s(a){a.window_size=2*a.w_size,f(a.head),a.max_lazy_match=B[a.level].max_lazy,a.good_match=B[a.level].good_length,a.nice_match=B[a.level].nice_length,a.max_chain_length=B[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=hb-1,a.match_available=0,a.ins_h=0}function t(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Y,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*fb),this.dyn_dtree=new C.Buf16(2*(2*db+1)),this.bl_tree=new C.Buf16(2*(2*eb+1)),f(this.dyn_ltree),f(this.dyn_dtree),f(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(gb+1),this.heap=new C.Buf16(2*cb+1),f(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*cb+1),f(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function u(a){var b;return a&&a.state?(a.total_in=a.total_out=0,a.data_type=X,b=a.state,b.pending=0,b.pending_out=0,b.wrap<0&&(b.wrap=-b.wrap),b.status=b.wrap?lb:qb,a.adler=2===b.wrap?0:1,b.last_flush=H,D._tr_init(b),M):d(a,O)}function v(a){var b=u(a);return b===M&&s(a.state),b}function w(a,b){return a&&a.state?2!==a.state.wrap?O:(a.state.gzhead=b,M):O}function x(a,b,c,e,f,g){if(!a)return O;var h=1;if(b===R&&(b=6),0>e?(h=0,e=-e):e>15&&(h=2,e-=16),1>f||f>Z||c!==Y||8>e||e>15||0>b||b>9||0>g||g>V)return d(a,O);8===e&&(e=9);var i=new t;return a.state=i,i.strm=a,i.wrap=h,i.gzhead=null,i.w_bits=e,i.w_size=1<<i.w_bits,i.w_mask=i.w_size-1,i.hash_bits=f+7,i.hash_size=1<<i.hash_bits,i.hash_mask=i.hash_size-1,i.hash_shift=~~((i.hash_bits+hb-1)/hb),i.window=new C.Buf8(2*i.w_size),i.head=new C.Buf16(i.hash_size),i.prev=new C.Buf16(i.w_size),i.lit_bufsize=1<<f+6,i.pending_buf_size=4*i.lit_bufsize,i.pending_buf=new C.Buf8(i.pending_buf_size),i.d_buf=i.lit_bufsize>>1,i.l_buf=3*i.lit_bufsize,i.level=b,i.strategy=g,i.method=c,v(a)}function y(a,b){return x(a,b,Y,$,_,W)}function z(a,b){var c,h,k,l;if(!a||!a.state||b>L||0>b)return a?d(a,O):O;if(h=a.state,!a.output||!a.input&&0!==a.avail_in||h.status===rb&&b!==K)return d(a,0===a.avail_out?Q:O);if(h.strm=a,c=h.last_flush,h.last_flush=b,h.status===lb)if(2===h.wrap)a.adler=0,i(h,31),i(h,139),i(h,8),h.gzhead?(i(h,(h.gzhead.text?1:0)+(h.gzhead.hcrc?2:0)+(h.gzhead.extra?4:0)+(h.gzhead.name?8:0)+(h.gzhead.comment?16:0)),i(h,255&h.gzhead.time),i(h,h.gzhead.time>>8&255),i(h,h.gzhead.time>>16&255),i(h,h.gzhead.time>>24&255),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,255&h.gzhead.os),h.gzhead.extra&&h.gzhead.extra.length&&(i(h,255&h.gzhead.extra.length),i(h,h.gzhead.extra.length>>8&255)),h.gzhead.hcrc&&(a.adler=F(a.adler,h.pending_buf,h.pending,0)),h.gzindex=0,h.status=mb):(i(h,0),i(h,0),i(h,0),i(h,0),i(h,0),i(h,9===h.level?2:h.strategy>=T||h.level<2?4:0),i(h,wb),h.status=qb);else{var m=Y+(h.w_bits-8<<4)<<8,n=-1;n=h.strategy>=T||h.level<2?0:h.level<6?1:6===h.level?2:3,m|=n<<6,0!==h.strstart&&(m|=kb),m+=31-m%31,h.status=qb,j(h,m),0!==h.strstart&&(j(h,a.adler>>>16),j(h,65535&a.adler)),a.adler=1}if(h.status===mb)if(h.gzhead.extra){for(k=h.pending;h.gzindex<(65535&h.gzhead.extra.length)&&(h.pending!==h.pending_buf_size||(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending!==h.pending_buf_size));)i(h,255&h.gzhead.extra[h.gzindex]),h.gzindex++;h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),h.gzindex===h.gzhead.extra.length&&(h.gzindex=0,h.status=nb)}else h.status=nb;if(h.status===nb)if(h.gzhead.name){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.name.length?255&h.gzhead.name.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.gzindex=0,h.status=ob)}else h.status=ob;if(h.status===ob)if(h.gzhead.comment){k=h.pending;do{if(h.pending===h.pending_buf_size&&(h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),g(a),k=h.pending,h.pending===h.pending_buf_size)){l=1;break}l=h.gzindex<h.gzhead.comment.length?255&h.gzhead.comment.charCodeAt(h.gzindex++):0,i(h,l)}while(0!==l);h.gzhead.hcrc&&h.pending>k&&(a.adler=F(a.adler,h.pending_buf,h.pending-k,k)),0===l&&(h.status=pb)}else h.status=pb;if(h.status===pb&&(h.gzhead.hcrc?(h.pending+2>h.pending_buf_size&&g(a),h.pending+2<=h.pending_buf_size&&(i(h,255&a.adler),i(h,a.adler>>8&255),a.adler=0,h.status=qb)):h.status=qb),0!==h.pending){if(g(a),0===a.avail_out)return h.last_flush=-1,M}else if(0===a.avail_in&&e(b)<=e(c)&&b!==K)return d(a,Q);if(h.status===rb&&0!==a.avail_in)return d(a,Q);if(0!==a.avail_in||0!==h.lookahead||b!==H&&h.status!==rb){var o=h.strategy===T?r(h,b):h.strategy===U?q(h,b):B[h.level].func(h,b);if((o===ub||o===vb)&&(h.status=rb),o===sb||o===ub)return 0===a.avail_out&&(h.last_flush=-1),M;if(o===tb&&(b===I?D._tr_align(h):b!==L&&(D._tr_stored_block(h,0,0,!1),b===J&&(f(h.head),0===h.lookahead&&(h.strstart=0,h.block_start=0,h.insert=0))),g(a),0===a.avail_out))return h.last_flush=-1,M}return b!==K?M:h.wrap<=0?N:(2===h.wrap?(i(h,255&a.adler),i(h,a.adler>>8&255),i(h,a.adler>>16&255),i(h,a.adler>>24&255),i(h,255&a.total_in),i(h,a.total_in>>8&255),i(h,a.total_in>>16&255),i(h,a.total_in>>24&255)):(j(h,a.adler>>>16),j(h,65535&a.adler)),g(a),h.wrap>0&&(h.wrap=-h.wrap),0!==h.pending?M:N)}function A(a){var b;return a&&a.state?(b=a.state.status,b!==lb&&b!==mb&&b!==nb&&b!==ob&&b!==pb&&b!==qb&&b!==rb?d(a,O):(a.state=null,b===qb?d(a,P):M)):O}var B,C=a("../utils/common"),D=a("./trees"),E=a("./adler32"),F=a("./crc32"),G=a("./messages"),H=0,I=1,J=3,K=4,L=5,M=0,N=1,O=-2,P=-3,Q=-5,R=-1,S=1,T=2,U=3,V=4,W=0,X=2,Y=8,Z=9,$=15,_=8,ab=29,bb=256,cb=bb+1+ab,db=30,eb=19,fb=2*cb+1,gb=15,hb=3,ib=258,jb=ib+hb+1,kb=32,lb=42,mb=69,nb=73,ob=91,pb=103,qb=113,rb=666,sb=1,tb=2,ub=3,vb=4,wb=3,xb=function(a,b,c,d,e){this.good_length=a,this.max_lazy=b,this.nice_length=c,this.max_chain=d,this.func=e};B=[new xb(0,0,0,0,n),new xb(4,4,8,4,o),new xb(4,5,16,8,o),new xb(4,6,32,32,o),new xb(4,4,16,16,p),new xb(8,16,32,32,p),new xb(8,16,128,128,p),new xb(8,32,128,256,p),new xb(32,128,258,1024,p),new xb(32,258,258,4096,p)],c.deflateInit=y,c.deflateInit2=x,c.deflateReset=v,c.deflateResetKeep=u,c.deflateSetHeader=w,c.deflate=z,c.deflateEnd=A,c.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./messages":37,"./trees":38}],33:[function(a,b){"use strict";function c(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}b.exports=c},{}],34:[function(a,b){"use strict";var c=30,d=12;b.exports=function(a,b){var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C;e=a.state,f=a.next_in,B=a.input,g=f+(a.avail_in-5),h=a.next_out,C=a.output,i=h-(b-a.avail_out),j=h+(a.avail_out-257),k=e.dmax,l=e.wsize,m=e.whave,n=e.wnext,o=e.window,p=e.hold,q=e.bits,r=e.lencode,s=e.distcode,t=(1<<e.lenbits)-1,u=(1<<e.distbits)-1;a:do{15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=r[p&t];b:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,0===w)C[h++]=65535&v;else{if(!(16&w)){if(0===(64&w)){v=r[(65535&v)+(p&(1<<w)-1)];continue b}if(32&w){e.mode=d;break a}a.msg="invalid literal/length code",e.mode=c;break a}x=65535&v,w&=15,w&&(w>q&&(p+=B[f++]<<q,q+=8),x+=p&(1<<w)-1,p>>>=w,q-=w),15>q&&(p+=B[f++]<<q,q+=8,p+=B[f++]<<q,q+=8),v=s[p&u];c:for(;;){if(w=v>>>24,p>>>=w,q-=w,w=v>>>16&255,!(16&w)){if(0===(64&w)){v=s[(65535&v)+(p&(1<<w)-1)];continue c}a.msg="invalid distance code",e.mode=c;break a}if(y=65535&v,w&=15,w>q&&(p+=B[f++]<<q,q+=8,w>q&&(p+=B[f++]<<q,q+=8)),y+=p&(1<<w)-1,y>k){a.msg="invalid distance too far back",e.mode=c;break a}if(p>>>=w,q-=w,w=h-i,y>w){if(w=y-w,w>m&&e.sane){a.msg="invalid distance too far back",e.mode=c;break a}if(z=0,A=o,0===n){if(z+=l-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}else if(w>n){if(z+=l+n-w,w-=n,x>w){x-=w;do C[h++]=o[z++];while(--w);if(z=0,x>n){w=n,x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}}}else if(z+=n-w,x>w){x-=w;do C[h++]=o[z++];while(--w);z=h-y,A=C}for(;x>2;)C[h++]=A[z++],C[h++]=A[z++],C[h++]=A[z++],x-=3;x&&(C[h++]=A[z++],x>1&&(C[h++]=A[z++]))}else{z=h-y;do C[h++]=C[z++],C[h++]=C[z++],C[h++]=C[z++],x-=3;while(x>2);x&&(C[h++]=C[z++],x>1&&(C[h++]=C[z++]))}break}}break}}while(g>f&&j>h);x=q>>3,f-=x,q-=x<<3,p&=(1<<q)-1,a.next_in=f,a.next_out=h,a.avail_in=g>f?5+(g-f):5-(f-g),a.avail_out=j>h?257+(j-h):257-(h-j),e.hold=p,e.bits=q}},{}],35:[function(a,b,c){"use strict";function d(a){return(a>>>24&255)+(a>>>8&65280)+((65280&a)<<8)+((255&a)<<24)}function e(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function f(a){var b;return a&&a.state?(b=a.state,a.total_in=a.total_out=b.total=0,a.msg="",b.wrap&&(a.adler=1&b.wrap),b.mode=K,b.last=0,b.havedict=0,b.dmax=32768,b.head=null,b.hold=0,b.bits=0,b.lencode=b.lendyn=new r.Buf32(ob),b.distcode=b.distdyn=new r.Buf32(pb),b.sane=1,b.back=-1,C):F}function g(a){var b;return a&&a.state?(b=a.state,b.wsize=0,b.whave=0,b.wnext=0,f(a)):F}function h(a,b){var c,d;return a&&a.state?(d=a.state,0>b?(c=0,b=-b):(c=(b>>4)+1,48>b&&(b&=15)),b&&(8>b||b>15)?F:(null!==d.window&&d.wbits!==b&&(d.window=null),d.wrap=c,d.wbits=b,g(a))):F}function i(a,b){var c,d;return a?(d=new e,a.state=d,d.window=null,c=h(a,b),c!==C&&(a.state=null),c):F}function j(a){return i(a,rb)}function k(a){if(sb){var b;for(p=new r.Buf32(512),q=new r.Buf32(32),b=0;144>b;)a.lens[b++]=8;for(;256>b;)a.lens[b++]=9;for(;280>b;)a.lens[b++]=7;for(;288>b;)a.lens[b++]=8;for(v(x,a.lens,0,288,p,0,a.work,{bits:9}),b=0;32>b;)a.lens[b++]=5;v(y,a.lens,0,32,q,0,a.work,{bits:5}),sb=!1}a.lencode=p,a.lenbits=9,a.distcode=q,a.distbits=5}function l(a,b,c,d){var e,f=a.state;return null===f.window&&(f.wsize=1<<f.wbits,f.wnext=0,f.whave=0,f.window=new r.Buf8(f.wsize)),d>=f.wsize?(r.arraySet(f.window,b,c-f.wsize,f.wsize,0),f.wnext=0,f.whave=f.wsize):(e=f.wsize-f.wnext,e>d&&(e=d),r.arraySet(f.window,b,c-d,e,f.wnext),d-=e,d?(r.arraySet(f.window,b,c-d,d,0),f.wnext=d,f.whave=f.wsize):(f.wnext+=e,f.wnext===f.wsize&&(f.wnext=0),f.whave<f.wsize&&(f.whave+=e))),0}function m(a,b){var c,e,f,g,h,i,j,m,n,o,p,q,ob,pb,qb,rb,sb,tb,ub,vb,wb,xb,yb,zb,Ab=0,Bb=new r.Buf8(4),Cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!a||!a.state||!a.output||!a.input&&0!==a.avail_in)return F;c=a.state,c.mode===V&&(c.mode=W),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,o=i,p=j,xb=C;a:for(;;)switch(c.mode){case K:if(0===c.wrap){c.mode=W;break}for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(2&c.wrap&&35615===m){c.check=0,Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0),m=0,n=0,c.mode=L;break}if(c.flags=0,c.head&&(c.head.done=!1),!(1&c.wrap)||(((255&m)<<8)+(m>>8))%31){a.msg="incorrect header check",c.mode=lb;break}if((15&m)!==J){a.msg="unknown compression method",c.mode=lb;break}if(m>>>=4,n-=4,wb=(15&m)+8,0===c.wbits)c.wbits=wb;else if(wb>c.wbits){a.msg="invalid window size",c.mode=lb;break}c.dmax=1<<wb,a.adler=c.check=1,c.mode=512&m?T:V,m=0,n=0;break;case L:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.flags=m,(255&c.flags)!==J){a.msg="unknown compression method",c.mode=lb;break}if(57344&c.flags){a.msg="unknown header flags set",c.mode=lb;break}c.head&&(c.head.text=m>>8&1),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=M;case M:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.time=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,Bb[2]=m>>>16&255,Bb[3]=m>>>24&255,c.check=t(c.check,Bb,4,0)),m=0,n=0,c.mode=N;case N:for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.head&&(c.head.xflags=255&m,c.head.os=m>>8),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0,c.mode=O;case O:if(1024&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length=m,c.head&&(c.head.extra_len=m),512&c.flags&&(Bb[0]=255&m,Bb[1]=m>>>8&255,c.check=t(c.check,Bb,2,0)),m=0,n=0}else c.head&&(c.head.extra=null);c.mode=P;case P:if(1024&c.flags&&(q=c.length,q>i&&(q=i),q&&(c.head&&(wb=c.head.extra_len-c.length,c.head.extra||(c.head.extra=new Array(c.head.extra_len)),r.arraySet(c.head.extra,e,g,q,wb)),512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,c.length-=q),c.length))break a;c.length=0,c.mode=Q;case Q:if(2048&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.name+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.name=null);c.length=0,c.mode=R;case R:if(4096&c.flags){if(0===i)break a;q=0;do wb=e[g+q++],c.head&&wb&&c.length<65536&&(c.head.comment+=String.fromCharCode(wb));while(wb&&i>q);if(512&c.flags&&(c.check=t(c.check,e,q,g)),i-=q,g+=q,wb)break a}else c.head&&(c.head.comment=null);c.mode=S;case S:if(512&c.flags){for(;16>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(65535&c.check)){a.msg="header crc mismatch",c.mode=lb;break}m=0,n=0}c.head&&(c.head.hcrc=c.flags>>9&1,c.head.done=!0),a.adler=c.check=0,c.mode=V;break;case T:for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}a.adler=c.check=d(m),m=0,n=0,c.mode=U;case U:if(0===c.havedict)return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,E;a.adler=c.check=1,c.mode=V;case V:if(b===A||b===B)break a;case W:if(c.last){m>>>=7&n,n-=7&n,c.mode=ib;break}for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}switch(c.last=1&m,m>>>=1,n-=1,3&m){case 0:c.mode=X;break;case 1:if(k(c),c.mode=bb,b===B){m>>>=2,n-=2;break a}break;case 2:c.mode=$;break;case 3:a.msg="invalid block type",c.mode=lb}m>>>=2,n-=2;break;case X:for(m>>>=7&n,n-=7&n;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if((65535&m)!==(m>>>16^65535)){a.msg="invalid stored block lengths",c.mode=lb;break}if(c.length=65535&m,m=0,n=0,c.mode=Y,b===B)break a;case Y:c.mode=Z;case Z:if(q=c.length){if(q>i&&(q=i),q>j&&(q=j),0===q)break a;r.arraySet(f,e,g,q,h),i-=q,g+=q,j-=q,h+=q,c.length-=q;break}c.mode=V;break;case $:for(;14>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(c.nlen=(31&m)+257,m>>>=5,n-=5,c.ndist=(31&m)+1,m>>>=5,n-=5,c.ncode=(15&m)+4,m>>>=4,n-=4,c.nlen>286||c.ndist>30){a.msg="too many length or distance symbols",c.mode=lb;break}c.have=0,c.mode=_;case _:for(;c.have<c.ncode;){for(;3>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.lens[Cb[c.have++]]=7&m,m>>>=3,n-=3}for(;c.have<19;)c.lens[Cb[c.have++]]=0;if(c.lencode=c.lendyn,c.lenbits=7,yb={bits:c.lenbits},xb=v(w,c.lens,0,19,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid code lengths set",c.mode=lb;break}c.have=0,c.mode=ab;case ab:for(;c.have<c.nlen+c.ndist;){for(;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(16>sb)m>>>=qb,n-=qb,c.lens[c.have++]=sb;else{if(16===sb){for(zb=qb+2;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m>>>=qb,n-=qb,0===c.have){a.msg="invalid bit length repeat",c.mode=lb;break}wb=c.lens[c.have-1],q=3+(3&m),m>>>=2,n-=2}else if(17===sb){for(zb=qb+3;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=3+(7&m),m>>>=3,n-=3}else{for(zb=qb+7;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=qb,n-=qb,wb=0,q=11+(127&m),m>>>=7,n-=7}if(c.have+q>c.nlen+c.ndist){a.msg="invalid bit length repeat",c.mode=lb;break}for(;q--;)c.lens[c.have++]=wb}}if(c.mode===lb)break;if(0===c.lens[256]){a.msg="invalid code -- missing end-of-block",c.mode=lb;break}if(c.lenbits=9,yb={bits:c.lenbits},xb=v(x,c.lens,0,c.nlen,c.lencode,0,c.work,yb),c.lenbits=yb.bits,xb){a.msg="invalid literal/lengths set",c.mode=lb;break}if(c.distbits=6,c.distcode=c.distdyn,yb={bits:c.distbits},xb=v(y,c.lens,c.nlen,c.ndist,c.distcode,0,c.work,yb),c.distbits=yb.bits,xb){a.msg="invalid distances set",c.mode=lb;break}if(c.mode=bb,b===B)break a;case bb:c.mode=cb;case cb:if(i>=6&&j>=258){a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,u(a,p),h=a.next_out,f=a.output,j=a.avail_out,g=a.next_in,e=a.input,i=a.avail_in,m=c.hold,n=c.bits,c.mode===V&&(c.back=-1);
-break}for(c.back=0;Ab=c.lencode[m&(1<<c.lenbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(rb&&0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.lencode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,c.length=sb,0===rb){c.mode=hb;break}if(32&rb){c.back=-1,c.mode=V;break}if(64&rb){a.msg="invalid literal/length code",c.mode=lb;break}c.extra=15&rb,c.mode=db;case db:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.length+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}c.was=c.length,c.mode=eb;case eb:for(;Ab=c.distcode[m&(1<<c.distbits)-1],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(0===(240&rb)){for(tb=qb,ub=rb,vb=sb;Ab=c.distcode[vb+((m&(1<<tb+ub)-1)>>tb)],qb=Ab>>>24,rb=Ab>>>16&255,sb=65535&Ab,!(n>=tb+qb);){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}m>>>=tb,n-=tb,c.back+=tb}if(m>>>=qb,n-=qb,c.back+=qb,64&rb){a.msg="invalid distance code",c.mode=lb;break}c.offset=sb,c.extra=15&rb,c.mode=fb;case fb:if(c.extra){for(zb=c.extra;zb>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}c.offset+=m&(1<<c.extra)-1,m>>>=c.extra,n-=c.extra,c.back+=c.extra}if(c.offset>c.dmax){a.msg="invalid distance too far back",c.mode=lb;break}c.mode=gb;case gb:if(0===j)break a;if(q=p-j,c.offset>q){if(q=c.offset-q,q>c.whave&&c.sane){a.msg="invalid distance too far back",c.mode=lb;break}q>c.wnext?(q-=c.wnext,ob=c.wsize-q):ob=c.wnext-q,q>c.length&&(q=c.length),pb=c.window}else pb=f,ob=h-c.offset,q=c.length;q>j&&(q=j),j-=q,c.length-=q;do f[h++]=pb[ob++];while(--q);0===c.length&&(c.mode=cb);break;case hb:if(0===j)break a;f[h++]=c.length,j--,c.mode=cb;break;case ib:if(c.wrap){for(;32>n;){if(0===i)break a;i--,m|=e[g++]<<n,n+=8}if(p-=j,a.total_out+=p,c.total+=p,p&&(a.adler=c.check=c.flags?t(c.check,f,p,h-p):s(c.check,f,p,h-p)),p=j,(c.flags?m:d(m))!==c.check){a.msg="incorrect data check",c.mode=lb;break}m=0,n=0}c.mode=jb;case jb:if(c.wrap&&c.flags){for(;32>n;){if(0===i)break a;i--,m+=e[g++]<<n,n+=8}if(m!==(4294967295&c.total)){a.msg="incorrect length check",c.mode=lb;break}m=0,n=0}c.mode=kb;case kb:xb=D;break a;case lb:xb=G;break a;case mb:return H;case nb:default:return F}return a.next_out=h,a.avail_out=j,a.next_in=g,a.avail_in=i,c.hold=m,c.bits=n,(c.wsize||p!==a.avail_out&&c.mode<lb&&(c.mode<ib||b!==z))&&l(a,a.output,a.next_out,p-a.avail_out)?(c.mode=mb,H):(o-=a.avail_in,p-=a.avail_out,a.total_in+=o,a.total_out+=p,c.total+=p,c.wrap&&p&&(a.adler=c.check=c.flags?t(c.check,f,p,a.next_out-p):s(c.check,f,p,a.next_out-p)),a.data_type=c.bits+(c.last?64:0)+(c.mode===V?128:0)+(c.mode===bb||c.mode===Y?256:0),(0===o&&0===p||b===z)&&xb===C&&(xb=I),xb)}function n(a){if(!a||!a.state)return F;var b=a.state;return b.window&&(b.window=null),a.state=null,C}function o(a,b){var c;return a&&a.state?(c=a.state,0===(2&c.wrap)?F:(c.head=b,b.done=!1,C)):F}var p,q,r=a("../utils/common"),s=a("./adler32"),t=a("./crc32"),u=a("./inffast"),v=a("./inftrees"),w=0,x=1,y=2,z=4,A=5,B=6,C=0,D=1,E=2,F=-2,G=-3,H=-4,I=-5,J=8,K=1,L=2,M=3,N=4,O=5,P=6,Q=7,R=8,S=9,T=10,U=11,V=12,W=13,X=14,Y=15,Z=16,$=17,_=18,ab=19,bb=20,cb=21,db=22,eb=23,fb=24,gb=25,hb=26,ib=27,jb=28,kb=29,lb=30,mb=31,nb=32,ob=852,pb=592,qb=15,rb=qb,sb=!0;c.inflateReset=g,c.inflateReset2=h,c.inflateResetKeep=f,c.inflateInit=j,c.inflateInit2=i,c.inflate=m,c.inflateEnd=n,c.inflateGetHeader=o,c.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":27,"./adler32":29,"./crc32":31,"./inffast":34,"./inftrees":36}],36:[function(a,b){"use strict";var c=a("../utils/common"),d=15,e=852,f=592,g=0,h=1,i=2,j=[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,0,0],k=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],l=[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,0,0],m=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];b.exports=function(a,b,n,o,p,q,r,s){var t,u,v,w,x,y,z,A,B,C=s.bits,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=null,O=0,P=new c.Buf16(d+1),Q=new c.Buf16(d+1),R=null,S=0;for(D=0;d>=D;D++)P[D]=0;for(E=0;o>E;E++)P[b[n+E]]++;for(H=C,G=d;G>=1&&0===P[G];G--);if(H>G&&(H=G),0===G)return p[q++]=20971520,p[q++]=20971520,s.bits=1,0;for(F=1;G>F&&0===P[F];F++);for(F>H&&(H=F),K=1,D=1;d>=D;D++)if(K<<=1,K-=P[D],0>K)return-1;if(K>0&&(a===g||1!==G))return-1;for(Q[1]=0,D=1;d>D;D++)Q[D+1]=Q[D]+P[D];for(E=0;o>E;E++)0!==b[n+E]&&(r[Q[b[n+E]]++]=E);if(a===g?(N=R=r,y=19):a===h?(N=j,O-=257,R=k,S-=257,y=256):(N=l,R=m,y=-1),M=0,E=0,D=F,x=q,I=H,J=0,v=-1,L=1<<H,w=L-1,a===h&&L>e||a===i&&L>f)return 1;for(var T=0;;){T++,z=D-J,r[E]<y?(A=0,B=r[E]):r[E]>y?(A=R[S+r[E]],B=N[O+r[E]]):(A=96,B=0),t=1<<D-J,u=1<<I,F=u;do u-=t,p[x+(M>>J)+u]=z<<24|A<<16|B|0;while(0!==u);for(t=1<<D-1;M&t;)t>>=1;if(0!==t?(M&=t-1,M+=t):M=0,E++,0===--P[D]){if(D===G)break;D=b[n+r[E]]}if(D>H&&(M&w)!==v){for(0===J&&(J=H),x+=F,I=D-J,K=1<<I;G>I+J&&(K-=P[I+J],!(0>=K));)I++,K<<=1;if(L+=1<<I,a===h&&L>e||a===i&&L>f)return 1;v=M&w,p[v]=H<<24|I<<16|x-q|0}}return 0!==M&&(p[x+M]=D-J<<24|64<<16|0),s.bits=H,0}},{"../utils/common":27}],37:[function(a,b){"use strict";b.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],38:[function(a,b,c){"use strict";function d(a){for(var b=a.length;--b>=0;)a[b]=0}function e(a){return 256>a?gb[a]:gb[256+(a>>>7)]}function f(a,b){a.pending_buf[a.pending++]=255&b,a.pending_buf[a.pending++]=b>>>8&255}function g(a,b,c){a.bi_valid>V-c?(a.bi_buf|=b<<a.bi_valid&65535,f(a,a.bi_buf),a.bi_buf=b>>V-a.bi_valid,a.bi_valid+=c-V):(a.bi_buf|=b<<a.bi_valid&65535,a.bi_valid+=c)}function h(a,b,c){g(a,c[2*b],c[2*b+1])}function i(a,b){var c=0;do c|=1&a,a>>>=1,c<<=1;while(--b>0);return c>>>1}function j(a){16===a.bi_valid?(f(a,a.bi_buf),a.bi_buf=0,a.bi_valid=0):a.bi_valid>=8&&(a.pending_buf[a.pending++]=255&a.bi_buf,a.bi_buf>>=8,a.bi_valid-=8)}function k(a,b){var c,d,e,f,g,h,i=b.dyn_tree,j=b.max_code,k=b.stat_desc.static_tree,l=b.stat_desc.has_stree,m=b.stat_desc.extra_bits,n=b.stat_desc.extra_base,o=b.stat_desc.max_length,p=0;for(f=0;U>=f;f++)a.bl_count[f]=0;for(i[2*a.heap[a.heap_max]+1]=0,c=a.heap_max+1;T>c;c++)d=a.heap[c],f=i[2*i[2*d+1]+1]+1,f>o&&(f=o,p++),i[2*d+1]=f,d>j||(a.bl_count[f]++,g=0,d>=n&&(g=m[d-n]),h=i[2*d],a.opt_len+=h*(f+g),l&&(a.static_len+=h*(k[2*d+1]+g)));if(0!==p){do{for(f=o-1;0===a.bl_count[f];)f--;a.bl_count[f]--,a.bl_count[f+1]+=2,a.bl_count[o]--,p-=2}while(p>0);for(f=o;0!==f;f--)for(d=a.bl_count[f];0!==d;)e=a.heap[--c],e>j||(i[2*e+1]!==f&&(a.opt_len+=(f-i[2*e+1])*i[2*e],i[2*e+1]=f),d--)}}function l(a,b,c){var d,e,f=new Array(U+1),g=0;for(d=1;U>=d;d++)f[d]=g=g+c[d-1]<<1;for(e=0;b>=e;e++){var h=a[2*e+1];0!==h&&(a[2*e]=i(f[h]++,h))}}function m(){var a,b,c,d,e,f=new Array(U+1);for(c=0,d=0;O-1>d;d++)for(ib[d]=c,a=0;a<1<<_[d];a++)hb[c++]=d;for(hb[c-1]=d,e=0,d=0;16>d;d++)for(jb[d]=e,a=0;a<1<<ab[d];a++)gb[e++]=d;for(e>>=7;R>d;d++)for(jb[d]=e<<7,a=0;a<1<<ab[d]-7;a++)gb[256+e++]=d;for(b=0;U>=b;b++)f[b]=0;for(a=0;143>=a;)eb[2*a+1]=8,a++,f[8]++;for(;255>=a;)eb[2*a+1]=9,a++,f[9]++;for(;279>=a;)eb[2*a+1]=7,a++,f[7]++;for(;287>=a;)eb[2*a+1]=8,a++,f[8]++;for(l(eb,Q+1,f),a=0;R>a;a++)fb[2*a+1]=5,fb[2*a]=i(a,5);kb=new nb(eb,_,P+1,Q,U),lb=new nb(fb,ab,0,R,U),mb=new nb(new Array(0),bb,0,S,W)}function n(a){var b;for(b=0;Q>b;b++)a.dyn_ltree[2*b]=0;for(b=0;R>b;b++)a.dyn_dtree[2*b]=0;for(b=0;S>b;b++)a.bl_tree[2*b]=0;a.dyn_ltree[2*X]=1,a.opt_len=a.static_len=0,a.last_lit=a.matches=0}function o(a){a.bi_valid>8?f(a,a.bi_buf):a.bi_valid>0&&(a.pending_buf[a.pending++]=a.bi_buf),a.bi_buf=0,a.bi_valid=0}function p(a,b,c,d){o(a),d&&(f(a,c),f(a,~c)),E.arraySet(a.pending_buf,a.window,b,c,a.pending),a.pending+=c}function q(a,b,c,d){var e=2*b,f=2*c;return a[e]<a[f]||a[e]===a[f]&&d[b]<=d[c]}function r(a,b,c){for(var d=a.heap[c],e=c<<1;e<=a.heap_len&&(e<a.heap_len&&q(b,a.heap[e+1],a.heap[e],a.depth)&&e++,!q(b,d,a.heap[e],a.depth));)a.heap[c]=a.heap[e],c=e,e<<=1;a.heap[c]=d}function s(a,b,c){var d,f,i,j,k=0;if(0!==a.last_lit)do d=a.pending_buf[a.d_buf+2*k]<<8|a.pending_buf[a.d_buf+2*k+1],f=a.pending_buf[a.l_buf+k],k++,0===d?h(a,f,b):(i=hb[f],h(a,i+P+1,b),j=_[i],0!==j&&(f-=ib[i],g(a,f,j)),d--,i=e(d),h(a,i,c),j=ab[i],0!==j&&(d-=jb[i],g(a,d,j)));while(k<a.last_lit);h(a,X,b)}function t(a,b){var c,d,e,f=b.dyn_tree,g=b.stat_desc.static_tree,h=b.stat_desc.has_stree,i=b.stat_desc.elems,j=-1;for(a.heap_len=0,a.heap_max=T,c=0;i>c;c++)0!==f[2*c]?(a.heap[++a.heap_len]=j=c,a.depth[c]=0):f[2*c+1]=0;for(;a.heap_len<2;)e=a.heap[++a.heap_len]=2>j?++j:0,f[2*e]=1,a.depth[e]=0,a.opt_len--,h&&(a.static_len-=g[2*e+1]);for(b.max_code=j,c=a.heap_len>>1;c>=1;c--)r(a,f,c);e=i;do c=a.heap[1],a.heap[1]=a.heap[a.heap_len--],r(a,f,1),d=a.heap[1],a.heap[--a.heap_max]=c,a.heap[--a.heap_max]=d,f[2*e]=f[2*c]+f[2*d],a.depth[e]=(a.depth[c]>=a.depth[d]?a.depth[c]:a.depth[d])+1,f[2*c+1]=f[2*d+1]=e,a.heap[1]=e++,r(a,f,1);while(a.heap_len>=2);a.heap[--a.heap_max]=a.heap[1],k(a,b),l(f,j,a.bl_count)}function u(a,b,c){var d,e,f=-1,g=b[1],h=0,i=7,j=4;for(0===g&&(i=138,j=3),b[2*(c+1)+1]=65535,d=0;c>=d;d++)e=g,g=b[2*(d+1)+1],++h<i&&e===g||(j>h?a.bl_tree[2*e]+=h:0!==e?(e!==f&&a.bl_tree[2*e]++,a.bl_tree[2*Y]++):10>=h?a.bl_tree[2*Z]++:a.bl_tree[2*$]++,h=0,f=e,0===g?(i=138,j=3):e===g?(i=6,j=3):(i=7,j=4))}function v(a,b,c){var d,e,f=-1,i=b[1],j=0,k=7,l=4;for(0===i&&(k=138,l=3),d=0;c>=d;d++)if(e=i,i=b[2*(d+1)+1],!(++j<k&&e===i)){if(l>j){do h(a,e,a.bl_tree);while(0!==--j)}else 0!==e?(e!==f&&(h(a,e,a.bl_tree),j--),h(a,Y,a.bl_tree),g(a,j-3,2)):10>=j?(h(a,Z,a.bl_tree),g(a,j-3,3)):(h(a,$,a.bl_tree),g(a,j-11,7));j=0,f=e,0===i?(k=138,l=3):e===i?(k=6,l=3):(k=7,l=4)}}function w(a){var b;for(u(a,a.dyn_ltree,a.l_desc.max_code),u(a,a.dyn_dtree,a.d_desc.max_code),t(a,a.bl_desc),b=S-1;b>=3&&0===a.bl_tree[2*cb[b]+1];b--);return a.opt_len+=3*(b+1)+5+5+4,b}function x(a,b,c,d){var e;for(g(a,b-257,5),g(a,c-1,5),g(a,d-4,4),e=0;d>e;e++)g(a,a.bl_tree[2*cb[e]+1],3);v(a,a.dyn_ltree,b-1),v(a,a.dyn_dtree,c-1)}function y(a){var b,c=4093624447;for(b=0;31>=b;b++,c>>>=1)if(1&c&&0!==a.dyn_ltree[2*b])return G;if(0!==a.dyn_ltree[18]||0!==a.dyn_ltree[20]||0!==a.dyn_ltree[26])return H;for(b=32;P>b;b++)if(0!==a.dyn_ltree[2*b])return H;return G}function z(a){pb||(m(),pb=!0),a.l_desc=new ob(a.dyn_ltree,kb),a.d_desc=new ob(a.dyn_dtree,lb),a.bl_desc=new ob(a.bl_tree,mb),a.bi_buf=0,a.bi_valid=0,n(a)}function A(a,b,c,d){g(a,(J<<1)+(d?1:0),3),p(a,b,c,!0)}function B(a){g(a,K<<1,3),h(a,X,eb),j(a)}function C(a,b,c,d){var e,f,h=0;a.level>0?(a.strm.data_type===I&&(a.strm.data_type=y(a)),t(a,a.l_desc),t(a,a.d_desc),h=w(a),e=a.opt_len+3+7>>>3,f=a.static_len+3+7>>>3,e>=f&&(e=f)):e=f=c+5,e>=c+4&&-1!==b?A(a,b,c,d):a.strategy===F||f===e?(g(a,(K<<1)+(d?1:0),3),s(a,eb,fb)):(g(a,(L<<1)+(d?1:0),3),x(a,a.l_desc.max_code+1,a.d_desc.max_code+1,h+1),s(a,a.dyn_ltree,a.dyn_dtree)),n(a),d&&o(a)}function D(a,b,c){return a.pending_buf[a.d_buf+2*a.last_lit]=b>>>8&255,a.pending_buf[a.d_buf+2*a.last_lit+1]=255&b,a.pending_buf[a.l_buf+a.last_lit]=255&c,a.last_lit++,0===b?a.dyn_ltree[2*c]++:(a.matches++,b--,a.dyn_ltree[2*(hb[c]+P+1)]++,a.dyn_dtree[2*e(b)]++),a.last_lit===a.lit_bufsize-1}var E=a("../utils/common"),F=4,G=0,H=1,I=2,J=0,K=1,L=2,M=3,N=258,O=29,P=256,Q=P+1+O,R=30,S=19,T=2*Q+1,U=15,V=16,W=7,X=256,Y=16,Z=17,$=18,_=[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],ab=[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],bb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],cb=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],db=512,eb=new Array(2*(Q+2));d(eb);var fb=new Array(2*R);d(fb);var gb=new Array(db);d(gb);var hb=new Array(N-M+1);d(hb);var ib=new Array(O);d(ib);var jb=new Array(R);d(jb);var kb,lb,mb,nb=function(a,b,c,d,e){this.static_tree=a,this.extra_bits=b,this.extra_base=c,this.elems=d,this.max_length=e,this.has_stree=a&&a.length},ob=function(a,b){this.dyn_tree=a,this.max_code=0,this.stat_desc=b},pb=!1;c._tr_init=z,c._tr_stored_block=A,c._tr_flush_block=C,c._tr_tally=D,c._tr_align=B},{"../utils/common":27}],39:[function(a,b){"use strict";function c(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}b.exports=c},{}]},{},[9])(9)});
 
-/*! pdfmake v0.1.36, @license MIT, @link http://pdfmake.org */
-!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var n=e();for(var r in n)("object"==typeof exports?exports:t)[r]=n[r]}}("undefined"!=typeof self?self:this,function(){return function(t){var e={};function n(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,r){n.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=122)}([function(t,e,n){"use strict";t.exports={isString:function(t){return"string"==typeof t||t instanceof String},isNumber:function(t){return"number"==typeof t||t instanceof Number},isBoolean:function(t){return"boolean"==typeof t},isArray:function(t){return Array.isArray(t)},isFunction:function(t){return"function"==typeof t},isObject:function(t){return null!==t&&"object"==typeof t},isNull:function(t){return null===t},isUndefined:function(t){return void 0===t},pack:function(){for(var t={},e=0,n=arguments.length;e<n;e++){var r=arguments[e];if(r)for(var i in r)r.hasOwnProperty(i)&&(t[i]=r[i])}return t},fontStringify:function(t,e){return"font"===t?"font":e},offsetVector:function(t,e,n){switch(t.type){case"ellipse":case"rect":t.x+=e,t.y+=n;break;case"line":t.x1+=e,t.x2+=e,t.y1+=n,t.y2+=n;break;case"polyline":for(var r=0,i=t.points.length;r<i;r++)t.points[r].x+=e,t.points[r].y+=n}}}},function(t,e,n){"use strict";(function(t){var r=n(124),i=n(125),a=n(76);function o(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(t,e){if(o()<e)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=l.prototype:(null===t&&(t=new l(e)),t.length=e),t}function l(t,e,n){if(!(l.TYPED_ARRAY_SUPPORT||this instanceof l))return new l(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return h(this,t)}return u(this,t,e,n)}function u(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r);l.TYPED_ARRAY_SUPPORT?(t=e).__proto__=l.prototype:t=f(t,e);return t}(t,e,n,r):"string"==typeof e?function(t,e,n){"string"==typeof n&&""!==n||(n="utf8");if(!l.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|p(e,n),i=(t=s(t,r)).write(e,n);i!==r&&(t=t.slice(0,i));return t}(t,e,n):function(t,e){if(l.isBuffer(e)){var n=0|d(e.length);return 0===(t=s(t,n)).length?t:(e.copy(t,0,0,n),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(r=e.length)!=r?s(t,0):f(t,e);if("Buffer"===e.type&&a(e.data))return f(t,e.data)}var r;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function c(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function h(t,e){if(c(e),t=s(t,e<0?0:0|d(e)),!l.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function f(t,e){var n=e.length<0?0:0|d(e.length);t=s(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function d(t){if(t>=o())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o().toString(16)+" bytes");return 0|t}function p(t,e){if(l.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return F(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return D(t).length;default:if(r)return F(t).length;e=(""+e).toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function y(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=l.from(e,r)),l.isBuffer(e))return 0===e.length?-1:v(t,e,n,r,i);if("number"==typeof e)return e&=255,l.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):v(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function v(t,e,n,r,i){var a,o=1,s=t.length,l=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,n/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=n;a<s;a++)if(u(t,a)===u(e,-1===c?0:a-c)){if(-1===c&&(c=a),a-c+1===l)return c*o}else-1!==c&&(a-=a-c),c=-1}else for(n+l>s&&(n=s-l),a=n;a>=0;a--){for(var h=!0,f=0;f<l;f++)if(u(t,a+f)!==u(e,f)){h=!1;break}if(h)return a}return-1}function b(t,e,n,r){n=Number(n)||0;var i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;var a=e.length;if(a%2!=0)throw new TypeError("Invalid hex string");r>a/2&&(r=a/2);for(var o=0;o<r;++o){var s=parseInt(e.substr(2*o,2),16);if(isNaN(s))return o;t[n+o]=s}return o}function m(t,e,n,r){return z(function(t){for(var e=[],n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function w(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function x(t,e,n){n=Math.min(t.length,n);for(var r=[],i=e;i<n;){var a,o,s,l,u=t[i],c=null,h=u>239?4:u>223?3:u>191?2:1;if(i+h<=n)switch(h){case 1:u<128&&(c=u);break;case 2:128==(192&(a=t[i+1]))&&(l=(31&u)<<6|63&a)>127&&(c=l);break;case 3:a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&(l=(15&u)<<12|(63&a)<<6|63&o)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&(l=(15&u)<<18|(63&a)<<12|(63&o)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,h=1):c>65535&&(c-=65536,r.push(c>>>10&1023|55296),c=56320|1023&c),r.push(c),i+=h}return function(t){var e=t.length;if(e<=S)return String.fromCharCode.apply(String,t);var n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=S));return n}(r)}e.Buffer=l,e.SlowBuffer=function(t){+t!=t&&(t=0);return l.alloc(+t)},e.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=o(),l.poolSize=8192,l._augment=function(t){return t.__proto__=l.prototype,t},l.from=function(t,e,n){return u(null,t,e,n)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(t,e,n){return r=null,a=e,o=n,c(i=t),i<=0?s(r,i):void 0!==a?"string"==typeof o?s(r,i).fill(a,o):s(r,i).fill(a):s(r,i);var r,i,a,o},l.allocUnsafe=function(t){return h(null,t)},l.allocUnsafeSlow=function(t){return h(null,t)},l.isBuffer=function(t){return!(null==t||!t._isBuffer)},l.compare=function(t,e){if(!l.isBuffer(t)||!l.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,a=Math.min(n,r);i<a;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},l.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(t,e){if(!a(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return l.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=l.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var o=t[n];if(!l.isBuffer(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(r,i),i+=o.length}return r},l.byteLength=p,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)g(this,e,e+1);return this},l.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)g(this,e,e+3),g(this,e+1,e+2);return this},l.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},l.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?x(this,0,t):function(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return C(this,e,n);case"utf8":case"utf-8":return x(this,e,n);case"ascii":return _(this,e,n);case"latin1":case"binary":return k(this,e,n);case"base64":return w(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}.apply(this,arguments)},l.prototype.equals=function(t){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===l.compare(this,t)},l.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},l.prototype.compare=function(t,e,n,r,i){if(!l.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(r>>>=0),o=(n>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(r,i),c=t.slice(e,n),h=0;h<s;++h)if(u[h]!==c[h]){a=u[h],o=c[h];break}return a<o?-1:o<a?1:0},l.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},l.prototype.indexOf=function(t,e,n){return y(this,t,e,n,!0)},l.prototype.lastIndexOf=function(t,e,n){return y(this,t,e,n,!1)},l.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var a,o,s,l,u,c,h,f,d,p=!1;;)switch(r){case"hex":return b(this,t,e,n);case"utf8":case"utf-8":return f=e,d=n,z(F(t,(h=this).length-f),h,f,d);case"ascii":return m(this,t,e,n);case"latin1":case"binary":return m(this,t,e,n);case"base64":return l=this,u=e,c=n,z(D(t),l,u,c);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return o=e,s=n,z(function(t,e){for(var n,r,i,a=[],o=0;o<t.length&&!((e-=2)<0);++o)n=t.charCodeAt(o),r=n>>8,i=n%256,a.push(i),a.push(r);return a}(t,(a=this).length-o),a,o,s);default:if(p)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),p=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var S=4096;function _(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function k(t,e,n){var r="";n=Math.min(t.length,n);for(var i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function C(t,e,n){var r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);for(var i="",a=e;a<n;++a)i+=R(t[a]);return i}function A(t,e,n){for(var r=t.slice(e,n),i="",a=0;a<r.length;a+=2)i+=String.fromCharCode(r[a]+256*r[a+1]);return i}function P(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function E(t,e,n,r,i,a){if(!l.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<a)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function I(t,e,n,r){e<0&&(e=65535+e+1);for(var i=0,a=Math.min(t.length-n,2);i<a;++i)t[n+i]=(e&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function T(t,e,n,r){e<0&&(e=4294967295+e+1);for(var i=0,a=Math.min(t.length-n,4);i<a;++i)t[n+i]=e>>>8*(r?i:3-i)&255}function O(t,e,n,r,i,a){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function L(t,e,n,r,a){return a||O(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function B(t,e,n,r,a){return a||O(t,0,n,8),i.write(t,e,n,r,52,8),n+8}l.prototype.slice=function(t,e){var n,r=this.length;if((t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t),l.TYPED_ARRAY_SUPPORT)(n=this.subarray(t,e)).__proto__=l.prototype;else{var i=e-t;n=new l(i,void 0);for(var a=0;a<i;++a)n[a]=this[a+t]}return n},l.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||P(t,e,this.length);for(var r=this[t],i=1,a=0;++a<e&&(i*=256);)r+=this[t+a]*i;return r},l.prototype.readUIntBE=function(t,e,n){t|=0,e|=0,n||P(t,e,this.length);for(var r=this[t+--e],i=1;e>0&&(i*=256);)r+=this[t+--e]*i;return r},l.prototype.readUInt8=function(t,e){return e||P(t,1,this.length),this[t]},l.prototype.readUInt16LE=function(t,e){return e||P(t,2,this.length),this[t]|this[t+1]<<8},l.prototype.readUInt16BE=function(t,e){return e||P(t,2,this.length),this[t]<<8|this[t+1]},l.prototype.readUInt32LE=function(t,e){return e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},l.prototype.readUInt32BE=function(t,e){return e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},l.prototype.readIntLE=function(t,e,n){t|=0,e|=0,n||P(t,e,this.length);for(var r=this[t],i=1,a=0;++a<e&&(i*=256);)r+=this[t+a]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*e)),r},l.prototype.readIntBE=function(t,e,n){t|=0,e|=0,n||P(t,e,this.length);for(var r=e,i=1,a=this[t+--r];r>0&&(i*=256);)a+=this[t+--r]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},l.prototype.readInt8=function(t,e){return e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},l.prototype.readInt16LE=function(t,e){e||P(t,2,this.length);var n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt16BE=function(t,e){e||P(t,2,this.length);var n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},l.prototype.readInt32LE=function(t,e){return e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},l.prototype.readInt32BE=function(t,e){return e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},l.prototype.readFloatLE=function(t,e){return e||P(t,4,this.length),i.read(this,t,!0,23,4)},l.prototype.readFloatBE=function(t,e){return e||P(t,4,this.length),i.read(this,t,!1,23,4)},l.prototype.readDoubleLE=function(t,e){return e||P(t,8,this.length),i.read(this,t,!0,52,8)},l.prototype.readDoubleBE=function(t,e){return e||P(t,8,this.length),i.read(this,t,!1,52,8)},l.prototype.writeUIntLE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||E(this,t,e,n,Math.pow(2,8*n)-1,0);var i=1,a=0;for(this[e]=255&t;++a<n&&(i*=256);)this[e+a]=t/i&255;return e+n},l.prototype.writeUIntBE=function(t,e,n,r){(t=+t,e|=0,n|=0,r)||E(this,t,e,n,Math.pow(2,8*n)-1,0);var i=n-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+n},l.prototype.writeUInt8=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,1,255,0),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},l.prototype.writeUInt16LE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},l.prototype.writeUInt16BE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},l.prototype.writeUInt32LE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):T(this,t,e,!0),e+4},l.prototype.writeUInt32BE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):T(this,t,e,!1),e+4},l.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);E(this,t,e,n,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a<n&&(o*=256);)t<0&&0===s&&0!==this[e+a-1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+n},l.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e|=0,!r){var i=Math.pow(2,8*n-1);E(this,t,e,n,i-1,-i)}var a=n-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+n},l.prototype.writeInt8=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,1,127,-128),l.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},l.prototype.writeInt16LE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):I(this,t,e,!0),e+2},l.prototype.writeInt16BE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):I(this,t,e,!1),e+2},l.prototype.writeInt32LE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):T(this,t,e,!0),e+4},l.prototype.writeInt32BE=function(t,e,n){return t=+t,e|=0,n||E(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),l.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):T(this,t,e,!1),e+4},l.prototype.writeFloatLE=function(t,e,n){return L(this,t,e,!0,n)},l.prototype.writeFloatBE=function(t,e,n){return L(this,t,e,!1,n)},l.prototype.writeDoubleLE=function(t,e,n){return B(this,t,e,!0,n)},l.prototype.writeDoubleBE=function(t,e,n){return B(this,t,e,!1,n)},l.prototype.copy=function(t,e,n,r){if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("sourceStart out of bounds");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);var i,a=r-n;if(this===t&&n<e&&e<r)for(i=a-1;i>=0;--i)t[i+e]=this[i+n];else if(a<1e3||!l.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)t[i+e]=this[i+n];else Uint8Array.prototype.set.call(t,this.subarray(n,n+a),e);return a},l.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),1===t.length){var i=t.charCodeAt(0);i<256&&(t=i)}if(void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!l.isEncoding(r))throw new TypeError("Unknown encoding: "+r)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;var a;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(a=e;a<n;++a)this[a]=t;else{var o=l.isBuffer(t)?t:F(new l(t,r).toString()),s=o.length;for(a=0;a<n-e;++a)this[a+e]=o[a%s]}return this};var M=/[^+\/0-9A-Za-z-_]/g;function R(t){return t<16?"0"+t.toString(16):t.toString(16)}function F(t,e){var n;e=e||1/0;for(var r=t.length,i=null,a=[],o=0;o<r;++o){if((n=t.charCodeAt(o))>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===r){(e-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&a.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;a.push(n)}else if(n<2048){if((e-=2)<0)break;a.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;a.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return a}function D(t){return r.toByteArray(function(t){var e;if((t=(e=t,e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")).replace(M,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function z(t,e,n,r){for(var i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}}).call(e,n(7))},function(t,e){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(10),i=n(2),a=n(20),o=n(13),s="prototype",l=function(t,e,n){var u,c,h,f=t&l.F,d=t&l.G,p=t&l.S,g=t&l.P,y=t&l.B,v=t&l.W,b=d?i:i[e]||(i[e]={}),m=b[s],w=d?r:p?r[e]:(r[e]||{})[s];for(u in d&&(n=e),n)(c=!f&&w&&void 0!==w[u])&&u in b||(h=c?w[u]:n[u],b[u]=d&&"function"!=typeof w[u]?n[u]:y&&c?a(h,r):v&&w[u]==h?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e[s]=t[s],e}(h):g&&"function"==typeof h?a(Function.call,h):h,g&&((b.virtual||(b.virtual={}))[u]=h,t&l.R&&m&&!m[u]&&o(m,u,h)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,t.exports=l},function(t,e,n){var r=n(65)("wks"),i=n(38),a=n(10).Symbol,o="function"==typeof a;(t.exports=function(t){return r[t]||(r[t]=o&&a[t]||(o?a:i)("Symbol."+t))}).store=r},function(t,e,n){t.exports=!n(19)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(14),i=n(95),a=n(58),o=Object.defineProperty;e.f=n(5)?Object.defineProperty:function(t,e,n){if(r(t),e=a(e,!0),r(n),i)try{return o(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(n=window)}t.exports=n},function(t,e,n){"use strict";(function(e,n){function r(){this.fileSystem={},this.baseSystem={}}function i(t){return 0===t.indexOf(n)&&(t=t.substring(n.length)),0===t.indexOf("/")&&(t=t.substring(1)),t}r.prototype.readFileSync=function(t){t=i(t);var n=this.baseSystem[t];if(n)return new e(n,"base64");var r=this.fileSystem[t];if(r)return r;throw"File '"+t+"' not found in virtual file system"},r.prototype.writeFileSync=function(t,e){this.fileSystem[i(t)]=e},r.prototype.bindFS=function(t){this.baseSystem=t||{}},t.exports=new r}).call(e,n(1).Buffer,"/")},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){var n,r,i=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(n===setTimeout)return setTimeout(t,0);if((n===a||!n)&&setTimeout)return n=setTimeout,setTimeout(t,0);try{return n(t,0)}catch(e){try{return n.call(null,t,0)}catch(e){return n.call(this,t,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:a}catch(t){n=a}try{r="function"==typeof clearTimeout?clearTimeout:o}catch(t){r=o}}();var l,u=[],c=!1,h=-1;function f(){c&&l&&(c=!1,l.length?u=l.concat(u):h=-1,u.length&&d())}function d(){if(!c){var t=s(f);c=!0;for(var e=u.length;e;){for(l=u,u=[];++h<e;)l&&l[h].run();h=-1,e=u.length}l=null,c=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===o||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new p(t,e)),1!==u.length||c||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},function(t,e,n){(function(){var t,r;t=n(22).Number,e.resolveLength=function(e,n,r){var i;if("number"==typeof e?i=e:"function"==typeof e?i=e.call(r,r):r&&"string"==typeof e?i=r[e]:n&&e instanceof t&&(i=e.decode(n)),isNaN(i))throw new Error("Not a fixed size");return i},r=function(t){var e,n;for(e in null==t&&(t={}),this.enumerable=!0,this.configurable=!0,t)n=t[e],this[e]=n},e.PropertyDescriptor=r}).call(this)},function(t,e,n){var r=n(6),i=n(27);t.exports=n(5)?function(t,e,n){return r.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},function(t,e,n){var r=n(9);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,n){t.exports=i;var r=n(31).EventEmitter;function i(){r.call(this)}n(21)(i,r),i.Readable=n(45),i.Writable=n(146),i.Duplex=n(147),i.Transform=n(148),i.PassThrough=n(149),i.Stream=i,i.prototype.pipe=function(t,e){var n=this;function i(e){t.writable&&!1===t.write(e)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(n.on("end",s),n.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===r.listenerCount(this,"error"))throw t}function c(){n.removeListener("data",i),t.removeListener("drain",a),n.removeListener("end",s),n.removeListener("close",l),n.removeListener("error",u),t.removeListener("error",u),n.removeListener("end",c),n.removeListener("close",c),t.removeListener("close",c)}return n.on("error",u),t.on("error",u),n.on("end",c),n.on("close",c),t.on("close",c),t.emit("pipe",n),t}},function(t,e,n){"use strict";var r=n(32).nextTick,i=Object.keys||function(t){var e=[];for(var n in t)e.push(n);return e};t.exports=h;var a=n(25);a.inherits=n(21);var o=n(83),s=n(46);a.inherits(h,o);for(var l=i(s.prototype),u=0;u<l.length;u++){var c=l[u];h.prototype[c]||(h.prototype[c]=s.prototype[c])}function h(t){if(!(this instanceof h))return new h(t);o.call(this,t),s.call(this,t),t&&!1===t.readable&&(this.readable=!1),t&&!1===t.writable&&(this.writable=!1),this.allowHalfOpen=!0,t&&!1===t.allowHalfOpen&&(this.allowHalfOpen=!1),this.once("end",f)}function f(){this.allowHalfOpen||this._writableState.ended||r(d,this)}function d(t){t.end()}Object.defineProperty(h.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}}),h.prototype._destroy=function(t,e){this.push(null),this.end(),r(e,t)}},function(t,e,n){var r=n(54),i=n(56);t.exports=function(t){return r(i(t))}},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,n){var r=n(97);t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,i){return t.call(e,n,r,i)}}return function(){return t.apply(e,arguments)}}},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){(function(){var t,r,i,a={}.hasOwnProperty;t=n(51),i=function(){function e(t,e){this.type=t,this.endian=null!=e?e:"BE",this.fn=this.type,"8"!==this.type[this.type.length-1]&&(this.fn+=this.endian)}return e.prototype.size=function(){return t.TYPES[this.type]},e.prototype.decode=function(t){return t["read"+this.fn]()},e.prototype.encode=function(t,e){return t["write"+this.fn](e)},e}(),e.Number=i,e.uint8=new i("UInt8"),e.uint16be=e.uint16=new i("UInt16","BE"),e.uint16le=new i("UInt16","LE"),e.uint24be=e.uint24=new i("UInt24","BE"),e.uint24le=new i("UInt24","LE"),e.uint32be=e.uint32=new i("UInt32","BE"),e.uint32le=new i("UInt32","LE"),e.int8=new i("Int8"),e.int16be=e.int16=new i("Int16","BE"),e.int16le=new i("Int16","LE"),e.int24be=e.int24=new i("Int24","BE"),e.int24le=new i("Int24","LE"),e.int32be=e.int32=new i("Int32","BE"),e.int32le=new i("Int32","LE"),e.floatbe=e.float=new i("Float","BE"),e.floatle=new i("Float","LE"),e.doublebe=e.double=new i("Double","BE"),e.doublele=new i("Double","LE"),r=function(t){function e(t,n,r){null==r&&(r=t>>1),e.__super__.constructor.call(this,"Int"+t,n),this._point=1<<r}return function(t,e){for(var n in e)a.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(e,i),e.prototype.decode=function(t){return e.__super__.decode.call(this,t)/this._point},e.prototype.encode=function(t,n){return e.__super__.encode.call(this,t,n*this._point|0)},e}(),e.Fixed=r,e.fixed16be=e.fixed16=new r(16,"BE"),e.fixed16le=new r(16,"LE"),e.fixed32be=e.fixed32=new r(32,"BE"),e.fixed32le=new r(32,"LE")}).call(this)},function(t,e){t.exports={}},function(t,e,n){"use strict";var r=n(207)(!0);n(61)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,n=this._i;return n>=e.length?{value:void 0,done:!0}:(t=r(e,n),this._i+=t.length,{value:t,done:!1})})},function(t,e,n){(function(t){function n(t){return Object.prototype.toString.call(t)}e.isArray=function(t){return Array.isArray?Array.isArray(t):"[object Array]"===n(t)},e.isBoolean=function(t){return"boolean"==typeof t},e.isNull=function(t){return null===t},e.isNullOrUndefined=function(t){return null==t},e.isNumber=function(t){return"number"==typeof t},e.isString=function(t){return"string"==typeof t},e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=function(t){return void 0===t},e.isRegExp=function(t){return"[object RegExp]"===n(t)},e.isObject=function(t){return"object"==typeof t&&null!==t},e.isDate=function(t){return"[object Date]"===n(t)},e.isError=function(t){return"[object Error]"===n(t)||t instanceof Error},e.isFunction=function(t){return"function"==typeof t},e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=t.isBuffer}).call(e,n(1).Buffer)},function(t,e,n){(function(e){(function(){var r,i;r=function(){var t,n,r,a;function o(){}return r=function(t,e){return(Array(e+1).join("0")+t).slice(-e)},n=/[\n\r\t\b\f\(\)\\]/g,t={"\n":"\\n","\r":"\\r","\t":"\\t","\b":"\\b","\f":"\\f","\\":"\\\\","(":"\\(",")":"\\)"},a=function(t){var e,n,r,i,a;if(1&(i=t.length))throw new Error("Buffer length must be even");for(n=r=0,a=i-1;r<a;n=r+=2)e=t[n],t[n]=t[n+1],t[n+1]=e;return t},o.convert=function(s){var l,u,c,h,f,d,p,g,y;if("string"==typeof s)return"/"+s;if(s instanceof String){for(c=!1,u=h=0,p=(g=s).length;h<p;u=h+=1)if(g.charCodeAt(u)>127){c=!0;break}return c&&(g=a(new e("\ufeff"+g,"utf16le")).toString("binary")),"("+(g=g.replace(n,function(e){return t[e]}))+")"}if(e.isBuffer(s))return"<"+s.toString("hex")+">";if(s instanceof i)return s.toString();if(s instanceof Date)return"(D:"+r(s.getUTCFullYear(),4)+r(s.getUTCMonth()+1,2)+r(s.getUTCDate(),2)+r(s.getUTCHours(),2)+r(s.getUTCMinutes(),2)+r(s.getUTCSeconds(),2)+"Z)";if(Array.isArray(s))return"["+function(){var t,e,n;for(n=[],t=0,e=s.length;t<e;t++)l=s[t],n.push(o.convert(l));return n}().join(" ")+"]";if("[object Object]"==={}.toString.call(s)){for(f in d=["<<"],s)y=s[f],d.push("/"+f+" "+o.convert(y));return d.push(">>"),d.join("\n")}return"number"==typeof s?o.number(s):""+s},o.number=function(t){if(t>-1e21&&t<1e21)return Math.round(1e6*t)/1e6;throw new Error("unsupported number: "+t)},o}(),t.exports=r,i=n(87)}).call(this)}).call(e,n(1).Buffer)},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,n){n(201);for(var r=n(10),i=n(13),a=n(23),o=n(4)("toStringTag"),s="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),l=0;l<s.length;l++){var u=s[l],c=r[u],h=c&&c.prototype;h&&!h[o]&&i(h,o,u),a[u]=a.Array}},function(t,e,n){var r=n(101),i=n(66);t.exports=Object.keys||function(t){return r(t,i)}},function(t,e,n){var r=n(56);t.exports=function(t){return Object(r(t))}},function(t,e){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(t){return"function"==typeof t}function i(t){return"object"==typeof t&&null!==t}function a(t){return void 0===t}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},n.prototype.emit=function(t){var e,n,o,s,l,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||i(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var c=new Error('Uncaught, unspecified "error" event. ('+e+")");throw c.context=e,c}if(a(n=this._events[t]))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(i(n))for(s=Array.prototype.slice.call(arguments,1),o=(u=n.slice()).length,l=0;l<o;l++)u[l].apply(this,s);return!0},n.prototype.on=n.prototype.addListener=function(t,e){var o;if(!r(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,r(e.listener)?e.listener:e),this._events[t]?i(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,i(this._events[t])&&!this._events[t].warned&&(o=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners)&&o>0&&this._events[t].length>o&&(this._events[t].warned=!0,console.trace),this},n.prototype.once=function(t,e){if(!r(e))throw TypeError("listener must be a function");var n=!1;function i(){this.removeListener(t,i),n||(n=!0,e.apply(this,arguments))}return i.listener=e,this.on(t,i),this},n.prototype.removeListener=function(t,e){var n,a,o,s;if(!r(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(o=(n=this._events[t]).length,a=-1,n===e||r(n.listener)&&n.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(i(n)){for(s=o;s-- >0;)if(n[s]===e||n[s].listener&&n[s].listener===e){a=s;break}if(a<0)return this;1===n.length?(n.length=0,delete this._events[t]):n.splice(a,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},n.prototype.removeAllListeners=function(t){var e,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(r(n=this._events[t]))this.removeListener(t,n);else if(n)for(;n.length;)this.removeListener(t,n[n.length-1]);return delete this._events[t],this},n.prototype.listeners=function(t){return this._events&&this._events[t]?r(this._events[t])?[this._events[t]]:this._events[t].slice():[]},n.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(r(e))return 1;if(e)return e.length}return 0},n.listenerCount=function(t,e){return t.listenerCount(e)}},function(t,e,n){"use strict";(function(e){!e.version||0===e.version.indexOf("v0.")||0===e.version.indexOf("v1.")&&0!==e.version.indexOf("v1.8.")?t.exports={nextTick:function(t,n,r,i){if("function"!=typeof t)throw new TypeError('"callback" argument must be a function');var a,o,s=arguments.length;switch(s){case 0:case 1:return e.nextTick(t);case 2:return e.nextTick(function(){t.call(null,n)});case 3:return e.nextTick(function(){t.call(null,n,r)});case 4:return e.nextTick(function(){t.call(null,n,r,i)});default:for(a=new Array(s-1),o=0;o<a.length;)a[o++]=arguments[o];return e.nextTick(function(){t.apply(null,a)})}}}:t.exports=e}).call(e,n(11))},function(t,e,n){var r=n(1),i=r.Buffer;function a(t,e){for(var n in t)e[n]=t[n]}function o(t,e,n){return i(t,e,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(a(r,e),e.Buffer=o),a(i,o),o.from=function(t,e,n){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,n)},o.alloc=function(t,e,n){if("number"!=typeof t)throw new TypeError("Argument must be a number");var r=i(t);return void 0!==e?"string"==typeof n?r.fill(e,n):r.fill(e):r.fill(0),r},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}},function(t,e,n){"use strict";var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;e.assign=function(t){for(var e,n,r=Array.prototype.slice.call(arguments,1);r.length;){var i=r.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(var a in i)e=i,n=a,Object.prototype.hasOwnProperty.call(e,n)&&(t[a]=i[a])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var i={arraySet:function(t,e,n,r,i){if(e.subarray&&t.subarray)t.set(e.subarray(n,n+r),i);else for(var a=0;a<r;a++)t[i+a]=e[n+a]},flattenChunks:function(t){var e,n,r,i,a,o;for(r=0,e=0,n=t.length;e<n;e++)r+=t[e].length;for(o=new Uint8Array(r),i=0,e=0,n=t.length;e<n;e++)a=t[e],o.set(a,i),i+=a.length;return o}},a={arraySet:function(t,e,n,r,i){for(var a=0;a<r;a++)t[i+a]=e[n+a]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,i)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,a))},e.setTyped(r)},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,n){var r=n(14),i=n(100),a=n(66),o=n(64)("IE_PROTO"),s=function(){},l="prototype",u=function(){var t,e=n(96)("iframe"),r=a.length;for(e.style.display="none",n(205).appendChild(e),e.src="javascript:",(t=e.contentWindow.document).open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u[l][a[r]];return u()};t.exports=Object.create||function(t,e){var n;return null!==t?(s[l]=r(t),n=new s,s[l]=null,n[o]=t):n=u(),void 0===e?n:i(n,e)}},function(t,e,n){var r=n(63),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++n+r).toString(36))}},function(t,e,n){var r=n(6).f,i=n(18),a=n(4)("toStringTag");t.exports=function(t,e,n){t&&!i(t=n?t:t.prototype,a)&&r(t,a,{configurable:!0,value:e})}},function(t,e,n){var r=n(38)("meta"),i=n(9),a=n(18),o=n(6).f,s=0,l=Object.isExtensible||function(){return!0},u=!n(19)(function(){return l(Object.preventExtensions({}))}),c=function(t){o(t,r,{value:{i:"O"+ ++s,w:{}}})},h=t.exports={KEY:r,NEED:!1,fastKey:function(t,e){if(!i(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!a(t,r)){if(!l(t))return"F";if(!e)return"E";c(t)}return t[r].i},getWeak:function(t,e){if(!a(t,r)){if(!l(t))return!0;if(!e)return!1;c(t)}return t[r].w},onFreeze:function(t){return u&&h.NEED&&l(t)&&!a(t,r)&&c(t),t}}},function(t,e,n){var r=n(20),i=n(111),a=n(112),o=n(14),s=n(37),l=n(67),u={},c={};(e=t.exports=function(t,e,n,h,f){var d,p,g,y,v=f?function(){return t}:l(t),b=r(n,h,e?2:1),m=0;if("function"!=typeof v)throw TypeError(t+" is not iterable!");if(a(v)){for(d=s(t.length);d>m;m++)if((y=e?b(o(p=t[m])[0],p[1]):b(t[m]))===u||y===c)return y}else for(g=v.call(t);!(p=g.next()).done;)if((y=i(g,b,p.value,e))===u||y===c)return y}).BREAK=u,e.RETURN=c},function(t,e,n){"use strict";var r=n(0).isString,i=n(0).isNumber,a=n(0).isObject,o=n(0).isArray,s=n(78),l=/^(\s)+/g,u=/(\s)+$/g;function c(t){this.fontProvider=t}function h(t,e){var n=[];if(t=t.replace(/\t/g,"    "),e)return n.push({text:t}),n;for(var r,i=new s(t),a=0;r=i.nextBreak();){var o=t.slice(a,r.position);r.required||o.match(/\r?\n$|\r$/)?(o=o.replace(/\r?\n$|\r$/,""),n.push({text:o,lineEnd:!0})):n.push({text:o}),a=r.position}return n}function f(t,e){for(var n in e=e||{},t=t||{})"text"!=n&&t.hasOwnProperty(n)&&(e[n]=t[n]);return e}function d(t){return null==t?"":i(t)?t.toString():r(t)?t:t.toString()}function p(t,e,n,r){var i;return void 0!==t[n]&&null!==t[n]?t[n]:e?(e.auto(t,function(){i=e.getProperty(n)}),null!=i?i:r):r}function g(t,e,n,r,i){return e.widthOfString(t,n,i)+(r||0)*(t.length-1)}c.prototype.buildInlines=function(t,e){var n,r=function(t,e,n){var r=function(t,e){var n=[];o(t)||(t=[t]);t=function t(e){return e.reduce(function(e,n){var r=o(n.text)?t(n.text):n,i=[].concat(r).some(Array.isArray);return e.concat(i?t(r):r)},[])}(t);for(var r=0,i=t.length;r<i;r++){var s,l=t[r],u=null,c=p(l||{},e,"noWrap",!1);a(l)?(s=h(d(l.text),c),u=f(l)):s=h(d(l),c);for(var g=0,y=s.length;g<y;g++){var v={text:s[g].text};s[g].lineEnd&&(v.lineEnd=!0),f(u,v),n.push(v)}}return n}(e,n);if(r.length){var i=p(r[0],n,"leadingIndent",0);i&&(r[0].leadingCut=-i,r[0].leadingIndent=i)}return r.forEach(function(e){var r=p(e,n,"font","Roboto"),i=p(e,n,"fontSize",12),a=p(e,n,"fontFeatures",null),o=p(e,n,"bold",!1),s=p(e,n,"italics",!1),c=p(e,n,"color","black"),h=p(e,n,"decoration",null),f=p(e,n,"decorationColor",null),d=p(e,n,"decorationStyle",null),y=p(e,n,"background",null),v=p(e,n,"lineHeight",1),b=p(e,n,"characterSpacing",0),m=p(e,n,"link",null),w=p(e,n,"linkToPage",null),x=p(e,n,"noWrap",null),S=p(e,n,"preserveLeadingSpaces",!1),_=t.provideFont(r,o,s);e.width=g(e.text,_,i,b,a),e.height=_.lineHeight(i)*v;var k=e.text.match(l);e.leadingCut||(e.leadingCut=0),k&&!S&&(e.leadingCut+=g(k[0],_,i,b,a));var C=e.text.match(u);e.trailingCut=C?g(C[0],_,i,b,a):0,e.alignment=p(e,n,"alignment","left"),e.font=_,e.fontSize=i,e.fontFeatures=a,e.characterSpacing=b,e.color=c,e.decoration=h,e.decorationColor=f,e.decorationStyle=d,e.background=y,e.link=m,e.linkToPage=w,e.noWrap=x}),r}(this.fontProvider,t,e),i=0,s=0;return r.forEach(function(t){var e;i=Math.max(i,t.width-t.leadingCut-t.trailingCut),n||(n={width:0,leadingCut:t.leadingCut,trailingCut:0}),n.width+=t.width,n.trailingCut=t.trailingCut,s=Math.max(s,(e=n,Math.max(0,e.width-e.leadingCut-e.trailingCut))),t.lineEnd&&(n=null)}),p({},e,"noWrap",!1)&&(i=s),{items:r,minWidth:i,maxWidth:s}},c.prototype.sizeOfString=function(t,e){t=t?t.toString().replace(/\t/g,"    "):"";var n=p({},e,"font","Roboto"),r=p({},e,"fontSize",12),i=p({},e,"fontFeatures",null),a=p({},e,"bold",!1),o=p({},e,"italics",!1),s=p({},e,"lineHeight",1),l=p({},e,"characterSpacing",0),u=this.fontProvider.provideFont(n,a,o);return{width:g(t,u,r,l,i),height:u.lineHeight(r)*s,fontSize:r,lineHeight:s,ascender:u.ascender/1e3*r,descender:u.descender/1e3*r}},c.prototype.widthOfString=function(t,e,n,r,i){return g(t,e,n,r,i)},t.exports=c},function(t,e,n){var r,i;i=n(79),r=function(){function t(t){var e,n,r;(e="function"==typeof t.readUInt32BE&&"function"==typeof t.slice)||t instanceof Uint8Array?(e?(this.highStart=t.readUInt32BE(0),this.errorValue=t.readUInt32BE(4),n=t.readUInt32BE(8),t=t.slice(12)):(r=new DataView(t.buffer),this.highStart=r.getUint32(0),this.errorValue=r.getUint32(4),n=r.getUint32(8),t=t.subarray(12)),t=i(t,new Uint8Array(n)),t=i(t,new Uint8Array(n)),this.data=new Uint32Array(t.buffer)):(this.data=t.data,this.highStart=t.highStart,this.errorValue=t.errorValue)}return 11,5,6,32,64,63,2,32,31,2048,32,2080,2080,32,2112,4,t.prototype.get=function(t){var e;return t<0||t>1114111?this.errorValue:t<55296||t>56319&&t<=65535?(e=(this.data[t>>5]<<2)+(31&t),this.data[e]):t<=65535?(e=(this.data[2048+(t-55296>>5)]<<2)+(31&t),this.data[e]):t<this.highStart?(e=this.data[2080+(t>>11)],e=((e=this.data[e+(t>>5&63)])<<2)+(31&t),this.data[e]):this.data[this.data.length-4]},t}(),t.exports=r},function(t,e,n){"use strict";var r=n(0).isString;function i(t){return"auto"===t.width}function a(t){return null===t.width||void 0===t.width||"*"===t.width||"star"===t.width}t.exports={buildColumnWidths:function(t,e){var n=[],o=0,s=0,l=[],u=0,c=0,h=[],f=e;t.forEach(function(t){i(t)?(n.push(t),o+=t._minWidth,s+=t._maxWidth):a(t)?(l.push(t),u=Math.max(u,t._minWidth),c=Math.max(c,t._maxWidth)):h.push(t)}),h.forEach(function(t){r(t.width)&&/\d+%/.test(t.width)&&(t.width=parseFloat(t.width)*f/100),t.width<t._minWidth&&t.elasticWidth?t._calcWidth=t._minWidth:t._calcWidth=t.width,e-=t._calcWidth});var d=o+u*l.length,p=s+c*l.length;if(d>=e)n.forEach(function(t){t._calcWidth=t._minWidth}),l.forEach(function(t){t._calcWidth=u});else{if(p<e)n.forEach(function(t){t._calcWidth=t._maxWidth,e-=t._calcWidth});else{var g=e-d,y=p-d;n.forEach(function(t){var n=t._maxWidth-t._minWidth;t._calcWidth=t._minWidth+n*g/y,e-=t._calcWidth})}if(l.length>0){var v=e/l.length;l.forEach(function(t){t._calcWidth=v})}}},measureMinMax:function(t){for(var e={min:0,max:0},n={min:0,max:0},r=0,o=0,s=t.length;o<s;o++){var l=t[o];a(l)?(n.min=Math.max(n.min,l._minWidth),n.max=Math.max(n.max,l._maxWidth),r++):i(l)?(e.min+=l._minWidth,e.max+=l._maxWidth):(e.min+=void 0!==l.width&&l.width||l._minWidth,e.max+=void 0!==l.width&&l.width||l._maxWidth)}return r&&(e.min+=r*n.min,e.max+=r*n.max),e},isAutoColumn:i,isStarColumn:a}},function(t,e,n){(e=t.exports=n(83)).Stream=e,e.Readable=e,e.Writable=n(46),e.Duplex=n(16),e.Transform=n(86),e.PassThrough=n(145)},function(t,e,n){"use strict";(function(e,r,i){var a=n(32).nextTick;function o(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,n){var r=t.entry;t.entry=null;for(;r;){var i=r.callback;e.pendingcb--,i(n),r=r.next}e.corkedRequestsFree?e.corkedRequestsFree.next=t:e.corkedRequestsFree=t}(e,t)}}t.exports=b;var s,l=!e.browser&&["v0.10","v0.9."].indexOf(e.version.slice(0,5))>-1?r:a;b.WritableState=v;var u=n(25);u.inherits=n(21);var c={deprecate:n(144)},h=n(84),f=n(33).Buffer,d=i.Uint8Array||function(){};var p,g=n(85);function y(){}function v(t,e){s=s||n(16),t=t||{};var r=e instanceof s;this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode);var i=t.highWaterMark,u=t.writableHighWaterMark,c=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(u||0===u)?u:c,this.highWaterMark=Math.floor(this.highWaterMark),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var h=!1===t.decodeStrings;this.decodeStrings=!h,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var n=t._writableState,r=n.sync,i=n.writecb;if(d=n,d.writing=!1,d.writecb=null,d.length-=d.writelen,d.writelen=0,e)s=t,u=n,c=r,h=e,f=i,--u.pendingcb,c?(a(f,h),a(k,s,u),s._writableState.errorEmitted=!0,s.emit("error",h)):(f(h),s._writableState.errorEmitted=!0,s.emit("error",h),k(s,u));else{var o=S(n);o||n.corked||n.bufferProcessing||!n.bufferedRequest||x(t,n),r?l(w,t,n,o,i):w(t,n,o,i)}var s,u,c,h,f;var d}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new o(this)}function b(t){if(s=s||n(16),!(p.call(b,this)||this instanceof s))return new b(t);this._writableState=new v(t,this),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),h.call(this)}function m(t,e,n,r,i,a,o){e.writelen=r,e.writecb=o,e.writing=!0,e.sync=!0,n?t._writev(i,e.onwrite):t._write(i,a,e.onwrite),e.sync=!1}function w(t,e,n,r){var i,a;n||(i=t,0===(a=e).length&&a.needDrain&&(a.needDrain=!1,i.emit("drain"))),e.pendingcb--,r(),k(t,e)}function x(t,e){e.bufferProcessing=!0;var n=e.bufferedRequest;if(t._writev&&n&&n.next){var r=e.bufferedRequestCount,i=new Array(r),a=e.corkedRequestsFree;a.entry=n;for(var s=0,l=!0;n;)i[s]=n,n.isBuf||(l=!1),n=n.next,s+=1;i.allBuffers=l,m(t,e,!0,e.length,i,"",a.finish),e.pendingcb++,e.lastBufferedRequest=null,a.next?(e.corkedRequestsFree=a.next,a.next=null):e.corkedRequestsFree=new o(e),e.bufferedRequestCount=0}else{for(;n;){var u=n.chunk,c=n.encoding,h=n.callback;if(m(t,e,!1,e.objectMode?1:u.length,u,c,h),n=n.next,e.bufferedRequestCount--,e.writing)break}null===n&&(e.lastBufferedRequest=null)}e.bufferedRequest=n,e.bufferProcessing=!1}function S(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function _(t,e){t._final(function(n){e.pendingcb--,n&&t.emit("error",n),e.prefinished=!0,t.emit("prefinish"),k(t,e)})}function k(t,e){var n,r,i=S(e);return i&&(n=t,(r=e).prefinished||r.finalCalled||("function"==typeof n._final?(r.pendingcb++,r.finalCalled=!0,a(_,n,r)):(r.prefinished=!0,n.emit("prefinish"))),0===e.pendingcb&&(e.finished=!0,t.emit("finish"))),i}u.inherits(b,h),v.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(v.prototype,"buffer",{get:c.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(p=Function.prototype[Symbol.hasInstance],Object.defineProperty(b,Symbol.hasInstance,{value:function(t){return!!p.call(this,t)||this===b&&(t&&t._writableState instanceof v)}})):p=function(t){return t instanceof this},b.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},b.prototype.write=function(t,e,n){var r,i,o,s,l,u,c,h,p,g,v,b=this._writableState,w=!1,x=!b.objectMode&&(r=t,f.isBuffer(r)||r instanceof d);return x&&!f.isBuffer(t)&&(i=t,t=f.from(i)),"function"==typeof e&&(n=e,e=null),x?e="buffer":e||(e=b.defaultEncoding),"function"!=typeof n&&(n=y),b.ended?(p=this,g=n,v=new Error("write after end"),p.emit("error",v),a(g,v)):(x||(o=this,s=b,u=n,c=!0,h=!1,null===(l=t)?h=new TypeError("May not write null values to stream"):"string"==typeof l||void 0===l||s.objectMode||(h=new TypeError("Invalid non-string/buffer chunk")),h&&(o.emit("error",h),a(u,h),c=!1),c))&&(b.pendingcb++,w=function(t,e,n,r,i,a){if(!n){var o=function(t,e,n){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=f.from(e,n));return e}(e,r,i);r!==o&&(n=!0,i="buffer",r=o)}var s=e.objectMode?1:r.length;e.length+=s;var l=e.length<e.highWaterMark;l||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:r,encoding:i,isBuf:n,callback:a,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else m(t,e,!1,s,r,i,a);return l}(this,b,x,t,e,n)),w},b.prototype.cork=function(){this._writableState.corked++},b.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.finished||t.bufferProcessing||!t.bufferedRequest||x(this,t))},b.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+t);return this._writableState.defaultEncoding=t,this},b.prototype._write=function(t,e,n){n(new Error("_write() is not implemented"))},b.prototype._writev=null,b.prototype.end=function(t,e,n){var r=this._writableState;"function"==typeof t?(n=t,t=null,e=null):"function"==typeof e&&(n=e,e=null),null!=t&&this.write(t,e),r.corked&&(r.corked=1,this.uncork()),r.ending||r.finished||function(t,e,n){e.ending=!0,k(t,e),n&&(e.finished?a(n):t.once("finish",n));e.ended=!0,t.writable=!1}(this,r,n)},Object.defineProperty(b.prototype,"destroyed",{get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),b.prototype.destroy=g.destroy,b.prototype._undestroy=g.undestroy,b.prototype._destroy=function(t,e){this.end(),e(t)}}).call(e,n(11),n(142).setImmediate,n(7))},function(t,e,n){"use strict";var r=n(33).Buffer,i=r.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(r.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=h,e=3;break;default:return this.write=f,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:-1}function s(t){var e=this.lastTotal-this.lastNeed,n=function(t,e,n){if(128!=(192&e[0]))return t.lastNeed=0,"�".repeat(n);if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�".repeat(n+1);if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�".repeat(n+2)}}(this,t,e);return void 0!==n?n:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var n=t.toString("utf16le",e);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,n)}return e}function c(t,e){var n=(t.length-e)%3;return 0===n?t.toString("base64",e):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-n))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.StringDecoder=a,a.prototype.write=function(t){if(0===t.length)return"";var e,n;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n<t.length?e?e+this.text(t,n):this.text(t,n):e||""},a.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�".repeat(this.lastTotal-this.lastNeed):e},a.prototype.text=function(t,e){var n=function(t,e,n){var r=e.length-1;if(r<n)return 0;var i=o(e[r]);if(i>=0)return i>0&&(t.lastNeed=i-1),i;if(--r<n)return 0;if((i=o(e[r]))>=0)return i>0&&(t.lastNeed=i-2),i;if(--r<n)return 0;if((i=o(e[r]))>=0)return i>0&&(2===i?i=0:t.lastNeed=i-3),i;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=n;var r=t.length-(n-this.lastNeed);return t.copy(this.lastChar,0,r),t.toString("utf8",e,r)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},function(t,e,n){"use strict";(function(t){var r=n(1).Buffer,i=n(15).Transform,a=n(150),o=n(49),s=n(88).ok,l=n(1).kMaxLength,u="Cannot create final Buffer. It would be larger than 0x"+l.toString(16)+" bytes";a.Z_MIN_WINDOWBITS=8,a.Z_MAX_WINDOWBITS=15,a.Z_DEFAULT_WINDOWBITS=15,a.Z_MIN_CHUNK=64,a.Z_MAX_CHUNK=1/0,a.Z_DEFAULT_CHUNK=16384,a.Z_MIN_MEMLEVEL=1,a.Z_MAX_MEMLEVEL=9,a.Z_DEFAULT_MEMLEVEL=8,a.Z_MIN_LEVEL=-1,a.Z_MAX_LEVEL=9,a.Z_DEFAULT_LEVEL=a.Z_DEFAULT_COMPRESSION;for(var c=Object.keys(a),h=0;h<c.length;h++){var f=c[h];f.match(/^Z/)&&Object.defineProperty(e,f,{enumerable:!0,value:a[f],writable:!1})}for(var d={Z_OK:a.Z_OK,Z_STREAM_END:a.Z_STREAM_END,Z_NEED_DICT:a.Z_NEED_DICT,Z_ERRNO:a.Z_ERRNO,Z_STREAM_ERROR:a.Z_STREAM_ERROR,Z_DATA_ERROR:a.Z_DATA_ERROR,Z_MEM_ERROR:a.Z_MEM_ERROR,Z_BUF_ERROR:a.Z_BUF_ERROR,Z_VERSION_ERROR:a.Z_VERSION_ERROR},p=Object.keys(d),g=0;g<p.length;g++){var y=p[g];d[d[y]]=y}function v(t,e,n){var i=[],a=0;function o(){for(var e;null!==(e=t.read());)i.push(e),a+=e.length;t.once("readable",o)}function s(){var e,o=null;a>=l?o=new RangeError(u):e=r.concat(i,a),i=[],t.close(),n(o,e)}t.on("error",function(e){t.removeListener("end",s),t.removeListener("readable",o),n(e)}),t.on("end",s),t.end(e),o()}function b(t,e){if("string"==typeof e&&(e=r.from(e)),!r.isBuffer(e))throw new TypeError("Not a string or buffer");var n=t._finishFlushFlag;return t._processChunk(e,n)}function m(t){if(!(this instanceof m))return new m(t);P.call(this,t,a.DEFLATE)}function w(t){if(!(this instanceof w))return new w(t);P.call(this,t,a.INFLATE)}function x(t){if(!(this instanceof x))return new x(t);P.call(this,t,a.GZIP)}function S(t){if(!(this instanceof S))return new S(t);P.call(this,t,a.GUNZIP)}function _(t){if(!(this instanceof _))return new _(t);P.call(this,t,a.DEFLATERAW)}function k(t){if(!(this instanceof k))return new k(t);P.call(this,t,a.INFLATERAW)}function C(t){if(!(this instanceof C))return new C(t);P.call(this,t,a.UNZIP)}function A(t){return t===a.Z_NO_FLUSH||t===a.Z_PARTIAL_FLUSH||t===a.Z_SYNC_FLUSH||t===a.Z_FULL_FLUSH||t===a.Z_FINISH||t===a.Z_BLOCK}function P(t,n){var o=this;if(this._opts=t=t||{},this._chunkSize=t.chunkSize||e.Z_DEFAULT_CHUNK,i.call(this,t),t.flush&&!A(t.flush))throw new Error("Invalid flush flag: "+t.flush);if(t.finishFlush&&!A(t.finishFlush))throw new Error("Invalid flush flag: "+t.finishFlush);if(this._flushFlag=t.flush||a.Z_NO_FLUSH,this._finishFlushFlag=void 0!==t.finishFlush?t.finishFlush:a.Z_FINISH,t.chunkSize&&(t.chunkSize<e.Z_MIN_CHUNK||t.chunkSize>e.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+t.chunkSize);if(t.windowBits&&(t.windowBits<e.Z_MIN_WINDOWBITS||t.windowBits>e.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+t.windowBits);if(t.level&&(t.level<e.Z_MIN_LEVEL||t.level>e.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+t.level);if(t.memLevel&&(t.memLevel<e.Z_MIN_MEMLEVEL||t.memLevel>e.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+t.memLevel);if(t.strategy&&t.strategy!=e.Z_FILTERED&&t.strategy!=e.Z_HUFFMAN_ONLY&&t.strategy!=e.Z_RLE&&t.strategy!=e.Z_FIXED&&t.strategy!=e.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+t.strategy);if(t.dictionary&&!r.isBuffer(t.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new a.Zlib(n);var s=this;this._hadError=!1,this._handle.onerror=function(t,n){E(s),s._hadError=!0;var r=new Error(t);r.errno=n,r.code=e.codes[n],s.emit("error",r)};var l=e.Z_DEFAULT_COMPRESSION;"number"==typeof t.level&&(l=t.level);var u=e.Z_DEFAULT_STRATEGY;"number"==typeof t.strategy&&(u=t.strategy),this._handle.init(t.windowBits||e.Z_DEFAULT_WINDOWBITS,l,t.memLevel||e.Z_DEFAULT_MEMLEVEL,u,t.dictionary),this._buffer=r.allocUnsafe(this._chunkSize),this._offset=0,this._level=l,this._strategy=u,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!o._handle},configurable:!0,enumerable:!0})}function E(e,n){n&&t.nextTick(n),e._handle&&(e._handle.close(),e._handle=null)}function I(t){t.emit("close")}Object.defineProperty(e,"codes",{enumerable:!0,value:Object.freeze(d),writable:!1}),e.Deflate=m,e.Inflate=w,e.Gzip=x,e.Gunzip=S,e.DeflateRaw=_,e.InflateRaw=k,e.Unzip=C,e.createDeflate=function(t){return new m(t)},e.createInflate=function(t){return new w(t)},e.createDeflateRaw=function(t){return new _(t)},e.createInflateRaw=function(t){return new k(t)},e.createGzip=function(t){return new x(t)},e.createGunzip=function(t){return new S(t)},e.createUnzip=function(t){return new C(t)},e.deflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new m(e),t,n)},e.deflateSync=function(t,e){return b(new m(e),t)},e.gzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new x(e),t,n)},e.gzipSync=function(t,e){return b(new x(e),t)},e.deflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new _(e),t,n)},e.deflateRawSync=function(t,e){return b(new _(e),t)},e.unzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new C(e),t,n)},e.unzipSync=function(t,e){return b(new C(e),t)},e.inflate=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new w(e),t,n)},e.inflateSync=function(t,e){return b(new w(e),t)},e.gunzip=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new S(e),t,n)},e.gunzipSync=function(t,e){return b(new S(e),t)},e.inflateRaw=function(t,e,n){return"function"==typeof e&&(n=e,e={}),v(new k(e),t,n)},e.inflateRawSync=function(t,e){return b(new k(e),t)},o.inherits(P,i),P.prototype.params=function(n,r,i){if(n<e.Z_MIN_LEVEL||n>e.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+n);if(r!=e.Z_FILTERED&&r!=e.Z_HUFFMAN_ONLY&&r!=e.Z_RLE&&r!=e.Z_FIXED&&r!=e.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+r);if(this._level!==n||this._strategy!==r){var o=this;this.flush(a.Z_SYNC_FLUSH,function(){s(o._handle,"zlib binding closed"),o._handle.params(n,r),o._hadError||(o._level=n,o._strategy=r,i&&i())})}else t.nextTick(i)},P.prototype.reset=function(){return s(this._handle,"zlib binding closed"),this._handle.reset()},P.prototype._flush=function(t){this._transform(r.alloc(0),"",t)},P.prototype.flush=function(e,n){var i=this,o=this._writableState;("function"==typeof e||void 0===e&&!n)&&(n=e,e=a.Z_FULL_FLUSH),o.ended?n&&t.nextTick(n):o.ending?n&&this.once("end",n):o.needDrain?n&&this.once("drain",function(){return i.flush(e,n)}):(this._flushFlag=e,this.write(r.alloc(0),"",n))},P.prototype.close=function(e){E(this,e),t.nextTick(I,this)},P.prototype._transform=function(t,e,n){var i,o=this._writableState,s=(o.ending||o.ended)&&(!t||o.length===t.length);return null===t||r.isBuffer(t)?this._handle?(s?i=this._finishFlushFlag:(i=this._flushFlag,t.length>=o.length&&(this._flushFlag=this._opts.flush||a.Z_NO_FLUSH)),void this._processChunk(t,i,n)):n(new Error("zlib binding closed")):n(new Error("invalid input"))},P.prototype._processChunk=function(t,e,n){var i=t&&t.length,a=this._chunkSize-this._offset,o=0,c=this,h="function"==typeof n;if(!h){var f,d=[],p=0;this.on("error",function(t){f=t}),s(this._handle,"zlib binding closed");do{var g=this._handle.writeSync(e,t,o,i,this._buffer,this._offset,a)}while(!this._hadError&&b(g[0],g[1]));if(this._hadError)throw f;if(p>=l)throw E(this),new RangeError(u);var y=r.concat(d,p);return E(this),y}s(this._handle,"zlib binding closed");var v=this._handle.write(e,t,o,i,this._buffer,this._offset,a);function b(l,u){if(this&&(this.buffer=null,this.callback=null),!c._hadError){var f=a-u;if(s(f>=0,"have should not go down"),f>0){var g=c._buffer.slice(c._offset,c._offset+f);c._offset+=f,h?c.push(g):(d.push(g),p+=g.length)}if((0===u||c._offset>=c._chunkSize)&&(a=c._chunkSize,c._offset=0,c._buffer=r.allocUnsafe(c._chunkSize)),0===u){if(o+=i-l,i=l,!h)return!0;var y=c._handle.write(e,t,o,i,c._buffer,c._offset,c._chunkSize);return y.callback=b,void(y.buffer=t)}if(!h)return!1;n()}}v.buffer=t,v.callback=b},o.inherits(m,P),o.inherits(w,P),o.inherits(x,P),o.inherits(S,P),o.inherits(_,P),o.inherits(k,P),o.inherits(C,P)}).call(e,n(11))},function(t,e,n){(function(t,r){var i=/%[sdj%]/g;e.format=function(t){if(!v(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(s(arguments[n]));return e.join(" ")}n=1;for(var r=arguments,a=r.length,o=String(t).replace(i,function(t){if("%%"===t)return"%";if(n>=a)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(t){return"[Circular]"}default:return t}}),l=r[n];n<a;l=r[++n])g(l)||!w(l)?o+=" "+l:o+=" "+s(l);return o},e.deprecate=function(n,i){if(b(t.process))return function(){return e.deprecate(n,i).apply(this,arguments)};if(!0===r.noDeprecation)return n;var a=!1;return function(){if(!a){if(r.throwDeprecation)throw new Error(i);r.traceDeprecation,a=!0}return n.apply(this,arguments)}};var a,o={};function s(t,n){var r={seen:[],stylize:u};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),p(n)?r.showHidden=n:n&&e._extend(r,n),b(r.showHidden)&&(r.showHidden=!1),b(r.depth)&&(r.depth=2),b(r.colors)&&(r.colors=!1),b(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=l),c(r,t,r.depth)}function l(t,e){var n=s.styles[e];return n?"["+s.colors[n][0]+"m"+t+"["+s.colors[n][1]+"m":t}function u(t,e){return t}function c(t,n,r){if(t.customInspect&&n&&_(n.inspect)&&n.inspect!==e.inspect&&(!n.constructor||n.constructor.prototype!==n)){var i=n.inspect(r,t);return v(i)||(i=c(t,i,r)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(v(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}if(y(e))return t.stylize(""+e,"number");if(p(e))return t.stylize(""+e,"boolean");if(g(e))return t.stylize("null","null")}(t,n);if(a)return a;var o,s=Object.keys(n),l=(o={},s.forEach(function(t,e){o[t]=!0}),o);if(t.showHidden&&(s=Object.getOwnPropertyNames(n)),S(n)&&(s.indexOf("message")>=0||s.indexOf("description")>=0))return h(n);if(0===s.length){if(_(n)){var u=n.name?": "+n.name:"";return t.stylize("[Function"+u+"]","special")}if(m(n))return t.stylize(RegExp.prototype.toString.call(n),"regexp");if(x(n))return t.stylize(Date.prototype.toString.call(n),"date");if(S(n))return h(n)}var w,k="",A=!1,P=["{","}"];(d(n)&&(A=!0,P=["[","]"]),_(n))&&(k=" [Function"+(n.name?": "+n.name:"")+"]");return m(n)&&(k=" "+RegExp.prototype.toString.call(n)),x(n)&&(k=" "+Date.prototype.toUTCString.call(n)),S(n)&&(k=" "+h(n)),0!==s.length||A&&0!=n.length?r<0?m(n)?t.stylize(RegExp.prototype.toString.call(n),"regexp"):t.stylize("[Object]","special"):(t.seen.push(n),w=A?function(t,e,n,r,i){for(var a=[],o=0,s=e.length;o<s;++o)C(e,String(o))?a.push(f(t,e,n,r,String(o),!0)):a.push("");return i.forEach(function(i){i.match(/^\d+$/)||a.push(f(t,e,n,r,i,!0))}),a}(t,n,r,l,s):s.map(function(e){return f(t,n,r,l,e,A)}),t.seen.pop(),function(t,e,n){if(t.reduce(function(t,e){return 0,e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60)return n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+n[1];return n[0]+e+" "+t.join(", ")+" "+n[1]}(w,k,P)):P[0]+k+P[1]}function h(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,n,r,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(r,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=g(n)?c(t,l.value,null):c(t,l.value,n-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map(function(t){return"  "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return"   "+t}).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.substr(1,o.length-2),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function d(t){return Array.isArray(t)}function p(t){return"boolean"==typeof t}function g(t){return null===t}function y(t){return"number"==typeof t}function v(t){return"string"==typeof t}function b(t){return void 0===t}function m(t){return w(t)&&"[object RegExp]"===k(t)}function w(t){return"object"==typeof t&&null!==t}function x(t){return w(t)&&"[object Date]"===k(t)}function S(t){return w(t)&&("[object Error]"===k(t)||t instanceof Error)}function _(t){return"function"==typeof t}function k(t){return Object.prototype.toString.call(t)}e.debuglog=function(t){if(b(a)&&(a=r.env.NODE_DEBUG||""),t=t.toUpperCase(),!o[t])if(new RegExp("\\b"+t+"\\b","i").test(a)){r.pid;o[t]=function(){e.format.apply(e,arguments)}}else o[t]=function(){};return o[t]},e.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=d,e.isBoolean=p,e.isNull=g,e.isNullOrUndefined=function(t){return null==t},e.isNumber=y,e.isString=v,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=m,e.isObject=w,e.isDate=x,e.isError=S,e.isFunction=_,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=n(151);function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){},e.inherits=n(152),e._extend=function(t,e){if(!e||!w(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}}).call(e,n(7),n(11))},function(t,e,n){(function(e){(function(){var r,i,a,o;o=n(167),i=function(){function t(){throw new Error("Cannot construct a PDFFont directly.")}return t.open=function(t,n,i,s){var l;if("string"==typeof n){if(a.isStandardFont(n))return new a(t,n,s);l=o.openSync(n,i)}else e.isBuffer(n)?l=o.create(n,i):n instanceof Uint8Array?l=o.create(new e(n),i):n instanceof ArrayBuffer&&(l=o.create(new e(new Uint8Array(n)),i));if(null==l)throw new Error("Not a supported font format or standard PDF font.");return new r(t,l,s)},t.prototype.encode=function(t){throw new Error("Must be implemented by subclasses")},t.prototype.widthOfString=function(t){throw new Error("Must be implemented by subclasses")},t.prototype.ref=function(){return null!=this.dictionary?this.dictionary:this.dictionary=this.document.ref()},t.prototype.finalize=function(){if(!this.embedded&&null!=this.dictionary)return this.embed(),this.embedded=!0},t.prototype.embed=function(){throw new Error("Must be implemented by subclasses")},t.prototype.lineHeight=function(t,e){var n;return null==e&&(e=!1),n=e?this.lineGap:0,(this.ascender+n-this.descender)/1e3*t},t}(),t.exports=i,a=n(292),r=n(294)}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){(function(e){(function(){var r,i;try{i=n(52)}catch(t){}r=function(){var t;function n(t){this.buffer=t,this.pos=0,this.length=this.buffer.length}for(t in n.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8},e.prototype)"read"===t.slice(0,4)&&function(t){var e;e=n.TYPES[t.replace(/read|[BL]E/g,"")],n.prototype[t]=function(){var n;return n=this.buffer[t](this.pos),this.pos+=e,n}}(t);return n.prototype.readString=function(t,n){var r,a,o,s,l;switch(null==n&&(n="ascii"),n){case"utf16le":case"ucs2":case"utf8":case"ascii":return this.buffer.toString(n,this.pos,this.pos+=t);case"utf16be":for(o=s=0,l=(r=new e(this.readBuffer(t))).length-1;s<l;o=s+=2)a=r[o],r[o]=r[o+1],r[o+1]=a;return r.toString("utf16le");default:if(r=this.readBuffer(t),i)try{return i.decode(r,n)}catch(t){}return r}},n.prototype.readBuffer=function(t){return this.buffer.slice(this.pos,this.pos+=t)},n.prototype.readUInt24BE=function(){return(this.readUInt16BE()<<8)+this.readUInt8()},n.prototype.readUInt24LE=function(){return this.readUInt16LE()+(this.readUInt8()<<16)},n.prototype.readInt24BE=function(){return(this.readInt16BE()<<8)+this.readUInt8()},n.prototype.readInt24LE=function(){return this.readUInt16LE()+(this.readInt8()<<16)},n}(),t.exports=r}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){"use strict";(function(e){var r=n(1).Buffer,i=n(170),a=t.exports;a.encodings=null,a.defaultCharUnicode="�",a.defaultCharSingleByte="?",a.encode=function(t,e,n){t=""+(t||"");var i=a.getEncoder(e,n),o=i.write(t),s=i.end();return s&&s.length>0?r.concat([o,s]):o},a.decode=function(t,e,n){"string"==typeof t&&(a.skipDecodeWarning||(a.skipDecodeWarning=!0),t=new r(""+(t||""),"binary"));var i=a.getDecoder(e,n),o=i.write(t),s=i.end();return s?o+s:o},a.encodingExists=function(t){try{return a.getCodec(t),!0}catch(t){return!1}},a.toEncoding=a.encode,a.fromEncoding=a.decode,a._codecDataCache={},a.getCodec=function(t){a.encodings||(a.encodings=n(171));for(var e=(""+t).toLowerCase().replace(/[^0-9a-z]|:\d{4}$/g,""),r={};;){var i=a._codecDataCache[e];if(i)return i;var o=a.encodings[e];switch(typeof o){case"string":e=o;break;case"object":for(var s in o)r[s]=o[s];r.encodingName||(r.encodingName=e),e=o.type;break;case"function":return r.encodingName||(r.encodingName=e),i=new o(r,a),a._codecDataCache[r.encodingName]=i,i;default:throw new Error("Encoding not recognized: '"+t+"' (searched as: '"+e+"')")}}},a.getEncoder=function(t,e){var n=a.getCodec(t),r=new n.encoder(e,n);return n.bomAware&&e&&e.addBOM&&(r=new i.PrependBOM(r,e)),r},a.getDecoder=function(t,e){var n=a.getCodec(t),r=new n.decoder(e,n);return!n.bomAware||e&&!1===e.stripBOM||(r=new i.StripBOM(r,e)),r};var o=void 0!==e&&e.versions&&e.versions.node;if(o){var s=o.split(".").map(Number);(s[0]>0||s[1]>=10)&&n(185)(a),n(186)(a)}}).call(e,n(11))},function(t,e){t.exports=[["0","\0",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1"," 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","!"#¥%",88," ̄"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]},function(t,e,n){var r=n(55);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e){var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError("Can't call method on  "+t);return t}},function(t,e,n){var r=n(35),i=n(27),a=n(17),o=n(58),s=n(18),l=n(95),u=Object.getOwnPropertyDescriptor;e.f=n(5)?u:function(t,e){if(t=a(t),e=o(e,!0),l)try{return u(t,e)}catch(t){}if(s(t,e))return i(!r.f.call(t,e),t[e])}},function(t,e,n){var r=n(9);t.exports=function(t,e){if(!r(t))return t;var n,i;if(e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;if("function"==typeof(n=t.valueOf)&&!r(i=n.call(t)))return i;if(!e&&"function"==typeof(n=t.toString)&&!r(i=n.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},function(t,e,n){var r=n(3),i=n(2),a=n(19);t.exports=function(t,e){var n=(i.Object||{})[t]||Object[t],o={};o[t]=e(n),r(r.S+r.F*a(function(){n(1)}),"Object",o)}},function(t,e,n){t.exports={default:n(200),__esModule:!0}},function(t,e,n){"use strict";var r=n(62),i=n(3),a=n(99),o=n(13),s=n(18),l=n(23),u=n(203),c=n(39),h=n(206),f=n(4)("iterator"),d=!([].keys&&"next"in[].keys()),p="values",g=function(){return this};t.exports=function(t,e,n,y,v,b,m){u(n,e,y);var w,x,S,_=function(t){if(!d&&t in P)return P[t];switch(t){case"keys":case p:return function(){return new n(this,t)}}return function(){return new n(this,t)}},k=e+" Iterator",C=v==p,A=!1,P=t.prototype,E=P[f]||P["@@iterator"]||v&&P[v],I=!d&&E||_(v),T=v?C?_("entries"):I:void 0,O="Array"==e&&P.entries||E;if(O&&(S=h(O.call(new t)))!==Object.prototype&&S.next&&(c(S,k,!0),r||s(S,f)||o(S,f,g)),C&&E&&E.name!==p&&(A=!0,I=function(){return E.call(this)}),r&&!m||!d&&!A&&P[f]||o(P,f,I),l[e]=I,l[k]=g,v)if(w={values:C?I:_(p),keys:b?I:_("keys"),entries:T},m)for(x in w)x in P||a(P,x,w[x]);else i(i.P+i.F*(d||A),e,w);return w}},function(t,e){t.exports=!0},function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},function(t,e,n){var r=n(65)("keys"),i=n(38);t.exports=function(t){return r[t]||(r[t]=i(t))}},function(t,e,n){var r=n(10),i="__core-js_shared__",a=r[i]||(r[i]={});t.exports=function(t){return a[t]||(a[t]={})}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,n){var r=n(68),i=n(4)("iterator"),a=n(23);t.exports=n(2).getIteratorMethod=function(t){if(null!=t)return t[i]||t["@@iterator"]||a[r(t)]}},function(t,e,n){var r=n(55),i=n(4)("toStringTag"),a="Arguments"==r(function(){return arguments}());t.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?n:a?r(e):"Object"==(o=r(e))&&"function"==typeof e.callee?"Arguments":o}},function(t,e,n){"use strict";e.__esModule=!0;var r=o(n(103)),i=o(n(216)),a="function"==typeof i.default&&"symbol"==typeof r.default?function(t){return typeof t}:function(t){return t&&"function"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?"symbol":typeof t};function o(t){return t&&t.__esModule?t:{default:t}}e.default="function"==typeof i.default&&"symbol"===a(r.default)?function(t){return void 0===t?"undefined":a(t)}:function(t){return t&&"function"==typeof i.default&&t.constructor===i.default&&t!==i.default.prototype?"symbol":void 0===t?"undefined":a(t)}},function(t,e,n){e.f=n(4)},function(t,e,n){var r=n(10),i=n(2),a=n(62),o=n(70),s=n(6).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=a?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:o.f(t)})}},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e){},function(t,e,n){t.exports={default:n(223),__esModule:!0}},function(t,e,n){var r=n(9);t.exports=function(t,e){if(!r(t)||t._t!==e)throw TypeError("Incompatible receiver, "+e+" required!");return t}},function(t,e){var n={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},function(t,e,n){"use strict";function r(){this.events={}}r.prototype.startTracking=function(t,e){var n=this.events[t]||(this.events[t]=[]);n.indexOf(e)<0&&n.push(e)},r.prototype.stopTracking=function(t,e){var n=this.events[t];if(n){var r=n.indexOf(e);r>=0&&n.splice(r,1)}},r.prototype.emit=function(t){var e=Array.prototype.slice.call(arguments,1),n=this.events[t];n&&n.forEach(function(t){t.apply(this,e)})},r.prototype.auto=function(t,e,n){this.startTracking(t,e),n(),this.stopTracking(t,e)},t.exports=r},function(t,e,n){(function(){var e,r,i,a,o,s,l,u,c,h,f,d,p,g,y,v,b,m,w,x,S,_,k,C,A,P,E;w=n(43),_=n(131),P=n(132),P.BK,c=P.CR,P.LF,P.NL,o=P.CB,i=P.BA,P.SP,x=P.WJ,m=P.SP,a=P.BK,d=P.LF,g=P.NL,e=P.AI,r=P.AL,v=P.SA,b=P.SG,S=P.XX,l=P.CJ,P.ID,y=P.NS,P.characterClasses,E=n(133),h=E.DI_BRK,f=E.IN_BRK,s=E.CI_BRK,u=E.CP_BRK,E.PR_BRK,A=E.pairTable,C=_.toByteArray("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"),k=new w(C),p=function(){var t,n,p;function w(t){this.string=t,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null}return w.prototype.nextCodePoint=function(){var t,e;return t=this.string.charCodeAt(this.pos++),e=this.string.charCodeAt(this.pos),55296<=t&&t<=56319&&56320<=e&&e<=57343?(this.pos++,1024*(t-55296)+(e-56320)+65536):t},n=function(t){switch(t){case e:return r;case v:case b:case S:return r;case l:return y;default:return t}},p=function(t){switch(t){case d:case g:return a;case o:return i;case m:return x;default:return t}},w.prototype.nextCharClass=function(t){return null==t&&(t=!1),n(k.get(this.nextCodePoint()))},t=function(t,e){this.position=t,this.required=null!=e&&e},w.prototype.nextBreak=function(){var e,r,l;for(null==this.curClass&&(this.curClass=p(this.nextCharClass()));this.pos<this.string.length;){if(this.lastPos=this.pos,r=this.nextClass,this.nextClass=this.nextCharClass(),this.curClass===a||this.curClass===c&&this.nextClass!==d)return this.curClass=p(n(this.nextClass)),new t(this.lastPos,!0);if(null==(e=function(){switch(this.nextClass){case m:return this.curClass;case a:case d:case g:return a;case c:return c;case o:return i}}.call(this))){switch(l=!1,A[this.curClass][this.nextClass]){case h:l=!0;break;case f:l=r===m;break;case s:if(!(l=r===m))continue;break;case u:if(r!==m)continue}if(this.curClass=this.nextClass,l)return new t(this.lastPos)}else if(this.curClass=e,this.nextClass===o)return new t(this.lastPos)}if(this.pos>=this.string.length)return this.lastPos<this.string.length?(this.lastPos=this.string.length,new t(this.string.length)):null},w}(),t.exports=p}).call(this)},function(t,e){var n=0,r=-3;function i(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}var a=new i,o=new i,s=new Uint8Array(30),l=new Uint16Array(30),u=new Uint8Array(30),c=new Uint16Array(30),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),f=new i,d=new Uint8Array(320);function p(t,e,n,r){var i,a;for(i=0;i<n;++i)t[i]=0;for(i=0;i<30-n;++i)t[i+n]=i/n|0;for(a=r,i=0;i<30;++i)e[i]=a,a+=1<<t[i]}var g=new Uint16Array(16);function y(t,e,n,r){var i,a;for(i=0;i<16;++i)t.table[i]=0;for(i=0;i<r;++i)t.table[e[n+i]]++;for(t.table[0]=0,a=0,i=0;i<16;++i)g[i]=a,a+=t.table[i];for(i=0;i<r;++i)e[n+i]&&(t.trans[g[e[n+i]]++]=i)}function v(t){t.bitcount--||(t.tag=t.source[t.sourceIndex++],t.bitcount=7);var e=1&t.tag;return t.tag>>>=1,e}function b(t,e,n){if(!e)return n;for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;var r=t.tag&65535>>>16-e;return t.tag>>>=e,t.bitcount-=e,r+n}function m(t,e){for(;t.bitcount<24;)t.tag|=t.source[t.sourceIndex++]<<t.bitcount,t.bitcount+=8;for(var n=0,r=0,i=0,a=t.tag;r=2*r+(1&a),a>>>=1,++i,n+=e.table[i],(r-=e.table[i])>=0;);return t.tag=a,t.bitcount-=i,e.trans[n+r]}function w(t,e,n){var r,i,a,o,s,l;for(r=b(t,5,257),i=b(t,5,1),a=b(t,4,4),o=0;o<19;++o)d[o]=0;for(o=0;o<a;++o){var u=b(t,3,0);d[h[o]]=u}for(y(f,d,0,19),s=0;s<r+i;){var c=m(t,f);switch(c){case 16:var p=d[s-1];for(l=b(t,2,3);l;--l)d[s++]=p;break;case 17:for(l=b(t,3,3);l;--l)d[s++]=0;break;case 18:for(l=b(t,7,11);l;--l)d[s++]=0;break;default:d[s++]=c}}y(e,d,0,r),y(n,d,r,i)}function x(t,e,r){for(;;){var i,a,o,h,f=m(t,e);if(256===f)return n;if(f<256)t.dest[t.destLen++]=f;else for(i=b(t,s[f-=257],l[f]),a=m(t,r),h=o=t.destLen-b(t,u[a],c[a]);h<o+i;++h)t.dest[t.destLen++]=t.dest[h]}}function S(t){for(var e,i;t.bitcount>8;)t.sourceIndex--,t.bitcount-=8;if((e=256*(e=t.source[t.sourceIndex+1])+t.source[t.sourceIndex])!==(65535&~(256*t.source[t.sourceIndex+3]+t.source[t.sourceIndex+2])))return r;for(t.sourceIndex+=4,i=e;i;--i)t.dest[t.destLen++]=t.source[t.sourceIndex++];return t.bitcount=0,n}!function(t,e){var n;for(n=0;n<7;++n)t.table[n]=0;for(t.table[7]=24,t.table[8]=152,t.table[9]=112,n=0;n<24;++n)t.trans[n]=256+n;for(n=0;n<144;++n)t.trans[24+n]=n;for(n=0;n<8;++n)t.trans[168+n]=280+n;for(n=0;n<112;++n)t.trans[176+n]=144+n;for(n=0;n<5;++n)e.table[n]=0;for(e.table[5]=32,n=0;n<32;++n)e.trans[n]=n}(a,o),p(s,l,4,3),p(u,c,2,1),s[28]=0,l[28]=258,t.exports=function(t,e){var s,l,u=new function(t,e){this.source=t,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=e,this.destLen=0,this.ltree=new i,this.dtree=new i}(t,e);do{switch(s=v(u),b(u,2,0)){case 0:l=S(u);break;case 1:l=x(u,a,o);break;case 2:w(u,u.ltree,u.dtree),l=x(u,u.ltree,u.dtree);break;default:l=r}if(l!==n)throw new Error("Data error")}while(!s);return u.destLen<u.dest.length?"function"==typeof u.dest.slice?u.dest.slice(0,u.destLen):u.dest.subarray(0,u.destLen):u.dest}},function(t,e,n){"use strict";var r=n(0).isString,i=n(0).isArray,a=n(0).isUndefined,o=n(0).isNull;function s(t,e){this.defaultStyle=e||{},this.styleDictionary=t,this.styleOverrides=[]}s.prototype.clone=function(){var t=new s(this.styleDictionary,this.defaultStyle);return this.styleOverrides.forEach(function(e){t.styleOverrides.push(e)}),t},s.prototype.push=function(t){this.styleOverrides.push(t)},s.prototype.pop=function(t){for(t=t||1;t-- >0;)this.styleOverrides.pop()},s.prototype.autopush=function(t){if(r(t))return 0;var e=[];t.style&&(e=i(t.style)?t.style:[t.style]);for(var n=0,s=e.length;n<s;n++)this.push(e[n]);var l={},u=!1;return["font","fontSize","fontFeatures","bold","italics","alignment","color","columnGap","fillColor","decoration","decorationStyle","decorationColor","background","lineHeight","characterSpacing","noWrap","markerColor","leadingIndent"].forEach(function(e){a(t[e])||o(t[e])||(l[e]=t[e],u=!0)}),u&&this.push(l),e.length+(u?1:0)},s.prototype.auto=function(t,e){var n=this.autopush(t),r=e();return n>0&&this.pop(n),r},s.prototype.getProperty=function(t){if(this.styleOverrides)for(var e=this.styleOverrides.length-1;e>=0;e--){var n=this.styleOverrides[e];if(r(n)){var i=this.styleDictionary[n];if(i&&!a(i[t])&&!o(i[t]))return i[t]}else if(!a(n[t])&&!o(n[t]))return n[t]}return this.defaultStyle&&this.defaultStyle[t]},t.exports=s},function(t,e,n){"use strict";var r=n(77),i=n(0).isString;function a(t,e){this.pages=[],this.pageMargins=e,this.x=e.left,this.availableWidth=t.width-e.left-e.right,this.availableHeight=0,this.page=-1,this.snapshots=[],this.endingCell=null,this.tracker=new r,this.addPage(t),this.hasBackground=!1}a.prototype.beginColumnGroup=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,bottomMost:{x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page},endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth}),this.lastColumnWidth=0},a.prototype.beginColumn=function(t,e,n){var r=this.snapshots[this.snapshots.length-1];this.calculateBottomMost(r),this.endingCell=n,this.page=r.page,this.x=this.x+this.lastColumnWidth+(e||0),this.y=r.y,this.availableWidth=t,this.availableHeight=r.availableHeight,this.lastColumnWidth=t},a.prototype.calculateBottomMost=function(t){this.endingCell?(this.saveContextInEndingCell(this.endingCell),this.endingCell=null):t.bottomMost=function(t,e){var n;n=t.page>e.page?t:e.page>t.page?e:t.y>e.y?t:e;return{page:n.page,x:n.x,y:n.y,availableHeight:n.availableHeight,availableWidth:n.availableWidth}}(this,t.bottomMost)},a.prototype.markEnding=function(t){this.page=t._columnEndingContext.page,this.x=t._columnEndingContext.x,this.y=t._columnEndingContext.y,this.availableWidth=t._columnEndingContext.availableWidth,this.availableHeight=t._columnEndingContext.availableHeight,this.lastColumnWidth=t._columnEndingContext.lastColumnWidth},a.prototype.saveContextInEndingCell=function(t){t._columnEndingContext={page:this.page,x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,lastColumnWidth:this.lastColumnWidth}},a.prototype.completeColumnGroup=function(t){var e=this.snapshots.pop();this.calculateBottomMost(e),this.endingCell=null,this.x=e.x;var n=e.bottomMost.y;t&&(e.page===e.bottomMost.page?e.y+t>n&&(n=e.y+t):n+=t),this.y=n,this.page=e.bottomMost.page,this.availableWidth=e.availableWidth,this.availableHeight=e.bottomMost.availableHeight,t&&(this.availableHeight-=n-e.bottomMost.y),this.lastColumnWidth=e.lastColumnWidth},a.prototype.addMargin=function(t,e){this.x+=t,this.availableWidth-=t+(e||0)},a.prototype.moveDown=function(t){return this.y+=t,this.availableHeight-=t,this.availableHeight>0},a.prototype.initializePage=function(){this.y=this.pageMargins.top,this.availableHeight=this.getCurrentPage().pageSize.height-this.pageMargins.top-this.pageMargins.bottom,this.pageSnapshot().availableWidth=this.getCurrentPage().pageSize.width-this.pageMargins.left-this.pageMargins.right},a.prototype.pageSnapshot=function(){return this.snapshots[0]?this.snapshots[0]:this},a.prototype.moveTo=function(t,e){null!=t&&(this.x=t,this.availableWidth=this.getCurrentPage().pageSize.width-this.x-this.pageMargins.right),null!=e&&(this.y=e,this.availableHeight=this.getCurrentPage().pageSize.height-this.y-this.pageMargins.bottom)},a.prototype.beginDetachedBlock=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth})},a.prototype.endDetachedBlock=function(){var t=this.snapshots.pop();this.x=t.x,this.y=t.y,this.availableWidth=t.availableWidth,this.availableHeight=t.availableHeight,this.page=t.page,this.endingCell=t.endingCell,this.lastColumnWidth=t.lastColumnWidth};var o=function(t,e){var n,r;return n=e,r=t.pageSize.orientation,(e=void 0===n?r:i(n)&&"landscape"===n.toLowerCase()?"landscape":"portrait")!==t.pageSize.orientation?{orientation:e,width:t.pageSize.height,height:t.pageSize.width}:{orientation:t.pageSize.orientation,width:t.pageSize.width,height:t.pageSize.height}};a.prototype.moveToNextPage=function(t){var e=this.page+1,n=this.page,r=this.y,i=e>=this.pages.length;if(i){var a=this.availableWidth,s=this.getCurrentPage().pageSize.orientation,l=o(this.getCurrentPage(),t);this.addPage(l),s===l.orientation&&(this.availableWidth=a)}else this.page=e,this.initializePage();return{newPageCreated:i,prevPage:n,prevY:r,y:this.y}},a.prototype.addPage=function(t){var e={items:[],pageSize:t};return this.pages.push(e),this.page=this.pages.length-1,this.initializePage(),this.tracker.emit("pageAdded"),e},a.prototype.getCurrentPage=function(){return this.page<0||this.page>=this.pages.length?null:this.pages[this.page]},a.prototype.getCurrentPosition=function(){var t=this.getCurrentPage().pageSize,e=t.height-this.pageMargins.top-this.pageMargins.bottom,n=t.width-this.pageMargins.left-this.pageMargins.right;return{pageNumber:this.page+1,pageOrientation:t.orientation,pageInnerHeight:e,pageInnerWidth:n,left:this.x,top:this.y,verticalRatio:(this.y-this.pageMargins.top)/e,horizontalRatio:(this.x-this.pageMargins.left)/n}},t.exports=a},function(t,e,n){"use strict";function r(t){this.maxWidth=t,this.leadingCut=0,this.trailingCut=0,this.inlineWidths=0,this.inlines=[]}r.prototype.getAscenderHeight=function(){var t=0;return this.inlines.forEach(function(e){t=Math.max(t,e.font.ascender/1e3*e.fontSize)}),t},r.prototype.hasEnoughSpaceForInline=function(t){return 0===this.inlines.length||!this.newLineForced&&this.inlineWidths+t.width-this.leadingCut-(t.trailingCut||0)<=this.maxWidth},r.prototype.addInline=function(t){0===this.inlines.length&&(this.leadingCut=t.leadingCut||0),this.trailingCut=t.trailingCut||0,t.x=this.inlineWidths-this.leadingCut,this.inlines.push(t),this.inlineWidths+=t.width,t.lineEnd&&(this.newLineForced=!0)},r.prototype.getWidth=function(){return this.inlineWidths-this.leadingCut-this.trailingCut},r.prototype.getHeight=function(){var t=0;return this.inlines.forEach(function(e){t=Math.max(t,e.height||0)}),t},t.exports=r},function(t,e,n){"use strict";(function(e,r){var i=n(32).nextTick;t.exports=m;var a,o=n(76);m.ReadableState=b;n(31).EventEmitter;var s=function(t,e){return t.listeners(e).length},l=n(84),u=n(33).Buffer,c=e.Uint8Array||function(){};var h=n(25);h.inherits=n(21);var f=n(139),d=void 0;d=f&&f.debuglog?f.debuglog("stream"):function(){};var p,g=n(140),y=n(85);h.inherits(m,l);var v=["error","close","destroy","pause","resume"];function b(t,e){t=t||{};var r=e instanceof(a=a||n(16));this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode);var i=t.highWaterMark,o=t.readableHighWaterMark,s=this.objectMode?16:16384;this.highWaterMark=i||0===i?i:r&&(o||0===o)?o:s,this.highWaterMark=Math.floor(this.highWaterMark),this.buffer=new g,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(p||(p=n(47).StringDecoder),this.decoder=new p(t.encoding),this.encoding=t.encoding)}function m(t){if(a=a||n(16),!(this instanceof m))return new m(t);this._readableState=new b(t,this),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),l.call(this)}function w(t,e,n,r,i){var a,o,s,l=t._readableState;null===e?(l.reading=!1,function(t,e){if(e.ended)return;if(e.decoder){var n=e.decoder.end();n&&n.length&&(e.buffer.push(n),e.length+=e.objectMode?1:n.length)}e.ended=!0,k(t)}(t,l)):(i||(a=function(t,e){var n;r=e,u.isBuffer(r)||r instanceof c||"string"==typeof e||void 0===e||t.objectMode||(n=new TypeError("Invalid non-string/buffer chunk"));var r;return n}(l,e)),a?t.emit("error",a):l.objectMode||e&&e.length>0?("string"==typeof e||l.objectMode||Object.getPrototypeOf(e)===u.prototype||(o=e,e=u.from(o)),r?l.endEmitted?t.emit("error",new Error("stream.unshift() after end event")):x(t,l,e,!0):l.ended?t.emit("error",new Error("stream.push() after EOF")):(l.reading=!1,l.decoder&&!n?(e=l.decoder.write(e),l.objectMode||0!==e.length?x(t,l,e,!1):A(t,l)):x(t,l,e,!1))):r||(l.reading=!1));return!(s=l).ended&&(s.needReadable||s.length<s.highWaterMark||0===s.length)}function x(t,e,n,r){e.flowing&&0===e.length&&!e.sync?(t.emit("data",n),t.read(0)):(e.length+=e.objectMode?1:n.length,r?e.buffer.unshift(n):e.buffer.push(n),e.needReadable&&k(t)),A(t,e)}Object.defineProperty(m.prototype,"destroyed",{get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),m.prototype.destroy=y.destroy,m.prototype._undestroy=y.undestroy,m.prototype._destroy=function(t,e){this.push(null),e(t)},m.prototype.push=function(t,e){var n,r=this._readableState;return r.objectMode?n=!0:"string"==typeof t&&((e=e||r.defaultEncoding)!==r.encoding&&(t=u.from(t,e),e=""),n=!0),w(this,t,e,!1,n)},m.prototype.unshift=function(t){return w(this,t,null,!0,!1)},m.prototype.isPaused=function(){return!1===this._readableState.flowing},m.prototype.setEncoding=function(t){return p||(p=n(47).StringDecoder),this._readableState.decoder=new p(t),this._readableState.encoding=t,this};var S=8388608;function _(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=((n=t)>=S?n=S:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0));var n}function k(t){var e=t._readableState;e.needReadable=!1,e.emittedReadable||(d("emitReadable",e.flowing),e.emittedReadable=!0,e.sync?i(C,t):C(t))}function C(t){d("emit readable"),t.emit("readable"),T(t)}function A(t,e){e.readingMore||(e.readingMore=!0,i(P,t,e))}function P(t,e){for(var n=e.length;!e.reading&&!e.flowing&&!e.ended&&e.length<e.highWaterMark&&(d("maybeReadMore read 0"),t.read(0),n!==e.length);)n=e.length;e.readingMore=!1}function E(t){d("readable nexttick read 0"),t.read(0)}function I(t,e){e.reading||(d("resume read 0"),t.read(0)),e.resumeScheduled=!1,e.awaitDrain=0,t.emit("resume"),T(t),e.flowing&&!e.reading&&t.read(0)}function T(t){var e=t._readableState;for(d("flow",e.flowing);e.flowing&&null!==t.read(););}function O(t,e){return 0===e.length?null:(e.objectMode?n=e.buffer.shift():!t||t>=e.length?(n=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.head.data:e.buffer.concat(e.length),e.buffer.clear()):n=function(t,e,n){var r;t<e.head.data.length?(r=e.head.data.slice(0,t),e.head.data=e.head.data.slice(t)):r=t===e.head.data.length?e.shift():n?function(t,e){var n=e.head,r=1,i=n.data;t-=i.length;for(;n=n.next;){var a=n.data,o=t>a.length?a.length:t;if(o===a.length?i+=a:i+=a.slice(0,t),0===(t-=o)){o===a.length?(++r,n.next?e.head=n.next:e.head=e.tail=null):(e.head=n,n.data=a.slice(o));break}++r}return e.length-=r,i}(t,e):function(t,e){var n=u.allocUnsafe(t),r=e.head,i=1;r.data.copy(n),t-=r.data.length;for(;r=r.next;){var a=r.data,o=t>a.length?a.length:t;if(a.copy(n,n.length-t,0,o),0===(t-=o)){o===a.length?(++i,r.next?e.head=r.next:e.head=e.tail=null):(e.head=r,r.data=a.slice(o));break}++i}return e.length-=i,n}(t,e);return r}(t,e.buffer,e.decoder),n);var n}function L(t){var e=t._readableState;if(e.length>0)throw new Error('"endReadable()" called on non-empty stream');e.endEmitted||(e.ended=!0,i(B,e,t))}function B(t,e){t.endEmitted||0!==t.length||(t.endEmitted=!0,e.readable=!1,e.emit("end"))}function M(t,e){for(var n=0,r=t.length;n<r;n++)if(t[n]===e)return n;return-1}m.prototype.read=function(t){d("read",t),t=parseInt(t,10);var e=this._readableState,n=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&(e.length>=e.highWaterMark||e.ended))return d("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?L(this):k(this),null;if(0===(t=_(t,e))&&e.ended)return 0===e.length&&L(this),null;var r,i=e.needReadable;return d("need readable",i),(0===e.length||e.length-t<e.highWaterMark)&&d("length less than watermark",i=!0),e.ended||e.reading?d("reading or ended",i=!1):i&&(d("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=_(n,e))),null===(r=t>0?O(t,e):null)?(e.needReadable=!0,t=0):e.length-=t,0===e.length&&(e.ended||(e.needReadable=!0),n!==t&&e.ended&&L(this)),null!==r&&this.emit("data",r),r},m.prototype._read=function(t){this.emit("error",new Error("_read() is not implemented"))},m.prototype.pipe=function(t,e){var n=this,a=this._readableState;switch(a.pipesCount){case 0:a.pipes=t;break;case 1:a.pipes=[a.pipes,t];break;default:a.pipes.push(t)}a.pipesCount+=1,d("pipe count=%d opts=%j",a.pipesCount,e);var l=(!e||!1!==e.end)&&t!==r.stdout&&t!==r.stderr?c:w;function u(e,r){d("onunpipe"),e===n&&r&&!1===r.hasUnpiped&&(r.hasUnpiped=!0,d("cleanup"),t.removeListener("close",b),t.removeListener("finish",m),t.removeListener("drain",f),t.removeListener("error",v),t.removeListener("unpipe",u),n.removeListener("end",c),n.removeListener("end",w),n.removeListener("data",y),p=!0,!a.awaitDrain||t._writableState&&!t._writableState.needDrain||f())}function c(){d("onend"),t.end()}a.endEmitted?i(l):n.once("end",l),t.on("unpipe",u);var h,f=(h=n,function(){var t=h._readableState;d("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&s(h,"data")&&(t.flowing=!0,T(h))});t.on("drain",f);var p=!1;var g=!1;function y(e){d("ondata"),g=!1,!1!==t.write(e)||g||((1===a.pipesCount&&a.pipes===t||a.pipesCount>1&&-1!==M(a.pipes,t))&&!p&&(d("false write response, pause",n._readableState.awaitDrain),n._readableState.awaitDrain++,g=!0),n.pause())}function v(e){d("onerror",e),w(),t.removeListener("error",v),0===s(t,"error")&&t.emit("error",e)}function b(){t.removeListener("finish",m),w()}function m(){d("onfinish"),t.removeListener("close",b),w()}function w(){d("unpipe"),n.unpipe(t)}return n.on("data",y),function(t,e,n){if("function"==typeof t.prependListener)return t.prependListener(e,n);t._events&&t._events[e]?o(t._events[e])?t._events[e].unshift(n):t._events[e]=[n,t._events[e]]:t.on(e,n)}(t,"error",v),t.once("close",b),t.once("finish",m),t.emit("pipe",n),a.flowing||(d("pipe resume"),n.resume()),t},m.prototype.unpipe=function(t){var e=this._readableState,n={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes?this:(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,n),this);if(!t){var r=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a<i;a++)r[a].emit("unpipe",this,n);return this}var o=M(e.pipes,t);return-1===o?this:(e.pipes.splice(o,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,n),this)},m.prototype.addListener=m.prototype.on=function(t,e){var n=l.prototype.on.call(this,t,e);if("data"===t)!1!==this._readableState.flowing&&this.resume();else if("readable"===t){var r=this._readableState;r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.emittedReadable=!1,r.reading?r.length&&k(this):i(E,this))}return n},m.prototype.resume=function(){var t,e,n=this._readableState;return n.flowing||(d("resume"),n.flowing=!0,t=this,(e=n).resumeScheduled||(e.resumeScheduled=!0,i(I,t,e))),this},m.prototype.pause=function(){return d("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(d("pause"),this._readableState.flowing=!1,this.emit("pause")),this},m.prototype.wrap=function(t){var e=this,n=this._readableState,r=!1;for(var i in t.on("end",function(){if(d("wrapped end"),n.decoder&&!n.ended){var t=n.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(i){(d("wrapped data"),n.decoder&&(i=n.decoder.write(i)),n.objectMode&&null==i)||(n.objectMode||i&&i.length)&&(e.push(i)||(r=!0,t.pause()))}),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var a=0;a<v.length;a++)t.on(v[a],this.emit.bind(this,v[a]));return this._read=function(e){d("wrapped _read",e),r&&(r=!1,t.resume())},this},m._fromList=O}).call(e,n(7),n(11))},function(t,e,n){t.exports=n(31).EventEmitter},function(t,e,n){"use strict";var r=n(32).nextTick;function i(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var n=this,a=this._readableState&&this._readableState.destroyed,o=this._writableState&&this._writableState.destroyed;return a||o?(e?e(t):!t||this._writableState&&this._writableState.errorEmitted||r(i,this,t),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?(r(i,n,t),n._writableState&&(n._writableState.errorEmitted=!0)):e&&e(t)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}}},function(t,e,n){"use strict";t.exports=a;var r=n(16),i=n(25);function a(t){if(!(this instanceof a))return new a(t);r.call(this,t),this._transformState={afterTransform:function(t,e){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(!r)return this.emit("error",new Error("write callback called multiple times"));n.writechunk=null,n.writecb=null,null!=e&&this.push(e),r(t);var i=this._readableState;i.reading=!1,(i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",o)}function o(){var t=this;"function"==typeof this._flush?this._flush(function(e,n){s(t,e,n)}):s(this,null,null)}function s(t,e,n){if(e)return t.emit("error",e);if(null!=n&&t.push(n),t._writableState.length)throw new Error("Calling transform done when ws.length != 0");if(t._transformState.transforming)throw new Error("Calling transform done when still transforming");return t.push(null)}i.inherits=n(21),i.inherits(a,r),a.prototype.push=function(t,e){return this._transformState.needTransform=!1,r.prototype.push.call(this,t,e)},a.prototype._transform=function(t,e,n){throw new Error("_transform() is not implemented")},a.prototype._write=function(t,e,n){var r=this._transformState;if(r.writecb=n,r.writechunk=t,r.writeencoding=e,!r.transforming){var i=this._readableState;(r.needTransform||i.needReadable||i.length<i.highWaterMark)&&this._read(i.highWaterMark)}},a.prototype._read=function(t){var e=this._transformState;null!==e.writechunk&&e.writecb&&!e.transforming?(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform)):e.needTransform=!0},a.prototype._destroy=function(t,e){var n=this;r.prototype._destroy.call(this,t,function(t){e(t),n.emit("close")})}},function(t,e,n){(function(e){(function(){var r,i,a,o,s=function(t,e){return function(){return t.apply(e,arguments)}},l={}.hasOwnProperty;o=n(48),a=n(15),i=function(t){function n(t,e,r){this.document=t,this.id=e,this.data=null!=r?r:{},this.finalize=s(this.finalize,this),n.__super__.constructor.call(this,{decodeStrings:!1}),this.gen=0,this.deflate=null,this.compress=this.document.compress&&!this.data.Filter,this.uncompressedLength=0,this.chunks=[]}return function(t,e){for(var n in e)l.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(n,a.Writable),n.prototype.initDeflate=function(){var t;return this.data.Filter="FlateDecode",this.deflate=o.createDeflate(),this.deflate.on("data",(t=this,function(e){return t.chunks.push(e),t.data.Length+=e.length})),this.deflate.on("end",this.finalize)},n.prototype._write=function(t,n,r){var i;return e.isBuffer(t)||(t=new e(t+"\n","binary")),this.uncompressedLength+=t.length,null==(i=this.data).Length&&(i.Length=0),this.compress?(this.deflate||this.initDeflate(),this.deflate.write(t)):(this.chunks.push(t),this.data.Length+=t.length),r()},n.prototype.end=function(t){return n.__super__.end.apply(this,arguments),this.deflate?this.deflate.end():this.finalize()},n.prototype.finalize=function(){var t,e,n,i;if(this.offset=this.document._offset,this.document._write(this.id+" "+this.gen+" obj"),this.document._write(r.convert(this.data)),this.chunks.length){for(this.document._write("stream"),e=0,n=(i=this.chunks).length;e<n;e++)t=i[e],this.document._write(t);this.chunks.length=0,this.document._write("\nendstream")}return this.document._write("endobj"),this.document._refEnd(this)},n.prototype.toString=function(){return this.id+" "+this.gen+" R"},n}(),t.exports=i,r=n(26)}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){"use strict";(function(e){function r(t,e){if(t===e)return 0;for(var n=t.length,r=e.length,i=0,a=Math.min(n,r);i<a;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0}function i(t){return e.Buffer&&"function"==typeof e.Buffer.isBuffer?e.Buffer.isBuffer(t):!(null==t||!t._isBuffer)}var a=n(49),o=Object.prototype.hasOwnProperty,s=Array.prototype.slice,l="foo"===function(){}.name;function u(t){return Object.prototype.toString.call(t)}function c(t){return!i(t)&&("function"==typeof e.ArrayBuffer&&("function"==typeof ArrayBuffer.isView?ArrayBuffer.isView(t):!!t&&(t instanceof DataView||!!(t.buffer&&t.buffer instanceof ArrayBuffer))))}var h=t.exports=v,f=/\s*function\s+([^\(\s]*)\s*/;function d(t){if(a.isFunction(t)){if(l)return t.name;var e=t.toString().match(f);return e&&e[1]}}function p(t,e){return"string"==typeof t?t.length<e?t:t.slice(0,e):t}function g(t){if(l||!a.isFunction(t))return a.inspect(t);var e=d(t);return"[Function"+(e?": "+e:"")+"]"}function y(t,e,n,r,i){throw new h.AssertionError({message:n,actual:t,expected:e,operator:r,stackStartFunction:i})}function v(t,e){t||y(t,!0,e,"==",h.ok)}function b(t,e,n,o){if(t===e)return!0;if(i(t)&&i(e))return 0===r(t,e);if(a.isDate(t)&&a.isDate(e))return t.getTime()===e.getTime();if(a.isRegExp(t)&&a.isRegExp(e))return t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase;if(null!==t&&"object"==typeof t||null!==e&&"object"==typeof e){if(c(t)&&c(e)&&u(t)===u(e)&&!(t instanceof Float32Array||t instanceof Float64Array))return 0===r(new Uint8Array(t.buffer),new Uint8Array(e.buffer));if(i(t)!==i(e))return!1;var l=(o=o||{actual:[],expected:[]}).actual.indexOf(t);return-1!==l&&l===o.expected.indexOf(e)||(o.actual.push(t),o.expected.push(e),function(t,e,n,r){if(null==t||null==e)return!1;if(a.isPrimitive(t)||a.isPrimitive(e))return t===e;if(n&&Object.getPrototypeOf(t)!==Object.getPrototypeOf(e))return!1;var i=m(t),o=m(e);if(i&&!o||!i&&o)return!1;if(i)return t=s.call(t),e=s.call(e),b(t,e,n);var l,u,c=S(t),h=S(e);if(c.length!==h.length)return!1;for(c.sort(),h.sort(),u=c.length-1;u>=0;u--)if(c[u]!==h[u])return!1;for(u=c.length-1;u>=0;u--)if(l=c[u],!b(t[l],e[l],n,r))return!1;return!0}(t,e,n,o))}return n?t===e:t==e}function m(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function w(t,e){if(!t||!e)return!1;if("[object RegExp]"==Object.prototype.toString.call(e))return e.test(t);try{if(t instanceof e)return!0}catch(t){}return!Error.isPrototypeOf(e)&&!0===e.call({},t)}function x(t,e,n,r){var i;if("function"!=typeof e)throw new TypeError('"block" argument must be a function');"string"==typeof n&&(r=n,n=null),i=function(t){var e;try{t()}catch(t){e=t}return e}(e),r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&y(i,n,"Missing expected exception"+r);var o="string"==typeof r,s=!t&&i&&!n;if((!t&&a.isError(i)&&o&&w(i,n)||s)&&y(i,n,"Got unwanted exception"+r),t&&i&&n&&!w(i,n)||!t&&i)throw i}h.AssertionError=function(t){var e;this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=p(g((e=this).actual),128)+" "+e.operator+" "+p(g(e.expected),128),this.generatedMessage=!0);var n=t.stackStartFunction||y;if(Error.captureStackTrace)Error.captureStackTrace(this,n);else{var r=new Error;if(r.stack){var i=r.stack,a=d(n),o=i.indexOf("\n"+a);if(o>=0){var s=i.indexOf("\n",o+1);i=i.substring(s+1)}this.stack=i}}},a.inherits(h.AssertionError,Error),h.fail=y,h.ok=v,h.equal=function(t,e,n){t!=e&&y(t,e,n,"==",h.equal)},h.notEqual=function(t,e,n){t==e&&y(t,e,n,"!=",h.notEqual)},h.deepEqual=function(t,e,n){b(t,e,!1)||y(t,e,n,"deepEqual",h.deepEqual)},h.deepStrictEqual=function(t,e,n){b(t,e,!0)||y(t,e,n,"deepStrictEqual",h.deepStrictEqual)},h.notDeepEqual=function(t,e,n){b(t,e,!1)&&y(t,e,n,"notDeepEqual",h.notDeepEqual)},h.notDeepStrictEqual=function t(e,n,r){b(e,n,!0)&&y(e,n,r,"notDeepStrictEqual",t)},h.strictEqual=function(t,e,n){t!==e&&y(t,e,n,"===",h.strictEqual)},h.notStrictEqual=function(t,e,n){t===e&&y(t,e,n,"!==",h.notStrictEqual)},h.throws=function(t,e,n){x(!0,t,e,n)},h.doesNotThrow=function(t,e,n){x(!1,t,e,n)},h.ifError=function(t){if(t)throw t};var S=Object.keys||function(t){var e=[];for(var n in t)o.call(t,n)&&e.push(n);return e}}).call(e,n(7))},function(t,e,n){"use strict";t.exports=function(t,e,n,r){for(var i=65535&t|0,a=t>>>16&65535|0,o=0;0!==n;){for(n-=o=n>2e3?2e3:n;a=a+(i=i+e[r++]|0)|0,--o;);i%=65521,a%=65521}return i|a<<16|0}},function(t,e,n){"use strict";var r=function(){for(var t,e=[],n=0;n<256;n++){t=n;for(var r=0;r<8;r++)t=1&t?3988292384^t>>>1:t>>>1;e[n]=t}return e}();t.exports=function(t,e,n,i){var a=r,o=i+n;t^=-1;for(var s=i;s<o;s++)t=t>>>8^a[255&(t^e[s])];return-1^t}},function(t,e){t.exports=[["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31," "],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc",""],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]]},function(t,e){t.exports=[["0","\0",127],["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢",4,"~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/"],["a240","\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳0",9,"Ⅰ",9,"〡",8,"十卄卅A",25,"a",21],["a340","wxyzΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]},function(t,e,n){(function(){var e,r,i;r=n(22).Number,i=n(12),e=function(){function t(t,e,n){this.type=t,this.length=e,this.lengthType=null!=n?n:"count"}return t.prototype.decode=function(t,e){var n,a,o,s,l,u;if(o=t.pos,s=[],n=e,null!=this.length&&(a=i.resolveLength(this.length,t,e)),this.length instanceof r&&(Object.defineProperties(s,{parent:{value:e},_startOffset:{value:o},_currentOffset:{value:0,writable:!0},_length:{value:a}}),n=s),null==a||"bytes"===this.lengthType)for(l=null!=a?t.pos+a:(null!=e?e._length:void 0)?e._startOffset+e._length:t.length;t.pos<l;)s.push(this.type.decode(t,n));else for(u=0;u<a;u+=1)s.push(this.type.decode(t,n));return s},t.prototype.size=function(t,e){var n,a,o,s;if(!t)return this.type.size(null,e)*i.resolveLength(this.length,null,e);for(a=0,this.length instanceof r&&(a+=this.length.size(),e={parent:e}),o=0,s=t.length;o<s;o++)n=t[o],a+=this.type.size(n,e);return a},t.prototype.encode=function(t,e,n){var i,a,o,s,l,u;for(i=n,this.length instanceof r&&((i={pointers:[],startOffset:t.pos,parent:n}).pointerOffset=t.pos+this.size(e,i),this.length.encode(t,e.length)),l=0,u=e.length;l<u;l++)o=e[l],this.type.encode(t,o,i);if(this.length instanceof r)for(a=0;a<i.pointers.length;)(s=i.pointers[a++]).type.encode(t,s.val)},t}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r;r=n(12),e=function(){function t(t){this.fields=null!=t?t:{}}return t.prototype.decode=function(t,e,n){var r,i;return null==n&&(n=0),r=this._setup(t,e,n),this._parseFields(t,r,this.fields),null!=(i=this.process)&&i.call(r,t),r},t.prototype._setup=function(t,e,n){var r;return r={},Object.defineProperties(r,{parent:{value:e},_startOffset:{value:t.pos},_currentOffset:{value:0,writable:!0},_length:{value:n}}),r},t.prototype._parseFields=function(t,e,n){var i,a,o;for(i in n)void 0!==(o="function"==typeof(a=n[i])?a.call(e,e):a.decode(t,e))&&(o instanceof r.PropertyDescriptor?Object.defineProperty(e,i,o):e[i]=o),e._currentOffset=t.pos-e._startOffset},t.prototype.size=function(t,e,n){var r,i,a,o,s;for(i in null==t&&(t={}),null==n&&(n=!0),r={parent:e,val:t,pointerSize:0},a=0,s=this.fields)null!=(o=s[i]).size&&(a+=o.size(t[i],r));return n&&(a+=r.pointerSize),a},t.prototype.encode=function(t,e,n){var r,i,a,o,s,l,u;for(a in null!=(l=this.preEncode)&&l.call(e,t),(r={pointers:[],startOffset:t.pos,parent:n,val:e,pointerSize:0}).pointerOffset=t.pos+this.size(e,r,!1),u=this.fields)null!=(s=u[a]).encode&&s.encode(t,e[a],r);for(i=0;i<r.pointers.length;)(o=r.pointers[i++]).type.encode(t,o.val,o.parent)},t}(),t.exports=e}).call(this)},function(t,e,n){t.exports=!n(5)&&!n(19)(function(){return 7!=Object.defineProperty(n(96)("div"),"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(9),i=n(10).document,a=r(i)&&r(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,n){t.exports=n(13)},function(t,e,n){var r=n(6),i=n(14),a=n(29);t.exports=n(5)?Object.defineProperties:function(t,e){i(t);for(var n,o=a(e),s=o.length,l=0;s>l;)r.f(t,n=o[l++],e[n]);return t}},function(t,e,n){var r=n(18),i=n(17),a=n(204)(!1),o=n(64)("IE_PROTO");t.exports=function(t,e){var n,s=i(t),l=0,u=[];for(n in s)n!=o&&r(s,n)&&u.push(n);for(;e.length>l;)r(s,n=e[l++])&&(~a(u,n)||u.push(n));return u}},function(t,e,n){var r=n(63),i=Math.max,a=Math.min;t.exports=function(t,e){return(t=r(t))<0?i(t+e,0):a(t,e)}},function(t,e,n){t.exports={default:n(215),__esModule:!0}},function(t,e,n){var r=n(55);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,n){var r=n(101),i=n(66).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},function(t,e,n){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,n){"use strict";e.__esModule=!0;var r,i=n(74),a=(r=i)&&r.__esModule?r:{default:r};e.default=function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,a.default)(t,r.key,r)}}return function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}}()},function(t,e,n){"use strict";var r=n(6).f,i=n(36),a=n(109),o=n(20),s=n(110),l=n(41),u=n(61),c=n(98),h=n(228),f=n(5),d=n(40).fastKey,p=n(75),g=f?"_s":"size",y=function(t,e){var n,r=d(e);if("F"!==r)return t._i[r];for(n=t._f;n;n=n.n)if(n.k==e)return n};t.exports={getConstructor:function(t,e,n,u){var c=t(function(t,r){s(t,c,e,"_i"),t._t=e,t._i=i(null),t._f=void 0,t._l=void 0,t[g]=0,null!=r&&l(r,n,t[u],t)});return a(c.prototype,{clear:function(){for(var t=p(this,e),n=t._i,r=t._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];t._f=t._l=void 0,t[g]=0},delete:function(t){var n=p(this,e),r=y(n,t);if(r){var i=r.n,a=r.p;delete n._i[r.i],r.r=!0,a&&(a.n=i),i&&(i.p=a),n._f==r&&(n._f=i),n._l==r&&(n._l=a),n[g]--}return!!r},forEach:function(t){p(this,e);for(var n,r=o(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(t){return!!y(p(this,e),t)}}),f&&r(c.prototype,"size",{get:function(){return p(this,e)[g]}}),c},def:function(t,e,n){var r,i,a=y(t,e);return a?a.v=n:(t._l=a={i:i=d(e,!0),k:e,v:n,p:r=t._l,n:void 0,r:!1},t._f||(t._f=a),r&&(r.n=a),t[g]++,"F"!==i&&(t._i[i]=a)),t},getEntry:y,setStrong:function(t,e,n){u(t,e,function(t,n){this._t=p(t,e),this._k=n,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?c(0,"keys"==e?n.k:"values"==e?n.v:[n.k,n.v]):(t._t=void 0,c(1))},n?"entries":"values",!n,!0),h(e)}}},function(t,e,n){var r=n(13);t.exports=function(t,e,n){for(var i in e)n&&t[i]?t[i]=e[i]:r(t,i,e[i]);return t}},function(t,e){t.exports=function(t,e,n,r){if(!(t instanceof e)||void 0!==r&&r in t)throw TypeError(n+": incorrect invocation!");return t}},function(t,e,n){var r=n(14);t.exports=function(t,e,n,i){try{return i?e(r(n)[0],n[1]):e(n)}catch(e){var a=t.return;throw void 0!==a&&r(a.call(t)),e}}},function(t,e,n){var r=n(23),i=n(4)("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||a[i]===t)}},function(t,e,n){"use strict";var r=n(10),i=n(3),a=n(40),o=n(19),s=n(13),l=n(109),u=n(41),c=n(110),h=n(9),f=n(39),d=n(6).f,p=n(229)(0),g=n(5);t.exports=function(t,e,n,y,v,b){var m=r[t],w=m,x=v?"set":"add",S=w&&w.prototype,_={};return g&&"function"==typeof w&&(b||S.forEach&&!o(function(){(new w).entries().next()}))?(w=e(function(e,n){c(e,w,t,"_c"),e._c=new m,null!=n&&u(n,v,e[x],e)}),p("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(t){var e="add"==t||"set"==t;t in S&&(!b||"clear"!=t)&&s(w.prototype,t,function(n,r){if(c(this,w,t),!e&&b&&!h(n))return"get"==t&&void 0;var i=this._c[t](0===n?0:n,r);return e?this:i})}),b||d(w.prototype,"size",{get:function(){return this._c.size}})):(w=y.getConstructor(e,t,v,x),l(w.prototype,n),a.NEED=!0),f(w,t),_[t]=w,i(i.G+i.W+i.F,_),b||y.setStrong(w,t,v),w}},function(t,e,n){var r=n(68),i=n(233);t.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");return i(this)}}},function(t,e,n){"use strict";var r=n(3);t.exports=function(t){r(r.S,t,{of:function(){for(var t=arguments.length,e=new Array(t);t--;)e[t]=arguments[t];return new this(e)}})}},function(t,e,n){"use strict";var r=n(3),i=n(97),a=n(20),o=n(41);t.exports=function(t){r(r.S,t,{from:function(t){var e,n,r,s,l=arguments[1];return i(this),(e=void 0!==l)&&i(l),null==t?new this:(n=[],e?(r=0,s=a(l,arguments[2],2),o(t,!1,function(t){n.push(s(t,r++))})):o(t,!1,n.push,n),new this(n))}})}},function(t,e,n){var r=n(118).BrotliInput,i=n(118).BrotliOutput,a=n(285),o=n(119),s=n(120).HuffmanCode,l=n(120).BrotliBuildHuffmanTable,u=n(289),c=n(290),h=n(291),f=8,d=16,p=256,g=704,y=26,v=6,b=2,m=8,w=255,x=1080,S=18,_=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),k=16,C=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),A=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),P=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function E(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function I(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function T(t){var e,n,r,i=new function(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1};if(i.input_end=t.readBits(1),i.input_end&&t.readBits(1))return i;if(7===(e=t.readBits(2)+4)){if(i.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(n=t.readBits(2)))return i;for(r=0;r<n;r++){var a=t.readBits(8);if(r+1===n&&n>1&&0===a)throw new Error("Invalid size byte");i.meta_block_length|=a<<8*r}}else for(r=0;r<e;++r){var o=t.readBits(4);if(r+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");i.meta_block_length|=o<<4*r}return++i.meta_block_length,i.input_end||i.is_metadata||(i.is_uncompressed=t.readBits(1)),i}function O(t,e,n){var r;return n.fillBitWindow(),(r=t[e+=n.val_>>>n.bit_pos_&w].bits-m)>0&&(n.bit_pos_+=m,e+=t[e].value,e+=n.val_>>>n.bit_pos_&(1<<r)-1),n.bit_pos_+=t[e].bits,t[e].value}function L(t,e,n,r){var i,a,o=new Uint8Array(t);if(r.readMoreInput(),1===(a=r.readBits(2))){for(var u=t-1,c=0,h=new Int32Array(4),p=r.readBits(2)+1;u;)u>>=1,++c;for(g=0;g<p;++g)h[g]=r.readBits(c)%t,o[h[g]]=2;switch(o[h[0]]=1,p){case 1:break;case 3:if(h[0]===h[1]||h[0]===h[2]||h[1]===h[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(h[0]===h[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[h[1]]=1;break;case 4:if(h[0]===h[1]||h[0]===h[2]||h[0]===h[3]||h[1]===h[2]||h[1]===h[3]||h[2]===h[3])throw new Error("[ReadHuffmanCode] invalid symbols");r.readBits(1)?(o[h[2]]=3,o[h[3]]=3):o[h[0]]=2}}else{var g,y=new Uint8Array(S),v=32,b=0,w=[new s(2,0),new s(2,4),new s(2,3),new s(3,2),new s(2,0),new s(2,4),new s(2,3),new s(4,1),new s(2,0),new s(2,4),new s(2,3),new s(3,2),new s(2,0),new s(2,4),new s(2,3),new s(4,5)];for(g=a;g<S&&v>0;++g){var x,k=_[g],C=0;r.fillBitWindow(),C+=r.val_>>>r.bit_pos_&15,r.bit_pos_+=w[C].bits,x=w[C].value,y[k]=x,0!==x&&(v-=32>>x,++b)}if(1!==b&&0!==v)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,n,r){for(var i=0,a=f,o=0,u=0,c=32768,h=[],p=0;p<32;p++)h.push(new s(0,0));for(l(h,0,5,t,S);i<e&&c>0;){var g,y=0;if(r.readMoreInput(),r.fillBitWindow(),y+=r.val_>>>r.bit_pos_&31,r.bit_pos_+=h[y].bits,(g=255&h[y].value)<d)o=0,n[i++]=g,0!==g&&(a=g,c-=32768>>g);else{var v,b,m=g-14,w=0;if(g===d&&(w=a),u!==w&&(o=0,u=w),v=o,o>0&&(o-=2,o<<=m),i+(b=(o+=r.readBits(m)+3)-v)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var x=0;x<b;x++)n[i+x]=u;i+=b,0!==u&&(c-=b<<15-u)}}if(0!==c)throw new Error("[ReadHuffmanCodeLengths] space = "+c);for(;i<e;i++)n[i]=0}(y,t,o,r)}if(0===(i=l(e,n,m,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return i}function B(t,e,n){var r,i;return r=O(t,e,n),i=c.kBlockLengthPrefixCode[r].nbits,c.kBlockLengthPrefixCode[r].offset+n.readBits(i)}function M(t,e){for(var n=t[e],r=e;r;--r)t[r]=t[r-1];t[0]=n}function R(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*P[t+31>>>5]),this.htrees=new Uint32Array(e)}function F(t,e){var n,r,i={num_htrees:null,context_map:null},a=0;e.readMoreInput();var o=i.num_htrees=I(e)+1,l=i.context_map=new Uint8Array(t);if(o<=1)return i;for(e.readBits(1)&&(a=e.readBits(4)+1),n=[],r=0;r<x;r++)n[r]=new s(0,0);for(L(o+a,n,0,e),r=0;r<t;){var u;if(e.readMoreInput(),0===(u=O(n,0,e)))l[r]=0,++r;else if(u<=a)for(var c=1+(1<<u)+e.readBits(u);--c;){if(r>=t)throw new Error("[DecodeContextMap] i >= context_map_size");l[r]=0,++r}else l[r]=u-a,++r}return e.readBits(1)&&function(t,e){var n,r=new Uint8Array(256);for(n=0;n<256;++n)r[n]=n;for(n=0;n<e;++n){var i=t[n];t[n]=r[i],i&&M(r,i)}}(l,t),i}function D(t,e,n,r,i,a,o){var s,l=2*n,u=n,c=O(e,n*x,o);(s=0===c?i[l+(1&a[u])]:1===c?i[l+(a[u]-1&1)]+1:c-2)>=t&&(s-=t),r[n]=s,i[l+(1&a[u])]=s,++a[u]}function z(t,e,n,r,i,o){var s,l=i+1,u=n&i,c=o.pos_&a.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),r[u++]=o.readBits(8),u===l&&(t.write(r,l),u=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)r[u]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++u,--e;if(c+(s=o.bit_end_pos_-o.bit_pos_>>3)>a.IBUF_MASK){for(var h=a.IBUF_MASK+1-c,f=0;f<h;f++)r[u+f]=o.buf_[c+f];s-=h,u+=h,e-=h,c=0}for(f=0;f<s;f++)r[u+f]=o.buf_[c+f];if(e-=s,(u+=s)>=l){t.write(r,l),u-=l;for(f=0;f<u;f++)r[f]=r[l+f]}for(;u+e>=l;){if(s=l-u,o.input_.read(r,u,s)<s)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(r,l),e-=s,u=0}if(o.input_.read(r,u,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function N(t){var e=new r(t),n=new a(e);return E(n),T(n).meta_block_length}function U(t,e){var n,r,i,l,f,d,m,w,S,_,P,M,N,U,W,G,V=0,j=0,H=0,q=[16,15,11,4],Z=0,Y=0,X=0,K=[new R(0,0),new R(0,0),new R(0,0)],J=128+a.READ_SIZE;i=(1<<(r=E(_=new a(t))))-16,f=(l=1<<r)-1,d=new Uint8Array(l+J+o.maxDictionaryWordLength),m=l,w=[],S=[];for(var Q=0;Q<3*x;Q++)w[Q]=new s(0,0),S[Q]=new s(0,0);for(;!j;){var $,tt,et,nt,rt,it,at,ot,st,lt,ut,ct=0,ht=[1<<28,1<<28,1<<28],ft=[0],dt=[1,1,1],pt=[0,1,0,1,0,1],gt=[0],yt=null,vt=null,bt=0,mt=null,wt=0,xt=0,St=0;for(n=0;n<3;++n)K[n].codes=null,K[n].htrees=null;_.readMoreInput();var _t=T(_);if(V+(ct=_t.meta_block_length)>e.buffer.length){var kt=new Uint8Array(V+ct);kt.set(e.buffer),e.buffer=kt}if(j=_t.input_end,$=_t.is_uncompressed,_t.is_metadata)for(void 0,G=(W=_).bit_pos_+7&-8,W.readBits(G-W.bit_pos_);ct>0;--ct)_.readMoreInput(),_.readBits(8);else if(0!==ct)if($)_.bit_pos_=_.bit_pos_+7&-8,z(e,ct,V,d,f,_),V+=ct;else{for(n=0;n<3;++n)dt[n]=I(_)+1,dt[n]>=2&&(L(dt[n]+2,w,n*x,_),L(y,S,n*x,_),ht[n]=B(S,n*x,_),gt[n]=1);for(_.readMoreInput(),nt=(1<<(tt=_.readBits(2)))-1,rt=(et=k+(_.readBits(4)<<tt))+(48<<tt),yt=new Uint8Array(dt[0]),n=0;n<dt[0];++n)_.readMoreInput(),yt[n]=_.readBits(2)<<1;var Ct=F(dt[0]<<v,_);at=Ct.num_htrees,it=Ct.context_map;var At=F(dt[2]<<b,_);for(st=At.num_htrees,ot=At.context_map,K[0]=new R(p,at),K[1]=new R(g,dt[1]),K[2]=new R(rt,st),n=0;n<3;++n)K[n].decode(_);for(vt=0,mt=0,lt=yt[ft[0]],xt=u.lookupOffsets[lt],St=u.lookupOffsets[lt+1],ut=K[1].htrees[0];ct>0;){var Pt,Et,It,Tt,Ot,Lt,Bt,Mt,Rt,Ft,Dt,zt;for(_.readMoreInput(),0===ht[1]&&(D(dt[1],w,1,ft,pt,gt,_),ht[1]=B(S,x,_),ut=K[1].htrees[ft[1]]),--ht[1],(Et=(Pt=O(K[1].codes,ut,_))>>6)>=2?(Et-=2,Bt=-1):Bt=0,It=c.kInsertRangeLut[Et]+(Pt>>3&7),Tt=c.kCopyRangeLut[Et]+(7&Pt),Ot=c.kInsertLengthPrefixCode[It].offset+_.readBits(c.kInsertLengthPrefixCode[It].nbits),Lt=c.kCopyLengthPrefixCode[Tt].offset+_.readBits(c.kCopyLengthPrefixCode[Tt].nbits),Y=d[V-1&f],X=d[V-2&f],Rt=0;Rt<Ot;++Rt)_.readMoreInput(),0===ht[0]&&(D(dt[0],w,0,ft,pt,gt,_),ht[0]=B(S,0,_),vt=ft[0]<<v,lt=yt[ft[0]],xt=u.lookupOffsets[lt],St=u.lookupOffsets[lt+1]),bt=it[vt+(u.lookup[xt+Y]|u.lookup[St+X])],--ht[0],X=Y,Y=O(K[0].codes,K[0].htrees[bt],_),d[V&f]=Y,(V&f)===f&&e.write(d,l),++V;if((ct-=Ot)<=0)break;if(Bt<0)if(_.readMoreInput(),0===ht[2]&&(D(dt[2],w,2,ft,pt,gt,_),ht[2]=B(S,2*x,_),mt=ft[2]<<b),--ht[2],wt=ot[mt+(255&(Lt>4?3:Lt-2))],(Bt=O(K[2].codes,K[2].htrees[wt],_))>=et)zt=(Bt-=et)&nt,Bt=et+((Nt=(2+(1&(Bt>>=tt))<<(Dt=1+(Bt>>1)))-4)+_.readBits(Dt)<<tt)+zt;if(M=q,N=Z,U=void 0,(P=Bt)<k?(N+=C[P],U=M[N&=3]+A[P]):U=P-k+1,(Mt=U)<0)throw new Error("[BrotliDecompress] invalid distance");if(Ft=V&f,Mt>(H=V<i&&H!==i?V:i)){if(!(Lt>=o.minDictionaryWordLength&&Lt<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+V+" distance: "+Mt+" len: "+Lt+" bytes left: "+ct);var Nt=o.offsetsByLength[Lt],Ut=Mt-H-1,Wt=o.sizeBitsByLength[Lt],Gt=Ut>>Wt;if(Nt+=(Ut&(1<<Wt)-1)*Lt,!(Gt<h.kNumTransforms))throw new Error("Invalid backward reference. pos: "+V+" distance: "+Mt+" len: "+Lt+" bytes left: "+ct);var Vt=h.transformDictionaryWord(d,Ft,Nt,Lt,Gt);if(V+=Vt,ct-=Vt,(Ft+=Vt)>=m){e.write(d,l);for(var jt=0;jt<Ft-m;jt++)d[jt]=d[m+jt]}}else{if(Bt>0&&(q[3&Z]=Mt,++Z),Lt>ct)throw new Error("Invalid backward reference. pos: "+V+" distance: "+Mt+" len: "+Lt+" bytes left: "+ct);for(Rt=0;Rt<Lt;++Rt)d[V&f]=d[V-Mt&f],(V&f)===f&&e.write(d,l),++V,--ct}Y=d[V-1&f],X=d[V-2&f]}V&=1073741823}}e.write(d,V&f)}R.prototype.decode=function(t){var e,n=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=n,n+=L(this.alphabet_size,this.codes,n,t)},e.BrotliDecompressedSize=N,e.BrotliDecompressBuffer=function(t,e){var n=new r(t);null==e&&(e=N(t));var a=new Uint8Array(e),o=new i(a);return U(n,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},e.BrotliDecompress=U,o.init()},function(t,e){function n(t){this.buffer=t,this.pos=0}function r(t){this.buffer=t,this.pos=0}n.prototype.read=function(t,e,n){this.pos+n>this.buffer.length&&(n=this.buffer.length-this.pos);for(var r=0;r<n;r++)t[e+r]=this.buffer[this.pos+r];return this.pos+=n,n},e.BrotliInput=n,r.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.BrotliOutput=r},function(t,e,n){var r=n(286);e.init=function(){e.dictionary=r.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},function(t,e){function n(t,e){this.bits=t,this.value=e}e.HuffmanCode=n;var r=15;function i(t,e){for(var n=1<<e-1;t&n;)n>>=1;return(t&n-1)+n}function a(t,e,r,i,a){for(;t[e+(i-=r)]=new n(a.bits,a.value),i>0;);}function o(t,e,n){for(var i=1<<e-n;e<r&&!((i-=t[e])<=0);)++e,i<<=1;return e-n}e.BrotliBuildHuffmanTable=function(t,e,s,l,u){var c,h,f,d,p,g,y,v,b,m,w=e,x=new Int32Array(r+1),S=new Int32Array(r+1);for(m=new Int32Array(u),h=0;h<u;h++)x[l[h]]++;for(S[1]=0,c=1;c<r;c++)S[c+1]=S[c]+x[c];for(h=0;h<u;h++)0!==l[h]&&(m[S[l[h]]++]=h);if(b=v=1<<(y=s),1===S[r]){for(f=0;f<b;++f)t[e+f]=new n(0,65535&m[0]);return b}for(f=0,h=0,c=1,d=2;c<=s;++c,d<<=1)for(;x[c]>0;--x[c])a(t,e+f,d,v,new n(255&c,65535&m[h++])),f=i(f,c);for(g=b-1,p=-1,c=s+1,d=2;c<=r;++c,d<<=1)for(;x[c]>0;--x[c])(f&g)!==p&&(e+=v,b+=v=1<<(y=o(x,c,s)),t[w+(p=f&g)]=new n(y+s&255,e-w-p&65535)),a(t,e+(f>>s),d,v,new n(c-s&255,65535&m[h++])),f=i(f,c);return b}},function(t,e,n){(function(e){(function(){var r,i,a,o;o=n(8),n(298),r=n(299),a=n(300),i=function(){function t(){}return t.open=function(t,n){var i,s;if(e.isBuffer(t))i=t;else if(t instanceof ArrayBuffer)i=new e(new Uint8Array(t));else if(s=/^data:.+;base64,(.*)$/.exec(t))i=new e(s[1],"base64");else if(!(i=o.readFileSync(t)))return;if(255===i[0]&&216===i[1])return new r(i,n);if(137===i[0]&&"PNG"===i.toString("ascii",1,4))return new a(i,n);throw new Error("Unknown image format.")},t}(),t.exports=i}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){(function(e){t.exports=e.pdfMake=n(123)}).call(e,n(7))},function(t,e,n){"use strict";(function(e,r){var i=n(126),a=n(0).isFunction,o=n(306).saveAs,s={Roboto:{normal:"Roboto-Regular.ttf",bold:"Roboto-Medium.ttf",italics:"Roboto-Italic.ttf",bolditalics:"Roboto-MediumItalic.ttf"}};function l(t,e,n,r){this.docDefinition=t,this.tableLayouts=e||null,this.fonts=n||s,this.vfs=r}l.prototype._createDoc=function(t,r){t=t||{},this.tableLayouts&&(t.tableLayouts=this.tableLayouts);var a=new i(this.fonts);n(8).bindFS(this.vfs);var o,s=a.createPdfKitDocument(this.docDefinition,t),l=[];s.on("readable",function(){for(var t;null!==(t=s.read(9007199254740991));)l.push(t)}),s.on("end",function(){o=e.concat(l),r(o,s._pdfMakePages)}),s.end()},l.prototype._getPages=function(t,e){if(!e)throw"_getPages is an async method and needs a callback argument";this._createDoc(t,function(t,n){e(n)})},l.prototype._bufferToBlob=function(t){var e;try{e=new Blob([t],{type:"application/pdf"})}catch(r){if("InvalidStateError"===r.name){var n=new Uint8Array(t);e=new Blob([n.buffer],{type:"application/pdf"})}}if(!e)throw"Could not generate blob";return e},l.prototype._openWindow=function(){var t=window.open("","_blank");if(null===t)throw"Open PDF in new window blocked by browser";return t},l.prototype._openPdf=function(t,e){e||(e=this._openWindow());try{this.getBlob(function(t){var n=(window.URL||window.webkitURL).createObjectURL(t);e.location.href=n},t)}catch(t){throw e.close(),t}},l.prototype.open=function(t,e){(t=t||{}).autoPrint=!1,e=e||null,this._openPdf(t,e)},l.prototype.print=function(t,e){(t=t||{}).autoPrint=!0,e=e||null,this._openPdf(t,e)},l.prototype.download=function(t,e,n){a(t)&&(e=t,t=null),t=t||"file.pdf",this.getBlob(function(n){o(n,t),a(e)&&e()},n)},l.prototype.getBase64=function(t,e){if(!t)throw"getBase64 is an async method and needs a callback argument";this.getBuffer(function(e){t(e.toString("base64"))},e)},l.prototype.getDataUrl=function(t,e){if(!t)throw"getDataUrl is an async method and needs a callback argument";this.getBuffer(function(e){t("data:application/pdf;base64,"+e.toString("base64"))},e)},l.prototype.getBlob=function(t,e){if(!t)throw"getBlob is an async method and needs a callback argument";var n=this;this.getBuffer(function(e){var r=n._bufferToBlob(e);t(r)},e)},l.prototype.getBuffer=function(t,e){if(!t)throw"getBuffer is an async method and needs a callback argument";this._createDoc(e,function(e){t(e)})},t.exports={createPdf:function(t){if(!Object.keys)throw"Your browser does not provide the level of support needed";return new l(t,r.pdfMake.tableLayouts,r.pdfMake.fonts,r.pdfMake.vfs)}}}).call(e,n(1).Buffer,n(7))},function(t,e,n){"use strict";e.byteLength=function(t){return 3*t.length/4-u(t)},e.toByteArray=function(t){var e,n,r,o,s,l=t.length;o=u(t),s=new a(3*l/4-o),n=o>0?l-4:l;var c=0;for(e=0;e<n;e+=4)r=i[t.charCodeAt(e)]<<18|i[t.charCodeAt(e+1)]<<12|i[t.charCodeAt(e+2)]<<6|i[t.charCodeAt(e+3)],s[c++]=r>>16&255,s[c++]=r>>8&255,s[c++]=255&r;2===o?(r=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[c++]=255&r):1===o&&(r=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[c++]=r>>8&255,s[c++]=255&r);return s},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a="",o=[],s=0,l=n-i;s<l;s+=16383)o.push(c(t,s,s+16383>l?l:s+16383));1===i?(e=t[n-1],a+=r[e>>2],a+=r[e<<4&63],a+="=="):2===i&&(e=(t[n-2]<<8)+t[n-1],a+=r[e>>10],a+=r[e>>4&63],a+=r[e<<2&63],a+="=");return o.push(a),o.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)r[s]=o[s],i[o.charCodeAt(s)]=s;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function c(t,e,n){for(var i,a,o=[],s=e;s<n;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){e.read=function(t,e,n,r,i){var a,o,s=8*i-r-1,l=(1<<s)-1,u=l>>1,c=-7,h=n?i-1:0,f=n?-1:1,d=t[e+h];for(h+=f,a=d&(1<<-c)-1,d>>=-c,c+=s;c>0;a=256*a+t[e+h],h+=f,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=r;c>0;o=256*o+t[e+h],h+=f,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,r),a-=u}return(d?-1:1)*o*Math.pow(2,a-r)},e.write=function(t,e,n,r,i,a){var o,s,l,u=8*a-i-1,c=(1<<u)-1,h=c>>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:a-1,p=r?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=c?(s=0,o=c):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[n+d]=255&s,d+=p,s/=256,i-=8);for(o=o<<i|s,u+=i;u>0;t[n+d]=255&o,d+=p,o/=256,u-=8);t[n+d-p]|=128*g}},function(t,e,n){"use strict";var r=n(127),i=n(128),a=n(138),o=n(303),s=n(304),l=n(305),u=n(42),c=n(0).isFunction,h=n(0).isString,f=n(0).isNumber,d=n(0).isBoolean,p=n(0).isArray;function g(t){this.fontDescriptors=t}function y(t){if(!t)return null;if(f(t))t={left:t,right:t,top:t,bottom:t};else if(p(t))if(2===t.length)t={left:t[0],top:t[1],right:t[0],bottom:t[1]};else{if(4!==t.length)throw"Invalid pageMargins definition";t={left:t[0],top:t[1],right:t[2],bottom:t[3]}}return t}function v(t,e){var n=e.options.size[0]>e.options.size[1]?"landscape":"portrait";if(t.pageSize.orientation!==n){var r=e.options.size[0],i=e.options.size[1];e.options.size=[i,r]}}function b(t,e,n,r){if(t._pageNodeRef){var i,a,o=new u(null),s=t._pageNodeRef.positions[0].pageNumber.toString();switch(t.inlines[0].text=s,t.inlines[0].linkToPage=s,i=o.widthOfString(t.inlines[0].text,t.inlines[0].font,t.inlines[0].fontSize,t.inlines[0].characterSpacing,t.inlines[0].fontFeatures),a=t.inlines[0].width-i,t.inlines[0].width=i,t.inlines[0].alignment){case"right":t.inlines[0].x+=a;break;case"center":t.inlines[0].x+=a/2}}e=e||0,n=n||0;var c=t.getHeight(),h=c-t.getAscenderHeight();l.drawBackground(t,e,n,r);for(var f=0,d=t.inlines.length;f<d;f++){var p=t.inlines[f],g=c-p.font.ascender/1e3*p.fontSize-h,y={lineBreak:!1,textWidth:p.width,characterSpacing:p.characterSpacing,wordCount:1,link:p.link};if(p.fontFeatures&&(y.features=p.fontFeatures),r.fill(p.color||"black"),r._font=p.font,r.fontSize(p.fontSize),r.text(p.text,e+p.x,n+g,y),p.linkToPage){r.ref({Type:"Action",S:"GoTo",D:[p.linkToPage,0,0]}).end();r.annotate(e+p.x,n+g,p.width,p.height,{Subtype:"Link",Dest:[p.linkToPage-1,"XYZ",null,null,null]})}}l.drawDecorations(t,e,n,r)}function m(t,e){var n=t.watermark;e.fill(n.color),e.opacity(n.opacity),e.save();var r=-180*Math.atan2(e.page.height,e.page.width)/Math.PI;e.rotate(r,{origin:[e.page.width/2,e.page.height/2]});var i=e.page.width/2-n.size.size.width/2,a=e.page.height/2-n.size.size.height/4;e._font=n.font,e.fontSize(n.size.fontSize),e.text(n.text,i,a,{lineBreak:!1}),e.restore()}function w(t,e){switch(e.lineWidth(t.lineWidth||1),t.dash?e.dash(t.dash.length,{space:t.dash.space||t.dash.length,phase:t.dash.phase||0}):e.undash(),e.lineJoin(t.lineJoin||"miter"),e.lineCap(t.lineCap||"butt"),t.type){case"ellipse":e.ellipse(t.x,t.y,t.r1,t.r2);break;case"rect":if(t.r?e.roundedRect(t.x,t.y,t.w,t.h,t.r):e.rect(t.x,t.y,t.w,t.h),t.linearGradient){for(var n=e.linearGradient(t.x,t.y,t.x+t.w,t.y),r=1/(t.linearGradient.length-1),i=0;i<t.linearGradient.length;i++)n.stop(i*r,t.linearGradient[i]);t.color=n}break;case"line":e.moveTo(t.x1,t.y1),e.lineTo(t.x2,t.y2);break;case"polyline":if(0===t.points.length)break;e.moveTo(t.points[0].x,t.points[0].y);i=1;for(var a=t.points.length;i<a;i++)e.lineTo(t.points[i].x,t.points[i].y);if(t.points.length>1){var o=t.points[0],s=t.points[t.points.length-1];(t.closePath||o.x===s.x&&o.y===s.y)&&e.closePath()}break;case"path":e.path(t.d)}t.color&&t.lineColor?(e.fillColor(t.color,t.fillOpacity||1),e.strokeColor(t.lineColor,t.strokeOpacity||1),e.fillAndStroke()):t.color?(e.fillColor(t.color,t.fillOpacity||1),e.fill()):(e.strokeColor(t.lineColor||"black",t.strokeOpacity||1),e.stroke())}function x(t,e,n,r){r.image(t.image,t.x,t.y,{width:t._width,height:t._height}),t.link&&r.link(t.x,t.y,t._width,t._height,t.link)}function S(t,e){e.save(),e.addContent(t.x+" "+t.y+" "+t.width+" "+t.height+" re"),e.clip()}g.prototype.createPdfKitDocument=function(t,e){e=e||{};var n=function(t,e){t&&"auto"===t.height&&(t.height=1/0);var n=function(t){if(h(t)){var e=o[t.toUpperCase()];if(!e)throw"Page size "+t+" not recognized";return{width:e[0],height:e[1]}}return t}(t||"A4");(function(t){if(h(t))return"portrait"===(t=t.toLowerCase())&&n.width>n.height||"landscape"===t&&n.width<n.height;return!1})(e)&&(n={width:n.height,height:n.width});return n.orientation=n.width>n.height?"landscape":"portrait",n}(t.pageSize,t.pageOrientation),l=!d(t.compress)||t.compress;this.pdfKitDoc=new a({size:[n.width,n.height],autoFirstPage:!1,compress:l}),function(t,e){function n(t){var e=t.charAt(0).toUpperCase()+t.slice(1);return-1!==["Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped"].indexOf(e)?e:t.replace(/\s+/g,"")}if(e.info.Producer="pdfmake",e.info.Creator="pdfmake",t.info)for(var r in t.info){var i=t.info[r];i&&(r=n(r),e.info[r]=i)}}(t,this.pdfKitDoc),this.fontProvider=new r(this.fontDescriptors,this.pdfKitDoc),t.images=t.images||{};var u=new i(n,y(t.pageMargins||40),new s(this.pdfKitDoc,t.images));u.registerTableLayouts({noBorders:{hLineWidth:function(t){return 0},vLineWidth:function(t){return 0},paddingLeft:function(t){return t?4:0},paddingRight:function(t,e){return t<e.table.widths.length-1?4:0}},headerLineOnly:{hLineWidth:function(t,e){return 0===t||t===e.table.body.length?0:t===e.table.headerRows?2:0},vLineWidth:function(t){return 0},paddingLeft:function(t){return 0===t?0:8},paddingRight:function(t,e){return t===e.table.widths.length-1?0:8}},lightHorizontalLines:{hLineWidth:function(t,e){return 0===t||t===e.table.body.length?0:t===e.table.headerRows?2:1},vLineWidth:function(t){return 0},hLineColor:function(t){return 1===t?"black":"#aaa"},paddingLeft:function(t){return 0===t?0:8},paddingRight:function(t,e){return t===e.table.widths.length-1?0:8}}}),e.tableLayouts&&u.registerTableLayouts(e.tableLayouts);var p,g,_,k,C=u.layoutDocument(t.content,this.fontProvider,t.styles||{},t.defaultStyle||{fontSize:12,font:"Roboto"},t.background,t.header,t.footer,t.images,t.watermark,t.pageBreakBefore),A=t.maxPagesNumber||-1;if(f(A)&&A>-1&&(C=C.slice(0,A)),n.height===1/0){var P=(p=C,g=t.pageMargins,_=y(g||40),k=_.top+_.bottom,p.forEach(function(t){t.items.forEach(function(t){var e;k+=c((e=t).item.getHeight)?e.item.getHeight():e.item._height?e.item._height:0})}),k);this.pdfKitDoc.options.size=[n.width,P]}if(function(t,e,n,r){n._pdfMakePages=t,n.addPage();var i=0;r&&t.forEach(function(t){i+=t.items.length});var a=0;r=r||function(){};for(var o=0;o<t.length;o++){o>0&&(v(t[o],n),n.addPage(n.options));for(var s=t[o],l=0,u=s.items.length;l<u;l++){var c=s.items[l];switch(c.type){case"vector":w(c.item,n);break;case"line":b(c.item,c.item.x,c.item.y,n);break;case"image":x(c.item,c.item.x,c.item.y,n);break;case"beginClip":S(c.item,n);break;case"endClip":n.restore()}r(++a/i)}s.watermark&&m(s,n)}}(C,this.fontProvider,this.pdfKitDoc,e.progressCallback),e.autoPrint){var E=this.pdfKitDoc.ref({Type:"Action",S:"Named",N:"Print"});this.pdfKitDoc._root.data.OpenAction=E,E.end()}return this.pdfKitDoc},t.exports=g},function(t,e,n){"use strict";var r=n(0).isArray;function i(t,e){for(var n in this.fonts={},this.pdfKitDoc=e,this.fontCache={},t)if(t.hasOwnProperty(n)){var r=t[n];this.fonts[n]={normal:r.normal,bold:r.bold,italics:r.italics,bolditalics:r.bolditalics}}}i.prototype.provideFont=function(t,e,n){var i,a,o,s=(a=n,o="normal",(i=e)&&a?o="bolditalics":i?o="bold":a&&(o="italics"),o);if(!this.fonts[t]||!this.fonts[t][s])throw new Error("Font '"+t+"' in style '"+s+"' is not defined in the font section of the document definition.");if(this.fontCache[t]=this.fontCache[t]||{},!this.fontCache[t][s]){var l=this.fonts[t][s];r(l)||(l=[l]),this.fontCache[t][s]=this.pdfKitDoc.font.apply(this.pdfKitDoc,l)._font}return this.fontCache[t][s]},t.exports=i},function(t,e,n){"use strict";var r=n(77),i=n(129),a=n(130),o=n(81),s=n(135),l=n(44),u=n(137),c=n(82),h=n(0).isString,f=n(0).isArray,d=n(0).pack,p=n(0).offsetVector,g=n(0).fontStringify,y=n(0).isFunction,v=n(42),b=n(80);function m(t,e){e.forEach(function(e){t.push(e)})}function w(t,e,n){this.pageSize=t,this.pageMargins=e,this.tracker=new r,this.imageMeasure=n,this.tableLayouts={}}w.prototype.registerTableLayouts=function(t){this.tableLayouts=d(this.tableLayouts,t)},w.prototype.layoutDocument=function(t,e,n,r,o,s,l,u,c,h){function d(t,e){return!!y(h)&&((t=t.filter(function(t){return t.positions.length>0})).forEach(function(t){var n={};["id","text","ul","ol","table","image","qr","canvas","columns","headlineLevel","style","pageBreak","pageOrientation","width","height"].forEach(function(e){void 0!==t[e]&&(n[e]=t[e])}),n.startPosition=t.positions[0],n.pageNumbers=t.positions.map(function(t){return t.pageNumber}).filter(function(t,e,n){return n.indexOf(t)===e}),n.pages=e.length,n.stack=f(t.stack),t.nodeInfo=n}),t.some(function(t,e,n){if("before"!==t.pageBreak&&!t.pageBreakCalculated){t.pageBreakCalculated=!0;var r=t.nodeInfo.pageNumbers[0],i=n.slice(e+1).filter(function(t){return t.nodeInfo.pageNumbers.indexOf(r)>-1}),a=n.slice(e+1).filter(function(t){return t.nodeInfo.pageNumbers.indexOf(r+1)>-1}),o=n.slice(0,e).filter(function(t){return t.nodeInfo.pageNumbers.indexOf(r)>-1});if(h(t.nodeInfo,i.map(function(t){return t.nodeInfo}),a.map(function(t){return t.nodeInfo}),o.map(function(t){return t.nodeInfo})))return t.pageBreak="before",!0}}))}this.docPreprocessor=new i,this.docMeasure=new a(e,n,r,this.imageMeasure,this.tableLayouts,u);for(var p=this.tryLayoutDocument(t,e,n,r,o,s,l,u,c);d(p.linearNodeList,p.pages);)p.linearNodeList.forEach(function(t){t.resetXY()}),p=this.tryLayoutDocument(t,e,n,r,o,s,l,u,c);return p.pages},w.prototype.tryLayoutDocument=function(t,e,n,r,i,a,l,u,c,h){this.linearNodeList=[],t=this.docPreprocessor.preprocessDocument(t),t=this.docMeasure.measureDocument(t),this.writer=new s(new o(this.pageSize,this.pageMargins),this.tracker);var f=this;return this.writer.context().tracker.startTracking("pageAdded",function(){f.addBackground(i)}),this.addBackground(i),this.processNode(t),this.addHeadersAndFooters(a,l),null!=c&&this.addWatermark(c,e,r),{pages:this.writer.context().pages,linearNodeList:this.linearNodeList}},w.prototype.addBackground=function(t){var e=(y(t)?t:function(){return t})(this.writer.context().page+1);if(e){var n=this.writer.context().getCurrentPage().pageSize;this.writer.beginUnbreakableBlock(n.width,n.height),e=this.docPreprocessor.preprocessDocument(e),this.processNode(this.docMeasure.measureDocument(e)),this.writer.commitUnbreakableBlock(0,0),this.writer.context().hasBackground=!0}},w.prototype.addStaticRepeatable=function(t,e){this.addDynamicRepeatable(function(){return JSON.parse(JSON.stringify(t))},e)},w.prototype.addDynamicRepeatable=function(t,e){for(var n=0,r=this.writer.context().pages.length;n<r;n++){this.writer.context().page=n;var i=t(n+1,r,this.writer.context().pages[n].pageSize);if(i){var a=e(this.writer.context().getCurrentPage().pageSize,this.pageMargins);this.writer.beginUnbreakableBlock(a.width,a.height),i=this.docPreprocessor.preprocessDocument(i),this.processNode(this.docMeasure.measureDocument(i)),this.writer.commitUnbreakableBlock(a.x,a.y)}}},w.prototype.addHeadersAndFooters=function(t,e){var n=function(t,e){return{x:0,y:0,width:t.width,height:e.top}},r=function(t,e){return{x:0,y:t.height-e.bottom,width:t.width,height:e.bottom}};y(t)?this.addDynamicRepeatable(t,n):t&&this.addStaticRepeatable(t,n),y(e)?this.addDynamicRepeatable(e,r):e&&this.addStaticRepeatable(e,r)},w.prototype.addWatermark=function(t,e,n){if(h(t)&&(t={text:t}),t.text){t.font=t.font||n.font||"Roboto",t.color=t.color||"black",t.opacity=t.opacity||.6,t.bold=t.bold||!1,t.italics=t.italics||!1;for(var r={text:t.text,font:e.provideFont(t.font,t.bold,t.italics),size:function(t,e,n){var r,i=t.width,a=t.height,o=.8*Math.sqrt(i*i+a*a),s=new v(n),l=new b(null,{font:e.font,bold:e.bold,italics:e.italics}),u=0,c=1e3,h=(u+c)/2;for(;Math.abs(u-c)>1;)l.push({fontSize:h}),(r=s.sizeOfString(e.text,l)).width>o?h=(u+(c=h))/2:r.width<o&&(h=((u=h)+c)/2),l.pop();return{size:r,fontSize:h}}(this.pageSize,t,e),color:t.color,opacity:t.opacity},i=this.writer.context().pages,a=0,o=i.length;a<o;a++)i[a].watermark=r}},w.prototype.processNode=function(t){var e,n,r,i=this;this.linearNodeList.push(t),n=(e=t).x,r=e.y,e.positions=[],f(e.canvas)&&e.canvas.forEach(function(t){var e=t.x,n=t.y,r=t.x1,i=t.y1,a=t.x2,o=t.y2;t.resetXY=function(){t.x=e,t.y=n,t.x1=r,t.y1=i,t.x2=a,t.y2=o}}),e.resetXY=function(){e.x=n,e.y=r,f(e.canvas)&&e.canvas.forEach(function(t){t.resetXY()})},function(e){var n=t._margin;"before"===t.pageBreak&&i.writer.moveToNextPage(t.pageOrientation);n&&(i.writer.context().moveDown(n[1]),i.writer.context().addMargin(n[0],n[2]));e(),n&&(i.writer.context().addMargin(-n[0],-n[2]),i.writer.context().moveDown(n[3]));"after"===t.pageBreak&&i.writer.moveToNextPage(t.pageOrientation)}(function(){var e=t.unbreakable;e&&i.writer.beginUnbreakableBlock();var n=t.absolutePosition;n&&(i.writer.context().beginDetachedBlock(),i.writer.context().moveTo(n.x||0,n.y||0));var r=t.relativePosition;if(r&&(i.writer.context().beginDetachedBlock(),i.writer.context().moveTo((r.x||0)+i.writer.context().x,(r.y||0)+i.writer.context().y)),t.stack)i.processVerticalContainer(t);else if(t.columns)i.processColumns(t);else if(t.ul)i.processList(!1,t);else if(t.ol)i.processList(!0,t);else if(t.table)i.processTable(t);else if(void 0!==t.text)i.processLeaf(t);else if(t.toc)i.processToc(t);else if(t.image)i.processImage(t);else if(t.canvas)i.processCanvas(t);else if(t.qr)i.processQr(t);else if(!t._span)throw"Unrecognized document structure: "+JSON.stringify(t,g);(n||r)&&i.writer.context().endDetachedBlock(),e&&i.writer.commitUnbreakableBlock()})},w.prototype.processVerticalContainer=function(t){var e=this;t.stack.forEach(function(n){e.processNode(n),m(t.positions,n.positions)})},w.prototype.processColumns=function(t){var e=t.columns,n=this.writer.context().availableWidth,r=function(t){if(!t)return null;var n=[];n.push(0);for(var r=e.length-1;r>0;r--)n.push(t);return n}(t._gap);r&&(n-=(r.length-1)*t._gap),l.buildColumnWidths(e,n);var i=this.processRow(e,e,r);m(t.positions,i.positions)},w.prototype.processRow=function(t,e,n,r,i,a){var o=this,s=[],l=[];return this.tracker.auto("pageChanged",function(t){for(var e,n=0,r=s.length;n<r;n++){var i=s[n];if(i.prevPage===t.prevPage){e=i;break}}e||(e=t,s.push(e));e.prevY=Math.max(e.prevY,t.prevY),e.y=Math.min(e.y,t.y)},function(){e=e||t,o.writer.context().beginColumnGroup();for(var r=0,i=t.length;r<i;r++){var s=t[r],h=e[r]._calcWidth,f=u(r);if(s.colSpan&&s.colSpan>1)for(var d=1;d<s.colSpan;d++)h+=e[++r]._calcWidth+n[r];o.writer.context().beginColumn(h,f,c(s,r)),s._span?s._columnEndingContext&&o.writer.context().markEnding(s):(o.processNode(s),m(l,s.positions))}o.writer.context().completeColumnGroup(a)}),{pageBreaks:s,positions:l};function u(t){return n&&n.length>t?n[t]:0}function c(t,e){if(t.rowSpan&&t.rowSpan>1){var n=i+t.rowSpan-1;if(n>=r.length)throw"Row span for column "+e+" (with indexes starting from 0) exceeded row count";return r[n][e]}return null}},w.prototype.processList=function(t,e){var n,r=this,i=t?e.ol:e.ul,a=e._gapSize;this.writer.context().addMargin(a.width),this.tracker.auto("lineAdded",function(t){if(n){var e=n;if(n=null,e.canvas){var i=e.canvas[0];p(i,-e._minWidth,0),r.writer.addVector(i)}else if(e._inlines){var a=new c(r.pageSize.width);a.addInline(e._inlines[0]),a.x=-e._minWidth,a.y=t.getAscenderHeight()-a.getAscenderHeight(),r.writer.addLine(a,!0)}}},function(){i.forEach(function(t){n=t.listMarker,r.processNode(t),m(e.positions,t.positions)})}),this.writer.context().addMargin(-a.width)},w.prototype.processTable=function(t){var e=new u(t);e.beginTable(this.writer);for(var n=t.table.heights,r=0,i=t.table.body.length;r<i;r++){var a;e.beginRow(r,this.writer),"auto"===(a=y(n)?n(r):f(n)?n[r]:n)&&(a=void 0);var o=this.processRow(t.table.body[r],t.table.widths,t._offsets.offsets,t.table.body,r,a);m(t.positions,o.positions),e.endRow(r,this.writer,o.pageBreaks)}e.endTable(this.writer)},w.prototype.processLeaf=function(t){var e=this.buildNextLine(t),n=e?e.getHeight():0,r=t.maxHeight||-1;for(t._tocItemRef&&(e._pageNodeRef=t._tocItemRef),t._pageRef&&(e._pageNodeRef=t._pageRef._nodeRef);e&&(-1===r||n<r);){var i=this.writer.addLine(e);t.positions.push(i),(e=this.buildNextLine(t))&&(n+=e.getHeight())}},w.prototype.processToc=function(t){t.toc.title&&this.processNode(t.toc.title),this.processNode(t.toc._table)},w.prototype.buildNextLine=function(t){function e(t){var e=t.constructor();for(var n in t)e[n]=t[n];return e}if(!t._inlines||0===t._inlines.length)return null;for(var n=new c(this.writer.context().availableWidth),r=new v(null);t._inlines&&t._inlines.length>0&&n.hasEnoughSpaceForInline(t._inlines[0]);){var i=t._inlines.shift();if(!i.noWrap&&i.text.length>1&&i.width>n.maxWidth){var a=i.width/i.text.length,o=Math.floor(n.maxWidth/a);if(o<1&&(o=1),o<i.text.length){var s=e(i);s.text=i.text.substr(o),i.text=i.text.substr(0,o),s.width=r.widthOfString(s.text,s.font,s.fontSize,s.characterSpacing,s.fontFeatures),i.width=r.widthOfString(i.text,i.font,i.fontSize,i.characterSpacing,i.fontFeatures),t._inlines.unshift(s)}}n.addInline(i)}return n.lastLineInParagraph=0===t._inlines.length,n},w.prototype.processImage=function(t){var e=this.writer.addImage(t);t.positions.push(e)},w.prototype.processCanvas=function(t){var e=t._minHeight;void 0===t.absolutePosition&&this.writer.context().availableHeight<e&&this.writer.moveToNextPage(),this.writer.alignCanvas(t),t.canvas.forEach(function(e){var n=this.writer.addVector(e);t.positions.push(n)},this),this.writer.context().moveDown(e)},w.prototype.processQr=function(t){var e=this.writer.addQr(t);t.positions.push(e)},t.exports=w},function(t,e,n){"use strict";(function(e){var r=n(0).isString,i=n(0).isNumber,a=n(0).isBoolean,o=n(0).isArray,s=n(0).isUndefined,l=n(0).fontStringify;function u(){}u.prototype.preprocessDocument=function(t){return this.tocs=[],this.nodeReferences=[],this.preprocessNode(t)},u.prototype.preprocessNode=function(t){if(o(t)?t={stack:t}:r(t)?t={text:t}:i(t)||a(t)?t={text:t.toString()}:null===t?t={text:""}:0===Object.keys(t).length&&(t={text:""}),t.columns)return this.preprocessColumns(t);if(t.stack)return this.preprocessVerticalContainer(t);if(t.ul)return this.preprocessList(t);if(t.ol)return this.preprocessList(t);if(t.table)return this.preprocessTable(t);if(void 0!==t.text)return this.preprocessText(t);if(t.toc)return this.preprocessToc(t);if(t.image)return this.preprocessImage(t);if(t.canvas)return this.preprocessCanvas(t);if(t.qr)return this.preprocessQr(t);if(t.pageReference||t.textReference)return this.preprocessText(t);throw"Unrecognized document structure: "+JSON.stringify(t,l)},u.prototype.preprocessColumns=function(t){for(var e=t.columns,n=0,r=e.length;n<r;n++)e[n]=this.preprocessNode(e[n]);return t},u.prototype.preprocessVerticalContainer=function(t){for(var e=t.stack,n=0,r=e.length;n<r;n++)e[n]=this.preprocessNode(e[n]);return t},u.prototype.preprocessList=function(t){for(var e=t.ul||t.ol,n=0,r=e.length;n<r;n++)e[n]=this.preprocessNode(e[n]);return t},u.prototype.preprocessTable=function(t){var e,n,r,i;for(e=0,r=t.table.body[0].length;e<r;e++)for(n=0,i=t.table.body.length;n<i;n++){var a=t.table.body[n],o=a[e];void 0!==o&&(null===o&&(o=""),o._span||(a[e]=this.preprocessNode(o)))}return t},u.prototype.preprocessText=function(t){if(t.tocItem){o(t.tocItem)||(t.tocItem=[t.tocItem]);for(var e=0,n=t.tocItem.length;e<n;e++){r(t.tocItem[e])||(t.tocItem[e]="_default_");var i=t.tocItem[e];this.tocs[i]||(this.tocs[i]={toc:{_items:[],_pseudo:!0}}),this.tocs[i].toc._items.push(t)}}if(t.id)if(this.nodeReferences[t.id]){if(!this.nodeReferences[t.id]._pseudo)throw"Node id '"+t.id+"' already exists";this.nodeReferences[t.id]._nodeRef=t,this.nodeReferences[t.id]._pseudo=!1}else this.nodeReferences[t.id]={_nodeRef:t};return t.pageReference&&(this.nodeReferences[t.pageReference]||(this.nodeReferences[t.pageReference]={_nodeRef:{},_pseudo:!0}),t.text="00000",t._pageRef=this.nodeReferences[t.pageReference]),t.textReference&&(this.nodeReferences[t.textReference]||(this.nodeReferences[t.textReference]={_nodeRef:{},_pseudo:!0}),t.text="",t._textRef=this.nodeReferences[t.textReference]),t.text&&t.text.text&&(t.text=[this.preprocessNode(t.text)]),t},u.prototype.preprocessToc=function(t){if(t.toc.id||(t.toc.id="_default_"),t.toc.title=t.toc.title?this.preprocessNode(t.toc.title):null,t.toc._items=[],this.tocs[t.toc.id]){if(!this.tocs[t.toc.id].toc._pseudo)throw"TOC '"+t.toc.id+"' already exists";t.toc._items=this.tocs[t.toc.id].toc._items}return this.tocs[t.toc.id]=t,t},u.prototype.preprocessImage=function(t){return s(t.image.type)||s(t.image.data)||"Buffer"!==t.image.type||!o(t.image.data)||(t.image=e.from(t.image.data)),t},u.prototype.preprocessCanvas=function(t){return t},u.prototype.preprocessQr=function(t){return t},t.exports=u}).call(e,n(1).Buffer)},function(t,e,n){"use strict";var r=n(42),i=n(80),a=n(44),o=n(0).isString,s=n(0).isNumber,l=n(0).isObject,u=n(0).isArray,c=n(0).fontStringify,h=n(0).pack,f=n(134);function d(t,e,n,a,o,s){this.textTools=new r(t),this.styleStack=new i(e,n),this.imageMeasure=a,this.tableLayouts=o,this.images=s,this.autoImageIndex=1}d.prototype.measureDocument=function(t){return this.measureNode(t)},d.prototype.measureNode=function(t){var e=this;return this.styleStack.auto(t,function(){if(t._margin=function(){function n(t,e){return t.marginLeft||t.marginTop||t.marginRight||t.marginBottom?[t.marginLeft||e[0]||0,t.marginTop||e[1]||0,t.marginRight||e[2]||0,t.marginBottom||e[3]||0]:e}function r(t){return s(t)?t=[t,t,t,t]:u(t)&&2===t.length&&(t=[t[0],t[1],t[0],t[1]]),t}var i=[void 0,void 0,void 0,void 0];if(t.style){var a=u(t.style)?t.style:[t.style],o=function(t){for(var n={},r=t.length-1;r>=0;r--){var i=t[r],a=e.styleStack.styleDictionary[i];for(var o in a)a.hasOwnProperty(o)&&(n[o]=a[o])}return n}(a);o&&(i=n(o,i)),o.margin&&(i=r(o.margin))}i=n(t,i),t.margin&&(i=r(t.margin));return void 0===i[0]&&void 0===i[1]&&void 0===i[2]&&void 0===i[3]?null:i}(),t.columns)return n(e.measureColumns(t));if(t.stack)return n(e.measureVerticalContainer(t));if(t.ul)return n(e.measureUnorderedList(t));if(t.ol)return n(e.measureOrderedList(t));if(t.table)return n(e.measureTable(t));if(void 0!==t.text)return n(e.measureLeaf(t));if(t.toc)return n(e.measureToc(t));if(t.image)return n(e.measureImage(t));if(t.canvas)return n(e.measureCanvas(t));if(t.qr)return n(e.measureQr(t));throw"Unrecognized document structure: "+JSON.stringify(t,c)});function n(t){var e=t._margin;return e&&(t._minWidth+=e[0]+e[2],t._maxWidth+=e[0]+e[2]),t}},d.prototype.convertIfBase64Image=function(t){if(/^data:image\/(jpeg|jpg|png);base64,/.test(t.image)){var e="$$pdfmake$$"+this.autoImageIndex++;this.images[e]=t.image,t.image=e}},d.prototype.measureImage=function(t){this.images&&this.convertIfBase64Image(t);var e=this.imageMeasure.measureImage(t.image);if(t.fit){var n=e.width/e.height>t.fit[0]/t.fit[1]?t.fit[0]/e.width:t.fit[1]/e.height;t._width=t._minWidth=t._maxWidth=e.width*n,t._height=e.height*n}else t._width=t._minWidth=t._maxWidth=t.width||e.width,t._height=t.height||e.height*t._width/e.width,s(t.maxWidth)&&t.maxWidth<t._width&&(t._width=t._minWidth=t._maxWidth=t.maxWidth,t._height=t._width*e.height/e.width),s(t.maxHeight)&&t.maxHeight<t._height&&(t._height=t.maxHeight,t._width=t._minWidth=t._maxWidth=t._height*e.width/e.height),s(t.minWidth)&&t.minWidth>t._width&&(t._width=t._minWidth=t._maxWidth=t.minWidth,t._height=t._width*e.height/e.width),s(t.minHeight)&&t.minHeight>t._height&&(t._height=t.minHeight,t._width=t._minWidth=t._maxWidth=t._height*e.width/e.height);return t._alignment=this.styleStack.getProperty("alignment"),t},d.prototype.measureLeaf=function(t){t._textRef&&t._textRef._nodeRef.text&&(t.text=t._textRef._nodeRef.text);var e=this.styleStack.clone();e.push(t);var n=this.textTools.buildInlines(t.text,e);return t._inlines=n.items,t._minWidth=n.minWidth,t._maxWidth=n.maxWidth,t},d.prototype.measureToc=function(t){t.toc.title&&(t.toc.title=this.measureNode(t.toc.title));for(var e=[],n=t.toc.textStyle||{},r=t.toc.numberStyle||n,i=t.toc.textMargin||[0,0,0,0],a=0,o=t.toc._items.length;a<o;a++){var s=t.toc._items[a],l=t.toc._items[a].tocStyle||n,u=t.toc._items[a].tocMargin||i;e.push([{text:s.text,alignment:"left",style:l,margin:u},{text:"00000",alignment:"right",_tocItemRef:s,style:r,margin:[0,u[1],0,u[3]]}])}return t.toc._table={table:{dontBreakRows:!0,widths:["*","auto"],body:e},layout:"noBorders"},t.toc._table=this.measureNode(t.toc._table),t},d.prototype.measureVerticalContainer=function(t){var e=t.stack;t._minWidth=0,t._maxWidth=0;for(var n=0,r=e.length;n<r;n++)e[n]=this.measureNode(e[n]),t._minWidth=Math.max(t._minWidth,e[n]._minWidth),t._maxWidth=Math.max(t._maxWidth,e[n]._maxWidth);return t},d.prototype.gapSizeForList=function(){return this.textTools.sizeOfString("9. ",this.styleStack)},d.prototype.buildUnorderedMarker=function(t,e,n){var r,i,a,o,s,l,u,c,h,f,d=t.getProperty("markerColor")||t.getProperty("color")||"black";switch(n){case"circle":h=d,r={canvas:[{x:f=(c=e).fontSize/6,y:c.height/c.lineHeight+c.descender-c.fontSize/3,r1:f,r2:f,type:"ellipse",lineColor:h}]};break;case"square":l=d,u=(s=e).fontSize/3,r={canvas:[{x:0,y:s.height/s.lineHeight+s.descender-s.fontSize/3-u/2,h:u,w:u,type:"rect",color:l}]};break;case"none":r={};break;case"disc":default:a=d,r={canvas:[{x:o=(i=e).fontSize/6,y:i.height/i.lineHeight+i.descender-i.fontSize/3,r1:o,r2:o,type:"ellipse",color:a}]}}return r._minWidth=r._maxWidth=e.width,r._minHeight=r._maxHeight=e.height,r},d.prototype.buildOrderedMarker=function(t,e,n,r){function i(t){return t<1?t.toString():function t(e){return(e>=26?t((e/26>>0)-1):"")+"abcdefghijklmnopqrstuvwxyz"[e%26>>0]}(t-1)}function a(t){if(t<1||t>4999)return t.toString();var e,n=t,r={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},i="";for(e in r)for(;n>=r[e];)i+=e,n-=r[e];return i}var o;switch(n){case"none":o=null;break;case"upper-alpha":o=i(t).toUpperCase();break;case"lower-alpha":o=i(t);break;case"upper-roman":o=a(t);break;case"lower-roman":o=a(t).toLowerCase();break;case"decimal":default:o=t.toString()}if(null===o)return{};r&&(u(r)?(r[0]&&(o=r[0]+o),r[1]&&(o+=r[1]),o+=" "):o+=r+" ");var s={text:o},l=e.getProperty("markerColor");return l&&(s.color=l),{_inlines:this.textTools.buildInlines(s,e).items}},d.prototype.measureUnorderedList=function(t){var e=this.styleStack.clone(),n=t.ul;t.type=t.type||"disc",t._gapSize=this.gapSizeForList(),t._minWidth=0,t._maxWidth=0;for(var r=0,i=n.length;r<i;r++){var a=n[r]=this.measureNode(n[r]);a.ol||a.ul||(a.listMarker=this.buildUnorderedMarker(e,t._gapSize,a.listType||t.type)),t._minWidth=Math.max(t._minWidth,n[r]._minWidth+t._gapSize.width),t._maxWidth=Math.max(t._maxWidth,n[r]._maxWidth+t._gapSize.width)}return t},d.prototype.measureOrderedList=function(t){var e=this.styleStack.clone(),n=t.ol;t.type=t.type||"decimal",t.separator=t.separator||".",t.reversed=t.reversed||!1,t.start||(t.start=t.reversed?n.length:1),t._gapSize=this.gapSizeForList(),t._minWidth=0,t._maxWidth=0;for(var r=t.start,i=0,a=n.length;i<a;i++){(o=n[i]=this.measureNode(n[i])).ol||o.ul||(o.listMarker=this.buildOrderedMarker(o.counter||r,e,o.listType||t.type,t.separator),o.listMarker._inlines&&(t._gapSize.width=Math.max(t._gapSize.width,o.listMarker._inlines[0].width))),t._minWidth=Math.max(t._minWidth,n[i]._minWidth),t._maxWidth=Math.max(t._maxWidth,n[i]._maxWidth),t.reversed?r--:r++}t._minWidth+=t._gapSize.width,t._maxWidth+=t._gapSize.width;for(i=0,a=n.length;i<a;i++){var o;(o=n[i]).ol||o.ul||(o.listMarker._minWidth=o.listMarker._maxWidth=t._gapSize.width)}return t},d.prototype.measureColumns=function(t){var e=t.columns;t._gap=this.styleStack.getProperty("columnGap")||0;for(var n=0,r=e.length;n<r;n++)e[n]=this.measureNode(e[n]);var i=a.measureMinMax(e),o=e.length>0?e.length-1:0;return t._minWidth=i.min+t._gap*o,t._maxWidth=i.max+t._gap*o,t},d.prototype.measureTable=function(t){!function(t){t.table.widths||(t.table.widths="auto");if(o(t.table.widths))for(t.table.widths=[t.table.widths];t.table.widths.length<t.table.body[0].length;)t.table.widths.push(t.table.widths[t.table.widths.length-1]);for(var e=0,n=t.table.widths.length;e<n;e++){var r=t.table.widths[e];(s(r)||o(r))&&(t.table.widths[e]={width:r})}}(t),t._layout=function(e){var n=t.layout;o(n)&&(n=e[n]);return h({hLineWidth:function(t,e){return 1},vLineWidth:function(t,e){return 1},hLineColor:function(t,e){return"black"},vLineColor:function(t,e){return"black"},paddingLeft:function(t,e){return 4},paddingRight:function(t,e){return 4},paddingTop:function(t,e){return 2},paddingBottom:function(t,e){return 2},fillColor:function(t,e){return null},defaultBorder:!0},n)}(this.tableLayouts),t._offsets=function(e){for(var n=[],r=0,i=0,a=0,o=t.table.widths.length;a<o;a++){var s=i+e.vLineWidth(a,t)+e.paddingLeft(a,t);n.push(s),r+=s,i=e.paddingRight(a,t)}return{total:r+=i+e.vLineWidth(t.table.widths.length,t),offsets:n}}(t._layout);var e,n,r,i,u=[];for(e=0,r=t.table.body[0].length;e<r;e++){var c=t.table.widths[e];for(c._minWidth=0,c._maxWidth=0,n=0,i=t.table.body.length;n<i;n++){var f=t.table.body[n],d=f[e];if(void 0===d)throw"Malformed table row, a cell is undefined.";null===d&&(d=""),d._span||((d=f[e]=this.styleStack.auto(d,g(this,d))).colSpan&&d.colSpan>1?(v(f,e,d.colSpan),u.push({col:e,span:d.colSpan,minWidth:d._minWidth,maxWidth:d._maxWidth})):(c._minWidth=Math.max(c._minWidth,d._minWidth),c._maxWidth=Math.max(c._maxWidth,d._maxWidth))),d.rowSpan&&d.rowSpan>1&&b(t.table,n,e,d.rowSpan)}}!function(){for(var e,n,r=0,i=u.length;r<i;r++){var a=u[r],o=y(a.col,a.span,t._offsets),s=a.minWidth-o.minWidth,l=a.maxWidth-o.maxWidth;if(s>0)for(e=s/a.span,n=0;n<a.span;n++)t.table.widths[a.col+n]._minWidth+=e;if(l>0)for(e=l/a.span,n=0;n<a.span;n++)t.table.widths[a.col+n]._maxWidth+=e}}();var p=a.measureMinMax(t.table.widths);return t._minWidth=p.min+t._offsets.total,t._maxWidth=p.max+t._offsets.total,t;function g(t,e){return function(){return l(e)&&(e.fillColor=t.styleStack.getProperty("fillColor")),t.measureNode(e)}}function y(e,n,r){for(var i={minWidth:0,maxWidth:0},a=0;a<n;a++)i.minWidth+=t.table.widths[e+a]._minWidth+(a?r.offsets[e+a]:0),i.maxWidth+=t.table.widths[e+a]._maxWidth+(a?r.offsets[e+a]:0);return i}function v(t,e,n){for(var r=1;r<n;r++)t[e+r]={_span:!0,_minWidth:0,_maxWidth:0,rowSpan:t[e].rowSpan}}function b(t,e,n,r){for(var i=1;i<r;i++)t.body[e+i][n]={_span:!0,_minWidth:0,_maxWidth:0,fillColor:t.body[e][n].fillColor}}},d.prototype.measureCanvas=function(t){for(var e=0,n=0,r=0,i=t.canvas.length;r<i;r++){var a=t.canvas[r];switch(a.type){case"ellipse":e=Math.max(e,a.x+a.r1),n=Math.max(n,a.y+a.r2);break;case"rect":e=Math.max(e,a.x+a.w),n=Math.max(n,a.y+a.h);break;case"line":e=Math.max(e,a.x1,a.x2),n=Math.max(n,a.y1,a.y2);break;case"polyline":for(var o=0,s=a.points.length;o<s;o++)e=Math.max(e,a.points[o].x),n=Math.max(n,a.points[o].y)}}return t._minWidth=t._maxWidth=e,t._minHeight=t._maxHeight=n,t._alignment=this.styleStack.getProperty("alignment"),t},d.prototype.measureQr=function(t){return(t=f.measure(t))._alignment=this.styleStack.getProperty("alignment"),t},t.exports=d},function(t,e,n){var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";!function(t){"use strict";var e="undefined"!=typeof Uint8Array?Uint8Array:Array,n="+".charCodeAt(0),i="/".charCodeAt(0),a="0".charCodeAt(0),o="a".charCodeAt(0),s="A".charCodeAt(0),l="-".charCodeAt(0),u="_".charCodeAt(0);function c(t){var e=t.charCodeAt(0);return e===n||e===l?62:e===i||e===u?63:e<a?-1:e<a+10?e-a+26+26:e<s+26?e-s:e<o+26?e-o+26:void 0}t.toByteArray=function(t){var n,r,i,a,o,s;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var l=t.length;o="="===t.charAt(l-2)?2:"="===t.charAt(l-1)?1:0,s=new e(3*t.length/4-o),i=o>0?t.length-4:t.length;var u=0;function h(t){s[u++]=t}for(n=0,r=0;n<i;n+=4,r+=3)h((16711680&(a=c(t.charAt(n))<<18|c(t.charAt(n+1))<<12|c(t.charAt(n+2))<<6|c(t.charAt(n+3))))>>16),h((65280&a)>>8),h(255&a);return 2===o?h(255&(a=c(t.charAt(n))<<2|c(t.charAt(n+1))>>4)):1===o&&(h((a=c(t.charAt(n))<<10|c(t.charAt(n+1))<<4|c(t.charAt(n+2))>>2)>>8&255),h(255&a)),s},t.fromByteArray=function(t){var e,n,i,a,o=t.length%3,s="";function l(t){return r.charAt(t)}for(e=0,i=t.length-o;e<i;e+=3)n=(t[e]<<16)+(t[e+1]<<8)+t[e+2],s+=l((a=n)>>18&63)+l(a>>12&63)+l(a>>6&63)+l(63&a);switch(o){case 1:s+=l((n=t[t.length-1])>>2),s+=l(n<<4&63),s+="==";break;case 2:s+=l((n=(t[t.length-2]<<8)+t[t.length-1])>>10),s+=l(n>>4&63),s+=l(n<<2&63),s+="="}return s}}(e)},function(t,e){(function(){e.OP=0,e.CL=1,e.CP=2,e.QU=3,e.GL=4,e.NS=5,e.EX=6,e.SY=7,e.IS=8,e.PR=9,e.PO=10,e.NU=11,e.AL=12,e.HL=13,e.ID=14,e.IN=15,e.HY=16,e.BA=17,e.BB=18,e.B2=19,e.ZW=20,e.CM=21,e.WJ=22,e.H2=23,e.H3=24,e.JL=25,e.JV=26,e.JT=27,e.RI=28,e.AI=29,e.BK=30,e.CB=31,e.CJ=32,e.CR=33,e.LF=34,e.NL=35,e.SA=36,e.SG=37,e.SP=38,e.XX=39}).call(this)},function(t,e){(function(){e.DI_BRK=0,e.IN_BRK=1,e.CI_BRK=2,e.CP_BRK=3,e.PR_BRK=4,e.pairTable=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,0,1,1,0,0,4,2,4,1,1,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,4,4,2,4,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,0,1,1,0,0,4,2,4,0,0,0,0,0,1]]}).call(this)},function(t,e,n){"use strict";for(var r=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],i=1,a=2,o=4,s=/^\d*$/,l=/^[A-Za-z0-9 $%*+\-./:]*$/,u=/^[A-Z0-9 $%*+\-./:]*$/,c=1,h=0,f=3,d=2,p=[],g=[-1],y=0,v=1;y<255;++y)p.push(v),g[v]=y,v=2*v^(v>=128?285:0);var b=[[]];for(y=0;y<30;++y){for(var m=b[y],w=[],x=0;x<=y;++x){var S=x<y?p[m[x]]:0,_=p[(y+(m[x-1]||0))%255];w.push(g[S^_])}b.push(w)}var k={};for(y=0;y<45;++y)k["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(y)]=y;var C=[function(t,e){return(t+e)%2==0},function(t,e){return t%2==0},function(t,e){return e%3==0},function(t,e){return(t+e)%3==0},function(t,e){return((t/2|0)+(e/3|0))%2==0},function(t,e){return t*e%2+t*e%3==0},function(t,e){return(t*e%2+t*e%3)%2==0},function(t,e){return((t+e)%2+t*e%3)%2==0}],A=function(t){return t>6},P=function(t,e){var n,i,a,o=-8&(i=r[n=t],a=16*n*n+128*n+64,A(n)&&(a-=36),i[2].length&&(a-=25*i[2].length*i[2].length-10*i[2].length-55),a),s=r[t];return o-=8*s[0][e]*s[1][e]},E=function(t,e){switch(e){case i:return t<10?10:t<27?12:14;case a:return t<10?9:t<27?11:13;case o:return t<10?8:16;case 8:return t<10?8:t<27?10:12}},I=function(t,e,n){var r=P(t,n)-4-E(t,e);switch(e){case i:return 3*(r/10|0)+(r%10<4?0:r%10<7?1:2);case a:return 2*(r/11|0)+(r%11<6?0:1);case o:return r/8|0;case 8:return r/13|0}},T=function(t,e){switch(t){case i:return e.match(s)?e:null;case a:return e.match(l)?e.toUpperCase():null;case o:if("string"==typeof e){for(var n=[],r=0;r<e.length;++r){var u=e.charCodeAt(r);u<128?n.push(u):u<2048?n.push(192|u>>6,128|63&u):u<65536?n.push(224|u>>12,128|u>>6&63,128|63&u):n.push(240|u>>18,128|u>>12&63,128|u>>6&63,128|63&u)}return n}return e}},O=function(t,e){for(var n=t.slice(0),r=t.length,i=e.length,a=0;a<i;++a)n.push(0);for(a=0;a<r;){var o=g[n[a++]];if(o>=0)for(var s=0;s<i;++s)n[a+s]^=p[(o+e[s])%255]}return n.slice(r)},L=function(t,e,n,r){for(var i=t<<r,a=e-1;a>=0;--a)i>>r+a&1&&(i^=n<<a);return t<<r|i},B=function(t,e,n){for(var r=C[n],i=t.length,a=0;a<i;++a)for(var o=0;o<i;++o)e[a][o]||(t[a][o]^=r(a,o));return t},M=function(t,e,n,r){for(var i=t.length,a=21522^L(n<<3|r,5,1335,10),o=0;o<15;++o){var s=[i-1,i-2,i-3,i-4,i-5,i-6,i-7,i-8,7,5,4,3,2,1,0][o];t[[0,1,2,3,4,5,7,8,i-7,i-6,i-5,i-4,i-3,i-2,i-1][o]][8]=t[8][s]=a>>o&1}return t},R=function(t){for(var e=function(t){for(var e=0,n=0;n<t.length;++n)t[n]>=5&&(e+=t[n]-5+3);for(n=5;n<t.length;n+=2){var r=t[n];t[n-1]==r&&t[n-2]==3*r&&t[n-3]==r&&t[n-4]==r&&(t[n-5]>=4*r||t[n+1]>=4*r)&&(e+=40)}return e},n=t.length,r=0,i=0,a=0;a<n;++a){var o,s=t[a];o=[0];for(var l=0;l<n;){for(u=0;l<n&&s[l];++u)++l;for(o.push(u),u=0;l<n&&!s[l];++u)++l;o.push(u)}r+=e(o),o=[0];for(l=0;l<n;){var u;for(u=0;l<n&&t[l][a];++u)++l;for(o.push(u),u=0;l<n&&!t[l][a];++u)++l;o.push(u)}r+=e(o);var c=t[a+1]||[];i+=s[0];for(l=1;l<n;++l){var h=s[l];i+=h,s[l-1]==h&&c[l]===h&&c[l-1]===h&&(r+=3)}}return r+=10*(Math.abs(i/n/n-.5)/.05|0)},F=function(t,e,n,s,l){var u=r[e],c=function(t,e,n,r){var s=[],l=0,u=8,c=n.length,h=function(t,e){if(e>=u){for(s.push(l|t>>(e-=u));e>=8;)s.push(t>>(e-=8)&255);l=0,u=8}e>0&&(l|=(t&(1<<e)-1)<<(u-=e))},f=E(t,e);switch(h(e,4),h(c,f),e){case i:for(var d=2;d<c;d+=3)h(parseInt(n.substring(d-2,d+1),10),10);h(parseInt(n.substring(d-2),10),[0,4,7][c%3]);break;case a:for(d=1;d<c;d+=2)h(45*k[n.charAt(d-1)]+k[n.charAt(d)],11);c%2==1&&h(k[n.charAt(d-1)],6);break;case o:for(d=0;d<c;++d)h(n[d],8)}for(h(0,4),u<8&&s.push(l);s.length+1<r;)s.push(236,17);return s.length<r&&s.push(236),s}(e,n,t,P(e,s)>>3);c=function(t,e,n){for(var r=[],i=t.length/e|0,a=0,o=e-t.length%e,s=0;s<o;++s)r.push(a),a+=i;for(s=o;s<e;++s)r.push(a),a+=i+1;r.push(a);var l=[];for(s=0;s<e;++s)l.push(O(t.slice(r[s],r[s+1]),n));var u=[],c=t.length/e|0;for(s=0;s<c;++s)for(var h=0;h<e;++h)u.push(t[r[h]+s]);for(h=o;h<e;++h)u.push(t[r[h+1]-1]);for(s=0;s<n.length;++s)for(h=0;h<e;++h)u.push(l[h][s]);return u}(c,u[1][s],b[u[0][s]]);var h=function(t){for(var e=r[t],n=4*t+17,i=[],a=[],o=0;o<n;++o)i.push([]),a.push([]);var s=function(t,e,n,r,o){for(var s=0;s<n;++s)for(var l=0;l<r;++l)i[t+s][e+l]=o[s]>>l&1,a[t+s][e+l]=1};s(0,0,9,9,[127,65,93,93,93,65,383,0,64]),s(n-8,0,8,9,[256,127,65,93,93,93,65,127]),s(0,n-8,9,8,[254,130,186,186,186,130,254,0,0]);for(o=9;o<n-8;++o)i[6][o]=i[o][6]=1&~o,a[6][o]=a[o][6]=1;var l=e[2],u=l.length;for(o=0;o<u;++o)for(var c=0===o?u-1:u,h=0===o||o===u-1?1:0;h<c;++h)s(l[o],l[h],5,5,[31,17,21,17,31]);if(A(t)){var f=L(t,6,7973,12),d=0;for(o=0;o<6;++o)for(h=0;h<3;++h)i[o][n-11+h]=i[n-11+h][o]=f>>d++&1,a[o][n-11+h]=a[n-11+h][o]=1}return{matrix:i,reserved:a}}(e),f=h.matrix,d=h.reserved;if(function(t,e,n){for(var r=t.length,i=0,a=-1,o=r-1;o>=0;o-=2){6==o&&--o;for(var s=a<0?r-1:0,l=0;l<r;++l){for(var u=o;u>o-2;--u)e[s][u]||(t[s][u]=n[i>>3]>>(7&~i)&1,++i);s+=a}a=-a}}(f,d,c),l<0){B(f,d,0),M(f,0,s,0);var p=0,g=R(f);for(B(f,d,0),l=1;l<8;++l){B(f,d,l),M(f,0,s,l);var y=R(f);g>y&&(g=y,p=l),B(f,d,l)}l=p}return B(f,d,l),M(f,0,s,l),f};function D(t,e){var n=[],r=e.background||"#fff",l=e.foreground||"#000",p=function(t,e){var n={numeric:i,alphanumeric:a,octet:o},r={L:c,M:h,Q:f,H:d},l=(e=e||{}).version||-1,p=r[(e.eccLevel||"L").toUpperCase()],g=e.mode?n[e.mode.toLowerCase()]:-1,y="mask"in e?e.mask:-1;if(g<0)g="string"==typeof t?t.match(s)?i:t.match(u)?a:o:o;else if(g!=i&&g!=a&&g!=o)throw"invalid or unsupported mode";if(null===(t=T(g,t)))throw"invalid data format";if(p<0||p>3)throw"invalid ECC level";if(l<0){for(l=1;l<=40&&!(t.length<=I(l,g,p));++l);if(l>40)throw"too large data for the Qr format"}else if(l<1||l>40)throw"invalid Qr version! should be between 1 and 40";if(-1!=y&&(y<0||y>8))throw"invalid mask";return F(t,l,g,p,y)}(t,e),g=p.length,y=Math.floor(e.fit?e.fit/g:5),v=g*y;n.push({type:"rect",x:0,y:0,w:v,h:v,lineWidth:0,color:r});for(var b=0;b<g;++b)for(var m=0;m<g;++m)p[b][m]&&n.push({type:"rect",x:y*m,y:y*b,w:y,h:y,lineWidth:0,color:l});return{canvas:n,size:v}}t.exports={measure:function(t){var e=D(t.qr,t);return t._canvas=e.canvas,t._width=t._height=t._minWidth=t._maxWidth=t._minHeight=t._maxHeight=e.size,t}}},function(t,e,n){"use strict";var r=n(136);function i(t,e){this.transactionLevel=0,this.repeatables=[],this.tracker=e,this.writer=new r(t,e)}function a(t,e){var n=e(t);return n||(t.moveToNextPage(),n=e(t)),n}i.prototype.addLine=function(t,e,n){return a(this,function(r){return r.writer.addLine(t,e,n)})},i.prototype.addImage=function(t,e){return a(this,function(n){return n.writer.addImage(t,e)})},i.prototype.addQr=function(t,e){return a(this,function(n){return n.writer.addQr(t,e)})},i.prototype.addVector=function(t,e,n,r){return this.writer.addVector(t,e,n,r)},i.prototype.beginClip=function(t,e){return this.writer.beginClip(t,e)},i.prototype.endClip=function(){return this.writer.endClip()},i.prototype.alignCanvas=function(t){this.writer.alignCanvas(t)},i.prototype.addFragment=function(t,e,n,r){this.writer.addFragment(t,e,n,r)||(this.moveToNextPage(),this.writer.addFragment(t,e,n,r))},i.prototype.moveToNextPage=function(t){var e=this.writer.context.moveToNextPage(t);e.newPageCreated?this.repeatables.forEach(function(t){this.writer.addFragment(t,!0)},this):this.repeatables.forEach(function(t){this.writer.context.moveDown(t.height)},this),this.writer.tracker.emit("pageChanged",{prevPage:e.prevPage,prevY:e.prevY,y:e.y})},i.prototype.beginUnbreakableBlock=function(t,e){0==this.transactionLevel++&&(this.originalX=this.writer.context.x,this.writer.pushContext(t,e))},i.prototype.commitUnbreakableBlock=function(t,e){if(0==--this.transactionLevel){var n=this.writer.context;this.writer.popContext();var r=n.pages.length;if(r>0){var i=n.pages[0];if(i.xOffset=t,i.yOffset=e,r>1)if(void 0!==t||void 0!==e)i.height=n.getCurrentPage().pageSize.height-n.pageMargins.top-n.pageMargins.bottom;else{i.height=this.writer.context.getCurrentPage().pageSize.height-this.writer.context.pageMargins.top-this.writer.context.pageMargins.bottom;for(var a=0,o=this.repeatables.length;a<o;a++)i.height-=this.repeatables[a].height}else i.height=n.y;void 0!==t||void 0!==e?this.writer.addFragment(i,!0,!0,!0):this.addFragment(i)}}},i.prototype.currentBlockToRepeatable=function(){var t=this.writer.context,e={items:[]};return t.pages[0].items.forEach(function(t){e.items.push(t)}),e.xOffset=this.originalX,e.height=t.y,e},i.prototype.pushToRepeatables=function(t){this.repeatables.push(t)},i.prototype.popFromRepeatables=function(){this.repeatables.pop()},i.prototype.context=function(){return this.writer.context},t.exports=i},function(t,e,n){"use strict";var r=n(82),i=n(0).isNumber,a=n(0).pack,o=n(0).offsetVector,s=n(81);function l(t,e){this.context=t,this.contextStack=[],this.tracker=e}function u(t,e,n){null==n||n<0||n>t.items.length?t.items.push(e):t.items.splice(n,0,e)}l.prototype.addLine=function(t,e,n){var r=t.getHeight(),i=this.context,a=i.getCurrentPage(),o=this.getCurrentPositionOnPage();return!(i.availableHeight<r||!a)&&(t.x=i.x+(t.x||0),t.y=i.y+(t.y||0),this.alignLine(t),u(a,{type:"line",item:t},n),this.tracker.emit("lineAdded",t),e||i.moveDown(r),o)},l.prototype.alignLine=function(t){var e=this.context.availableWidth,n=t.getWidth(),r=t.inlines&&t.inlines.length>0&&t.inlines[0].alignment,i=0;switch(r){case"right":i=e-n;break;case"center":i=(e-n)/2}if(i&&(t.x=(t.x||0)+i),"justify"===r&&!t.newLineForced&&!t.lastLineInParagraph&&t.inlines.length>1)for(var a=(e-n)/(t.inlines.length-1),o=1,s=t.inlines.length;o<s;o++)i=o*a,t.inlines[o].x+=i,t.inlines[o].justifyShift=a},l.prototype.addImage=function(t,e){var n=this.context,r=n.getCurrentPage(),i=this.getCurrentPositionOnPage();return!(!r||void 0===t.absolutePosition&&n.availableHeight<t._height&&r.items.length>0)&&(void 0===t._x&&(t._x=t.x||0),t.x=n.x+t._x,t.y=n.y,this.alignImage(t),u(r,{type:"image",item:t},e),n.moveDown(t._height),i)},l.prototype.addQr=function(t,e){var n=this.context,r=n.getCurrentPage(),i=this.getCurrentPositionOnPage();if(!r||void 0===t.absolutePosition&&n.availableHeight<t._height)return!1;void 0===t._x&&(t._x=t.x||0),t.x=n.x+t._x,t.y=n.y,this.alignImage(t);for(var a=0,o=t._canvas.length;a<o;a++){var s=t._canvas[a];s.x+=t.x,s.y+=t.y,this.addVector(s,!0,!0,e)}return n.moveDown(t._height),i},l.prototype.alignImage=function(t){var e=this.context.availableWidth,n=t._minWidth,r=0;switch(t._alignment){case"right":r=e-n;break;case"center":r=(e-n)/2}r&&(t.x=(t.x||0)+r)},l.prototype.alignCanvas=function(t){var e=this.context.availableWidth,n=t._minWidth,r=0;switch(t._alignment){case"right":r=e-n;break;case"center":r=(e-n)/2}r&&t.canvas.forEach(function(t){o(t,r,0)})},l.prototype.addVector=function(t,e,n,r){var i=this.context,a=i.getCurrentPage(),s=this.getCurrentPositionOnPage();if(a)return o(t,e?0:i.x,n?0:i.y),u(a,{type:"vector",item:t},r),s},l.prototype.beginClip=function(t,e){var n=this.context;return n.getCurrentPage().items.push({type:"beginClip",item:{x:n.x,y:n.y,width:t,height:e}}),!0},l.prototype.endClip=function(){return this.context.getCurrentPage().items.push({type:"endClip"}),!0},l.prototype.addFragment=function(t,e,n,i){var s=this.context,l=s.getCurrentPage();return!(!e&&t.height>s.availableHeight)&&(t.items.forEach(function(i){switch(i.type){case"line":var u=function(t){var e=new r(t.maxWidth);for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e}(i.item);u.x=(u.x||0)+(e?t.xOffset||0:s.x),u.y=(u.y||0)+(n?t.yOffset||0:s.y),l.items.push({type:"line",item:u});break;case"vector":var c=a(i.item);o(c,e?t.xOffset||0:s.x,n?t.yOffset||0:s.y),l.items.push({type:"vector",item:c});break;case"image":var h=a(i.item);h.x=(h.x||0)+(e?t.xOffset||0:s.x),h.y=(h.y||0)+(n?t.yOffset||0:s.y),l.items.push({type:"image",item:h})}}),i||s.moveDown(t.height),!0)},l.prototype.pushContext=function(t,e){void 0===t&&(e=this.context.getCurrentPage().height-this.context.pageMargins.top-this.context.pageMargins.bottom,t=this.context.availableWidth),i(t)&&(t=new s({width:t,height:e},{left:0,right:0,top:0,bottom:0})),this.contextStack.push(this.context),this.context=t},l.prototype.popContext=function(){this.context=this.contextStack.pop()},l.prototype.getCurrentPositionOnPage=function(){return(this.contextStack[0]||this.context).getCurrentPosition()},t.exports=l},function(t,e,n){"use strict";var r=n(44),i=n(0).isFunction;function a(t){this.tableNode=t}a.prototype.beginTable=function(t){var e,n,i,a=this;e=this.tableNode,this.offsets=e._offsets,this.layout=e._layout,n=t.context().availableWidth-this.offsets.total,r.buildColumnWidths(e.table.widths,n),this.tableWidth=e._offsets.total+(i=0,e.table.widths.forEach(function(t){i+=t._calcWidth}),i),this.rowSpanData=function(){var t=[],e=0,n=0;t.push({left:0,rowSpan:0});for(var r=0,i=a.tableNode.table.body[0].length;r<i;r++){var o=a.layout.paddingLeft(r,a.tableNode)+a.layout.paddingRight(r,a.tableNode),s=a.layout.vLineWidth(r,a.tableNode);n=o+s+a.tableNode.table.widths[r]._calcWidth,t[t.length-1].width=n,e+=n,t.push({left:e,rowSpan:0,width:0})}return t}(),this.cleanUpRepeatables=!1,this.headerRows=e.table.headerRows||0,this.rowsWithoutPageBreak=this.headerRows+(e.table.keepWithHeaderRows||0),this.dontBreakRows=e.table.dontBreakRows||!1,this.rowsWithoutPageBreak&&t.beginUnbreakableBlock(),function(t){for(var e=0;e<t.length;e++)for(var n=t[e],r=0;r<n.length;r++){var i=n[r];if(i.border){for(var a=i.rowSpan||1,o=i.colSpan||1,s=0;s<a;s++)void 0!==i.border[0]&&s>0&&u(e+s,r,0,i.border[0]),void 0!==i.border[2]&&u(e+s,r+o-1,2,i.border[2]);for(var l=0;l<o;l++)void 0!==i.border[1]&&l>0&&u(e,r+l,1,i.border[1]),void 0!==i.border[3]&&u(e+a-1,r+l,3,i.border[3])}}function u(e,n,r,i){var a=t[e][n];a.border=a.border||{},a.border[r]=i}}(this.tableNode.table.body),this.drawHorizontalLine(0,t)},a.prototype.onRowBreak=function(t,e){var n=this;return function(){var t=n.rowPaddingTop+(n.headerRows?0:n.topLineWidth);e.context().availableHeight-=n.reservedAtBottom,e.context().moveDown(t)}},a.prototype.beginRow=function(t,e){this.topLineWidth=this.layout.hLineWidth(t,this.tableNode),this.rowPaddingTop=this.layout.paddingTop(t,this.tableNode),this.bottomLineWidth=this.layout.hLineWidth(t+1,this.tableNode),this.rowPaddingBottom=this.layout.paddingBottom(t,this.tableNode),this.rowCallback=this.onRowBreak(t,e),e.tracker.startTracking("pageChanged",this.rowCallback),this.dontBreakRows&&e.beginUnbreakableBlock(),this.rowTopY=e.context().y,this.reservedAtBottom=this.bottomLineWidth+this.rowPaddingBottom,e.context().availableHeight-=this.reservedAtBottom,e.context().moveDown(this.rowPaddingTop)},a.prototype.drawHorizontalLine=function(t,e,n){var r=this.layout.hLineWidth(t,this.tableNode);if(r){for(var a=r/2,o=null,s=this.tableNode.table.body,l=0,u=this.rowSpanData.length;l<u;l++){var c=this.rowSpanData[l],h=!c.rowSpan;if(h&&l<u-1){var f=!1,d=!1;if(t<s.length){var p=s[t][l];f=p.border?p.border[1]:this.layout.defaultBorder}if(t>0){var g=s[t-1][l];d=g.border?g.border[3]:this.layout.defaultBorder}h=f||d}!o&&h&&(o={left:c.left,width:0}),h&&(o.width+=c.width||0);var y=(n||0)+a;h&&l!==u-1||o&&o.width&&(e.addVector({type:"line",x1:o.left,x2:o.left+o.width,y1:y,y2:y,lineWidth:r,lineColor:i(this.layout.hLineColor)?this.layout.hLineColor(t,this.tableNode):this.layout.hLineColor},!1,n),o=null)}e.context().moveDown(r)}},a.prototype.drawVerticalLine=function(t,e,n,r,a){var o=this.layout.vLineWidth(r,this.tableNode);0!==o&&a.addVector({type:"line",x1:t+o/2,x2:t+o/2,y1:e,y2:n,lineWidth:o,lineColor:i(this.layout.vLineColor)?this.layout.vLineColor(r,this.tableNode):this.layout.vLineColor},!1,!0)},a.prototype.endTable=function(t){this.cleanUpRepeatables&&(t.popFromRepeatables(),this.headerRepeatableHeight=null)},a.prototype.endRow=function(t,e,n){var r,a,o=this;e.tracker.stopTracking("pageChanged",this.rowCallback),e.context().moveDown(this.layout.paddingBottom(t,this.tableNode)),e.context().availableHeight+=this.reservedAtBottom;var s=e.context().page,l=e.context().y,u=function(){for(var e=[],n=0,r=0,i=o.tableNode.table.body[t].length;r<i;r++){if(!n){e.push({x:o.rowSpanData[r].left,index:r});var a=o.tableNode.table.body[t][r];n=a._colSpan||a.colSpan||0}n>0&&n--}return e.push({x:o.rowSpanData[o.rowSpanData.length-1].left,index:o.rowSpanData.length-1}),e}(),c=[],h=n&&n.length>0,f=this.tableNode.table.body;if(c.push({y0:this.rowTopY,page:h?n[0].prevPage:s}),h)for(a=0,r=n.length;a<r;a++){var d=n[a];c[c.length-1].y1=d.prevY,c.push({y0:d.y,page:d.prevPage+1}),this.headerRepeatableHeight&&(c[c.length-1].y0+=this.headerRepeatableHeight)}c[c.length-1].y1=l;for(var p=c[0].y1-c[0].y0===this.rowPaddingTop?1:0,g=c.length;p<g;p++){var y=p<c.length-1,v=p>0&&!this.headerRows,b=v?0:this.topLineWidth,m=c[p].y0,w=c[p].y1;for(y&&(w+=this.rowPaddingBottom),e.context().page!=c[p].page&&(e.context().page=c[p].page,this.reservedAtBottom=0),a=0,r=u.length;a<r;a++){var x,S=!1,_=!1,k=u[a].index;if(k<f[t].length)S=(x=f[t][k]).border?x.border[0]:this.layout.defaultBorder;if(k>0)_=(x=f[t][k-1]).border?x.border[2]:this.layout.defaultBorder;if((S||_)&&this.drawVerticalLine(u[a].x,m-b,w+this.bottomLineWidth,u[a].index,e),a<r-1){var C=f[t][k].fillColor;if(C||(C=i(this.layout.fillColor)?this.layout.fillColor(t,this.tableNode,k):this.layout.fillColor),C){var A=S||_?this.layout.vLineWidth(k,this.tableNode):0,P=u[a].x+A,E=this.dontBreakRows?m:m-b;e.addVector({type:"rect",x:P,y:E,w:u[a+1].x-P,h:w+this.bottomLineWidth-E,lineWidth:0,color:C},!1,!0,e.context().hasBackground?1:0)}}}y&&!1!==this.layout.hLineWhenBroken&&this.drawHorizontalLine(t+1,e,w),v&&!1!==this.layout.hLineWhenBroken&&this.drawHorizontalLine(t,e,m)}e.context().page=s,e.context().y=l;var I=this.tableNode.table.body[t];for(a=0,r=I.length;a<r;a++){if(I[a].rowSpan&&(this.rowSpanData[a].rowSpan=I[a].rowSpan,I[a].colSpan&&I[a].colSpan>1))for(var T=1;T<I[a].rowSpan;T++)this.tableNode.table.body[t+T][a]._colSpan=I[a].colSpan;this.rowSpanData[a].rowSpan>0&&this.rowSpanData[a].rowSpan--}this.drawHorizontalLine(t+1,e),this.headerRows&&t===this.headerRows-1&&(this.headerRepeatable=e.currentBlockToRepeatable()),this.dontBreakRows&&e.tracker.auto("pageChanged",function(){o.headerRows||!1===o.layout.hLineWhenBroken||o.drawHorizontalLine(t,e)},function(){e.commitUnbreakableBlock()}),!this.headerRepeatable||t!==this.rowsWithoutPageBreak-1&&t!==this.tableNode.table.body.length-1||(this.headerRepeatableHeight=this.headerRepeatable.height,e.commitUnbreakableBlock(),e.pushToRepeatables(this.headerRepeatable),this.cleanUpRepeatables=!0,this.headerRepeatable=null)},t.exports=a},function(t,e,n){(function(e){(function(){var r,i,a,o,s,l,u={}.hasOwnProperty;l=n(15),s=n(8),i=n(26),o=n(87),a=n(161),r=function(t){var r;function c(t){var e,n,r,i;if(this.options=null!=t?t:{},c.__super__.constructor.apply(this,arguments),this.version=1.3,this.compress=null==(n=this.options.compress)||n,this._pageBuffer=[],this._pageBufferStart=0,this._offsets=[],this._waiting=0,this._ended=!1,this._offset=0,this._root=this.ref({Type:"Catalog",Pages:this.ref({Type:"Pages",Count:0,Kids:[]})}),this.page=null,this.initColor(),this.initVector(),this.initFonts(),this.initText(),this.initImages(),this.info={Producer:"PDFKit",Creator:"PDFKit",CreationDate:new Date},this.options.info)for(e in r=this.options.info)i=r[e],this.info[e]=i;this._write("%PDF-"+this.version),this._write("%ÿÿÿÿ"),!1!==this.options.autoFirstPage&&this.addPage()}return function(t,e){for(var n in e)u.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(c,l.Readable),(r=function(t){var e,n,r;for(n in r=[],t)e=t[n],r.push(c.prototype[n]=e);return r})(n(162)),r(n(164)),r(n(166)),r(n(295)),r(n(297)),r(n(302)),c.prototype.addPage=function(t){var e;return null==t&&(t=this.options),this.options.bufferPages||this.flushPages(),this.page=new a(this,t),this._pageBuffer.push(this.page),(e=this._root.data.Pages.data).Kids.push(this.page.dictionary),e.Count++,this.x=this.page.margins.left,this.y=this.page.margins.top,this._ctm=[1,0,0,1,0,0],this.transform(1,0,0,-1,0,this.page.height),this.emit("pageAdded"),this},c.prototype.bufferedPageRange=function(){return{start:this._pageBufferStart,count:this._pageBuffer.length}},c.prototype.switchToPage=function(t){var e;if(!(e=this._pageBuffer[t-this._pageBufferStart]))throw new Error("switchToPage("+t+") out of bounds, current buffer covers pages "+this._pageBufferStart+" to "+(this._pageBufferStart+this._pageBuffer.length-1));return this.page=e},c.prototype.flushPages=function(){var t,e,n;for(n=this._pageBuffer,this._pageBuffer=[],this._pageBufferStart+=n.length,t=0,e=n.length;t<e;t++)n[t].end()},c.prototype.ref=function(t){var e;return e=new o(this,this._offsets.length+1,t),this._offsets.push(null),this._waiting++,e},c.prototype._read=function(){},c.prototype._write=function(t){return e.isBuffer(t)||(t=new e(t+"\n","binary")),this.push(t),this._offset+=t.length},c.prototype.addContent=function(t){return this.page.write(t),this},c.prototype._refEnd=function(t){if(this._offsets[t.id-1]=t.offset,0==--this._waiting&&this._ended)return this._finalize(),this._ended=!1},c.prototype.write=function(t,e){return new Error("PDFDocument#write is deprecated, and will be removed in a future version of PDFKit. Please pipe the document into a Node stream."),this.pipe(s.createWriteStream(t)),this.end(),this.once("end",e)},c.prototype.output=function(t){throw new Error("PDFDocument#output is deprecated, and has been removed from PDFKit. Please pipe the document into a Node stream.")},c.prototype.end=function(){var t,e,n,r,i;for(t in this.flushPages(),this._info=this.ref(),n=this.info)"string"==typeof(i=n[t])&&(i=new String(i)),this._info.data[t]=i;for(e in this._info.end(),r=this._fontFamilies)r[e].finalize();return this._root.end(),this._root.data.Pages.end(),0===this._waiting?this._finalize():this._ended=!0},c.prototype._finalize=function(t){var e,n,r,a,o;for(o=this._offset,this._write("xref"),this._write("0 "+(this._offsets.length+1)),this._write("0000000000 65535 f "),e=0,n=(a=this._offsets).length;e<n;e++)r=("0000000000"+(r=a[e])).slice(-10),this._write(r+" 00000 n ");return this._write("trailer"),this._write(i.convert({Size:this._offsets.length+1,Root:this._root,Info:this._info})),this._write("startxref"),this._write(""+o),this._write("%%EOF"),this.push(null)},c.prototype.toString=function(){return"[object PDFDocument]"},c}(),t.exports=r}).call(this)}).call(e,n(1).Buffer)},function(t,e){},function(t,e,n){"use strict";var r=n(33).Buffer,i=n(141);t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}return t.prototype.push=function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length},t.prototype.unshift=function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length},t.prototype.shift=function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}},t.prototype.clear=function(){this.head=this.tail=null,this.length=0},t.prototype.join=function(t){if(0===this.length)return"";for(var e=this.head,n=""+e.data;e=e.next;)n+=t+e.data;return n},t.prototype.concat=function(t){if(0===this.length)return r.alloc(0);if(1===this.length)return this.head.data;for(var e,n,i,a=r.allocUnsafe(t>>>0),o=this.head,s=0;o;)e=o.data,n=a,i=s,e.copy(n,i),s+=o.data.length,o=o.next;return a},t}(),i&&i.inspect&&i.inspect.custom&&(t.exports.prototype[i.inspect.custom]=function(){var t=i.inspect({length:this.length});return this.constructor.name+" "+t})},function(t,e){},function(t,e,n){(function(t){var r=Function.prototype.apply;function i(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new i(r.call(setTimeout,window,arguments),clearTimeout)},e.setInterval=function(){return new i(r.call(setInterval,window,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},i.prototype.unref=i.prototype.ref=function(){},i.prototype.close=function(){this._clearFn.call(window,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},n(143),e.setImmediate="undefined"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate="undefined"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(e,n(7))},function(t,e,n){(function(t,e){!function(t,n){"use strict";if(!t.setImmediate){var r,i,a,o,s,l=1,u={},c=!1,h=t.document,f=Object.getPrototypeOf&&Object.getPrototypeOf(t);f=f&&f.setTimeout?f:t,"[object process]"==={}.toString.call(t.process)?r=function(t){e.nextTick(function(){p(t)})}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,n=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage("","*"),t.onmessage=n,e}}()?t.MessageChannel?((a=new MessageChannel).port1.onmessage=function(t){p(t.data)},r=function(t){a.port2.postMessage(t)}):h&&"onreadystatechange"in h.createElement("script")?(i=h.documentElement,r=function(t){var e=h.createElement("script");e.onreadystatechange=function(){p(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):r=function(t){setTimeout(p,0,t)}:(o="setImmediate$"+Math.random()+"$",s=function(e){e.source===t&&"string"==typeof e.data&&0===e.data.indexOf(o)&&p(+e.data.slice(o.length))},t.addEventListener?t.addEventListener("message",s,!1):t.attachEvent("onmessage",s),r=function(e){t.postMessage(o+e,"*")}),f.setImmediate=function(t){"function"!=typeof t&&(t=new Function(""+t));for(var e=new Array(arguments.length-1),n=0;n<e.length;n++)e[n]=arguments[n+1];var i={callback:t,args:e};return u[l]=i,r(l),l++},f.clearImmediate=d}function d(t){delete u[t]}function p(t){if(c)setTimeout(p,0,t);else{var e=u[t];if(e){c=!0;try{!function(t){var e=t.callback,r=t.args;switch(r.length){case 0:e();break;case 1:e(r[0]);break;case 2:e(r[0],r[1]);break;case 3:e(r[0],r[1],r[2]);break;default:e.apply(n,r)}}(e)}finally{d(t),c=!1}}}}}("undefined"==typeof self?void 0===t?this:t:self)}).call(e,n(7),n(11))},function(t,e,n){(function(e){function n(t){try{if(!e.localStorage)return!1}catch(t){return!1}var n=e.localStorage[t];return null!=n&&"true"===String(n).toLowerCase()}t.exports=function(t,e){if(n("noDeprecation"))return t;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw new Error(e);n("traceDeprecation"),r=!0}return t.apply(this,arguments)}}}).call(e,n(7))},function(t,e,n){"use strict";t.exports=a;var r=n(86),i=n(25);function a(t){if(!(this instanceof a))return new a(t);r.call(this,t)}i.inherits=n(21),i.inherits(a,r),a.prototype._transform=function(t,e,n){n(null,t)}},function(t,e,n){t.exports=n(46)},function(t,e,n){t.exports=n(16)},function(t,e,n){t.exports=n(45).Transform},function(t,e,n){t.exports=n(45).PassThrough},function(t,e,n){"use strict";(function(t,r){var i=n(88),a=n(153),o=n(154),s=n(157),l=n(160);for(var u in l)e[u]=l[u];e.NONE=0,e.DEFLATE=1,e.INFLATE=2,e.GZIP=3,e.GUNZIP=4,e.DEFLATERAW=5,e.INFLATERAW=6,e.UNZIP=7;function c(t){if("number"!=typeof t||t<e.DEFLATE||t>e.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=t,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}c.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,i(this.init_done,"close before init"),i(this.mode<=e.UNZIP),this.mode===e.DEFLATE||this.mode===e.GZIP||this.mode===e.DEFLATERAW?o.deflateEnd(this.strm):this.mode!==e.INFLATE&&this.mode!==e.GUNZIP&&this.mode!==e.INFLATERAW&&this.mode!==e.UNZIP||s.inflateEnd(this.strm),this.mode=e.NONE,this.dictionary=null)},c.prototype.write=function(t,e,n,r,i,a,o){return this._write(!0,t,e,n,r,i,a,o)},c.prototype.writeSync=function(t,e,n,r,i,a,o){return this._write(!1,t,e,n,r,i,a,o)},c.prototype._write=function(n,a,o,s,l,u,c,h){if(i.equal(arguments.length,8),i(this.init_done,"write before init"),i(this.mode!==e.NONE,"already finalized"),i.equal(!1,this.write_in_progress,"write already in progress"),i.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,i.equal(!1,void 0===a,"must provide flush value"),this.write_in_progress=!0,a!==e.Z_NO_FLUSH&&a!==e.Z_PARTIAL_FLUSH&&a!==e.Z_SYNC_FLUSH&&a!==e.Z_FULL_FLUSH&&a!==e.Z_FINISH&&a!==e.Z_BLOCK)throw new Error("Invalid flush value");if(null==o&&(o=t.alloc(0),l=0,s=0),this.strm.avail_in=l,this.strm.input=o,this.strm.next_in=s,this.strm.avail_out=h,this.strm.output=u,this.strm.next_out=c,this.flush=a,!n)return this._process(),this._checkError()?this._afterSync():void 0;var f=this;return r.nextTick(function(){f._process(),f._after()}),this},c.prototype._afterSync=function(){var t=this.strm.avail_out,e=this.strm.avail_in;return this.write_in_progress=!1,[e,t]},c.prototype._process=function(){var t=null;switch(this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=o.deflate(this.strm,this.flush);break;case e.UNZIP:switch(this.strm.avail_in>0&&(t=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===t)break;if(31!==this.strm.input[t]){this.mode=e.INFLATE;break}if(this.gzip_id_bytes_read=1,t++,1===this.strm.avail_in)break;case 1:if(null===t)break;139===this.strm.input[t]?(this.gzip_id_bytes_read=2,this.mode=e.GUNZIP):this.mode=e.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:for(this.err=s.inflate(this.strm,this.flush),this.err===e.Z_NEED_DICT&&this.dictionary&&(this.err=s.inflateSetDictionary(this.strm,this.dictionary),this.err===e.Z_OK?this.err=s.inflate(this.strm,this.flush):this.err===e.Z_DATA_ERROR&&(this.err=e.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===e.GUNZIP&&this.err===e.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=s.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},c.prototype._checkError=function(){switch(this.err){case e.Z_OK:case e.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===e.Z_FINISH)return this._error("unexpected end of file"),!1;break;case e.Z_STREAM_END:break;case e.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},c.prototype._after=function(){if(this._checkError()){var t=this.strm.avail_out,e=this.strm.avail_in;this.write_in_progress=!1,this.callback(e,t),this.pending_close&&this.close()}},c.prototype._error=function(t){this.strm.msg&&(t=this.strm.msg),this.onerror(t,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},c.prototype.init=function(t,n,r,a,o){i(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),i(t>=8&&t<=15,"invalid windowBits"),i(n>=-1&&n<=9,"invalid compression level"),i(r>=1&&r<=9,"invalid memlevel"),i(a===e.Z_FILTERED||a===e.Z_HUFFMAN_ONLY||a===e.Z_RLE||a===e.Z_FIXED||a===e.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(n,t,r,a,o),this._setDictionary()},c.prototype.params=function(){throw new Error("deflateParams Not supported")},c.prototype.reset=function(){this._reset(),this._setDictionary()},c.prototype._init=function(t,n,r,i,l){switch(this.level=t,this.windowBits=n,this.memLevel=r,this.strategy=i,this.flush=e.Z_NO_FLUSH,this.err=e.Z_OK,this.mode!==e.GZIP&&this.mode!==e.GUNZIP||(this.windowBits+=16),this.mode===e.UNZIP&&(this.windowBits+=32),this.mode!==e.DEFLATERAW&&this.mode!==e.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new a,this.mode){case e.DEFLATE:case e.GZIP:case e.DEFLATERAW:this.err=o.deflateInit2(this.strm,this.level,e.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case e.INFLATE:case e.GUNZIP:case e.INFLATERAW:case e.UNZIP:this.err=s.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==e.Z_OK&&this._error("Init error"),this.dictionary=l,this.write_in_progress=!1,this.init_done=!0},c.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:this.err=o.deflateSetDictionary(this.strm,this.dictionary)}this.err!==e.Z_OK&&this._error("Failed to set dictionary")}},c.prototype._reset=function(){switch(this.err=e.Z_OK,this.mode){case e.DEFLATE:case e.DEFLATERAW:case e.GZIP:this.err=o.deflateReset(this.strm);break;case e.INFLATE:case e.INFLATERAW:case e.GUNZIP:this.err=s.inflateReset(this.strm)}this.err!==e.Z_OK&&this._error("Failed to reset stream")},e.Zlib=c}).call(e,n(1).Buffer,n(11))},function(t,e){t.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},function(t,e){"function"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},function(t,e,n){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},function(t,e,n){"use strict";var r,i=n(34),a=n(155),o=n(89),s=n(90),l=n(156),u=0,c=1,h=3,f=4,d=5,p=0,g=1,y=-2,v=-3,b=-5,m=-1,w=1,x=2,S=3,_=4,k=0,C=2,A=8,P=9,E=15,I=8,T=286,O=30,L=19,B=2*T+1,M=15,R=3,F=258,D=F+R+1,z=32,N=42,U=69,W=73,G=91,V=103,j=113,H=666,q=1,Z=2,Y=3,X=4,K=3;function J(t,e){return t.msg=l[e],e}function Q(t){return(t<<1)-(t>4?9:0)}function $(t){for(var e=t.length;--e>=0;)t[e]=0}function tt(t){var e=t.state,n=e.pending;n>t.avail_out&&(n=t.avail_out),0!==n&&(i.arraySet(t.output,e.pending_buf,e.pending_out,n,t.next_out),t.next_out+=n,e.pending_out+=n,t.total_out+=n,t.avail_out-=n,e.pending-=n,0===e.pending&&(e.pending_out=0))}function et(t,e){a._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,tt(t.strm)}function nt(t,e){t.pending_buf[t.pending++]=e}function rt(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function it(t,e){var n,r,i=t.max_chain_length,a=t.strstart,o=t.prev_length,s=t.nice_match,l=t.strstart>t.w_size-D?t.strstart-(t.w_size-D):0,u=t.window,c=t.w_mask,h=t.prev,f=t.strstart+F,d=u[a+o-1],p=u[a+o];t.prev_length>=t.good_match&&(i>>=2),s>t.lookahead&&(s=t.lookahead);do{if(u[(n=e)+o]===p&&u[n+o-1]===d&&u[n]===u[a]&&u[++n]===u[a+1]){a+=2,n++;do{}while(u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&u[++a]===u[++n]&&a<f);if(r=F-(f-a),a=f-F,r>o){if(t.match_start=e,o=r,r>=s)break;d=u[a+o-1],p=u[a+o]}}}while((e=h[e&c])>l&&0!=--i);return o<=t.lookahead?o:t.lookahead}function at(t){var e,n,r,a,l,u,c,h,f,d,p=t.w_size;do{if(a=t.window_size-t.lookahead-t.strstart,t.strstart>=p+(p-D)){for(i.arraySet(t.window,t.window,p,p,0),t.match_start-=p,t.strstart-=p,t.block_start-=p,e=n=t.hash_size;r=t.head[--e],t.head[e]=r>=p?r-p:0,--n;);for(e=n=p;r=t.prev[--e],t.prev[e]=r>=p?r-p:0,--n;);a+=p}if(0===t.strm.avail_in)break;if(u=t.strm,c=t.window,h=t.strstart+t.lookahead,f=a,d=void 0,(d=u.avail_in)>f&&(d=f),n=0===d?0:(u.avail_in-=d,i.arraySet(c,u.input,u.next_in,d,h),1===u.state.wrap?u.adler=o(u.adler,c,d,h):2===u.state.wrap&&(u.adler=s(u.adler,c,d,h)),u.next_in+=d,u.total_in+=d,d),t.lookahead+=n,t.lookahead+t.insert>=R)for(l=t.strstart-t.insert,t.ins_h=t.window[l],t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[l+R-1])&t.hash_mask,t.prev[l&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=l,l++,t.insert--,!(t.lookahead+t.insert<R)););}while(t.lookahead<D&&0!==t.strm.avail_in)}function ot(t,e){for(var n,r;;){if(t.lookahead<D){if(at(t),t.lookahead<D&&e===u)return q;if(0===t.lookahead)break}if(n=0,t.lookahead>=R&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+R-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==n&&t.strstart-n<=t.w_size-D&&(t.match_length=it(t,n)),t.match_length>=R)if(r=a._tr_tally(t,t.strstart-t.match_start,t.match_length-R),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=R){for(t.match_length--;t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+R-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart,0!=--t.match_length;);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else r=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(r&&(et(t,!1),0===t.strm.avail_out))return q}return t.insert=t.strstart<R-1?t.strstart:R-1,e===f?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?q:Z}function st(t,e){for(var n,r,i;;){if(t.lookahead<D){if(at(t),t.lookahead<D&&e===u)return q;if(0===t.lookahead)break}if(n=0,t.lookahead>=R&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+R-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=R-1,0!==n&&t.prev_length<t.max_lazy_match&&t.strstart-n<=t.w_size-D&&(t.match_length=it(t,n),t.match_length<=5&&(t.strategy===w||t.match_length===R&&t.strstart-t.match_start>4096)&&(t.match_length=R-1)),t.prev_length>=R&&t.match_length<=t.prev_length){for(i=t.strstart+t.lookahead-R,r=a._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-R),t.lookahead-=t.prev_length-1,t.prev_length-=2;++t.strstart<=i&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+R-1])&t.hash_mask,n=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!=--t.prev_length;);if(t.match_available=0,t.match_length=R-1,t.strstart++,r&&(et(t,!1),0===t.strm.avail_out))return q}else if(t.match_available){if((r=a._tr_tally(t,0,t.window[t.strstart-1]))&&et(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return q}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(r=a._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<R-1?t.strstart:R-1,e===f?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?q:Z}function lt(t,e,n,r,i){this.good_length=t,this.max_lazy=e,this.nice_length=n,this.max_chain=r,this.func=i}function ut(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=C,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?N:j,t.adler=2===e.wrap?0:1,e.last_flush=u,a._tr_init(e),p):J(t,y)}function ct(t){var e,n=ut(t);return n===p&&((e=t.state).window_size=2*e.w_size,$(e.head),e.max_lazy_match=r[e.level].max_lazy,e.good_match=r[e.level].good_length,e.nice_match=r[e.level].nice_length,e.max_chain_length=r[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=R-1,e.match_available=0,e.ins_h=0),n}function ht(t,e,n,r,a,o){if(!t)return y;var s=1;if(e===m&&(e=6),r<0?(s=0,r=-r):r>15&&(s=2,r-=16),a<1||a>P||n!==A||r<8||r>15||e<0||e>9||o<0||o>_)return J(t,y);8===r&&(r=9);var l=new function(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=A,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new i.Buf16(2*B),this.dyn_dtree=new i.Buf16(2*(2*O+1)),this.bl_tree=new i.Buf16(2*(2*L+1)),$(this.dyn_ltree),$(this.dyn_dtree),$(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new i.Buf16(M+1),this.heap=new i.Buf16(2*T+1),$(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new i.Buf16(2*T+1),$(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0};return t.state=l,l.strm=t,l.wrap=s,l.gzhead=null,l.w_bits=r,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=a+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+R-1)/R),l.window=new i.Buf8(2*l.w_size),l.head=new i.Buf16(l.hash_size),l.prev=new i.Buf16(l.w_size),l.lit_bufsize=1<<a+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new i.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=o,l.method=n,ct(t)}r=[new lt(0,0,0,0,function(t,e){var n=65535;for(n>t.pending_buf_size-5&&(n=t.pending_buf_size-5);;){if(t.lookahead<=1){if(at(t),0===t.lookahead&&e===u)return q;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var r=t.block_start+n;if((0===t.strstart||t.strstart>=r)&&(t.lookahead=t.strstart-r,t.strstart=r,et(t,!1),0===t.strm.avail_out))return q;if(t.strstart-t.block_start>=t.w_size-D&&(et(t,!1),0===t.strm.avail_out))return q}return t.insert=0,e===f?(et(t,!0),0===t.strm.avail_out?Y:X):(t.strstart>t.block_start&&(et(t,!1),t.strm.avail_out),q)}),new lt(4,4,8,4,ot),new lt(4,5,16,8,ot),new lt(4,6,32,32,ot),new lt(4,4,16,16,st),new lt(8,16,32,32,st),new lt(8,16,128,128,st),new lt(8,32,128,256,st),new lt(32,128,258,1024,st),new lt(32,258,258,4096,st)],e.deflateInit=function(t,e){return ht(t,e,A,E,I,k)},e.deflateInit2=ht,e.deflateReset=ct,e.deflateResetKeep=ut,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?y:(t.state.gzhead=e,p):y},e.deflate=function(t,e){var n,i,o,l;if(!t||!t.state||e>d||e<0)return t?J(t,y):y;if(i=t.state,!t.output||!t.input&&0!==t.avail_in||i.status===H&&e!==f)return J(t,0===t.avail_out?b:y);if(i.strm=t,n=i.last_flush,i.last_flush=e,i.status===N)if(2===i.wrap)t.adler=0,nt(i,31),nt(i,139),nt(i,8),i.gzhead?(nt(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),nt(i,255&i.gzhead.time),nt(i,i.gzhead.time>>8&255),nt(i,i.gzhead.time>>16&255),nt(i,i.gzhead.time>>24&255),nt(i,9===i.level?2:i.strategy>=x||i.level<2?4:0),nt(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(nt(i,255&i.gzhead.extra.length),nt(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=s(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=U):(nt(i,0),nt(i,0),nt(i,0),nt(i,0),nt(i,0),nt(i,9===i.level?2:i.strategy>=x||i.level<2?4:0),nt(i,K),i.status=j);else{var v=A+(i.w_bits-8<<4)<<8;v|=(i.strategy>=x||i.level<2?0:i.level<6?1:6===i.level?2:3)<<6,0!==i.strstart&&(v|=z),v+=31-v%31,i.status=j,rt(i,v),0!==i.strstart&&(rt(i,t.adler>>>16),rt(i,65535&t.adler)),t.adler=1}if(i.status===U)if(i.gzhead.extra){for(o=i.pending;i.gzindex<(65535&i.gzhead.extra.length)&&(i.pending!==i.pending_buf_size||(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending!==i.pending_buf_size));)nt(i,255&i.gzhead.extra[i.gzindex]),i.gzindex++;i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=W)}else i.status=W;if(i.status===W)if(i.gzhead.name){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,nt(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.gzindex=0,i.status=G)}else i.status=G;if(i.status===G)if(i.gzhead.comment){o=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),tt(t),o=i.pending,i.pending===i.pending_buf_size)){l=1;break}l=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,nt(i,l)}while(0!==l);i.gzhead.hcrc&&i.pending>o&&(t.adler=s(t.adler,i.pending_buf,i.pending-o,o)),0===l&&(i.status=V)}else i.status=V;if(i.status===V&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&tt(t),i.pending+2<=i.pending_buf_size&&(nt(i,255&t.adler),nt(i,t.adler>>8&255),t.adler=0,i.status=j)):i.status=j),0!==i.pending){if(tt(t),0===t.avail_out)return i.last_flush=-1,p}else if(0===t.avail_in&&Q(e)<=Q(n)&&e!==f)return J(t,b);if(i.status===H&&0!==t.avail_in)return J(t,b);if(0!==t.avail_in||0!==i.lookahead||e!==u&&i.status!==H){var m=i.strategy===x?function(t,e){for(var n;;){if(0===t.lookahead&&(at(t),0===t.lookahead)){if(e===u)return q;break}if(t.match_length=0,n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,n&&(et(t,!1),0===t.strm.avail_out))return q}return t.insert=0,e===f?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?q:Z}(i,e):i.strategy===S?function(t,e){for(var n,r,i,o,s=t.window;;){if(t.lookahead<=F){if(at(t),t.lookahead<=F&&e===u)return q;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=R&&t.strstart>0&&(r=s[i=t.strstart-1])===s[++i]&&r===s[++i]&&r===s[++i]){o=t.strstart+F;do{}while(r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&r===s[++i]&&i<o);t.match_length=F-(o-i),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=R?(n=a._tr_tally(t,1,t.match_length-R),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(n=a._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),n&&(et(t,!1),0===t.strm.avail_out))return q}return t.insert=0,e===f?(et(t,!0),0===t.strm.avail_out?Y:X):t.last_lit&&(et(t,!1),0===t.strm.avail_out)?q:Z}(i,e):r[i.level].func(i,e);if(m!==Y&&m!==X||(i.status=H),m===q||m===Y)return 0===t.avail_out&&(i.last_flush=-1),p;if(m===Z&&(e===c?a._tr_align(i):e!==d&&(a._tr_stored_block(i,0,0,!1),e===h&&($(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),tt(t),0===t.avail_out))return i.last_flush=-1,p}return e!==f?p:i.wrap<=0?g:(2===i.wrap?(nt(i,255&t.adler),nt(i,t.adler>>8&255),nt(i,t.adler>>16&255),nt(i,t.adler>>24&255),nt(i,255&t.total_in),nt(i,t.total_in>>8&255),nt(i,t.total_in>>16&255),nt(i,t.total_in>>24&255)):(rt(i,t.adler>>>16),rt(i,65535&t.adler)),tt(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?p:g)},e.deflateEnd=function(t){var e;return t&&t.state?(e=t.state.status)!==N&&e!==U&&e!==W&&e!==G&&e!==V&&e!==j&&e!==H?J(t,y):(t.state=null,e===j?J(t,v):p):y},e.deflateSetDictionary=function(t,e){var n,r,a,s,l,u,c,h,f=e.length;if(!t||!t.state)return y;if(2===(s=(n=t.state).wrap)||1===s&&n.status!==N||n.lookahead)return y;for(1===s&&(t.adler=o(t.adler,e,f,0)),n.wrap=0,f>=n.w_size&&(0===s&&($(n.head),n.strstart=0,n.block_start=0,n.insert=0),h=new i.Buf8(n.w_size),i.arraySet(h,e,f-n.w_size,n.w_size,0),e=h,f=n.w_size),l=t.avail_in,u=t.next_in,c=t.input,t.avail_in=f,t.next_in=0,t.input=e,at(n);n.lookahead>=R;){for(r=n.strstart,a=n.lookahead-(R-1);n.ins_h=(n.ins_h<<n.hash_shift^n.window[r+R-1])&n.hash_mask,n.prev[r&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=r,r++,--a;);n.strstart=r,n.lookahead=R-1,at(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=R-1,n.match_available=0,t.next_in=u,t.input=c,t.avail_in=l,n.wrap=s,p},e.deflateInfo="pako deflate (from Nodeca project)"},function(t,e,n){"use strict";var r=n(34),i=4,a=0,o=1,s=2;function l(t){for(var e=t.length;--e>=0;)t[e]=0}var u=0,c=1,h=2,f=29,d=256,p=d+1+f,g=30,y=19,v=2*p+1,b=15,m=16,w=7,x=256,S=16,_=17,k=18,C=[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],A=[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],P=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],E=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],I=new Array(2*(p+2));l(I);var T=new Array(2*g);l(T);var O=new Array(512);l(O);var L=new Array(256);l(L);var B=new Array(f);l(B);var M,R,F,D=new Array(g);function z(t,e,n,r,i){this.static_tree=t,this.extra_bits=e,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=t&&t.length}function N(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function U(t){return t<256?O[t]:O[256+(t>>>7)]}function W(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function G(t,e,n){t.bi_valid>m-n?(t.bi_buf|=e<<t.bi_valid&65535,W(t,t.bi_buf),t.bi_buf=e>>m-t.bi_valid,t.bi_valid+=n-m):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=n)}function V(t,e,n){G(t,n[2*e],n[2*e+1])}function j(t,e){for(var n=0;n|=1&t,t>>>=1,n<<=1,--e>0;);return n>>>1}function H(t,e,n){var r,i,a=new Array(b+1),o=0;for(r=1;r<=b;r++)a[r]=o=o+n[r-1]<<1;for(i=0;i<=e;i++){var s=t[2*i+1];0!==s&&(t[2*i]=j(a[s]++,s))}}function q(t){var e;for(e=0;e<p;e++)t.dyn_ltree[2*e]=0;for(e=0;e<g;e++)t.dyn_dtree[2*e]=0;for(e=0;e<y;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*x]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function Z(t){t.bi_valid>8?W(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function Y(t,e,n,r){var i=2*e,a=2*n;return t[i]<t[a]||t[i]===t[a]&&r[e]<=r[n]}function X(t,e,n){for(var r=t.heap[n],i=n<<1;i<=t.heap_len&&(i<t.heap_len&&Y(e,t.heap[i+1],t.heap[i],t.depth)&&i++,!Y(e,r,t.heap[i],t.depth));)t.heap[n]=t.heap[i],n=i,i<<=1;t.heap[n]=r}function K(t,e,n){var r,i,a,o,s=0;if(0!==t.last_lit)for(;r=t.pending_buf[t.d_buf+2*s]<<8|t.pending_buf[t.d_buf+2*s+1],i=t.pending_buf[t.l_buf+s],s++,0===r?V(t,i,e):(V(t,(a=L[i])+d+1,e),0!==(o=C[a])&&G(t,i-=B[a],o),V(t,a=U(--r),n),0!==(o=A[a])&&G(t,r-=D[a],o)),s<t.last_lit;);V(t,x,e)}function J(t,e){var n,r,i,a=e.dyn_tree,o=e.stat_desc.static_tree,s=e.stat_desc.has_stree,l=e.stat_desc.elems,u=-1;for(t.heap_len=0,t.heap_max=v,n=0;n<l;n++)0!==a[2*n]?(t.heap[++t.heap_len]=u=n,t.depth[n]=0):a[2*n+1]=0;for(;t.heap_len<2;)a[2*(i=t.heap[++t.heap_len]=u<2?++u:0)]=1,t.depth[i]=0,t.opt_len--,s&&(t.static_len-=o[2*i+1]);for(e.max_code=u,n=t.heap_len>>1;n>=1;n--)X(t,a,n);for(i=l;n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],X(t,a,1),r=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=r,a[2*i]=a[2*n]+a[2*r],t.depth[i]=(t.depth[n]>=t.depth[r]?t.depth[n]:t.depth[r])+1,a[2*n+1]=a[2*r+1]=i,t.heap[1]=i++,X(t,a,1),t.heap_len>=2;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var n,r,i,a,o,s,l=e.dyn_tree,u=e.max_code,c=e.stat_desc.static_tree,h=e.stat_desc.has_stree,f=e.stat_desc.extra_bits,d=e.stat_desc.extra_base,p=e.stat_desc.max_length,g=0;for(a=0;a<=b;a++)t.bl_count[a]=0;for(l[2*t.heap[t.heap_max]+1]=0,n=t.heap_max+1;n<v;n++)(a=l[2*l[2*(r=t.heap[n])+1]+1]+1)>p&&(a=p,g++),l[2*r+1]=a,r>u||(t.bl_count[a]++,o=0,r>=d&&(o=f[r-d]),s=l[2*r],t.opt_len+=s*(a+o),h&&(t.static_len+=s*(c[2*r+1]+o)));if(0!==g){do{for(a=p-1;0===t.bl_count[a];)a--;t.bl_count[a]--,t.bl_count[a+1]+=2,t.bl_count[p]--,g-=2}while(g>0);for(a=p;0!==a;a--)for(r=t.bl_count[a];0!==r;)(i=t.heap[--n])>u||(l[2*i+1]!==a&&(t.opt_len+=(a-l[2*i+1])*l[2*i],l[2*i+1]=a),r--)}}(t,e),H(a,u,t.bl_count)}function Q(t,e,n){var r,i,a=-1,o=e[1],s=0,l=7,u=4;for(0===o&&(l=138,u=3),e[2*(n+1)+1]=65535,r=0;r<=n;r++)i=o,o=e[2*(r+1)+1],++s<l&&i===o||(s<u?t.bl_tree[2*i]+=s:0!==i?(i!==a&&t.bl_tree[2*i]++,t.bl_tree[2*S]++):s<=10?t.bl_tree[2*_]++:t.bl_tree[2*k]++,s=0,a=i,0===o?(l=138,u=3):i===o?(l=6,u=3):(l=7,u=4))}function $(t,e,n){var r,i,a=-1,o=e[1],s=0,l=7,u=4;for(0===o&&(l=138,u=3),r=0;r<=n;r++)if(i=o,o=e[2*(r+1)+1],!(++s<l&&i===o)){if(s<u)for(;V(t,i,t.bl_tree),0!=--s;);else 0!==i?(i!==a&&(V(t,i,t.bl_tree),s--),V(t,S,t.bl_tree),G(t,s-3,2)):s<=10?(V(t,_,t.bl_tree),G(t,s-3,3)):(V(t,k,t.bl_tree),G(t,s-11,7));s=0,a=i,0===o?(l=138,u=3):i===o?(l=6,u=3):(l=7,u=4)}}l(D);var tt=!1;function et(t,e,n,i){var a,o,s,l;G(t,(u<<1)+(i?1:0),3),o=e,s=n,l=!0,Z(a=t),l&&(W(a,s),W(a,~s)),r.arraySet(a.pending_buf,a.window,o,s,a.pending),a.pending+=s}e._tr_init=function(t){tt||(function(){var t,e,n,r,i,a=new Array(b+1);for(n=0,r=0;r<f-1;r++)for(B[r]=n,t=0;t<1<<C[r];t++)L[n++]=r;for(L[n-1]=r,i=0,r=0;r<16;r++)for(D[r]=i,t=0;t<1<<A[r];t++)O[i++]=r;for(i>>=7;r<g;r++)for(D[r]=i<<7,t=0;t<1<<A[r]-7;t++)O[256+i++]=r;for(e=0;e<=b;e++)a[e]=0;for(t=0;t<=143;)I[2*t+1]=8,t++,a[8]++;for(;t<=255;)I[2*t+1]=9,t++,a[9]++;for(;t<=279;)I[2*t+1]=7,t++,a[7]++;for(;t<=287;)I[2*t+1]=8,t++,a[8]++;for(H(I,p+1,a),t=0;t<g;t++)T[2*t+1]=5,T[2*t]=j(t,5);M=new z(I,C,d+1,p,b),R=new z(T,A,0,g,b),F=new z(new Array(0),P,0,y,w)}(),tt=!0),t.l_desc=new N(t.dyn_ltree,M),t.d_desc=new N(t.dyn_dtree,R),t.bl_desc=new N(t.bl_tree,F),t.bi_buf=0,t.bi_valid=0,q(t)},e._tr_stored_block=et,e._tr_flush_block=function(t,e,n,r){var l,u,f=0;t.level>0?(t.strm.data_type===s&&(t.strm.data_type=function(t){var e,n=4093624447;for(e=0;e<=31;e++,n>>>=1)if(1&n&&0!==t.dyn_ltree[2*e])return a;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return o;for(e=32;e<d;e++)if(0!==t.dyn_ltree[2*e])return o;return a}(t)),J(t,t.l_desc),J(t,t.d_desc),f=function(t){var e;for(Q(t,t.dyn_ltree,t.l_desc.max_code),Q(t,t.dyn_dtree,t.d_desc.max_code),J(t,t.bl_desc),e=y-1;e>=3&&0===t.bl_tree[2*E[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),l=t.opt_len+3+7>>>3,(u=t.static_len+3+7>>>3)<=l&&(l=u)):l=u=n+5,n+4<=l&&-1!==e?et(t,e,n,r):t.strategy===i||u===l?(G(t,(c<<1)+(r?1:0),3),K(t,I,T)):(G(t,(h<<1)+(r?1:0),3),function(t,e,n,r){var i;for(G(t,e-257,5),G(t,n-1,5),G(t,r-4,4),i=0;i<r;i++)G(t,t.bl_tree[2*E[i]+1],3);$(t,t.dyn_ltree,e-1),$(t,t.dyn_dtree,n-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,f+1),K(t,t.dyn_ltree,t.dyn_dtree)),q(t),r&&Z(t)},e._tr_tally=function(t,e,n){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&n,t.last_lit++,0===e?t.dyn_ltree[2*n]++:(t.matches++,e--,t.dyn_ltree[2*(L[n]+d+1)]++,t.dyn_dtree[2*U(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){var e;G(t,c<<1,3),V(t,x,I),16===(e=t).bi_valid?(W(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}},function(t,e,n){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},function(t,e,n){"use strict";var r=n(34),i=n(89),a=n(90),o=n(158),s=n(159),l=0,u=1,c=2,h=4,f=5,d=6,p=0,g=1,y=2,v=-2,b=-3,m=-4,w=-5,x=8,S=1,_=2,k=3,C=4,A=5,P=6,E=7,I=8,T=9,O=10,L=11,B=12,M=13,R=14,F=15,D=16,z=17,N=18,U=19,W=20,G=21,V=22,j=23,H=24,q=25,Z=26,Y=27,X=28,K=29,J=30,Q=31,$=32,tt=852,et=592,nt=15;function rt(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function it(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=S,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new r.Buf32(tt),e.distcode=e.distdyn=new r.Buf32(et),e.sane=1,e.back=-1,p):v}function at(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,it(t)):v}function ot(t,e){var n,r;return t&&t.state?(r=t.state,e<0?(n=0,e=-e):(n=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?v:(null!==r.window&&r.wbits!==e&&(r.window=null),r.wrap=n,r.wbits=e,at(t))):v}function st(t,e){var n,i;return t?(i=new function(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new r.Buf16(320),this.work=new r.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0},t.state=i,i.window=null,(n=ot(t,e))!==p&&(t.state=null),n):v}var lt,ut,ct=!0;function ht(t){if(ct){var e;for(lt=new r.Buf32(512),ut=new r.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(s(u,t.lens,0,288,lt,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;s(c,t.lens,0,32,ut,0,t.work,{bits:5}),ct=!1}t.lencode=lt,t.lenbits=9,t.distcode=ut,t.distbits=5}function ft(t,e,n,i){var a,o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new r.Buf8(o.wsize)),i>=o.wsize?(r.arraySet(o.window,e,n-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((a=o.wsize-o.wnext)>i&&(a=i),r.arraySet(o.window,e,n-i,a,o.wnext),(i-=a)?(r.arraySet(o.window,e,n-i,i,0),o.wnext=i,o.whave=o.wsize):(o.wnext+=a,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=a))),0}e.inflateReset=at,e.inflateReset2=ot,e.inflateResetKeep=it,e.inflateInit=function(t){return st(t,nt)},e.inflateInit2=st,e.inflate=function(t,e){var n,tt,et,nt,it,at,ot,st,lt,ut,ct,dt,pt,gt,yt,vt,bt,mt,wt,xt,St,_t,kt,Ct,At=0,Pt=new r.Buf8(4),Et=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return v;(n=t.state).mode===B&&(n.mode=M),it=t.next_out,et=t.output,ot=t.avail_out,nt=t.next_in,tt=t.input,at=t.avail_in,st=n.hold,lt=n.bits,ut=at,ct=ot,_t=p;t:for(;;)switch(n.mode){case S:if(0===n.wrap){n.mode=M;break}for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(2&n.wrap&&35615===st){n.check=0,Pt[0]=255&st,Pt[1]=st>>>8&255,n.check=a(n.check,Pt,2,0),st=0,lt=0,n.mode=_;break}if(n.flags=0,n.head&&(n.head.done=!1),!(1&n.wrap)||(((255&st)<<8)+(st>>8))%31){t.msg="incorrect header check",n.mode=J;break}if((15&st)!==x){t.msg="unknown compression method",n.mode=J;break}if(lt-=4,St=8+(15&(st>>>=4)),0===n.wbits)n.wbits=St;else if(St>n.wbits){t.msg="invalid window size",n.mode=J;break}n.dmax=1<<St,t.adler=n.check=1,n.mode=512&st?O:B,st=0,lt=0;break;case _:for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(n.flags=st,(255&n.flags)!==x){t.msg="unknown compression method",n.mode=J;break}if(57344&n.flags){t.msg="unknown header flags set",n.mode=J;break}n.head&&(n.head.text=st>>8&1),512&n.flags&&(Pt[0]=255&st,Pt[1]=st>>>8&255,n.check=a(n.check,Pt,2,0)),st=0,lt=0,n.mode=k;case k:for(;lt<32;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}n.head&&(n.head.time=st),512&n.flags&&(Pt[0]=255&st,Pt[1]=st>>>8&255,Pt[2]=st>>>16&255,Pt[3]=st>>>24&255,n.check=a(n.check,Pt,4,0)),st=0,lt=0,n.mode=C;case C:for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}n.head&&(n.head.xflags=255&st,n.head.os=st>>8),512&n.flags&&(Pt[0]=255&st,Pt[1]=st>>>8&255,n.check=a(n.check,Pt,2,0)),st=0,lt=0,n.mode=A;case A:if(1024&n.flags){for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}n.length=st,n.head&&(n.head.extra_len=st),512&n.flags&&(Pt[0]=255&st,Pt[1]=st>>>8&255,n.check=a(n.check,Pt,2,0)),st=0,lt=0}else n.head&&(n.head.extra=null);n.mode=P;case P:if(1024&n.flags&&((dt=n.length)>at&&(dt=at),dt&&(n.head&&(St=n.head.extra_len-n.length,n.head.extra||(n.head.extra=new Array(n.head.extra_len)),r.arraySet(n.head.extra,tt,nt,dt,St)),512&n.flags&&(n.check=a(n.check,tt,dt,nt)),at-=dt,nt+=dt,n.length-=dt),n.length))break t;n.length=0,n.mode=E;case E:if(2048&n.flags){if(0===at)break t;for(dt=0;St=tt[nt+dt++],n.head&&St&&n.length<65536&&(n.head.name+=String.fromCharCode(St)),St&&dt<at;);if(512&n.flags&&(n.check=a(n.check,tt,dt,nt)),at-=dt,nt+=dt,St)break t}else n.head&&(n.head.name=null);n.length=0,n.mode=I;case I:if(4096&n.flags){if(0===at)break t;for(dt=0;St=tt[nt+dt++],n.head&&St&&n.length<65536&&(n.head.comment+=String.fromCharCode(St)),St&&dt<at;);if(512&n.flags&&(n.check=a(n.check,tt,dt,nt)),at-=dt,nt+=dt,St)break t}else n.head&&(n.head.comment=null);n.mode=T;case T:if(512&n.flags){for(;lt<16;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(st!==(65535&n.check)){t.msg="header crc mismatch",n.mode=J;break}st=0,lt=0}n.head&&(n.head.hcrc=n.flags>>9&1,n.head.done=!0),t.adler=n.check=0,n.mode=B;break;case O:for(;lt<32;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}t.adler=n.check=rt(st),st=0,lt=0,n.mode=L;case L:if(0===n.havedict)return t.next_out=it,t.avail_out=ot,t.next_in=nt,t.avail_in=at,n.hold=st,n.bits=lt,y;t.adler=n.check=1,n.mode=B;case B:if(e===f||e===d)break t;case M:if(n.last){st>>>=7&lt,lt-=7&lt,n.mode=Y;break}for(;lt<3;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}switch(n.last=1&st,lt-=1,3&(st>>>=1)){case 0:n.mode=R;break;case 1:if(ht(n),n.mode=W,e===d){st>>>=2,lt-=2;break t}break;case 2:n.mode=z;break;case 3:t.msg="invalid block type",n.mode=J}st>>>=2,lt-=2;break;case R:for(st>>>=7&lt,lt-=7&lt;lt<32;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if((65535&st)!=(st>>>16^65535)){t.msg="invalid stored block lengths",n.mode=J;break}if(n.length=65535&st,st=0,lt=0,n.mode=F,e===d)break t;case F:n.mode=D;case D:if(dt=n.length){if(dt>at&&(dt=at),dt>ot&&(dt=ot),0===dt)break t;r.arraySet(et,tt,nt,dt,it),at-=dt,nt+=dt,ot-=dt,it+=dt,n.length-=dt;break}n.mode=B;break;case z:for(;lt<14;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(n.nlen=257+(31&st),st>>>=5,lt-=5,n.ndist=1+(31&st),st>>>=5,lt-=5,n.ncode=4+(15&st),st>>>=4,lt-=4,n.nlen>286||n.ndist>30){t.msg="too many length or distance symbols",n.mode=J;break}n.have=0,n.mode=N;case N:for(;n.have<n.ncode;){for(;lt<3;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}n.lens[Et[n.have++]]=7&st,st>>>=3,lt-=3}for(;n.have<19;)n.lens[Et[n.have++]]=0;if(n.lencode=n.lendyn,n.lenbits=7,kt={bits:n.lenbits},_t=s(l,n.lens,0,19,n.lencode,0,n.work,kt),n.lenbits=kt.bits,_t){t.msg="invalid code lengths set",n.mode=J;break}n.have=0,n.mode=U;case U:for(;n.have<n.nlen+n.ndist;){for(;vt=(At=n.lencode[st&(1<<n.lenbits)-1])>>>16&255,bt=65535&At,!((yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(bt<16)st>>>=yt,lt-=yt,n.lens[n.have++]=bt;else{if(16===bt){for(Ct=yt+2;lt<Ct;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(st>>>=yt,lt-=yt,0===n.have){t.msg="invalid bit length repeat",n.mode=J;break}St=n.lens[n.have-1],dt=3+(3&st),st>>>=2,lt-=2}else if(17===bt){for(Ct=yt+3;lt<Ct;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}lt-=yt,St=0,dt=3+(7&(st>>>=yt)),st>>>=3,lt-=3}else{for(Ct=yt+7;lt<Ct;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}lt-=yt,St=0,dt=11+(127&(st>>>=yt)),st>>>=7,lt-=7}if(n.have+dt>n.nlen+n.ndist){t.msg="invalid bit length repeat",n.mode=J;break}for(;dt--;)n.lens[n.have++]=St}}if(n.mode===J)break;if(0===n.lens[256]){t.msg="invalid code -- missing end-of-block",n.mode=J;break}if(n.lenbits=9,kt={bits:n.lenbits},_t=s(u,n.lens,0,n.nlen,n.lencode,0,n.work,kt),n.lenbits=kt.bits,_t){t.msg="invalid literal/lengths set",n.mode=J;break}if(n.distbits=6,n.distcode=n.distdyn,kt={bits:n.distbits},_t=s(c,n.lens,n.nlen,n.ndist,n.distcode,0,n.work,kt),n.distbits=kt.bits,_t){t.msg="invalid distances set",n.mode=J;break}if(n.mode=W,e===d)break t;case W:n.mode=G;case G:if(at>=6&&ot>=258){t.next_out=it,t.avail_out=ot,t.next_in=nt,t.avail_in=at,n.hold=st,n.bits=lt,o(t,ct),it=t.next_out,et=t.output,ot=t.avail_out,nt=t.next_in,tt=t.input,at=t.avail_in,st=n.hold,lt=n.bits,n.mode===B&&(n.back=-1);break}for(n.back=0;vt=(At=n.lencode[st&(1<<n.lenbits)-1])>>>16&255,bt=65535&At,!((yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(vt&&0==(240&vt)){for(mt=yt,wt=vt,xt=bt;vt=(At=n.lencode[xt+((st&(1<<mt+wt)-1)>>mt)])>>>16&255,bt=65535&At,!(mt+(yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}st>>>=mt,lt-=mt,n.back+=mt}if(st>>>=yt,lt-=yt,n.back+=yt,n.length=bt,0===vt){n.mode=Z;break}if(32&vt){n.back=-1,n.mode=B;break}if(64&vt){t.msg="invalid literal/length code",n.mode=J;break}n.extra=15&vt,n.mode=V;case V:if(n.extra){for(Ct=n.extra;lt<Ct;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}n.length+=st&(1<<n.extra)-1,st>>>=n.extra,lt-=n.extra,n.back+=n.extra}n.was=n.length,n.mode=j;case j:for(;vt=(At=n.distcode[st&(1<<n.distbits)-1])>>>16&255,bt=65535&At,!((yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(0==(240&vt)){for(mt=yt,wt=vt,xt=bt;vt=(At=n.distcode[xt+((st&(1<<mt+wt)-1)>>mt)])>>>16&255,bt=65535&At,!(mt+(yt=At>>>24)<=lt);){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}st>>>=mt,lt-=mt,n.back+=mt}if(st>>>=yt,lt-=yt,n.back+=yt,64&vt){t.msg="invalid distance code",n.mode=J;break}n.offset=bt,n.extra=15&vt,n.mode=H;case H:if(n.extra){for(Ct=n.extra;lt<Ct;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}n.offset+=st&(1<<n.extra)-1,st>>>=n.extra,lt-=n.extra,n.back+=n.extra}if(n.offset>n.dmax){t.msg="invalid distance too far back",n.mode=J;break}n.mode=q;case q:if(0===ot)break t;if(dt=ct-ot,n.offset>dt){if((dt=n.offset-dt)>n.whave&&n.sane){t.msg="invalid distance too far back",n.mode=J;break}dt>n.wnext?(dt-=n.wnext,pt=n.wsize-dt):pt=n.wnext-dt,dt>n.length&&(dt=n.length),gt=n.window}else gt=et,pt=it-n.offset,dt=n.length;for(dt>ot&&(dt=ot),ot-=dt,n.length-=dt;et[it++]=gt[pt++],--dt;);0===n.length&&(n.mode=G);break;case Z:if(0===ot)break t;et[it++]=n.length,ot--,n.mode=G;break;case Y:if(n.wrap){for(;lt<32;){if(0===at)break t;at--,st|=tt[nt++]<<lt,lt+=8}if(ct-=ot,t.total_out+=ct,n.total+=ct,ct&&(t.adler=n.check=n.flags?a(n.check,et,ct,it-ct):i(n.check,et,ct,it-ct)),ct=ot,(n.flags?st:rt(st))!==n.check){t.msg="incorrect data check",n.mode=J;break}st=0,lt=0}n.mode=X;case X:if(n.wrap&&n.flags){for(;lt<32;){if(0===at)break t;at--,st+=tt[nt++]<<lt,lt+=8}if(st!==(4294967295&n.total)){t.msg="incorrect length check",n.mode=J;break}st=0,lt=0}n.mode=K;case K:_t=g;break t;case J:_t=b;break t;case Q:return m;case $:default:return v}return t.next_out=it,t.avail_out=ot,t.next_in=nt,t.avail_in=at,n.hold=st,n.bits=lt,(n.wsize||ct!==t.avail_out&&n.mode<J&&(n.mode<Y||e!==h))&&ft(t,t.output,t.next_out,ct-t.avail_out)?(n.mode=Q,m):(ut-=t.avail_in,ct-=t.avail_out,t.total_in+=ut,t.total_out+=ct,n.total+=ct,n.wrap&&ct&&(t.adler=n.check=n.flags?a(n.check,et,ct,t.next_out-ct):i(n.check,et,ct,t.next_out-ct)),t.data_type=n.bits+(n.last?64:0)+(n.mode===B?128:0)+(n.mode===W||n.mode===F?256:0),(0===ut&&0===ct||e===h)&&_t===p&&(_t=w),_t)},e.inflateEnd=function(t){if(!t||!t.state)return v;var e=t.state;return e.window&&(e.window=null),t.state=null,p},e.inflateGetHeader=function(t,e){var n;return t&&t.state?0==(2&(n=t.state).wrap)?v:(n.head=e,e.done=!1,p):v},e.inflateSetDictionary=function(t,e){var n,r=e.length;return t&&t.state?0!==(n=t.state).wrap&&n.mode!==L?v:n.mode===L&&i(1,e,r,0)!==n.check?b:ft(t,e,r,r)?(n.mode=Q,m):(n.havedict=1,p):v},e.inflateInfo="pako inflate (from Nodeca project)"},function(t,e,n){"use strict";t.exports=function(t,e){var n,r,i,a,o,s,l,u,c,h,f,d,p,g,y,v,b,m,w,x,S,_,k,C,A;n=t.state,r=t.next_in,C=t.input,i=r+(t.avail_in-5),a=t.next_out,A=t.output,o=a-(e-t.avail_out),s=a+(t.avail_out-257),l=n.dmax,u=n.wsize,c=n.whave,h=n.wnext,f=n.window,d=n.hold,p=n.bits,g=n.lencode,y=n.distcode,v=(1<<n.lenbits)-1,b=(1<<n.distbits)-1;t:do{p<15&&(d+=C[r++]<<p,p+=8,d+=C[r++]<<p,p+=8),m=g[d&v];e:for(;;){if(d>>>=w=m>>>24,p-=w,0===(w=m>>>16&255))A[a++]=65535&m;else{if(!(16&w)){if(0==(64&w)){m=g[(65535&m)+(d&(1<<w)-1)];continue e}if(32&w){n.mode=12;break t}t.msg="invalid literal/length code",n.mode=30;break t}x=65535&m,(w&=15)&&(p<w&&(d+=C[r++]<<p,p+=8),x+=d&(1<<w)-1,d>>>=w,p-=w),p<15&&(d+=C[r++]<<p,p+=8,d+=C[r++]<<p,p+=8),m=y[d&b];n:for(;;){if(d>>>=w=m>>>24,p-=w,!(16&(w=m>>>16&255))){if(0==(64&w)){m=y[(65535&m)+(d&(1<<w)-1)];continue n}t.msg="invalid distance code",n.mode=30;break t}if(S=65535&m,p<(w&=15)&&(d+=C[r++]<<p,(p+=8)<w&&(d+=C[r++]<<p,p+=8)),(S+=d&(1<<w)-1)>l){t.msg="invalid distance too far back",n.mode=30;break t}if(d>>>=w,p-=w,S>(w=a-o)){if((w=S-w)>c&&n.sane){t.msg="invalid distance too far back",n.mode=30;break t}if(_=0,k=f,0===h){if(_+=u-w,w<x){for(x-=w;A[a++]=f[_++],--w;);_=a-S,k=A}}else if(h<w){if(_+=u+h-w,(w-=h)<x){for(x-=w;A[a++]=f[_++],--w;);if(_=0,h<x){for(x-=w=h;A[a++]=f[_++],--w;);_=a-S,k=A}}}else if(_+=h-w,w<x){for(x-=w;A[a++]=f[_++],--w;);_=a-S,k=A}for(;x>2;)A[a++]=k[_++],A[a++]=k[_++],A[a++]=k[_++],x-=3;x&&(A[a++]=k[_++],x>1&&(A[a++]=k[_++]))}else{for(_=a-S;A[a++]=A[_++],A[a++]=A[_++],A[a++]=A[_++],(x-=3)>2;);x&&(A[a++]=A[_++],x>1&&(A[a++]=A[_++]))}break}}break}}while(r<i&&a<s);r-=x=p>>3,d&=(1<<(p-=x<<3))-1,t.next_in=r,t.next_out=a,t.avail_in=r<i?i-r+5:5-(r-i),t.avail_out=a<s?s-a+257:257-(a-s),n.hold=d,n.bits=p}},function(t,e,n){"use strict";var r=n(34),i=[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,0,0],a=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],o=[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,0,0],s=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(t,e,n,l,u,c,h,f){var d,p,g,y,v,b,m,w,x,S=f.bits,_=0,k=0,C=0,A=0,P=0,E=0,I=0,T=0,O=0,L=0,B=null,M=0,R=new r.Buf16(16),F=new r.Buf16(16),D=null,z=0;for(_=0;_<=15;_++)R[_]=0;for(k=0;k<l;k++)R[e[n+k]]++;for(P=S,A=15;A>=1&&0===R[A];A--);if(P>A&&(P=A),0===A)return u[c++]=20971520,u[c++]=20971520,f.bits=1,0;for(C=1;C<A&&0===R[C];C++);for(P<C&&(P=C),T=1,_=1;_<=15;_++)if(T<<=1,(T-=R[_])<0)return-1;if(T>0&&(0===t||1!==A))return-1;for(F[1]=0,_=1;_<15;_++)F[_+1]=F[_]+R[_];for(k=0;k<l;k++)0!==e[n+k]&&(h[F[e[n+k]]++]=k);if(0===t?(B=D=h,b=19):1===t?(B=i,M-=257,D=a,z-=257,b=256):(B=o,D=s,b=-1),L=0,k=0,_=C,v=c,E=P,I=0,g=-1,y=(O=1<<P)-1,1===t&&O>852||2===t&&O>592)return 1;for(;;){for(m=_-I,h[k]<b?(w=0,x=h[k]):h[k]>b?(w=D[z+h[k]],x=B[M+h[k]]):(w=96,x=0),d=1<<_-I,C=p=1<<E;u[v+(L>>I)+(p-=d)]=m<<24|w<<16|x|0,0!==p;);for(d=1<<_-1;L&d;)d>>=1;if(0!==d?(L&=d-1,L+=d):L=0,k++,0==--R[_]){if(_===A)break;_=e[n+h[k]]}if(_>P&&(L&y)!==g){for(0===I&&(I=P),v+=C,T=1<<(E=_-I);E+I<A&&!((T-=R[E+I])<=0);)E++,T<<=1;if(O+=1<<E,1===t&&O>852||2===t&&O>592)return 1;u[g=L&y]=P<<24|E<<16|v-c|0}}return 0!==L&&(u[v+L]=_-I<<24|64<<16|0),f.bits=P,0}},function(t,e,n){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},function(t,e){(function(){var e;e=function(){var t,e;function n(n,r){var i,a,o,s,l,u;this.document=n,null==r&&(r={}),this.size=r.size||"letter",this.layout=r.layout||"portrait","number"==typeof r.margin?this.margins={top:r.margin,left:r.margin,bottom:r.margin,right:r.margin}:this.margins=r.margins||t,i=Array.isArray(this.size)?this.size:e[this.size.toUpperCase()],this.width=i["portrait"===this.layout?0:1],this.height=i["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),Object.defineProperties(this,{fonts:{get:(u=this,function(){var t;return null!=(t=u.resources.data).Font?t.Font:t.Font={}})},xobjects:{get:(l=this,function(){var t;return null!=(t=l.resources.data).XObject?t.XObject:t.XObject={}})},ext_gstates:{get:(s=this,function(){var t;return null!=(t=s.resources.data).ExtGState?t.ExtGState:t.ExtGState={}})},patterns:{get:(o=this,function(){var t;return null!=(t=o.resources.data).Pattern?t.Pattern:t.Pattern={}})},annotations:{get:(a=this,function(){var t;return null!=(t=a.dictionary.data).Annots?t.Annots:t.Annots=[]})}}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources})}return n.prototype.maxY=function(){return this.height-this.margins.bottom},n.prototype.write=function(t){return this.content.write(t)},n.prototype.end=function(){return this.dictionary.end(),this.resources.end(),this.content.end()},t={top:72,left:72,bottom:72,right:72},e={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]},n}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r,i,a,o;o=n(163),e=o.PDFGradient,r=o.PDFLinearGradient,i=o.PDFRadialGradient,t.exports={initColor:function(){return this._opacityRegistry={},this._opacityCount=0,this._gradCount=0},_normalizeColor:function(t){var n,r;return t instanceof e?t:("string"==typeof t&&("#"===t.charAt(0)?(4===t.length&&(t=t.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3")),n=parseInt(t.slice(1),16),t=[n>>16,n>>8&255,255&n]):a[t]&&(t=a[t])),Array.isArray(t)?(3===t.length?t=function(){var e,n,i;for(i=[],e=0,n=t.length;e<n;e++)r=t[e],i.push(r/255);return i}():4===t.length&&(t=function(){var e,n,i;for(i=[],e=0,n=t.length;e<n;e++)r=t[e],i.push(r/100);return i}()),t):null)},_setColor:function(t,n){var r,i;return!!(t=this._normalizeColor(t))&&(r=n?"SCN":"scn",t instanceof e?(this._setColorSpace("Pattern",n),t.apply(r)):(i=4===t.length?"DeviceCMYK":"DeviceRGB",this._setColorSpace(i,n),t=t.join(" "),this.addContent(t+" "+r)),!0)},_setColorSpace:function(t,e){var n;return n=e?"CS":"cs",this.addContent("/"+t+" "+n)},fillColor:function(t,e){return this._setColor(t,!1)&&this.fillOpacity(e),this._fillColor=[t,e],this},strokeColor:function(t,e){return this._setColor(t,!0)&&this.strokeOpacity(e),this},opacity:function(t){return this._doOpacity(t,t),this},fillOpacity:function(t){return this._doOpacity(t,null),this},strokeOpacity:function(t){return this._doOpacity(null,t),this},_doOpacity:function(t,e){var n,r,i,a;if(null!=t||null!=e)return null!=t&&(t=Math.max(0,Math.min(1,t))),null!=e&&(e=Math.max(0,Math.min(1,e))),r=t+"_"+e,this._opacityRegistry[r]?(n=(a=this._opacityRegistry[r])[0],i=a[1]):(n={Type:"ExtGState"},null!=t&&(n.ca=t),null!=e&&(n.CA=e),(n=this.ref(n)).end(),i="Gs"+ ++this._opacityCount,this._opacityRegistry[r]=[n,i]),this.page.ext_gstates[i]=n,this.addContent("/"+i+" gs")},linearGradient:function(t,e,n,i){return new r(this,t,e,n,i)},radialGradient:function(t,e,n,r,a,o){return new i(this,t,e,n,r,a,o)}},a={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}}).call(this)},function(t,e){(function(){var e,n,r,i=function(t,e){for(var n in e)a.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}return r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype,t},a={}.hasOwnProperty;e=function(){function t(t){this.doc=t,this.stops=[],this.embedded=!1,this.transform=[1,0,0,1,0,0],this._colorSpace="DeviceRGB"}return t.prototype.stop=function(t,e,n){return null==n&&(n=1),n=Math.max(0,Math.min(1,n)),this.stops.push([t,this.doc._normalizeColor(e),n]),this},t.prototype.setTransform=function(t,e,n,r,i,a){return this.transform=[t,e,n,r,i,a],this},t.prototype.embed=function(t){var e,n,r,i,a,o,s,l,u,c,h,f,d,p,g,y,v,b,m,w;if(0!==this.stops.length){for(this.embedded=!0,this.matrix=t,(c=this.stops[this.stops.length-1])[0]<1&&this.stops.push([1,c[1],c[2]]),e=[],n=[],m=[],s=l=0,g=this.stops.length-1;0<=g?l<g:l>g;s=0<=g?++l:--l)n.push(0,1),s+2!==this.stops.length&&e.push(this.stops[s+1][0]),r=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[s+0][1],C1:this.stops[s+1][1],N:1}),m.push(r),r.end();if(1===m.length?r=m[0]:(r=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:m,Bounds:e,Encode:n})).end(),this.id="Sh"+ ++this.doc._gradCount,(v=this.shader(r)).end(),(p=this.doc.ref({Type:"Pattern",PatternType:2,Shading:v,Matrix:function(){var t,e,n,r;for(r=[],t=0,e=(n=this.matrix).length;t<e;t++)w=n[t],r.push(+w.toFixed(5));return r}.call(this)})).end(),this.stops.some(function(t){return t[2]<1})){for((a=this.opacityGradient())._colorSpace="DeviceGray",u=0,h=(y=this.stops).length;u<h;u++)b=y[u],a.stop(b[0],[b[2]]);a=a.embed(this.matrix),d=[0,0,this.doc.page.width,this.doc.page.height],(i=this.doc.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:d,Group:{Type:"Group",S:"Transparency",CS:"DeviceGray"},Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:a}}})).write("/Pattern cs /Sh1 scn"),i.end(d.join(" ")+" re f"),(o=this.doc.ref({Type:"ExtGState",SMask:{Type:"Mask",S:"Luminosity",G:i}})).end(),(f=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:1,TilingType:2,BBox:d,XStep:d[2],YStep:d[3],Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:p},ExtGState:{Gs1:o}}})).write("/Gs1 gs /Pattern cs /Sh1 scn"),f.end(d.join(" ")+" re f"),this.doc.page.patterns[this.id]=f}else this.doc.page.patterns[this.id]=p;return p}},t.prototype.apply=function(t){var e,n,r,i,a,o,s,l,u,c,h,f,d,p,g;return i=(p=this.doc._ctm.slice())[0],a=p[1],l=p[2],h=p[3],f=p[4],d=p[5],r=[i*(o=(g=this.transform)[0])+l*(s=g[1]),a*o+h*s,i*(u=g[2])+l*(c=g[3]),a*u+h*c,i*(e=g[4])+l*(n=g[5])+f,a*e+h*n+d],this.embedded&&r.join(" ")===this.matrix.join(" ")||this.embed(r),this.doc.addContent("/"+this.id+" "+t)},t}(),n=function(t){function n(t,e,r,i,a){this.doc=t,this.x1=e,this.y1=r,this.x2=i,this.y2=a,n.__super__.constructor.apply(this,arguments)}return i(n,e),n.prototype.shader=function(t){return this.doc.ref({ShadingType:2,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.x2,this.y2],Function:t,Extend:[!0,!0]})},n.prototype.opacityGradient=function(){return new n(this.doc,this.x1,this.y1,this.x2,this.y2)},n}(),r=function(t){function n(t,e,r,i,a,o,s){this.doc=t,this.x1=e,this.y1=r,this.r1=i,this.x2=a,this.y2=o,this.r2=s,n.__super__.constructor.apply(this,arguments)}return i(n,e),n.prototype.shader=function(t){return this.doc.ref({ShadingType:3,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.r1,this.x2,this.y2,this.r2],Function:t,Extend:[!0,!0]})},n.prototype.opacityGradient=function(){return new n(this.doc,this.x1,this.y1,this.r1,this.x2,this.y2,this.r2)},n}(),t.exports={PDFGradient:e,PDFLinearGradient:n,PDFRadialGradient:r}}).call(this)},function(t,e,n){(function(){var e,r,i,a=[].slice;r=n(165),i=n(26).number,e=(Math.sqrt(2)-1)/3*4,t.exports={initVector:function(){return this._ctm=[1,0,0,1,0,0],this._ctmStack=[]},save:function(){return this._ctmStack.push(this._ctm.slice()),this.addContent("q")},restore:function(){return this._ctm=this._ctmStack.pop()||[1,0,0,1,0,0],this.addContent("Q")},closePath:function(){return this.addContent("h")},lineWidth:function(t){return this.addContent(i(t)+" w")},_CAP_STYLES:{BUTT:0,ROUND:1,SQUARE:2},lineCap:function(t){return"string"==typeof t&&(t=this._CAP_STYLES[t.toUpperCase()]),this.addContent(t+" J")},_JOIN_STYLES:{MITER:0,ROUND:1,BEVEL:2},lineJoin:function(t){return"string"==typeof t&&(t=this._JOIN_STYLES[t.toUpperCase()]),this.addContent(t+" j")},miterLimit:function(t){return this.addContent(i(t)+" M")},dash:function(t,e){var n,r,a,o;return null==e&&(e={}),null==t?this:Array.isArray(t)?(t=function(){var e,n,r;for(r=[],e=0,n=t.length;e<n;e++)o=t[e],r.push(i(o));return r}().join(" "),n=e.phase||0,this.addContent("["+t+"] "+i(n)+" d")):(a=null!=(r=e.space)?r:t,n=e.phase||0,this.addContent("["+i(t)+" "+i(a)+"] "+i(n)+" d"))},undash:function(){return this.addContent("[] 0 d")},moveTo:function(t,e){return this.addContent(i(t)+" "+i(e)+" m")},lineTo:function(t,e){return this.addContent(i(t)+" "+i(e)+" l")},bezierCurveTo:function(t,e,n,r,a,o){return this.addContent(i(t)+" "+i(e)+" "+i(n)+" "+i(r)+" "+i(a)+" "+i(o)+" c")},quadraticCurveTo:function(t,e,n,r){return this.addContent(i(t)+" "+i(e)+" "+i(n)+" "+i(r)+" v")},rect:function(t,e,n,r){return this.addContent(i(t)+" "+i(e)+" "+i(n)+" "+i(r)+" re")},roundedRect:function(t,n,r,i,a){var o;return null==a&&(a=0),o=(a=Math.min(a,.5*r,.5*i))*(1-e),this.moveTo(t+a,n),this.lineTo(t+r-a,n),this.bezierCurveTo(t+r-o,n,t+r,n+o,t+r,n+a),this.lineTo(t+r,n+i-a),this.bezierCurveTo(t+r,n+i-o,t+r-o,n+i,t+r-a,n+i),this.lineTo(t+a,n+i),this.bezierCurveTo(t+o,n+i,t,n+i-o,t,n+i-a),this.lineTo(t,n+a),this.bezierCurveTo(t,n+o,t+o,n,t+a,n),this.closePath()},ellipse:function(t,n,r,i){var a,o,s,l,u,c;return null==i&&(i=r),a=r*e,o=i*e,s=(t-=r)+2*r,u=(n-=i)+2*i,l=t+r,c=n+i,this.moveTo(t,c),this.bezierCurveTo(t,c-o,l-a,n,l,n),this.bezierCurveTo(l+a,n,s,c-o,s,c),this.bezierCurveTo(s,c+o,l+a,u,l,u),this.bezierCurveTo(l-a,u,t,c+o,t,c),this.closePath()},circle:function(t,e,n){return this.ellipse(t,e,n)},arc:function(t,n,r,i,a,o){var s,l,u,c,h,f,d,p,g,y,v,b,m,w,x,S,_;for(null==o&&(o=!1),l=2*Math.PI,s=.5*Math.PI,y=a-i,Math.abs(y)>l?y=l:0!==y&&o!==y<0&&(y=(o?-1:1)*l+y),m=(_=y/(x=Math.ceil(Math.abs(y)/s)))/s*e*r,g=i,v=-Math.sin(g)*m,b=Math.cos(g)*m,u=t+Math.cos(g)*r,c=n+Math.sin(g)*r,this.moveTo(u,c),w=0,S=x;0<=S?w<S:w>S;0<=S?++w:--w)h=u+v,f=c+b,g+=_,u=t+Math.cos(g)*r,c=n+Math.sin(g)*r,d=u-(v=-Math.sin(g)*m),p=c-(b=Math.cos(g)*m),this.bezierCurveTo(h,f,d,p,u,c);return this},polygon:function(){var t,e,n,r;for(r=1<=arguments.length?a.call(arguments,0):[],this.moveTo.apply(this,r.shift()),t=0,e=r.length;t<e;t++)n=r[t],this.lineTo.apply(this,n);return this.closePath()},path:function(t){return r.apply(this,t),this},_windingRule:function(t){return/even-?odd/.test(t)?"*":""},fill:function(t,e){return/(even-?odd)|(non-?zero)/.test(t)&&(e=t,t=null),t&&this.fillColor(t),this.addContent("f"+this._windingRule(e))},stroke:function(t){return t&&this.strokeColor(t),this.addContent("S")},fillAndStroke:function(t,e,n){var r;return null==e&&(e=t),(r=/(even-?odd)|(non-?zero)/).test(t)&&(n=t,t=null),r.test(e)&&(n=e,e=t),t&&(this.fillColor(t),this.strokeColor(e)),this.addContent("B"+this._windingRule(n))},clip:function(t){return this.addContent("W"+this._windingRule(t)+" n")},transform:function(t,e,n,r,a,o){var s,l,u,c,h,f,d,p,g;return l=(s=this._ctm)[0],u=s[1],c=s[2],h=s[3],f=s[4],d=s[5],s[0]=l*t+c*e,s[1]=u*t+h*e,s[2]=l*n+c*r,s[3]=u*n+h*r,s[4]=l*a+c*o+f,s[5]=u*a+h*o+d,g=function(){var s,l,u,c;for(c=[],s=0,l=(u=[t,e,n,r,a,o]).length;s<l;s++)p=u[s],c.push(i(p));return c}().join(" "),this.addContent(g+" cm")},translate:function(t,e){return this.transform(1,0,0,1,t,e)},rotate:function(t,e){var n,r,i,a,o,s,l;return null==e&&(e={}),r=t*Math.PI/180,n=Math.cos(r),a=Math.sin(r),o=s=0,null!=e.origin&&(l=(o=(i=e.origin)[0])*a+(s=i[1])*n,o-=o*n-s*a,s-=l),this.transform(n,a,-a,n,o,s)},scale:function(t,e,n){var r,i,a;return null==e&&(e=t),null==n&&(n={}),"object"==typeof e&&(n=e,e=t),i=a=0,null!=n.origin&&(i=(r=n.origin)[0],a=r[1],i-=t*i,a-=e*a),this.transform(t,0,0,e,i,a)}}}).call(this)},function(t,e){(function(){var e;e=function(){var t,e,n,r,i,a,o,s,l,u,c,h,f;function d(){}return d.apply=function(e,n){var r;return r=a(n),t(r,e)},i={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0},a=function(t){var e,n,r,a,o,s,l,u,c;for(c=[],e=[],a="",o=!1,u=0,s=0,l=t.length;s<l;s++)if(n=t[s],null!=i[n])u=i[n],r&&(a.length>0&&(e[e.length]=+a),c[c.length]={cmd:r,args:e},e=[],a="",o=!1),r=n;else if(" "===n||","===n||"-"===n&&a.length>0&&"e"!==a[a.length-1]||"."===n&&o){if(0===a.length)continue;e.length===u?(c[c.length]={cmd:r,args:e},e=[+a],"M"===r&&(r="L"),"m"===r&&(r="l")):e[e.length]=+a,o="."===n,a="-"===n||"."===n?n:""}else a+=n,"."===n&&(o=!0);return a.length>0&&(e.length===u?(c[c.length]={cmd:r,args:e},e=[+a],"M"===r&&(r="L"),"m"===r&&(r="l")):e[e.length]=+a),c[c.length]={cmd:r,args:e},c},n=r=o=s=h=f=0,t=function(t,e){var i,a,u,c,d;for(n=r=o=s=h=f=0,a=u=0,c=t.length;u<c;a=++u)i=t[a],"function"==typeof l[d=i.cmd]&&l[d](e,i.args);return n=r=o=s=0},l={M:function(t,e){return n=e[0],r=e[1],o=s=null,h=n,f=r,t.moveTo(n,r)},m:function(t,e){return n+=e[0],r+=e[1],o=s=null,h=n,f=r,t.moveTo(n,r)},C:function(t,e){return n=e[4],r=e[5],o=e[2],s=e[3],t.bezierCurveTo.apply(t,e)},c:function(t,e){return t.bezierCurveTo(e[0]+n,e[1]+r,e[2]+n,e[3]+r,e[4]+n,e[5]+r),o=n+e[2],s=r+e[3],n+=e[4],r+=e[5]},S:function(t,e){return null===o&&(o=n,s=r),t.bezierCurveTo(n-(o-n),r-(s-r),e[0],e[1],e[2],e[3]),o=e[0],s=e[1],n=e[2],r=e[3]},s:function(t,e){return null===o&&(o=n,s=r),t.bezierCurveTo(n-(o-n),r-(s-r),n+e[0],r+e[1],n+e[2],r+e[3]),o=n+e[0],s=r+e[1],n+=e[2],r+=e[3]},Q:function(t,e){return o=e[0],s=e[1],n=e[2],r=e[3],t.quadraticCurveTo(e[0],e[1],n,r)},q:function(t,e){return t.quadraticCurveTo(e[0]+n,e[1]+r,e[2]+n,e[3]+r),o=n+e[0],s=r+e[1],n+=e[2],r+=e[3]},T:function(t,e){return null===o?(o=n,s=r):(o=n-(o-n),s=r-(s-r)),t.quadraticCurveTo(o,s,e[0],e[1]),o=n-(o-n),s=r-(s-r),n=e[0],r=e[1]},t:function(t,e){return null===o?(o=n,s=r):(o=n-(o-n),s=r-(s-r)),t.quadraticCurveTo(o,s,n+e[0],r+e[1]),n+=e[0],r+=e[1]},A:function(t,e){return c(t,n,r,e),n=e[5],r=e[6]},a:function(t,e){return e[5]+=n,e[6]+=r,c(t,n,r,e),n=e[5],r=e[6]},L:function(t,e){return n=e[0],r=e[1],o=s=null,t.lineTo(n,r)},l:function(t,e){return n+=e[0],r+=e[1],o=s=null,t.lineTo(n,r)},H:function(t,e){return n=e[0],o=s=null,t.lineTo(n,r)},h:function(t,e){return n+=e[0],o=s=null,t.lineTo(n,r)},V:function(t,e){return r=e[0],o=s=null,t.lineTo(n,r)},v:function(t,e){return r+=e[0],o=s=null,t.lineTo(n,r)},Z:function(t){return t.closePath(),n=h,r=f},z:function(t){return t.closePath(),n=h,r=f}},c=function(t,n,r,i){var a,o,s,l,c,h,f,d,p,g,y,v,b;for(p=i[0],g=i[1],d=i[2],c=i[3],b=i[4],o=i[5],s=i[6],f=[],l=0,h=(v=e(o,s,p,g,c,b,d,n,r)).length;l<h;l++)y=v[l],a=u.apply(null,y),f.push(t.bezierCurveTo.apply(t,a));return f},e=function(t,e,n,r,i,a,l,u,c){var h,f,d,p,g,y,v,b,m,w,x,S,_,k,C,A,P,E,I,T,O,L,B,M,R;for(C=l*(Math.PI/180),k=Math.sin(C),g=Math.cos(C),n=Math.abs(n),r=Math.abs(r),(b=(o=g*(u-t)*.5+k*(c-e)*.5)*o/(n*n)+(s=g*(c-e)*.5-k*(u-t)*.5)*s/(r*r))>1&&(n*=b=Math.sqrt(b),r*=b),(_=1/(((O=(h=g/n)*t+(f=k/n)*e)-(T=h*u+f*c))*(O-T)+((M=(d=-k/r)*t+(p=g/r)*e)-(B=d*u+p*c))*(M-B))-.25)<0&&(_=0),S=Math.sqrt(_),a===i&&(S=-S),L=.5*(T+O)-S*(M-B),R=.5*(B+M)+S*(O-T),A=Math.atan2(B-R,T-L),(I=Math.atan2(M-R,O-L)-A)<0&&1===a?I+=2*Math.PI:I>0&&0===a&&(I-=2*Math.PI),w=[],y=v=0,m=x=Math.ceil(Math.abs(I/(.5*Math.PI+.001)));0<=m?v<m:v>m;y=0<=m?++v:--v)P=A+y*I/x,E=A+(y+1)*I/x,w[y]=[L,R,P,E,n,r,k,g];return w},u=function(t,e,n,r,i,a,o,s){var l,u,c,h,f,d,p,g,y,v,b,m;return l=s*i,u=-o*a,c=o*i,h=s*a,d=.5*(r-n),f=8/3*Math.sin(.5*d)*Math.sin(.5*d)/Math.sin(d),p=t+Math.cos(n)-f*Math.sin(n),v=e+Math.sin(n)+f*Math.cos(n),y=t+Math.cos(r),m=e+Math.sin(r),[l*p+u*v,c*p+h*v,l*(g=y+f*Math.sin(r))+u*(b=m-f*Math.cos(r)),c*g+h*b,l*y+u*m,c*y+h*m]},d}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e;e=n(50),t.exports={initFonts:function(){this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={}},font:function(t,n,r){var i,a,o,s;return"number"==typeof n&&(r=n,n=null),"string"==typeof t&&this._registeredFonts[t]?(i=t,t=(s=this._registeredFonts[t]).src,n=s.family):"string"!=typeof(i=n||t)&&(i=null),null!=r&&this.fontSize(r),(a=this._fontFamilies[i])?(this._font=a,this):(o="F"+ ++this._fontCount,this._font=e.open(this,t,n,o),(a=this._fontFamilies[this._font.name])?(this._font=a,this):(i&&(this._fontFamilies[i]=this._font),this._font.name&&(this._fontFamilies[this._font.name]=this._font),this))},fontSize:function(t){return this._fontSize=t,this},currentLineHeight:function(t){return null==t&&(t=!1),this._font.lineHeight(this._fontSize,t)},registerFont:function(t,e,n){return this._registeredFonts[t]={src:e,family:n},this}}}).call(this)},function(t,e,n){"use strict";(function(e,r){function i(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var a=i(n(168)),o=i(n(197)),s=i(n(60)),l=i(n(209)),u=i(n(212)),c=i(n(69)),h=i(n(74)),f=i(n(106)),d=i(n(107)),p=i(n(225)),g=i(n(236)),y=i(n(237)),v=n(12),b=i(n(245)),m=i(n(248)),w=i(n(251)),x=i(n(255)),S=i(n(258)),_=i(n(263)),k=i(n(269)),C=i(n(43)),A=i(n(271)),P=i(n(280)),E=i(n(283)),I=i(n(79)),T=i(n(284)),O={logErrors:!1},L=[];function B(t,e,n){if(n.get){var r=n.get;n.get=function(){var t=r.call(this);return h(this,e,{value:t}),t}}else if("function"==typeof n.value){var i=n.value;return{get:function(){var t=new p;function n(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];var a=n.length>0?n[0]:"value";if(t.has(a))return t.get(a);var o=i.apply(this,n);return t.set(a,o),o}return h(this,e,{value:n}),n}}}}O.registerFormat=function(t){L.push(t)},O.openSync=function(t,e){var r=n(8).readFileSync(t);return O.create(r,e)},O.open=function(t,e,r){"function"==typeof e&&(r=e,e=null),n(8).readFile(t,function(t,n){if(t)return r(t);try{var i=O.create(n,e)}catch(t){return r(t)}return r(null,i)})},O.create=function(t,e){for(var n=0;n<L.length;n++){var r=L[n];if(r.probe(t)){var i=new r(new a.DecodeStream(t));return e?i.getFont(e):i}}throw new Error("Unknown font format")};var M=new a.Struct({firstCode:a.uint16,entryCount:a.uint16,idDelta:a.int16,idRangeOffset:a.uint16}),R=new a.Struct({startCharCode:a.uint32,endCharCode:a.uint32,glyphID:a.uint32}),F=new a.Struct({startUnicodeValue:a.uint24,additionalCount:a.uint8}),D=new a.Struct({unicodeValue:a.uint24,glyphID:a.uint16}),z=new a.Array(F,a.uint32),N=new a.Array(D,a.uint32),U=new a.Struct({varSelector:a.uint24,defaultUVS:new a.Pointer(a.uint32,z,{type:"parent"}),nonDefaultUVS:new a.Pointer(a.uint32,N,{type:"parent"})}),W=new a.VersionedStruct(a.uint16,{0:{length:a.uint16,language:a.uint16,codeMap:new a.LazyArray(a.uint8,256)},2:{length:a.uint16,language:a.uint16,subHeaderKeys:new a.Array(a.uint16,256),subHeaderCount:function(t){return Math.max.apply(Math,t.subHeaderKeys)},subHeaders:new a.LazyArray(M,"subHeaderCount"),glyphIndexArray:new a.LazyArray(a.uint16,"subHeaderCount")},4:{length:a.uint16,language:a.uint16,segCountX2:a.uint16,segCount:function(t){return t.segCountX2>>1},searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16,endCode:new a.LazyArray(a.uint16,"segCount"),reservedPad:new a.Reserved(a.uint16),startCode:new a.LazyArray(a.uint16,"segCount"),idDelta:new a.LazyArray(a.int16,"segCount"),idRangeOffset:new a.LazyArray(a.uint16,"segCount"),glyphIndexArray:new a.LazyArray(a.uint16,function(t){return(t.length-t._currentOffset)/2})},6:{length:a.uint16,language:a.uint16,firstCode:a.uint16,entryCount:a.uint16,glyphIndices:new a.LazyArray(a.uint16,"entryCount")},8:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint16,is32:new a.LazyArray(a.uint8,8192),nGroups:a.uint32,groups:new a.LazyArray(R,"nGroups")},10:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint32,firstCode:a.uint32,entryCount:a.uint32,glyphIndices:new a.LazyArray(a.uint16,"numChars")},12:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint32,nGroups:a.uint32,groups:new a.LazyArray(R,"nGroups")},13:{reserved:new a.Reserved(a.uint16),length:a.uint32,language:a.uint32,nGroups:a.uint32,groups:new a.LazyArray(R,"nGroups")},14:{length:a.uint32,numRecords:a.uint32,varSelectors:new a.LazyArray(U,"numRecords")}}),G=new a.Struct({platformID:a.uint16,encodingID:a.uint16,table:new a.Pointer(a.uint32,W,{type:"parent",lazy:!0})}),V=new a.Struct({version:a.uint16,numSubtables:a.uint16,tables:new a.Array(G,"numSubtables")}),j=new a.Struct({version:a.int32,revision:a.int32,checkSumAdjustment:a.uint32,magicNumber:a.uint32,flags:a.uint16,unitsPerEm:a.uint16,created:new a.Array(a.int32,2),modified:new a.Array(a.int32,2),xMin:a.int16,yMin:a.int16,xMax:a.int16,yMax:a.int16,macStyle:new a.Bitfield(a.uint16,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:a.uint16,fontDirectionHint:a.int16,indexToLocFormat:a.int16,glyphDataFormat:a.int16}),H=new a.Struct({version:a.int32,ascent:a.int16,descent:a.int16,lineGap:a.int16,advanceWidthMax:a.uint16,minLeftSideBearing:a.int16,minRightSideBearing:a.int16,xMaxExtent:a.int16,caretSlopeRise:a.int16,caretSlopeRun:a.int16,caretOffset:a.int16,reserved:new a.Reserved(a.int16,4),metricDataFormat:a.int16,numberOfMetrics:a.uint16}),q=new a.Struct({advance:a.uint16,bearing:a.int16}),Z=new a.Struct({metrics:new a.LazyArray(q,function(t){return t.parent.hhea.numberOfMetrics}),bearings:new a.LazyArray(a.int16,function(t){return t.parent.maxp.numGlyphs-t.parent.hhea.numberOfMetrics})}),Y=new a.Struct({version:a.int32,numGlyphs:a.uint16,maxPoints:a.uint16,maxContours:a.uint16,maxComponentPoints:a.uint16,maxComponentContours:a.uint16,maxZones:a.uint16,maxTwilightPoints:a.uint16,maxStorage:a.uint16,maxFunctionDefs:a.uint16,maxInstructionDefs:a.uint16,maxStackElements:a.uint16,maxSizeOfInstructions:a.uint16,maxComponentElements:a.uint16,maxComponentDepth:a.uint16});function X(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return 1===t&&J[n]?J[n]:K[t][e]}var K=[["utf16be","utf16be","utf16be","utf16be","utf16be","utf16be"],["macroman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","macgreek","maccyrillic","symbol","Devanagari","Gurmukhi","Gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","macthai","Laotian","Georgian","Armenian","gb-2312-80","Tibetan","Mongolian","Geez","maccenteuro","Vietnamese","Sindhi"],["ascii"],["symbol","utf16be","shift-jis","gb18030","big5","wansung","johab",null,null,null,"utf16be"]],J={15:"maciceland",17:"macturkish",18:"maccroatian",24:"maccenteuro",25:"maccenteuro",26:"maccenteuro",27:"maccenteuro",28:"maccenteuro",30:"maciceland",37:"macromania",38:"maccenteuro",39:"maccenteuro",40:"maccenteuro",143:"macinuit",146:"macgaelic"},Q=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}],$=new a.Struct({platformID:a.uint16,encodingID:a.uint16,languageID:a.uint16,nameID:a.uint16,length:a.uint16,string:new a.Pointer(a.uint16,new a.String("length",function(t){return X(t.platformID,t.encodingID,t.languageID)}),{type:"parent",relativeTo:"parent.stringOffset",allowNull:!1})}),tt=new a.Struct({length:a.uint16,tag:new a.Pointer(a.uint16,new a.String("length","utf16be"),{type:"parent",relativeTo:"stringOffset"})}),NameTable=new a.VersionedStruct(a.uint16,{0:{count:a.uint16,stringOffset:a.uint16,records:new a.Array($,"count")},1:{count:a.uint16,stringOffset:a.uint16,records:new a.Array($,"count"),langTagCount:a.uint16,langTags:new a.Array(tt,"langTagCount")}}),et=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];NameTable.process=function(t){var e={},n=this.records,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=Q[o.platformID][o.languageID];null==l&&null!=this.langTags&&o.languageID>=32768&&(l=this.langTags[o.languageID-32768].tag),null==l&&(l=o.platformID+"-"+o.languageID);var u=o.nameID>=256?"fontFeatures":et[o.nameID]||o.nameID;null==e[u]&&(e[u]={});var c=e[u];o.nameID>=256&&(c=c[o.nameID]||(c[o.nameID]={})),"string"!=typeof o.string&&"string"==typeof c[l]||(c[l]=o.string)}this.records=e},NameTable.preEncode=function(){if(!Array.isArray(this.records)){this.version=0;var t=[];for(var n in this.records){var r=this.records[n];"fontFeatures"!==n&&(t.push({platformID:3,encodingID:1,languageID:1033,nameID:et.indexOf(n),length:e.byteLength(r.en,"utf16le"),string:r.en}),"postscriptName"===n&&t.push({platformID:1,encodingID:0,languageID:0,nameID:et.indexOf(n),length:r.en.length,string:r.en}))}this.records=t,this.count=t.length,this.stringOffset=NameTable.size(this,null,!1)}};var nt=new a.VersionedStruct(a.uint16,{header:{xAvgCharWidth:a.int16,usWeightClass:a.uint16,usWidthClass:a.uint16,fsType:new a.Bitfield(a.uint16,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:a.int16,ySubscriptYSize:a.int16,ySubscriptXOffset:a.int16,ySubscriptYOffset:a.int16,ySuperscriptXSize:a.int16,ySuperscriptYSize:a.int16,ySuperscriptXOffset:a.int16,ySuperscriptYOffset:a.int16,yStrikeoutSize:a.int16,yStrikeoutPosition:a.int16,sFamilyClass:a.int16,panose:new a.Array(a.uint8,10),ulCharRange:new a.Array(a.uint32,4),vendorID:new a.String(4),fsSelection:new a.Bitfield(a.uint16,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:a.uint16,usLastCharIndex:a.uint16},0:{},1:{typoAscender:a.int16,typoDescender:a.int16,typoLineGap:a.int16,winAscent:a.uint16,winDescent:a.uint16,codePageRange:new a.Array(a.uint32,2)},2:{typoAscender:a.int16,typoDescender:a.int16,typoLineGap:a.int16,winAscent:a.uint16,winDescent:a.uint16,codePageRange:new a.Array(a.uint32,2),xHeight:a.int16,capHeight:a.int16,defaultChar:a.uint16,breakChar:a.uint16,maxContent:a.uint16},5:{typoAscender:a.int16,typoDescender:a.int16,typoLineGap:a.int16,winAscent:a.uint16,winDescent:a.uint16,codePageRange:new a.Array(a.uint32,2),xHeight:a.int16,capHeight:a.int16,defaultChar:a.uint16,breakChar:a.uint16,maxContent:a.uint16,usLowerOpticalPointSize:a.uint16,usUpperOpticalPointSize:a.uint16}}),rt=nt.versions;rt[3]=rt[4]=rt[2];var it=new a.VersionedStruct(a.fixed32,{header:{italicAngle:a.fixed32,underlinePosition:a.int16,underlineThickness:a.int16,isFixedPitch:a.uint32,minMemType42:a.uint32,maxMemType42:a.uint32,minMemType1:a.uint32,maxMemType1:a.uint32},1:{},2:{numberOfGlyphs:a.uint16,glyphNameIndex:new a.Array(a.uint16,"numberOfGlyphs"),names:new a.Array(new a.String(a.uint8))},2.5:{numberOfGlyphs:a.uint16,offsets:new a.Array(a.uint8,"numberOfGlyphs")},3:{},4:{map:new a.Array(a.uint32,function(t){return t.parent.maxp.numGlyphs})}}),at=new a.Struct({controlValues:new a.Array(a.int16)}),ot=new a.Struct({instructions:new a.Array(a.uint8)}),st=new a.VersionedStruct("head.indexToLocFormat",{0:{offsets:new a.Array(a.uint16)},1:{offsets:new a.Array(a.uint32)}});st.process=function(){if(0===this.version)for(var t=0;t<this.offsets.length;t++)this.offsets[t]<<=1},st.preEncode=function(){if(null==this.version&&(this.version=this.offsets[this.offsets.length-1]>65535?1:0,0===this.version))for(var t=0;t<this.offsets.length;t++)this.offsets[t]>>>=1};var lt=new a.Struct({controlValueProgram:new a.Array(a.uint8)}),ut=new a.Array(new a.Buffer),ct=function(){function t(e){f(this,t),this.type=e}return t.prototype.getCFFVersion=function(t){for(;t&&!t.hdrSize;)t=t.parent;return t?t.version:-1},t.prototype.decode=function(t,e){var n=this.getCFFVersion(e)>=2?t.readUInt32BE():t.readUInt16BE();if(0===n)return[];var r=t.readUInt8(),i=void 0;if(1===r)i=a.uint8;else if(2===r)i=a.uint16;else if(3===r)i=a.uint24;else{if(4!==r)throw new Error("Bad offset size in CFFIndex: "+r+" "+t.pos);i=a.uint32}for(var o=[],s=t.pos+(n+1)*r-1,l=i.decode(t),u=0;u<n;u++){var c=i.decode(t);if(null!=this.type){var h=t.pos;t.pos=s+l,e.length=c-l,o.push(this.type.decode(t,e)),t.pos=h}else o.push({offset:s+l,length:c-l});l=c}return t.pos=s+l,o},t.prototype.size=function(t,e){var n=2;if(0===t.length)return n;for(var r=this.type||new a.Buffer,i=1,o=0;o<t.length;o++){var s=t[o];i+=r.size(s,e)}var l=void 0;if(i<=255)l=a.uint8;else if(i<=65535)l=a.uint16;else if(i<=16777215)l=a.uint24;else{if(!(i<=4294967295))throw new Error("Bad offset in CFFIndex");l=a.uint32}return n+=1+l.size()*(t.length+1),n+=i-1,n},t.prototype.encode=function(t,e,n){if(t.writeUInt16BE(e.length),0!==e.length){var r=this.type||new a.Buffer,i=[],o=1,l=e,u=Array.isArray(l),c=0;for(l=u?l:s(l);;){var h;if(u){if(c>=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var f=h,d=r.size(f,n);i.push(d),o+=d}var p=void 0;if(o<=255)p=a.uint8;else if(o<=65535)p=a.uint16;else if(o<=16777215)p=a.uint24;else{if(!(o<=4294967295))throw new Error("Bad offset in CFFIndex");p=a.uint32}t.writeUInt8(p.size()),o=1,p.encode(t,o);var g=i,y=Array.isArray(g),v=0;for(g=y?g:s(g);;){var b;if(y){if(v>=g.length)break;b=g[v++]}else{if((v=g.next()).done)break;b=v.value}o+=b,p.encode(t,o)}var m=e,w=Array.isArray(m),x=0;for(m=w?m:s(m);;){var S;if(w){if(x>=m.length)break;S=m[x++]}else{if((x=m.next()).done)break;S=x.value}var _=S;r.encode(t,_,n)}}},t}(),ht=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],ft={".":10,E:11,"E-":12,"-":14},dt=function(){function t(){f(this,t)}return t.decode=function(t,e){if(32<=e&&e<=246)return e-139;if(247<=e&&e<=250)return 256*(e-247)+t.readUInt8()+108;if(251<=e&&e<=254)return 256*-(e-251)-t.readUInt8()-108;if(28===e)return t.readInt16BE();if(29===e)return t.readInt32BE();if(30===e){for(var n="";;){var r=t.readUInt8(),i=r>>4;if(15===i)break;n+=ht[i];var a=15&r;if(15===a)break;n+=ht[a]}return parseFloat(n)}return null},t.size=function(t){if(t.forceLarge&&(t=32768),(0|t)!==t){var e=""+t;return 1+Math.ceil((e.length+1)/2)}return-107<=t&&t<=107?1:108<=t&&t<=1131||-1131<=t&&t<=-108?2:-32768<=t&&t<=32767?3:5},t.encode=function(t,e){var n=Number(e);if(e.forceLarge)return t.writeUInt8(29),t.writeInt32BE(n);if((0|n)===n)return-107<=n&&n<=107?t.writeUInt8(n+139):108<=n&&n<=1131?(n-=108,t.writeUInt8(247+(n>>8)),t.writeUInt8(255&n)):-1131<=n&&n<=-108?(n=-n-108,t.writeUInt8(251+(n>>8)),t.writeUInt8(255&n)):-32768<=n&&n<=32767?(t.writeUInt8(28),t.writeInt16BE(n)):(t.writeUInt8(29),t.writeInt32BE(n));t.writeUInt8(30);for(var r=""+n,i=0;i<r.length;i+=2){var a=r[i],o=ft[a]||+a;if(i===r.length-1)var s=15;else{var l=r[i+1];s=ft[l]||+l}t.writeUInt8(o<<4|15&s)}return 15!==s?t.writeUInt8(240):void 0},t}(),pt=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];f(this,t),this.ops=e,this.fields={};var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=Array.isArray(o[0])?o[0][0]<<8|o[0][1]:o[0];this.fields[l]=o}}return t.prototype.decodeOperands=function(t,e,n,r){var i=this;if(Array.isArray(t))return r.map(function(r,a){return i.decodeOperands(t[a],e,n,[r])});if(null!=t.decode)return t.decode(e,n,r);switch(t){case"number":case"offset":case"sid":return r[0];case"boolean":return!!r[0];default:return r}},t.prototype.encodeOperands=function(t,e,n,r){var i=this;return Array.isArray(t)?r.map(function(r,a){return i.encodeOperands(t[a],e,n,r)[0]}):null!=t.encode?t.encode(e,r,n):"number"==typeof r?[r]:"boolean"==typeof r?[+r]:Array.isArray(r)?r:[r]},t.prototype.decode=function(t,e){var n=t.pos+e.length,r={},i=[];for(var a in b(r,{parent:{value:e},_startOffset:{value:t.pos}}),this.fields){var o=this.fields[a];r[o[1]]=o[3]}for(;t.pos<n;){var s=t.readUInt8();if(s<28){12===s&&(s=s<<8|t.readUInt8());var l=this.fields[s];if(!l)throw new Error("Unknown operator "+s);var u=this.decodeOperands(l[2],t,r,i);null!=u&&(u instanceof v.PropertyDescriptor?h(r,l[1],u):r[l[1]]=u),i=[]}else i.push(dt.decode(t,s))}return r},t.prototype.size=function(t,e){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r={parent:e,val:t,pointerSize:0,startOffset:e.startOffset||0},i=0;for(var a in this.fields){var o=this.fields[a],l=t[o[1]];if(null!=l&&!m(l,o[3])){var u=this.encodeOperands(o[2],null,r,l),c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;i+=dt.size(d)}i+=(Array.isArray(o[0])?o[0]:[o[0]]).length}}return n&&(i+=r.pointerSize),i},t.prototype.encode=function(t,e,n){var r={pointers:[],startOffset:t.pos,parent:n,val:e,pointerSize:0};r.pointerOffset=t.pos+this.size(e,r,!1);var i=this.ops,a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=l,c=e[u[1]];if(null!=c&&!m(c,u[3])){var h=this.encodeOperands(u[2],t,r,c),f=Array.isArray(h),d=0;for(h=f?h:s(h);;){var p;if(f){if(d>=h.length)break;p=h[d++]}else{if((d=h.next()).done)break;p=d.value}var g=p;dt.encode(t,g)}var y=Array.isArray(u[0])?u[0]:[u[0]],v=Array.isArray(y),b=0;for(y=v?y:s(y);;){var w;if(v){if(b>=y.length)break;w=y[b++]}else{if((b=y.next()).done)break;w=b.value}var x=w;t.writeUInt8(x)}}}for(var S=0;S<r.pointers.length;){var _=r.pointers[S++];_.type.encode(t,_.val,_.parent)}},t}(),gt=function(t){function e(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return f(this,e),null==r.type&&(r.type="global"),g(this,t.call(this,null,n,r))}return y(e,t),e.prototype.decode=function(e,n,r){return this.offsetType={decode:function(){return r[0]}},t.prototype.decode.call(this,e,n,r)},e.prototype.encode=function(e,n,r){if(!e)return this.offsetType={size:function(){return 0}},this.size(n,r),[new yt(0)];var i=null;return this.offsetType={encode:function(t,e){return i=e}},t.prototype.encode.call(this,e,n,r),[new yt(i)]},e}(a.Pointer),yt=function(){function t(e){f(this,t),this.val=e,this.forceLarge=!0}return t.prototype.valueOf=function(){return this.val},t}(),vt=new pt([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",function(){function t(){f(this,t)}return t.decode=function(t,e,n){for(var r=n.pop();n.length>r;)n.pop()},t}(),null],[19,"Subrs",new gt(new ct,{type:"local"}),null]]),bt=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],mt=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],wt=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],xt=new a.Struct({reserved:new a.Reserved(a.uint16),reqFeatureIndex:a.uint16,featureCount:a.uint16,featureIndexes:new a.Array(a.uint16,"featureCount")}),St=new a.Struct({tag:new a.String(4),langSys:new a.Pointer(a.uint16,xt,{type:"parent"})}),_t=new a.Struct({defaultLangSys:new a.Pointer(a.uint16,xt),count:a.uint16,langSysRecords:new a.Array(St,"count")}),kt=new a.Struct({tag:new a.String(4),script:new a.Pointer(a.uint16,_t,{type:"parent"})}),Ct=new a.Array(kt,a.uint16),At=new a.Struct({featureParams:a.uint16,lookupCount:a.uint16,lookupListIndexes:new a.Array(a.uint16,"lookupCount")}),Pt=new a.Struct({tag:new a.String(4),feature:new a.Pointer(a.uint16,At,{type:"parent"})}),Et=new a.Array(Pt,a.uint16),It=new a.Struct({markAttachmentType:a.uint8,flags:new a.Bitfield(a.uint8,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function Tt(t){var e=new a.Struct({lookupType:a.uint16,flags:It,subTableCount:a.uint16,subTables:new a.Array(new a.Pointer(a.uint16,t),"subTableCount"),markFilteringSet:new a.Optional(a.uint16,function(t){return t.flags.flags.useMarkFilteringSet})});return new a.LazyArray(new a.Pointer(a.uint16,e),a.uint16)}var Ot,Lt=new a.Struct({start:a.uint16,end:a.uint16,startCoverageIndex:a.uint16}),Bt=new a.VersionedStruct(a.uint16,{1:{glyphCount:a.uint16,glyphs:new a.Array(a.uint16,"glyphCount")},2:{rangeCount:a.uint16,rangeRecords:new a.Array(Lt,"rangeCount")}}),Mt=new a.Struct({start:a.uint16,end:a.uint16,class:a.uint16}),Rt=new a.VersionedStruct(a.uint16,{1:{startGlyph:a.uint16,glyphCount:a.uint16,classValueArray:new a.Array(a.uint16,"glyphCount")},2:{classRangeCount:a.uint16,classRangeRecord:new a.Array(Mt,"classRangeCount")}}),Ft=new a.Struct({a:a.uint16,b:a.uint16,deltaFormat:a.uint16}),Dt=new a.Struct({sequenceIndex:a.uint16,lookupListIndex:a.uint16}),zt=new a.Struct({glyphCount:a.uint16,lookupCount:a.uint16,input:new a.Array(a.uint16,function(t){return t.glyphCount-1}),lookupRecords:new a.Array(Dt,"lookupCount")}),Nt=new a.Array(new a.Pointer(a.uint16,zt),a.uint16),Ut=new a.Struct({glyphCount:a.uint16,lookupCount:a.uint16,classes:new a.Array(a.uint16,function(t){return t.glyphCount-1}),lookupRecords:new a.Array(Dt,"lookupCount")}),Wt=new a.Array(new a.Pointer(a.uint16,Ut),a.uint16),Gt=new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),ruleSetCount:a.uint16,ruleSets:new a.Array(new a.Pointer(a.uint16,Nt),"ruleSetCount")},2:{coverage:new a.Pointer(a.uint16,Bt),classDef:new a.Pointer(a.uint16,Rt),classSetCnt:a.uint16,classSet:new a.Array(new a.Pointer(a.uint16,Wt),"classSetCnt")},3:{glyphCount:a.uint16,lookupCount:a.uint16,coverages:new a.Array(new a.Pointer(a.uint16,Bt),"glyphCount"),lookupRecords:new a.Array(Dt,"lookupCount")}}),Vt=new a.Struct({backtrackGlyphCount:a.uint16,backtrack:new a.Array(a.uint16,"backtrackGlyphCount"),inputGlyphCount:a.uint16,input:new a.Array(a.uint16,function(t){return t.inputGlyphCount-1}),lookaheadGlyphCount:a.uint16,lookahead:new a.Array(a.uint16,"lookaheadGlyphCount"),lookupCount:a.uint16,lookupRecords:new a.Array(Dt,"lookupCount")}),jt=new a.Array(new a.Pointer(a.uint16,Vt),a.uint16),Ht=new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),chainCount:a.uint16,chainRuleSets:new a.Array(new a.Pointer(a.uint16,jt),"chainCount")},2:{coverage:new a.Pointer(a.uint16,Bt),backtrackClassDef:new a.Pointer(a.uint16,Rt),inputClassDef:new a.Pointer(a.uint16,Rt),lookaheadClassDef:new a.Pointer(a.uint16,Rt),chainCount:a.uint16,chainClassSet:new a.Array(new a.Pointer(a.uint16,jt),"chainCount")},3:{backtrackGlyphCount:a.uint16,backtrackCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"backtrackGlyphCount"),inputGlyphCount:a.uint16,inputCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"inputGlyphCount"),lookaheadGlyphCount:a.uint16,lookaheadCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"lookaheadGlyphCount"),lookupCount:a.uint16,lookupRecords:new a.Array(Dt,"lookupCount")}}),qt=new a.Fixed(16,"BE",14),Zt=new a.Struct({startCoord:qt,peakCoord:qt,endCoord:qt}),Yt=new a.Struct({axisCount:a.uint16,regionCount:a.uint16,variationRegions:new a.Array(new a.Array(Zt,"axisCount"),"regionCount")}),Xt=new a.Struct({shortDeltas:new a.Array(a.int16,function(t){return t.parent.shortDeltaCount}),regionDeltas:new a.Array(a.int8,function(t){return t.parent.regionIndexCount-t.parent.shortDeltaCount}),deltas:function(t){return t.shortDeltas.concat(t.regionDeltas)}}),Kt=new a.Struct({itemCount:a.uint16,shortDeltaCount:a.uint16,regionIndexCount:a.uint16,regionIndexes:new a.Array(a.uint16,"regionIndexCount"),deltaSets:new a.Array(Xt,"itemCount")}),Jt=new a.Struct({format:a.uint16,variationRegionList:new a.Pointer(a.uint32,Yt),variationDataCount:a.uint16,itemVariationData:new a.Array(new a.Pointer(a.uint32,Kt),"variationDataCount")}),Qt=new a.VersionedStruct(a.uint16,{1:(Ot={axisIndex:a.uint16},Ot.axisIndex=a.uint16,Ot.filterRangeMinValue=qt,Ot.filterRangeMaxValue=qt,Ot)}),$t=new a.Struct({conditionCount:a.uint16,conditionTable:new a.Array(new a.Pointer(a.uint32,Qt),"conditionCount")}),te=new a.Struct({featureIndex:a.uint16,alternateFeatureTable:new a.Pointer(a.uint32,At,{type:"parent"})}),ee=new a.Struct({version:a.fixed32,substitutionCount:a.uint16,substitutions:new a.Array(te,"substitutionCount")}),ne=new a.Struct({conditionSet:new a.Pointer(a.uint32,$t,{type:"parent"}),featureTableSubstitution:new a.Pointer(a.uint32,ee,{type:"parent"})}),re=new a.Struct({majorVersion:a.uint16,minorVersion:a.uint16,featureVariationRecordCount:a.uint32,featureVariationRecords:new a.Array(ne,"featureVariationRecordCount")}),ie=function(){function t(e,n){f(this,t),this.predefinedOps=e,this.type=n}return t.prototype.decode=function(t,e,n){return this.predefinedOps[n[0]]?this.predefinedOps[n[0]]:this.type.decode(t,e,n)},t.prototype.size=function(t,e){return this.type.size(t,e)},t.prototype.encode=function(t,e,n){var r=this.predefinedOps.indexOf(e);return-1!==r?r:this.type.encode(t,e,n)},t}(),ae=function(t){function e(){return f(this,e),g(this,t.call(this,"UInt8"))}return y(e,t),e.prototype.decode=function(t){return 127&a.uint8.decode(t)},e}(a.Number),oe=new a.Struct({first:a.uint16,nLeft:a.uint8}),se=new a.Struct({first:a.uint16,nLeft:a.uint16}),le=new ie([mt,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"]],new gt(new a.VersionedStruct(new ae,{0:{nCodes:a.uint8,codes:new a.Array(a.uint8,"nCodes")},1:{nRanges:a.uint8,ranges:new a.Array(oe,"nRanges")}}),{lazy:!0})),ue=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype.decode=function(t,e){for(var n=v.resolveLength(this.length,t,e),r=0,i=[];r<n;){var a=this.type.decode(t,e);a.offset=r,r+=a.nLeft+1,i.push(a)}return i},e}(a.Array),ce=new ie([wt,[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]],new gt(new a.VersionedStruct(a.uint8,{0:{glyphs:new a.Array(a.uint16,function(t){return t.parent.CharStrings.length-1})},1:{ranges:new ue(oe,function(t){return t.parent.CharStrings.length-1})},2:{ranges:new ue(se,function(t){return t.parent.CharStrings.length-1})}}),{lazy:!0})),he=new a.Struct({first:a.uint16,fd:a.uint8}),fe=new a.Struct({first:a.uint32,fd:a.uint16}),de=new a.VersionedStruct(a.uint8,{0:{fds:new a.Array(a.uint8,function(t){return t.parent.CharStrings.length})},3:{nRanges:a.uint16,ranges:new a.Array(he,"nRanges"),sentinel:a.uint16},4:{nRanges:a.uint32,ranges:new a.Array(fe,"nRanges"),sentinel:a.uint32}}),pe=new gt(vt),ge=function(){function t(){f(this,t)}return t.prototype.decode=function(t,e,n){return e.length=n[0],pe.decode(t,e,[n[1]])},t.prototype.size=function(t,e){return[vt.size(t,e,!1),pe.size(t,e)[0]]},t.prototype.encode=function(t,e,n){return[vt.size(e,n,!1),pe.encode(t,e,n)[0]]},t}(),ye=new pt([[18,"Private",new ge,null],[[12,38],"FontName","sid",null]]),ve=new pt([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",ce,wt],[16,"Encoding",le,mt],[17,"CharStrings",new gt(new ct),null],[18,"Private",new ge,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new gt(de),null],[[12,36],"FDArray",new gt(new ct(ye)),null],[[12,38],"FontName","sid",null]]),be=new a.Struct({length:a.uint16,itemVariationStore:Jt}),me=new pt([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new gt(new ct),null],[[12,37],"FDSelect",new gt(de),null],[[12,36],"FDArray",new gt(new ct(ye)),null],[24,"vstore",new gt(be),null],[25,"maxstack","number",193]]),we=new a.VersionedStruct(a.fixed16,{1:{hdrSize:a.uint8,offSize:a.uint8,nameIndex:new ct(new a.String("length")),topDictIndex:new ct(ve),stringIndex:new ct(new a.String("length")),globalSubrIndex:new ct},2:{hdrSize:a.uint8,length:a.uint16,topDict:me,globalSubrIndex:new ct}}),xe=function(){function t(e){f(this,t),this.stream=e,this.decode()}return t.decode=function(e){return new t(e)},t.prototype.decode=function(){this.stream.pos;var t=we.decode(this.stream);for(var e in t){var n=t[e];this[e]=n}if(this.version<2){if(1!==this.topDictIndex.length)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this},t.prototype.string=function(t){return this.version>=2?null:t<bt.length?bt[t]:this.stringIndex[t-bt.length]},t.prototype.getCharString=function(t){return this.stream.pos=this.topDict.CharStrings[t].offset,this.stream.readBuffer(this.topDict.CharStrings[t].length)},t.prototype.getGlyphName=function(t){if(this.version>=2)return null;if(this.isCIDFont)return null;var e=this.topDict.charset;if(Array.isArray(e))return e[t];if(0===t)return".notdef";switch(t-=1,e.version){case 0:return this.string(e.glyphs[t]);case 1:case 2:for(var n=0;n<e.ranges.length;n++){var r=e.ranges[n];if(r.offset<=t&&t<=r.offset+r.nLeft)return this.string(r.first+(t-r.offset))}}return null},t.prototype.fdForGlyph=function(t){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[t];case 3:case 4:for(var e=this.topDict.FDSelect.ranges,n=0,r=e.length-1;n<=r;){var i=n+r>>1;if(t<e[i].first)r=i-1;else{if(!(i<r&&t>e[i+1].first))return e[i].fd;n=i+1}}default:throw new Error("Unknown FDSelect version: "+this.topDict.FDSelect.version)}},t.prototype.privateDictForGlyph=function(t){if(this.topDict.FDSelect){var e=this.fdForGlyph(t);return this.topDict.FDArray[e]?this.topDict.FDArray[e].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private},d(t,[{key:"postscriptName",get:function(){return this.version<2?this.nameIndex[0]:null}},{key:"fullName",get:function(){return this.string(this.topDict.FullName)}},{key:"familyName",get:function(){return this.string(this.topDict.FamilyName)}}]),t}(),Se=new a.Struct({glyphIndex:a.uint16,vertOriginY:a.int16}),_e=new a.Struct({majorVersion:a.uint16,minorVersion:a.uint16,defaultVertOriginY:a.int16,numVertOriginYMetrics:a.uint16,metrics:new a.Array(Se,"numVertOriginYMetrics")}),ke=new a.Struct({height:a.uint8,width:a.uint8,horiBearingX:a.int8,horiBearingY:a.int8,horiAdvance:a.uint8,vertBearingX:a.int8,vertBearingY:a.int8,vertAdvance:a.uint8}),Ce=new a.Struct({height:a.uint8,width:a.uint8,bearingX:a.int8,bearingY:a.int8,advance:a.uint8}),Ae=new a.Struct({glyph:a.uint16,xOffset:a.int8,yOffset:a.int8}),Pe=function t(){f(this,t)},Ee=function t(){f(this,t)},Ie=(new a.VersionedStruct("version",{1:{metrics:Ce,data:Pe},2:{metrics:Ce,data:Ee},5:{data:Ee},6:{metrics:ke,data:Pe},7:{metrics:ke,data:Ee},8:{metrics:Ce,pad:new a.Reserved(a.uint8),numComponents:a.uint16,components:new a.Array(Ae,"numComponents")},9:{metrics:ke,pad:new a.Reserved(a.uint8),numComponents:a.uint16,components:new a.Array(Ae,"numComponents")},17:{metrics:Ce,dataLen:a.uint32,data:new a.Buffer("dataLen")},18:{metrics:ke,dataLen:a.uint32,data:new a.Buffer("dataLen")},19:{dataLen:a.uint32,data:new a.Buffer("dataLen")}}),new a.Struct({ascender:a.int8,descender:a.int8,widthMax:a.uint8,caretSlopeNumerator:a.int8,caretSlopeDenominator:a.int8,caretOffset:a.int8,minOriginSB:a.int8,minAdvanceSB:a.int8,maxBeforeBL:a.int8,minAfterBL:a.int8,pad:new a.Reserved(a.int8,2)})),Te=new a.Struct({glyphCode:a.uint16,offset:a.uint16}),Oe=new a.VersionedStruct(a.uint16,{header:{imageFormat:a.uint16,imageDataOffset:a.uint32},1:{offsetArray:new a.Array(a.uint32,function(t){return t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1})},2:{imageSize:a.uint32,bigMetrics:ke},3:{offsetArray:new a.Array(a.uint16,function(t){return t.parent.lastGlyphIndex-t.parent.firstGlyphIndex+1})},4:{numGlyphs:a.uint32,glyphArray:new a.Array(Te,function(t){return t.numGlyphs+1})},5:{imageSize:a.uint32,bigMetrics:ke,numGlyphs:a.uint32,glyphCodeArray:new a.Array(a.uint16,"numGlyphs")}}),Le=new a.Struct({firstGlyphIndex:a.uint16,lastGlyphIndex:a.uint16,subtable:new a.Pointer(a.uint32,Oe)}),Be=new a.Struct({indexSubTableArray:new a.Pointer(a.uint32,new a.Array(Le,1),{type:"parent"}),indexTablesSize:a.uint32,numberOfIndexSubTables:a.uint32,colorRef:a.uint32,hori:Ie,vert:Ie,startGlyphIndex:a.uint16,endGlyphIndex:a.uint16,ppemX:a.uint8,ppemY:a.uint8,bitDepth:a.uint8,flags:new a.Bitfield(a.uint8,["horizontal","vertical"])}),Me=new a.Struct({version:a.uint32,numSizes:a.uint32,sizes:new a.Array(Be,"numSizes")}),Re=new a.Struct({ppem:a.uint16,resolution:a.uint16,imageOffsets:new a.Array(new a.Pointer(a.uint32,"void"),function(t){return t.parent.parent.maxp.numGlyphs+1})}),Fe=new a.Struct({version:a.uint16,flags:new a.Bitfield(a.uint16,["renderOutlines"]),numImgTables:a.uint32,imageTables:new a.Array(new a.Pointer(a.uint32,Re),"numImgTables")}),De=new a.Struct({gid:a.uint16,paletteIndex:a.uint16}),ze=new a.Struct({gid:a.uint16,firstLayerIndex:a.uint16,numLayers:a.uint16}),Ne=new a.Struct({version:a.uint16,numBaseGlyphRecords:a.uint16,baseGlyphRecord:new a.Pointer(a.uint32,new a.Array(ze,"numBaseGlyphRecords")),layerRecords:new a.Pointer(a.uint32,new a.Array(De,"numLayerRecords"),{lazy:!0}),numLayerRecords:a.uint16}),Ue=new a.Struct({blue:a.uint8,green:a.uint8,red:a.uint8,alpha:a.uint8}),We=new a.VersionedStruct(a.uint16,{header:{numPaletteEntries:a.uint16,numPalettes:a.uint16,numColorRecords:a.uint16,colorRecords:new a.Pointer(a.uint32,new a.Array(Ue,"numColorRecords")),colorRecordIndices:new a.Array(a.uint16,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new a.Pointer(a.uint32,new a.Array(a.uint32,"numPalettes")),offsetPaletteLabelArray:new a.Pointer(a.uint32,new a.Array(a.uint16,"numPalettes")),offsetPaletteEntryLabelArray:new a.Pointer(a.uint32,new a.Array(a.uint16,"numPaletteEntries"))}}),Ge=new a.VersionedStruct(a.uint16,{1:{coordinate:a.int16},2:{coordinate:a.int16,referenceGlyph:a.uint16,baseCoordPoint:a.uint16},3:{coordinate:a.int16,deviceTable:new a.Pointer(a.uint16,Ft)}}),Ve=new a.Struct({defaultIndex:a.uint16,baseCoordCount:a.uint16,baseCoords:new a.Array(new a.Pointer(a.uint16,Ge),"baseCoordCount")}),je=new a.Struct({tag:new a.String(4),minCoord:new a.Pointer(a.uint16,Ge,{type:"parent"}),maxCoord:new a.Pointer(a.uint16,Ge,{type:"parent"})}),He=new a.Struct({minCoord:new a.Pointer(a.uint16,Ge),maxCoord:new a.Pointer(a.uint16,Ge),featMinMaxCount:a.uint16,featMinMaxRecords:new a.Array(je,"featMinMaxCount")}),qe=new a.Struct({tag:new a.String(4),minMax:new a.Pointer(a.uint16,He,{type:"parent"})}),Ze=new a.Struct({baseValues:new a.Pointer(a.uint16,Ve),defaultMinMax:new a.Pointer(a.uint16,He),baseLangSysCount:a.uint16,baseLangSysRecords:new a.Array(qe,"baseLangSysCount")}),Ye=new a.Struct({tag:new a.String(4),script:new a.Pointer(a.uint16,Ze,{type:"parent"})}),Xe=new a.Array(Ye,a.uint16),Ke=new a.Array(new a.String(4),a.uint16),Je=new a.Struct({baseTagList:new a.Pointer(a.uint16,Ke),baseScriptList:new a.Pointer(a.uint16,Xe)}),Qe=new a.VersionedStruct(a.uint32,{header:{horizAxis:new a.Pointer(a.uint16,Je),vertAxis:new a.Pointer(a.uint16,Je)},65536:{},65537:{itemVariationStore:new a.Pointer(a.uint32,Jt)}}),$e=new a.Array(a.uint16,a.uint16),tn=new a.Struct({coverage:new a.Pointer(a.uint16,Bt),glyphCount:a.uint16,attachPoints:new a.Array(new a.Pointer(a.uint16,$e),"glyphCount")}),en=new a.VersionedStruct(a.uint16,{1:{coordinate:a.int16},2:{caretValuePoint:a.uint16},3:{coordinate:a.int16,deviceTable:new a.Pointer(a.uint16,Ft)}}),nn=new a.Array(new a.Pointer(a.uint16,en),a.uint16),rn=new a.Struct({coverage:new a.Pointer(a.uint16,Bt),ligGlyphCount:a.uint16,ligGlyphs:new a.Array(new a.Pointer(a.uint16,nn),"ligGlyphCount")}),an=new a.Struct({markSetTableFormat:a.uint16,markSetCount:a.uint16,coverage:new a.Array(new a.Pointer(a.uint32,Bt),"markSetCount")}),on=new a.VersionedStruct(a.uint32,{header:{glyphClassDef:new a.Pointer(a.uint16,Rt),attachList:new a.Pointer(a.uint16,tn),ligCaretList:new a.Pointer(a.uint16,rn),markAttachClassDef:new a.Pointer(a.uint16,Rt)},65536:{},65538:{markGlyphSetsDef:new a.Pointer(a.uint16,an)},65539:{markGlyphSetsDef:new a.Pointer(a.uint16,an),itemVariationStore:new a.Pointer(a.uint32,Jt)}}),sn=new a.Bitfield(a.uint16,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),ln={xPlacement:a.int16,yPlacement:a.int16,xAdvance:a.int16,yAdvance:a.int16,xPlaDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"}),yPlaDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"}),xAdvDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"}),yAdvDevice:new a.Pointer(a.uint16,Ft,{type:"global",relativeTo:"rel"})},un=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"valueFormat";f(this,t),this.key=e}return t.prototype.buildStruct=function(t){for(var e=t;!e[this.key]&&e.parent;)e=e.parent;if(e[this.key]){var n={rel:function(){return e._startOffset}},r=e[this.key];for(var i in r)r[i]&&(n[i]=ln[i]);return new a.Struct(n)}},t.prototype.size=function(t,e){return this.buildStruct(e).size(t,e)},t.prototype.decode=function(t,e){var n=this.buildStruct(e).decode(t,e);return delete n.rel,n},t}(),cn=new a.Struct({secondGlyph:a.uint16,value1:new un("valueFormat1"),value2:new un("valueFormat2")}),hn=new a.Array(cn,a.uint16),fn=new a.Struct({value1:new un("valueFormat1"),value2:new un("valueFormat2")}),dn=new a.VersionedStruct(a.uint16,{1:{xCoordinate:a.int16,yCoordinate:a.int16},2:{xCoordinate:a.int16,yCoordinate:a.int16,anchorPoint:a.uint16},3:{xCoordinate:a.int16,yCoordinate:a.int16,xDeviceTable:new a.Pointer(a.uint16,Ft),yDeviceTable:new a.Pointer(a.uint16,Ft)}}),pn=new a.Struct({entryAnchor:new a.Pointer(a.uint16,dn,{type:"parent"}),exitAnchor:new a.Pointer(a.uint16,dn,{type:"parent"})}),gn=new a.Struct({class:a.uint16,markAnchor:new a.Pointer(a.uint16,dn,{type:"parent"})}),yn=new a.Array(gn,a.uint16),vn=new a.Array(new a.Pointer(a.uint16,dn),function(t){return t.parent.classCount}),bn=new a.Array(vn,a.uint16),mn=new a.Array(new a.Pointer(a.uint16,dn),function(t){return t.parent.parent.classCount}),wn=new a.Array(mn,a.uint16),xn=new a.Array(new a.Pointer(a.uint16,wn),a.uint16),Sn=new a.VersionedStruct("lookupType",{1:new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),valueFormat:sn,value:new un},2:{coverage:new a.Pointer(a.uint16,Bt),valueFormat:sn,valueCount:a.uint16,values:new a.LazyArray(new un,"valueCount")}}),2:new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),valueFormat1:sn,valueFormat2:sn,pairSetCount:a.uint16,pairSets:new a.LazyArray(new a.Pointer(a.uint16,hn),"pairSetCount")},2:{coverage:new a.Pointer(a.uint16,Bt),valueFormat1:sn,valueFormat2:sn,classDef1:new a.Pointer(a.uint16,Rt),classDef2:new a.Pointer(a.uint16,Rt),class1Count:a.uint16,class2Count:a.uint16,classRecords:new a.LazyArray(new a.LazyArray(fn,"class2Count"),"class1Count")}}),3:{format:a.uint16,coverage:new a.Pointer(a.uint16,Bt),entryExitCount:a.uint16,entryExitRecords:new a.Array(pn,"entryExitCount")},4:{format:a.uint16,markCoverage:new a.Pointer(a.uint16,Bt),baseCoverage:new a.Pointer(a.uint16,Bt),classCount:a.uint16,markArray:new a.Pointer(a.uint16,yn),baseArray:new a.Pointer(a.uint16,bn)},5:{format:a.uint16,markCoverage:new a.Pointer(a.uint16,Bt),ligatureCoverage:new a.Pointer(a.uint16,Bt),classCount:a.uint16,markArray:new a.Pointer(a.uint16,yn),ligatureArray:new a.Pointer(a.uint16,xn)},6:{format:a.uint16,mark1Coverage:new a.Pointer(a.uint16,Bt),mark2Coverage:new a.Pointer(a.uint16,Bt),classCount:a.uint16,mark1Array:new a.Pointer(a.uint16,yn),mark2Array:new a.Pointer(a.uint16,bn)},7:Gt,8:Ht,9:{posFormat:a.uint16,lookupType:a.uint16,extension:new a.Pointer(a.uint32,Sn)}});Sn.versions[9].extension.type=Sn;var _n=new a.VersionedStruct(a.uint32,{header:{scriptList:new a.Pointer(a.uint16,Ct),featureList:new a.Pointer(a.uint16,Et),lookupList:new a.Pointer(a.uint16,new Tt(Sn))},65536:{},65537:{featureVariations:new a.Pointer(a.uint32,re)}}),kn=new a.Array(a.uint16,a.uint16),Cn=kn,An=new a.Struct({glyph:a.uint16,compCount:a.uint16,components:new a.Array(a.uint16,function(t){return t.compCount-1})}),Pn=new a.Array(new a.Pointer(a.uint16,An),a.uint16),En=new a.VersionedStruct("lookupType",{1:new a.VersionedStruct(a.uint16,{1:{coverage:new a.Pointer(a.uint16,Bt),deltaGlyphID:a.int16},2:{coverage:new a.Pointer(a.uint16,Bt),glyphCount:a.uint16,substitute:new a.LazyArray(a.uint16,"glyphCount")}}),2:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),count:a.uint16,sequences:new a.LazyArray(new a.Pointer(a.uint16,kn),"count")},3:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),count:a.uint16,alternateSet:new a.LazyArray(new a.Pointer(a.uint16,Cn),"count")},4:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),count:a.uint16,ligatureSets:new a.LazyArray(new a.Pointer(a.uint16,Pn),"count")},5:Gt,6:Ht,7:{substFormat:a.uint16,lookupType:a.uint16,extension:new a.Pointer(a.uint32,En)},8:{substFormat:a.uint16,coverage:new a.Pointer(a.uint16,Bt),backtrackCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"backtrackGlyphCount"),lookaheadGlyphCount:a.uint16,lookaheadCoverage:new a.Array(new a.Pointer(a.uint16,Bt),"lookaheadGlyphCount"),glyphCount:a.uint16,substitutes:new a.Array(a.uint16,"glyphCount")}});En.versions[7].extension.type=En;var In=new a.VersionedStruct(a.uint32,{header:{scriptList:new a.Pointer(a.uint16,Ct),featureList:new a.Pointer(a.uint16,Et),lookupList:new a.Pointer(a.uint16,new Tt(En))},65536:{},65537:{featureVariations:new a.Pointer(a.uint32,re)}}),Tn=new a.Array(a.uint16,a.uint16),On=new a.Struct({shrinkageEnableGSUB:new a.Pointer(a.uint16,Tn),shrinkageDisableGSUB:new a.Pointer(a.uint16,Tn),shrinkageEnableGPOS:new a.Pointer(a.uint16,Tn),shrinkageDisableGPOS:new a.Pointer(a.uint16,Tn),shrinkageJstfMax:new a.Pointer(a.uint16,new Tt(Sn)),extensionEnableGSUB:new a.Pointer(a.uint16,Tn),extensionDisableGSUB:new a.Pointer(a.uint16,Tn),extensionEnableGPOS:new a.Pointer(a.uint16,Tn),extensionDisableGPOS:new a.Pointer(a.uint16,Tn),extensionJstfMax:new a.Pointer(a.uint16,new Tt(Sn))}),Ln=new a.Array(new a.Pointer(a.uint16,On),a.uint16),Bn=new a.Struct({tag:new a.String(4),jstfLangSys:new a.Pointer(a.uint16,Ln)}),Mn=new a.Struct({extenderGlyphs:new a.Pointer(a.uint16,new a.Array(a.uint16,a.uint16)),defaultLangSys:new a.Pointer(a.uint16,Ln),langSysCount:a.uint16,langSysRecords:new a.Array(Bn,"langSysCount")}),Rn=new a.Struct({tag:new a.String(4),script:new a.Pointer(a.uint16,Mn,{type:"parent"})}),Fn=new a.Struct({version:a.uint32,scriptCount:a.uint16,scriptList:new a.Array(Rn,"scriptCount")}),Dn=function(){function t(e){f(this,t),this._size=e}return t.prototype.decode=function(t,e){switch(this.size(0,e)){case 1:return t.readUInt8();case 2:return t.readUInt16BE();case 3:return t.readUInt24BE();case 4:return t.readUInt32BE()}},t.prototype.size=function(t,e){return v.resolveLength(this._size,null,e)},t}(),zn=new a.Struct({entry:new Dn(function(t){return 1+((48&t.parent.entryFormat)>>4)}),outerIndex:function(t){return t.entry>>1+(15&t.parent.entryFormat)},innerIndex:function(t){return t.entry&(1<<1+(15&t.parent.entryFormat))-1}}),Nn=new a.Struct({entryFormat:a.uint16,mapCount:a.uint16,mapData:new a.Array(zn,"mapCount")}),Un=new a.Struct({majorVersion:a.uint16,minorVersion:a.uint16,itemVariationStore:new a.Pointer(a.uint32,Jt),advanceWidthMapping:new a.Pointer(a.uint32,Nn),LSBMapping:new a.Pointer(a.uint32,Nn),RSBMapping:new a.Pointer(a.uint32,Nn)}),Wn=new a.Struct({format:a.uint32,length:a.uint32,offset:a.uint32}),Gn=new a.Struct({reserved:new a.Reserved(a.uint16,2),cbSignature:a.uint32,signature:new a.Buffer("cbSignature")}),Vn=new a.Struct({ulVersion:a.uint32,usNumSigs:a.uint16,usFlag:a.uint16,signatures:new a.Array(Wn,"usNumSigs"),signatureBlocks:new a.Array(Gn,"usNumSigs")}),jn=new a.Struct({rangeMaxPPEM:a.uint16,rangeGaspBehavior:new a.Bitfield(a.uint16,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),Hn=new a.Struct({version:a.uint16,numRanges:a.uint16,gaspRanges:new a.Array(jn,"numRanges")}),qn=new a.Struct({pixelSize:a.uint8,maximumWidth:a.uint8,widths:new a.Array(a.uint8,function(t){return t.parent.parent.maxp.numGlyphs})}),Zn=new a.Struct({version:a.uint16,numRecords:a.int16,sizeDeviceRecord:a.int32,records:new a.Array(qn,"numRecords")}),Yn=new a.Struct({left:a.uint16,right:a.uint16,value:a.int16}),Xn=new a.Struct({firstGlyph:a.uint16,nGlyphs:a.uint16,offsets:new a.Array(a.uint16,"nGlyphs"),max:function(t){return t.offsets.length&&Math.max.apply(Math,t.offsets)}}),Kn=new a.Struct({off:function(t){return t._startOffset-t.parent.parent._startOffset},len:function(t){return((t.parent.leftTable.max-t.off)/t.parent.rowWidth+1)*(t.parent.rowWidth/2)},values:new a.LazyArray(a.int16,"len")}),Jn=new a.VersionedStruct("format",{0:{nPairs:a.uint16,searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16,pairs:new a.Array(Yn,"nPairs")},2:{rowWidth:a.uint16,leftTable:new a.Pointer(a.uint16,Xn,{type:"parent"}),rightTable:new a.Pointer(a.uint16,Xn,{type:"parent"}),array:new a.Pointer(a.uint16,Kn,{type:"parent"})},3:{glyphCount:a.uint16,kernValueCount:a.uint8,leftClassCount:a.uint8,rightClassCount:a.uint8,flags:a.uint8,kernValue:new a.Array(a.int16,"kernValueCount"),leftClass:new a.Array(a.uint8,"glyphCount"),rightClass:new a.Array(a.uint8,"glyphCount"),kernIndex:new a.Array(a.uint8,function(t){return t.leftClassCount*t.rightClassCount})}}),Qn=new a.VersionedStruct("version",{0:{subVersion:a.uint16,length:a.uint16,format:a.uint8,coverage:new a.Bitfield(a.uint8,["horizontal","minimum","crossStream","override"]),subtable:Jn,padding:new a.Reserved(a.uint8,function(t){return t.length-t._currentOffset})},1:{length:a.uint32,coverage:new a.Bitfield(a.uint8,[null,null,null,null,null,"variation","crossStream","vertical"]),format:a.uint8,tupleIndex:a.uint16,subtable:Jn,padding:new a.Reserved(a.uint8,function(t){return t.length-t._currentOffset})}}),$n=new a.VersionedStruct(a.uint16,{0:{nTables:a.uint16,tables:new a.Array(Qn,"nTables")},1:{reserved:new a.Reserved(a.uint16),nTables:a.uint32,tables:new a.Array(Qn,"nTables")}}),tr=new a.Struct({version:a.uint16,numGlyphs:a.uint16,yPels:new a.Array(a.uint8,"numGlyphs")}),er=new a.Struct({version:a.uint16,fontNumber:a.uint32,pitch:a.uint16,xHeight:a.uint16,style:a.uint16,typeFamily:a.uint16,capHeight:a.uint16,symbolSet:a.uint16,typeface:new a.String(16),characterComplement:new a.String(8),fileName:new a.String(6),strokeWeight:new a.String(1),widthType:new a.String(1),serifStyle:a.uint8,reserved:new a.Reserved(a.uint8)}),nr=new a.Struct({bCharSet:a.uint8,xRatio:a.uint8,yStartRatio:a.uint8,yEndRatio:a.uint8}),rr=new a.Struct({yPelHeight:a.uint16,yMax:a.int16,yMin:a.int16}),ir=new a.Struct({recs:a.uint16,startsz:a.uint8,endsz:a.uint8,entries:new a.Array(rr,"recs")}),ar=new a.Struct({version:a.uint16,numRecs:a.uint16,numRatios:a.uint16,ratioRanges:new a.Array(nr,"numRatios"),offsets:new a.Array(a.uint16,"numRatios"),groups:new a.Array(ir,"numRecs")}),or=new a.Struct({version:a.uint16,ascent:a.int16,descent:a.int16,lineGap:a.int16,advanceHeightMax:a.int16,minTopSideBearing:a.int16,minBottomSideBearing:a.int16,yMaxExtent:a.int16,caretSlopeRise:a.int16,caretSlopeRun:a.int16,caretOffset:a.int16,reserved:new a.Reserved(a.int16,4),metricDataFormat:a.int16,numberOfMetrics:a.uint16}),sr=new a.Struct({advance:a.uint16,bearing:a.int16}),lr=new a.Struct({metrics:new a.LazyArray(sr,function(t){return t.parent.vhea.numberOfMetrics}),bearings:new a.LazyArray(a.int16,function(t){return t.parent.maxp.numGlyphs-t.parent.vhea.numberOfMetrics})}),ur=new a.Fixed(16,"BE",14),cr=new a.Struct({fromCoord:ur,toCoord:ur}),hr=new a.Struct({pairCount:a.uint16,correspondence:new a.Array(cr,"pairCount")}),fr=new a.Struct({version:a.fixed32,axisCount:a.uint32,segment:new a.Array(hr,"axisCount")}),dr=function(){function t(e,n,r){f(this,t),this.type=e,this.stream=n,this.parent=r,this.base=this.stream.pos,this._items=[]}return t.prototype.getItem=function(t){if(null==this._items[t]){var e=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*t,this._items[t]=this.type.decode(this.stream,this.parent),this.stream.pos=e}return this._items[t]},t.prototype.inspect=function(){return"[UnboundedArray "+this.type.constructor.name+"]"},t}(),pr=function(t){function e(n){return f(this,e),g(this,t.call(this,n,0))}return y(e,t),e.prototype.decode=function(t,e){return new dr(this.type,t,e)},e}(a.Array),gr=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a.uint16;t=new(function(){function t(e){f(this,t),this.type=e}return t.prototype.decode=function(t,e){return e=e.parent.parent,this.type.decode(t,e)},t.prototype.size=function(t,e){return e=e.parent.parent,this.type.size(t,e)},t.prototype.encode=function(t,e,n){return n=n.parent.parent,this.type.encode(t,e,n)},t}())(t);var e=new a.Struct({unitSize:a.uint16,nUnits:a.uint16,searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16}),n=new a.Struct({lastGlyph:a.uint16,firstGlyph:a.uint16,value:t}),r=new a.Struct({lastGlyph:a.uint16,firstGlyph:a.uint16,values:new a.Pointer(a.uint16,new a.Array(t,function(t){return t.lastGlyph-t.firstGlyph+1}),{type:"parent"})}),i=new a.Struct({glyph:a.uint16,value:t});return new a.VersionedStruct(a.uint16,{0:{values:new pr(t)},2:{binarySearchHeader:e,segments:new a.Array(n,function(t){return t.binarySearchHeader.nUnits})},4:{binarySearchHeader:e,segments:new a.Array(r,function(t){return t.binarySearchHeader.nUnits})},6:{binarySearchHeader:e,segments:new a.Array(i,function(t){return t.binarySearchHeader.nUnits})},8:{firstGlyph:a.uint16,count:a.uint16,values:new a.Array(t,"count")}})};function yr(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.uint16,n=w({newState:a.uint16,flags:a.uint16},t),r=new a.Struct(n),i=new pr(new a.Array(a.uint16,function(t){return t.nClasses}));return new a.Struct({nClasses:a.uint32,classTable:new a.Pointer(a.uint32,new gr(e)),stateArray:new a.Pointer(a.uint32,i),entryTable:new a.Pointer(a.uint32,new pr(r))})}var vr=new a.VersionedStruct("format",{0:{deltas:new a.Array(a.int16,32)},1:{deltas:new a.Array(a.int16,32),mappingData:new gr(a.uint16)},2:{standardGlyph:a.uint16,controlPoints:new a.Array(a.uint16,32)},3:{standardGlyph:a.uint16,controlPoints:new a.Array(a.uint16,32),mappingData:new gr(a.uint16)}}),br=new a.Struct({version:a.fixed32,format:a.uint16,defaultBaseline:a.uint16,subtable:vr}),mr=new a.Struct({setting:a.uint16,nameIndex:a.int16,name:function(t){return t.parent.parent.parent.name.records.fontFeatures[t.nameIndex]}}),wr=new a.Struct({feature:a.uint16,nSettings:a.uint16,settingTable:new a.Pointer(a.uint32,new a.Array(mr,"nSettings"),{type:"parent"}),featureFlags:new a.Bitfield(a.uint8,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:a.uint8,nameIndex:a.int16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameIndex]}}),xr=new a.Struct({version:a.fixed32,featureNameCount:a.uint16,reserved1:new a.Reserved(a.uint16),reserved2:new a.Reserved(a.uint32),featureNames:new a.Array(wr,"featureNameCount")}),Sr=new a.Struct({axisTag:new a.String(4),minValue:a.fixed32,defaultValue:a.fixed32,maxValue:a.fixed32,flags:a.uint16,nameID:a.uint16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameID]}}),_r=new a.Struct({nameID:a.uint16,name:function(t){return t.parent.parent.name.records.fontFeatures[t.nameID]},flags:a.uint16,coord:new a.Array(a.fixed32,function(t){return t.parent.axisCount}),postscriptNameID:new a.Optional(a.uint16,function(t){return t.parent.instanceSize-t._currentOffset>0})}),kr=new a.Struct({version:a.fixed32,offsetToData:a.uint16,countSizePairs:a.uint16,axisCount:a.uint16,axisSize:a.uint16,instanceCount:a.uint16,instanceSize:a.uint16,axis:new a.Array(Sr,"axisCount"),instance:new a.Array(_r,"instanceCount")}),Cr=new a.Fixed(16,"BE",14),Ar=function(){function t(){f(this,t)}return t.decode=function(t,e){return e.flags?t.readUInt32BE():2*t.readUInt16BE()},t}(),Pr=new a.Struct({version:a.uint16,reserved:new a.Reserved(a.uint16),axisCount:a.uint16,globalCoordCount:a.uint16,globalCoords:new a.Pointer(a.uint32,new a.Array(new a.Array(Cr,"axisCount"),"globalCoordCount")),glyphCount:a.uint16,flags:a.uint16,offsetToData:a.uint32,offsets:new a.Array(new a.Pointer(Ar,"void",{relativeTo:"offsetToData",allowNull:!1}),function(t){return t.glyphCount+1})}),Er=new a.Struct({length:a.uint16,coverage:a.uint16,subFeatureFlags:a.uint32,stateTable:new function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.uint16,new a.Struct({version:function(){return 8},firstGlyph:a.uint16,values:new a.Array(a.uint8,a.uint16)})),n=w({newStateOffset:a.uint16,newState:function(t){return(t.newStateOffset-(t.parent.stateArray.base-t.parent._startOffset))/t.parent.nClasses},flags:a.uint16},t),r=new a.Struct(n),i=new pr(new a.Array(a.uint8,function(t){return t.nClasses}));return new a.Struct({nClasses:a.uint16,classTable:new a.Pointer(a.uint16,e),stateArray:new a.Pointer(a.uint16,i),entryTable:new a.Pointer(a.uint16,new pr(r))})}}),Ir=new a.Struct({justClass:a.uint32,beforeGrowLimit:a.fixed32,beforeShrinkLimit:a.fixed32,afterGrowLimit:a.fixed32,afterShrinkLimit:a.fixed32,growFlags:a.uint16,shrinkFlags:a.uint16}),Tr=new a.Array(Ir,a.uint32),Or=new a.VersionedStruct("actionType",{0:{lowerLimit:a.fixed32,upperLimit:a.fixed32,order:a.uint16,glyphs:new a.Array(a.uint16,a.uint16)},1:{addGlyph:a.uint16},2:{substThreshold:a.fixed32,addGlyph:a.uint16,substGlyph:a.uint16},3:{},4:{variationAxis:a.uint32,minimumLimit:a.fixed32,noStretchValue:a.fixed32,maximumLimit:a.fixed32},5:{flags:a.uint16,glyph:a.uint16}}),Lr=new a.Struct({actionClass:a.uint16,actionType:a.uint16,actionLength:a.uint32,actionData:Or,padding:new a.Reserved(a.uint8,function(t){return t.actionLength-t._currentOffset})}),Br=new a.Array(Lr,a.uint32),Mr=new a.Struct({lookupTable:new gr(new a.Pointer(a.uint16,Br))}),Rr=new a.Struct({classTable:new a.Pointer(a.uint16,Er,{type:"parent"}),wdcOffset:a.uint16,postCompensationTable:new a.Pointer(a.uint16,Mr,{type:"parent"}),widthDeltaClusters:new gr(new a.Pointer(a.uint16,Tr,{type:"parent",relativeTo:"wdcOffset"}))}),Fr=new a.Struct({version:a.uint32,format:a.uint16,horizontal:new a.Pointer(a.uint16,Rr),vertical:new a.Pointer(a.uint16,Rr)}),Dr={action:a.uint16},zr={markIndex:a.uint16,currentIndex:a.uint16},Nr={currentInsertIndex:a.uint16,markedInsertIndex:a.uint16},Ur=new a.Struct({items:new pr(new a.Pointer(a.uint32,new gr))}),Wr=new a.VersionedStruct("type",{0:{stateTable:new yr},1:{stateTable:new yr(zr),substitutionTable:new a.Pointer(a.uint32,Ur)},2:{stateTable:new yr(Dr),ligatureActions:new a.Pointer(a.uint32,new pr(a.uint32)),components:new a.Pointer(a.uint32,new pr(a.uint16)),ligatureList:new a.Pointer(a.uint32,new pr(a.uint16))},4:{lookupTable:new gr},5:{stateTable:new yr(Nr),insertionActions:new a.Pointer(a.uint32,new pr(a.uint16))}}),Gr=new a.Struct({length:a.uint32,coverage:a.uint24,type:a.uint8,subFeatureFlags:a.uint32,table:Wr,padding:new a.Reserved(a.uint8,function(t){return t.length-t._currentOffset})}),Vr=new a.Struct({featureType:a.uint16,featureSetting:a.uint16,enableFlags:a.uint32,disableFlags:a.uint32}),jr=new a.Struct({defaultFlags:a.uint32,chainLength:a.uint32,nFeatureEntries:a.uint32,nSubtables:a.uint32,features:new a.Array(Vr,"nFeatureEntries"),subtables:new a.Array(Gr,"nSubtables")}),Hr=new a.Struct({version:a.uint16,unused:new a.Reserved(a.uint16),nChains:a.uint32,chains:new a.Array(jr,"nChains")}),qr=new a.Struct({left:a.int16,top:a.int16,right:a.int16,bottom:a.int16}),Zr=new a.Struct({version:a.fixed32,format:a.uint16,lookupTable:new gr(qr)}),Yr={};Yr.cmap=V,Yr.head=j,Yr.hhea=H,Yr.hmtx=Z,Yr.maxp=Y,Yr.name=NameTable,Yr["OS/2"]=nt,Yr.post=it,Yr.fpgm=ot,Yr.loca=st,Yr.prep=lt,Yr["cvt "]=at,Yr.glyf=ut,Yr["CFF "]=xe,Yr.CFF2=xe,Yr.VORG=_e,Yr.EBLC=Me,Yr.CBLC=Yr.EBLC,Yr.sbix=Fe,Yr.COLR=Ne,Yr.CPAL=We,Yr.BASE=Qe,Yr.GDEF=on,Yr.GPOS=_n,Yr.GSUB=In,Yr.JSTF=Fn,Yr.HVAR=Un,Yr.DSIG=Vn,Yr.gasp=Hn,Yr.hdmx=Zn,Yr.kern=$n,Yr.LTSH=tr,Yr.PCLT=er,Yr.VDMX=ar,Yr.vhea=or,Yr.vmtx=lr,Yr.avar=fr,Yr.bsln=br,Yr.feat=xr,Yr.fvar=kr,Yr.gvar=Pr,Yr.just=Fr,Yr.morx=Hr,Yr.opbd=Zr;var Xr,Kr=new a.Struct({tag:new a.String(4),checkSum:a.uint32,offset:new a.Pointer(a.uint32,"void",{type:"global"}),length:a.uint32}),Jr=new a.Struct({tag:new a.String(4),numTables:a.uint16,searchRange:a.uint16,entrySelector:a.uint16,rangeShift:a.uint16,tables:new a.Array(Kr,"numTables")});function Qr(t,e){for(var n=0,r=t.length-1;n<=r;){var i=n+r>>1,a=e(t[i]);if(a<0)r=i-1;else{if(!(a>0))return i;n=i+1}}return-1}function $r(t,e){for(var n=[];t<e;)n.push(t++);return n}function ti(t,e,n,r,i){var a={};return Object.keys(r).forEach(function(t){a[t]=r[t]}),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce(function(n,r){return r(t,e,n)||n},a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(t,e,a),a=null),a}Jr.process=function(){var t={},e=this.tables,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;t[a.tag]=a}this.tables=t},Jr.preEncode=function(t){var e=[];for(var n in this.tables){var r=this.tables[n];r&&e.push({tag:n,checkSum:0,offset:new a.VoidPointer(Yr[n],r),length:Yr[n].size(r)})}this.tag="true",this.numTables=e.length,this.tables=e,this.searchRange=16*Math.floor(Math.log(this.numTables)/Math.LN2),this.entrySelector=Math.floor(this.searchRange/Math.LN2),this.rangeShift=16*this.numTables-this.searchRange};try{var ei=n(52)}catch(t){}var ni=(ti((Xr=function(){function t(e){if(f(this,t),this.encoding=null,this.cmap=this.findSubtable(e,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap&&ei){var n=e.tables,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=X(o.platformID,o.encodingID,o.table.language-1);ei.encodingExists(l)&&(this.cmap=o.table,this.encoding=l)}}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(e,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}return t.prototype.findSubtable=function(t,e){var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=o[0],u=o[1],c=t.tables,h=Array.isArray(c),f=0;for(c=h?c:s(c);;){var d;if(h){if(f>=c.length)break;d=c[f++]}else{if((f=c.next()).done)break;d=f.value}var p=d;if(p.platformID===l&&p.encodingID===u)return p.table}}return null},t.prototype.lookup=function(t,e){if(this.encoding){var n=ei.encode(x(t),this.encoding);t=0;for(var r=0;r<n.length;r++)t=t<<8|n[r]}else if(e){var i=this.getVariationSelector(t,e);if(i)return i}var a=this.cmap;switch(a.version){case 0:return a.codeMap.get(t)||0;case 4:for(var o=0,s=a.segCount-1;o<=s;){var l=o+s>>1;if(t<a.startCode.get(l))s=l-1;else{if(!(t>a.endCode.get(l))){var u=a.idRangeOffset.get(l),c=void 0;if(0===u)c=t+a.idDelta.get(l);else{var h=u/2+(t-a.startCode.get(l))-(a.segCount-l);0!==(c=a.glyphIndexArray.get(h)||0)&&(c+=a.idDelta.get(l))}return 65535&c}o=l+1}}return 0;case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return a.glyphIndices.get(t-a.firstCode)||0;case 12:case 13:for(var f=0,d=a.nGroups-1;f<=d;){var p=f+d>>1,g=a.groups.get(p);if(t<g.startCharCode)d=p-1;else{if(!(t>g.endCharCode))return 12===a.version?g.glyphID+(t-g.startCharCode):g.glyphID;f=p+1}}return 0;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format "+a.version)}},t.prototype.getVariationSelector=function(t,e){if(!this.uvs)return 0;var n=this.uvs.varSelectors.toArray(),r=Qr(n,function(t){return e-t.varSelector}),i=n[r];return-1!==r&&i.defaultUVS&&(r=Qr(i.defaultUVS,function(e){return t<e.startUnicodeValue?-1:t>e.startUnicodeValue+e.additionalCount?1:0})),-1!==r&&i.nonDefaultUVS&&-1!==(r=Qr(i.nonDefaultUVS,function(e){return t-e.unicodeValue}))?i.nonDefaultUVS[r].glyphID:0},t.prototype.getCharacterSet=function(){var t=this.cmap;switch(t.version){case 0:return $r(0,t.codeMap.length);case 4:for(var e=[],n=t.endCode.toArray(),r=0;r<n.length;r++){var i=n[r]+1,a=t.startCode.get(r);e.push.apply(e,$r(a,i))}return e;case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return $r(t.firstCode,t.firstCode+t.glyphIndices.length);case 12:case 13:var o=[],l=t.groups.toArray(),u=Array.isArray(l),c=0;for(l=u?l:s(l);;){var h;if(u){if(c>=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var f=h;o.push.apply(o,$r(f.startCharCode,f.endCharCode+1))}return o;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format "+t.version)}},t.prototype.codePointsForGlyph=function(t){var e=this.cmap;switch(e.version){case 0:for(var n=[],r=0;r<256;r++)e.codeMap.get(r)===t&&n.push(r);return n;case 4:for(var i=[],a=0;a<e.segCount;a++)for(var o=e.endCode.get(a),l=e.startCode.get(a),u=e.idRangeOffset.get(a),c=e.idDelta.get(a),h=l;h<=o;h++){var f=0;if(0===u)f=h+c;else{var d=u/2+(h-l)-(e.segCount-a);0!==(f=e.glyphIndexArray.get(d)||0)&&(f+=c)}f===t&&i.push(h)}return i;case 12:var p=[],g=e.groups.toArray(),y=Array.isArray(g),v=0;for(g=y?g:s(g);;){var b;if(y){if(v>=g.length)break;b=g[v++]}else{if((v=g.next()).done)break;b=v.value}var m=b;t>=m.glyphID&&t<=m.glyphID+(m.endCharCode-m.startCharCode)&&p.push(m.startCharCode+(t-m.glyphID))}return p;case 13:var w=[],x=e.groups.toArray(),S=Array.isArray(x),_=0;for(x=S?x:s(x);;){var k;if(S){if(_>=x.length)break;k=x[_++]}else{if((_=x.next()).done)break;k=_.value}var C=k;t===C.glyphID&&w.push.apply(w,$r(C.startCharCode,C.endCharCode+1))}return w;default:throw new Error("Unknown cmap format "+e.version)}},t}()).prototype,"getCharacterSet",[B],o(Xr.prototype,"getCharacterSet"),Xr.prototype),ti(Xr.prototype,"codePointsForGlyph",[B],o(Xr.prototype,"codePointsForGlyph"),Xr.prototype),Xr),ri=function(){function t(e){f(this,t),this.kern=e.kern}return t.prototype.process=function(t,e){for(var n=0;n<t.length-1;n++){var r=t[n].id,i=t[n+1].id;e[n].xAdvance+=this.getKerning(r,i)}},t.prototype.getKerning=function(t,e){var n=0,r=this.kern.tables,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;if(!l.coverage.crossStream){switch(l.version){case 0:if(!l.coverage.horizontal)continue;break;case 1:if(l.coverage.vertical||l.coverage.variation)continue;break;default:throw new Error("Unsupported kerning table version "+l.version)}var u=0,c=l.subtable;switch(l.format){case 0:var h=Qr(c.pairs,function(n){return t-n.left||e-n.right});h>=0&&(u=c.pairs[h].value);break;case 2:var f=0,d=0;f=t>=c.leftTable.firstGlyph&&t<c.leftTable.firstGlyph+c.leftTable.nGlyphs?c.leftTable.offsets[t-c.leftTable.firstGlyph]:c.array.off,e>=c.rightTable.firstGlyph&&e<c.rightTable.firstGlyph+c.rightTable.nGlyphs&&(d=c.rightTable.offsets[e-c.rightTable.firstGlyph]);var p=(f+d-c.array.off)/2;u=c.array.values.get(p);break;case 3:if(t>=c.glyphCount||e>=c.glyphCount)return 0;u=c.kernValue[c.kernIndex[c.leftClass[t]*c.rightClassCount+c.rightClass[e]]];break;default:throw new Error("Unsupported kerning sub-table format "+l.format)}l.coverage.override?n=u:n+=u}}return n},t}(),ii=function(){function t(e){f(this,t),this.font=e}return t.prototype.positionGlyphs=function(t,e){for(var n=0,r=0,i=0;i<t.length;i++){t[i].isMark?r=i:(n!==r&&this.positionCluster(t,e,n,r),n=r=i)}return n!==r&&this.positionCluster(t,e,n,r),e},t.prototype.positionCluster=function(t,e,n,r){var i=t[n],a=i.cbox.copy();i.codePoints.length>1&&(a.minX+=(i.codePoints.length-1)*a.width/i.codePoints.length);for(var o=-e[n].xAdvance,s=0,l=this.font.unitsPerEm/16,u=n+1;u<=r;u++){var c=t[u],h=c.cbox,f=e[u],d=this.getCombiningClass(c.codePoints[0]);if("Not_Reordered"!==d){switch(f.xOffset=f.yOffset=0,d){case"Double_Above":case"Double_Below":f.xOffset+=a.minX-h.width/2-h.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":f.xOffset+=a.minX-h.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":f.xOffset+=a.maxX-h.width-h.minX;break;default:f.xOffset+=a.minX+(a.width-h.width)/2-h.minX}switch(d){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==d&&"Attached_Below"!==d||(a.minY+=l),f.yOffset=-a.minY-h.maxY,a.minY+=h.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==d&&"Attached_Above_Right"!==d||(a.maxY+=l),f.yOffset=a.maxY-h.minY,a.maxY+=h.height}f.xAdvance=f.yAdvance=0,f.xOffset+=o,f.yOffset+=s}else o-=f.xAdvance,s-=f.yAdvance}},t.prototype.getCombiningClass=function(t){var e=k.getCombiningClass(t);if(3584==(-256&t))if("Not_Reordered"===e)switch(t){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===t)return"Below_Right";switch(e){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":return"Below";case"CCC23":return"Attached_Above";case"CCC24":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":return"Above";case"CCC21":break;case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":return"Above";case"CCC29":case"CCC32":return"Below";case"CCC103":return"Below_Right";case"CCC107":return"Above_Right";case"CCC118":return"Below";case"CCC122":return"Above";case"CCC129":case"CCC132":return"Below";case"CCC130":return"Above"}return e},t}(),ai=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1/0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-1/0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1/0;f(this,t),this.minX=e,this.minY=n,this.maxX=r,this.maxY=i}return t.prototype.addPoint=function(t,e){Math.abs(t)!==1/0&&(t<this.minX&&(this.minX=t),t>this.maxX&&(this.maxX=t)),Math.abs(e)!==1/0&&(e<this.minY&&(this.minY=e),e>this.maxY&&(this.maxY=e))},t.prototype.copy=function(){return new t(this.minX,this.minY,this.maxX,this.maxY)},d(t,[{key:"width",get:function(){return this.maxX-this.minX}},{key:"height",get:function(){return this.maxY-this.minY}}]),t}(),oi={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi  ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},si={};for(var li in oi){var ui=oi[li];if(Array.isArray(ui)){var ci=ui,hi=Array.isArray(ci),fi=0;for(ci=hi?ci:s(ci);;){var di;if(hi){if(fi>=ci.length)break;di=ci[fi++]}else{if((fi=ci.next()).done)break;di=fi.value}si[di]=li}}else si[ui]=li}var pi={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function gi(t){return pi[t]?"rtl":"ltr"}for(var yi=function(){function t(e,n,r,i,a){if(f(this,t),this.glyphs=e,this.positions=null,this.script=r,this.language=i||null,this.direction=a||gi(r),this.features={},Array.isArray(n)){var o=n,l=Array.isArray(o),u=0;for(o=l?o:s(o);;){var h;if(l){if(u>=o.length)break;h=o[u++]}else{if((u=o.next()).done)break;h=u.value}var d=h;this.features[d]=!0}}else"object"===(void 0===n?"undefined":c(n))&&(this.features=n)}return d(t,[{key:"advanceWidth",get:function(){var t=0,e=this.positions,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}t+=i.xAdvance}return t}},{key:"advanceHeight",get:function(){var t=0,e=this.positions,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}t+=i.yAdvance}return t}},{key:"bbox",get:function(){for(var t=new ai,e=0,n=0,r=0;r<this.glyphs.length;r++){var i=this.glyphs[r],a=this.positions[r],o=i.bbox;t.addPoint(o.minX+e+a.xOffset,o.minY+n+a.yOffset),t.addPoint(o.maxX+e+a.xOffset,o.maxY+n+a.yOffset),e+=a.xAdvance,n+=a.yAdvance}return t}}]),t}(),vi={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},bi=function(t,e){return[vi[t].code,vi[t][e]]},mi={rlig:bi("ligatures","requiredLigatures"),clig:bi("ligatures","contextualLigatures"),dlig:bi("ligatures","rareLigatures"),hlig:bi("ligatures","historicalLigatures"),liga:bi("ligatures","commonLigatures"),hist:bi("ligatures","historicalLigatures"),smcp:bi("lowerCase","lowerCaseSmallCaps"),pcap:bi("lowerCase","lowerCasePetiteCaps"),frac:bi("fractions","diagonalFractions"),dnom:bi("fractions","diagonalFractions"),numr:bi("fractions","diagonalFractions"),afrc:bi("fractions","verticalFractions"),case:bi("caseSensitiveLayout","caseSensitiveLayout"),ccmp:bi("unicodeDecomposition","canonicalComposition"),cpct:bi("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:bi("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:bi("contextualAlternates","swashAlternates"),cswh:bi("contextualAlternates","contextualSwashAlternates"),curs:bi("cursiveConnection","cursive"),c2pc:bi("upperCase","upperCasePetiteCaps"),c2sc:bi("upperCase","upperCaseSmallCaps"),init:bi("smartSwash","wordInitialSwashes"),fin2:bi("smartSwash","wordFinalSwashes"),medi:bi("smartSwash","nonFinalSwashes"),med2:bi("smartSwash","nonFinalSwashes"),fin3:bi("smartSwash","wordFinalSwashes"),fina:bi("smartSwash","wordFinalSwashes"),pkna:bi("kanaSpacing","proportionalKana"),half:bi("textSpacing","halfWidthText"),halt:bi("textSpacing","altHalfWidthText"),hkna:bi("alternateKana","alternateHorizKana"),vkna:bi("alternateKana","alternateVertKana"),ital:bi("italicCJKRoman","CJKItalicRoman"),lnum:bi("numberCase","upperCaseNumbers"),onum:bi("numberCase","lowerCaseNumbers"),mgrk:bi("mathematicalExtras","mathematicalGreek"),calt:bi("contextualAlternates","contextualAlternates"),vrt2:bi("verticalSubstitution","substituteVerticalForms"),vert:bi("verticalSubstitution","substituteVerticalForms"),tnum:bi("numberSpacing","monospacedNumbers"),pnum:bi("numberSpacing","proportionalNumbers"),sups:bi("verticalPosition","superiors"),subs:bi("verticalPosition","inferiors"),ordn:bi("verticalPosition","ordinals"),pwid:bi("textSpacing","proportionalText"),hwid:bi("textSpacing","halfWidthText"),qwid:bi("textSpacing","quarterWidthText"),twid:bi("textSpacing","thirdWidthText"),fwid:bi("textSpacing","proportionalText"),palt:bi("textSpacing","altProportionalText"),trad:bi("characterShape","traditionalCharacters"),smpl:bi("characterShape","simplifiedCharacters"),jp78:bi("characterShape","JIS1978Characters"),jp83:bi("characterShape","JIS1983Characters"),jp90:bi("characterShape","JIS1990Characters"),jp04:bi("characterShape","JIS2004Characters"),expt:bi("characterShape","expertCharacters"),hojo:bi("characterShape","hojoCharacters"),nlck:bi("characterShape","NLCCharacters"),tnam:bi("characterShape","traditionalNamesCharacters"),ruby:bi("rubyKana","rubyKana"),titl:bi("styleOptions","titlingCaps"),zero:bi("typographicExtras","slashedZero"),ss01:bi("stylisticAlternatives","stylisticAltOne"),ss02:bi("stylisticAlternatives","stylisticAltTwo"),ss03:bi("stylisticAlternatives","stylisticAltThree"),ss04:bi("stylisticAlternatives","stylisticAltFour"),ss05:bi("stylisticAlternatives","stylisticAltFive"),ss06:bi("stylisticAlternatives","stylisticAltSix"),ss07:bi("stylisticAlternatives","stylisticAltSeven"),ss08:bi("stylisticAlternatives","stylisticAltEight"),ss09:bi("stylisticAlternatives","stylisticAltNine"),ss10:bi("stylisticAlternatives","stylisticAltTen"),ss11:bi("stylisticAlternatives","stylisticAltEleven"),ss12:bi("stylisticAlternatives","stylisticAltTwelve"),ss13:bi("stylisticAlternatives","stylisticAltThirteen"),ss14:bi("stylisticAlternatives","stylisticAltFourteen"),ss15:bi("stylisticAlternatives","stylisticAltFifteen"),ss16:bi("stylisticAlternatives","stylisticAltSixteen"),ss17:bi("stylisticAlternatives","stylisticAltSeventeen"),ss18:bi("stylisticAlternatives","stylisticAltEighteen"),ss19:bi("stylisticAlternatives","stylisticAltNineteen"),ss20:bi("stylisticAlternatives","stylisticAltTwenty")},wi=1;wi<=99;wi++)mi["cv"+("00"+wi).slice(-2)]=[vi.characterAlternatives.code,wi];var xi,Si={};for(var _i in mi){var ki=mi[_i];null==Si[ki[0]]&&(Si[ki[0]]={}),Si[ki[0]][ki[1]]=_i}function Ci(t){var e=t[0],n=t[1];if(isNaN(e))var r=vi[e]&&vi[e].code;else r=e;if(isNaN(n))var i=vi[e]&&vi[e][n];else i=n;return[r,i]}var Ai,Pi,Ei,Ii,Ti,Oi,Li,Bi=(xi=function(){function t(e){f(this,t),this.table=e}return t.prototype.lookup=function(t){switch(this.table.version){case 0:return this.table.values.getItem(t);case 2:case 4:for(var e=0,n=this.table.binarySearchHeader.nUnits-1;e<=n;){var r=e+n>>1;if(65535===(o=this.table.segments[r]).firstGlyph)return null;if(t<o.firstGlyph)n=r-1;else{if(!(t>o.lastGlyph))return 2===this.table.version?o.value:o.values[t-o.firstGlyph];e=r+1}}return null;case 6:for(var i=0,a=this.table.binarySearchHeader.nUnits-1;i<=a;){var o;r=i+a>>1;if(65535===(o=this.table.segments[r]).glyph)return null;if(t<o.glyph)a=r-1;else{if(!(t>o.glyph))return o.value;i=r+1}}return null;case 8:return this.table.values[t-this.table.firstGlyph];default:throw new Error("Unknown lookup table format: "+this.table.version)}},t.prototype.glyphsForValue=function(t){var e=[];switch(this.table.version){case 2:case 4:var n=this.table.segments,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;if(2===this.table.version&&o.value===t)e.push.apply(e,$r(o.firstGlyph,o.lastGlyph+1));else for(var l=0;l<o.values.length;l++)o.values[l]===t&&e.push(o.firstGlyph+l)}break;case 6:var u=this.table.segments,c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;d.value===t&&e.push(d.glyph)}break;case 8:for(var p=0;p<this.table.values.length;p++)this.table.values[p]===t&&e.push(this.table.firstGlyph+p);break;default:throw new Error("Unknown lookup table format: "+this.table.version)}return e},t}(),Ai=xi.prototype,Pi="glyphsForValue",Ei=[B],Ii=o(xi.prototype,"glyphsForValue"),Ti=xi.prototype,Oi={},Object.keys(Ii).forEach(function(t){Oi[t]=Ii[t]}),Oi.enumerable=!!Oi.enumerable,Oi.configurable=!!Oi.configurable,("value"in Oi||Oi.initializer)&&(Oi.writable=!0),Oi=Ei.slice().reverse().reduce(function(t,e){return e(Ai,Pi,t)||t},Oi),Ti&&void 0!==Oi.initializer&&(Oi.value=Oi.initializer?Oi.initializer.call(Ti):void 0,Oi.initializer=void 0),void 0===Oi.initializer&&(Object.defineProperty(Ai,Pi,Oi),Oi=null),xi),Mi=function(){function t(e){f(this,t),this.stateTable=e,this.lookupTable=new Bi(e.classTable)}return t.prototype.process=function(t,e,n){for(var r=0,i=e?t.length-1:0,a=e?-1:1;1===a&&i<=t.length||-1===a&&i>=-1;){var o=null,s=1,l=!0;i===t.length||-1===i?s=0:65535===(o=t[i]).id?s=2:null==(s=this.lookupTable.lookup(o.id))&&(s=1);var u=this.stateTable.stateArray.getItem(r)[s],c=this.stateTable.entryTable.getItem(u);0!==s&&2!==s&&(n(o,c,i),l=!(16384&c.flags)),r=c.newState,l&&(i+=a)}return t},t.prototype.traverse=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new _;if(!n.has(e)){n.add(e);for(var r=this.stateTable,i=r.nClasses,a=r.stateArray,o=r.entryTable,l=a.getItem(e),u=4;u<i;u++){var c=l[u],h=o.getItem(c),f=this.lookupTable.glyphsForValue(u),d=Array.isArray(f),p=0;for(f=d?f:s(f);;){var g;if(d){if(p>=f.length)break;g=f[p++]}else{if((p=f.next()).done)break;g=p.value}var y=g;t.enter&&t.enter(y,h),0!==h.newState&&this.traverse(t,h.newState,n),t.exit&&t.exit(y,h)}}}},t}();var Ri,Fi,Di,zi,Ni,Ui,Wi=(Li=function(){function t(e){f(this,t),this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=e,this.morx=e.morx,this.inputCache=null}return t.prototype.process=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.morx.chains,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=o.defaultFlags,u=o.features,c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d,p=f;(d=e[p.featureType])&&d[p.featureSetting]&&(l&=p.disableFlags,l|=p.enableFlags)}var g=o.subtables,y=Array.isArray(g),v=0;for(g=y?g:s(g);;){var b;if(y){if(v>=g.length)break;b=g[v++]}else{if((v=g.next()).done)break;b=v.value}var m=b;m.subFeatureFlags&l&&this.processSubtable(m,t)}}for(var w=t.length-1;w>=0;)65535===t[w].id&&t.splice(w,1),w--;return t},t.prototype.processSubtable=function(t,e){if(this.subtable=t,this.glyphs=e,4!==this.subtable.type){this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;var n=this.getStateMachine(t),r=this.getProcessor(),i=!!(4194304&this.subtable.coverage);return n.process(this.glyphs,i,r)}this.processNoncontextualSubstitutions(this.subtable,this.glyphs)},t.prototype.getStateMachine=function(t){return new Mi(t.table.stateTable)},t.prototype.getProcessor=function(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error("Invalid morx subtable type: "+this.subtable.type)}},t.prototype.processIndicRearragement=function(t,e,n){32768&e.flags&&(this.firstGlyph=n),8192&e.flags&&(this.lastGlyph=n),function(t,e,n,r){switch(e){case 0:return t;case 1:return Gi(t,[n,1],[r,0]);case 2:return Gi(t,[n,0],[r,1]);case 3:return Gi(t,[n,1],[r,1]);case 4:return Gi(t,[n,2],[r,0]);case 5:return Gi(t,[n,2],[r,0],!0,!1);case 6:return Gi(t,[n,0],[r,2]);case 7:return Gi(t,[n,0],[r,2],!1,!0);case 8:return Gi(t,[n,1],[r,2]);case 9:return Gi(t,[n,1],[r,2],!1,!0);case 10:return Gi(t,[n,2],[r,1]);case 11:return Gi(t,[n,2],[r,1],!0,!1);case 12:return Gi(t,[n,2],[r,2]);case 13:return Gi(t,[n,2],[r,2],!0,!1);case 14:return Gi(t,[n,2],[r,2],!1,!0);case 15:return Gi(t,[n,2],[r,2],!0,!0);default:throw new Error("Unknown verb: "+e)}}(this.glyphs,15&e.flags,this.firstGlyph,this.lastGlyph)},t.prototype.processContextualSubstitution=function(t,e,n){var r=this.subtable.table.substitutionTable.items;if(65535!==e.markIndex){var i=r.getItem(e.markIndex),a=new Bi(i);t=this.glyphs[this.markedGlyph],(o=a.lookup(t.id))&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(o,t.codePoints))}if(65535!==e.currentIndex){var o,s=r.getItem(e.currentIndex),l=new Bi(s);t=this.glyphs[n],(o=l.lookup(t.id))&&(this.glyphs[n]=this.font.getGlyph(o,t.codePoints))}32768&e.flags&&(this.markedGlyph=n)},t.prototype.processLigature=function(t,e,n){if(32768&e.flags&&this.ligatureStack.push(n),8192&e.flags){for(var r,i=this.subtable.table.ligatureActions,a=this.subtable.table.components,o=this.subtable.table.ligatureList,s=e.action,l=!1,u=0,c=[],h=[];!l;){var f,d=this.ligatureStack.pop();(f=c).unshift.apply(f,this.glyphs[d].codePoints);var p=i.getItem(s++);l=!!(2147483648&p);var g=!!(1073741824&p),y=(1073741823&p)<<2>>2;if(y+=this.glyphs[d].id,u+=a.getItem(y),l||g){var v=o.getItem(u);this.glyphs[d]=this.font.getGlyph(v,c),h.push(d),u=0,c=[]}else this.glyphs[d]=this.font.getGlyph(65535)}(r=this.ligatureStack).push.apply(r,h)}},t.prototype.processNoncontextualSubstitutions=function(t,e,n){var r=new Bi(t.table.lookupTable);for(n=0;n<e.length;n++){var i=e[n];if(65535!==i.id){var a=r.lookup(i.id);a&&(e[n]=this.font.getGlyph(a,i.codePoints))}}},t.prototype._insertGlyphs=function(t,e,n,r){for(var i,a=[];n--;){var o=this.subtable.table.insertionActions.getItem(e++);a.push(this.font.getGlyph(o))}r||t++,(i=this.glyphs).splice.apply(i,[t,0].concat(a))},t.prototype.processGlyphInsertion=function(t,e,n){if(32768&e.flags&&(this.markedIndex=n),65535!==e.markedInsertIndex){var r=(31&e.flags)>>>5,i=!!(1024&e.flags);this._insertGlyphs(this.markedIndex,e.markedInsertIndex,r,i)}if(65535!==e.currentInsertIndex){var a=(992&e.flags)>>>5,o=!!(2048&e.flags);this._insertGlyphs(n,e.currentInsertIndex,a,o)}},t.prototype.getSupportedFeatures=function(){var t=[],e=this.morx.chains,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i.features,o=Array.isArray(a),l=0;for(a=o?a:s(a);;){var u;if(o){if(l>=a.length)break;u=a[l++]}else{if((l=a.next()).done)break;u=l.value}var c=u;t.push([c.featureType,c.featureSetting])}}return t},t.prototype.generateInputs=function(t){return this.inputCache||this.generateInputCache(),this.inputCache[t]||[]},t.prototype.generateInputCache=function(){this.inputCache={};var t=this.morx.chains,e=Array.isArray(t),n=0;for(t=e?t:s(t);;){var r;if(e){if(n>=t.length)break;r=t[n++]}else{if((n=t.next()).done)break;r=n.value}var i=r,a=i.defaultFlags,o=i.subtables,l=Array.isArray(o),u=0;for(o=l?o:s(o);;){var c;if(l){if(u>=o.length)break;c=o[u++]}else{if((u=o.next()).done)break;c=u.value}var h=c;h.subFeatureFlags&a&&this.generateInputsForSubtable(h)}}},t.prototype.generateInputsForSubtable=function(t){var e=this;if(2===t.type){if(!!(4194304&t.coverage))throw new Error("Reverse subtable, not supported.");this.subtable=t,this.ligatureStack=[];var n=this.getStateMachine(t),r=this.getProcessor(),i=[],a=[];this.glyphs=[],n.traverse({enter:function(t,n){var o=e.glyphs;a.push({glyphs:o.slice(),ligatureStack:e.ligatureStack.slice()});var s=e.font.getGlyph(t);i.push(s),o.push(i[i.length-1]),r(o[o.length-1],n,o.length-1);for(var l=0,u=0,c=0;c<o.length&&l<=1;c++)65535!==o[c].id&&(l++,u=o[c].id);if(1===l){var h=i.map(function(t){return t.id}),f=e.inputCache[u];f?f.push(h):e.inputCache[u]=[h]}},exit:function(){var t=a.pop();e.glyphs=t.glyphs,e.ligatureStack=t.ligatureStack,i.pop()}})}},t}(),Ri=Li.prototype,Fi="getStateMachine",Di=[B],zi=o(Li.prototype,"getStateMachine"),Ni=Li.prototype,Ui={},Object.keys(zi).forEach(function(t){Ui[t]=zi[t]}),Ui.enumerable=!!Ui.enumerable,Ui.configurable=!!Ui.configurable,("value"in Ui||Ui.initializer)&&(Ui.writable=!0),Ui=Di.slice().reverse().reduce(function(t,e){return e(Ri,Fi,t)||t},Ui),Ni&&void 0!==Ui.initializer&&(Ui.value=Ui.initializer?Ui.initializer.call(Ni):void 0,Ui.initializer=void 0),void 0===Ui.initializer&&(Object.defineProperty(Ri,Fi,Ui),Ui=null),Li);function Gi(t,e,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a=t.splice(n[0]-(n[1]-1),n[1]);i&&a.reverse();var o=t.splice.apply(t,[e[0],e[1]].concat(a));return r&&o.reverse(),t.splice.apply(t,[n[0]-(e[1]-1),0].concat(o)),t}var Vi,ji,Hi=function(){function t(e){f(this,t),this.font=e,this.morxProcessor=new Wi(e),this.fallbackPosition=!1}return t.prototype.substitute=function(t){"rtl"===t.direction&&t.glyphs.reverse(),this.morxProcessor.process(t.glyphs,function(t){var e={};for(var n in t){var r;(r=mi[n])&&(null==e[r[0]]&&(e[r[0]]={}),e[r[0]][r[1]]=t[n])}return e}(t.features))},t.prototype.getAvailableFeatures=function(t,e){return function(t){var e={};if(Array.isArray(t))for(var n=0;n<t.length;n++){var r,i=Ci(t[n]);(r=Si[i[0]]&&Si[i[0]][i[1]])&&(e[r]=!0)}else if("object"===(void 0===t?"undefined":c(t)))for(var a in t){var o=t[a];for(var s in o){var l=void 0,h=Ci([a,s]);o[s]&&(l=Si[h[0]]&&Si[h[0]][h[1]])&&(e[l]=!0)}}return u(e)}(this.morxProcessor.getSupportedFeatures())},t.prototype.stringsForGlyph=function(t){var e=this.morxProcessor.generateInputs(t),n=new _,r=e,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;this._addStrings(l,0,n,"")}return n},t.prototype._addStrings=function(t,e,n,r){var i=this.font._cmapProcessor.codePointsForGlyph(t[e]),a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=r+x(l);e<t.length-1?this._addStrings(t,e+1,n,u):n.add(u)}},t}(),qi=function(){function t(e,n,r){f(this,t),this.font=e,this.script=n,this.direction=r,this.stages=[],this.globalFeatures={},this.allFeatures={}}return t.prototype._addFeatures=function(t,e){var n=this.stages.length-1,r=this.stages[n],i=t,a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=l;null==this.allFeatures[u]&&(r.push(u),this.allFeatures[u]=n,e&&(this.globalFeatures[u]=!0))}},t.prototype.add=function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0===this.stages.length&&this.stages.push([]),"string"==typeof t&&(t=[t]),Array.isArray(t))this._addFeatures(t,e);else{if("object"!==(void 0===t?"undefined":c(t)))throw new Error("Unsupported argument to ShapingPlan#add");this._addFeatures(t.global||[],!0),this._addFeatures(t.local||[],!1)}},t.prototype.addStage=function(t,e){"function"==typeof t?this.stages.push(t,[]):(this.stages.push([]),this.add(t,e))},t.prototype.setFeatureOverrides=function(t){if(Array.isArray(t))this.add(t);else if("object"===(void 0===t?"undefined":c(t)))for(var e in t)if(t[e])this.add(e);else if(null!=this.allFeatures[e]){var n=this.stages[this.allFeatures[e]];n.splice(n.indexOf(e),1),delete this.allFeatures[e],delete this.globalFeatures[e]}},t.prototype.assignGlobalFeatures=function(t){var e=t,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;for(var o in this.globalFeatures)a.features[o]=!0}},t.prototype.process=function(t,e,n){var r=this.stages,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;"function"==typeof l?n||l(this.font,e,this):l.length>0&&t.applyFeatures(l,e,n)}},t}(),Zi=["rvrn"],Yi=["ccmp","locl","rlig","mark","mkmk"],Xi=["frac","numr","dnom"],Ki=["calt","clig","liga","rclt","curs","kern"],Ji={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},Qi=(ji=Vi=function(){function t(){f(this,t)}return t.plan=function(t,e,n){this.planPreprocessing(t),this.planFeatures(t),this.planPostprocessing(t,n),t.assignGlobalFeatures(e),this.assignFeatures(t,e)},t.planPreprocessing=function(t){t.add({global:[].concat(Zi,Ji[t.direction]),local:Xi})},t.planFeatures=function(t){},t.planPostprocessing=function(t,e){t.add([].concat(Yi,Ki)),t.setFeatureOverrides(e)},t.assignFeatures=function(t,e){for(var n=0;n<e.length;n++){var r=e[n];if(8260===r.codePoints[0]){for(var i=n,a=n+1;i>0&&k.isDigit(e[i-1].codePoints[0]);)e[i-1].features.numr=!0,e[i-1].features.frac=!0,i--;for(;a<e.length&&k.isDigit(e[a].codePoints[0]);)e[a].features.dnom=!0,e[a].features.frac=!0,a++;r.features.frac=!0,n=a-1}}},t}(),Vi.zeroMarkWidths="AFTER_GPOS",ji),$i=new C(e("AAEQAAAAAAAAADGgAZUBav7t2CtPA0EUBeDZB00pin9AJZIEgyUEj0QhweDAgQOJxCBRBElQSBwSicLgkOAwnNKZ5GaY2c7uzj4o5yZfZrrbefbuIx2nSq3CGmzAWH/+K+UO7MIe7MMhHMMpnMMFXMIVXIt2t3CnP088iPqjqNN8e4Ij7Rle4LUH82rLm6i/92A+RERERERERERNmfz/89GDeRARERERzbN8ceps2Iwt9H0C9/AJ6yOlDkbTczcot5VSm8Pm1vcFWfb7+BKOLTuOd2UlTX4wGP85Eg953lWPFbnuN7PkjtLmalOWbNenkHOSa7T3KmR9MVTZ2zZkVj1kHa68MueVKH0R4zqQ44WEXLM8VjcWHP0PtKLfPzQnMtGn3W4QYf6qxFxceVI394r2xnV+1rih0fV1Vzf3fO1n3evL5J78ruvZ5ptX2Rwy92Tfb1wlEqut3U+sZ3HXOeJ7/zDrbyuP6+Zz0fqa6Nv3vhY7Yu1xWnGevmsvsUpTT/RYIe8waUH/rvHMWKFzLfN8L+rTfp645mfX7ftlnfDtYxN59w0=","base64")),ta=["isol","fina","fin2","fin3","medi","med2","init"],ea={Non_Joining:0,Left_Joining:1,Right_Joining:2,Dual_Joining:3,Join_Causing:3,ALAPH:4,"DALATH RISH":5,Transparent:6},na="isol",ra="fina",ia="medi",aa="med2",oa="init",sa=null,la=[[[sa,sa,0],[sa,na,2],[sa,na,1],[sa,na,2],[sa,na,1],[sa,na,6]],[[sa,sa,0],[sa,na,2],[sa,na,1],[sa,na,2],[sa,"fin2",5],[sa,na,6]],[[sa,sa,0],[sa,na,2],[oa,ra,1],[oa,ra,3],[oa,ra,4],[oa,ra,6]],[[sa,sa,0],[sa,na,2],[ia,ra,1],[ia,ra,3],[ia,ra,4],[ia,ra,6]],[[sa,sa,0],[sa,na,2],[aa,na,1],[aa,na,2],[aa,"fin2",5],[aa,na,6]],[[sa,sa,0],[sa,na,2],[na,na,1],[na,na,2],[na,"fin2",5],[na,na,6]],[[sa,sa,0],[sa,na,2],[sa,na,1],[sa,na,2],[sa,"fin3",5],[sa,na,6]]],ua=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.planFeatures=function(t){t.add(["ccmp","locl"]);for(var e=0;e<ta.length;e++){var n=ta[e];t.addStage(n,!1)}t.addStage("mset")},e.assignFeatures=function(e,n){t.assignFeatures.call(this,e,n);for(var r=-1,i=0,a=[],o=0;o<n.length;o++){var s,l,u=ca((d=n[o]).codePoints[0]);if(u!==ea.Transparent){var c=la[i][u];l=c[0],s=c[1],i=c[2],l!==sa&&-1!==r&&(a[r]=l),a[o]=s,r=o}else a[o]=sa}for(var h=0;h<n.length;h++){var f,d=n[h];(f=a[h])&&(d.features[f]=!0)}},e}(Qi);function ca(t){var e=$i.get(t);if(e)return e-1;var n=k.getCategory(t);return"Mn"===n||"Me"===n||"Cf"===n?ea.Transparent:ea.Non_Joining}var ha,fa,da=function(){function t(e,n){f(this,t),this.glyphs=e,this.reset(n)}return t.prototype.reset=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.options=t,this.flags=t.flags||{},this.markAttachmentType=t.markAttachmentType||0,this.index=e},t.prototype.shouldIgnore=function(t){return this.flags.ignoreMarks&&t.isMark||this.flags.ignoreBaseGlyphs&&t.isBase||this.flags.ignoreLigatures&&t.isLigature||this.markAttachmentType&&t.isMark&&t.markAttachmentType!==this.markAttachmentType},t.prototype.move=function(t){for(this.index+=t;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=t;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]},t.prototype.next=function(){return this.move(1)},t.prototype.prev=function(){return this.move(-1)},t.prototype.peek=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=this.index,n=this.increment(t);return this.index=e,n},t.prototype.peekIndex=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=this.index;this.increment(t);var n=this.index;return this.index=e,n},t.prototype.increment=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,e=t<0?-1:1;for(t=Math.abs(t);t--;)this.move(e);return this.glyphs[this.index]},d(t,[{key:"cur",get:function(){return this.glyphs[this.index]||null}}]),t}(),pa=["DFLT","dflt","latn"],ga=function(){function t(e,n){f(this,t),this.font=e,this.table=n,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=e._variationProcessor?this.findVariationsIndex(e._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}return t.prototype.findScript=function(t){if(null==this.table.scriptList)return null;Array.isArray(t)||(t=[t]);var e=t,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i,o=this.table.scriptList,l=Array.isArray(o),u=0;for(o=l?o:s(o);;){var c;if(l){if(u>=o.length)break;c=o[u++]}else{if((u=o.next()).done)break;c=u.value}var h=c;if(h.tag===a)return h}}return null},t.prototype.selectScript=function(t,e,n){var r=!1,i=void 0;if(!this.script||t!==this.scriptTag){if((i=this.findScript(t))||(i=this.findScript(pa)),!i)return this.scriptTag;this.scriptTag=i.tag,this.script=i.script,this.language=null,this.languageTag=null,r=!0}if(n&&n===this.direction||(this.direction=n||gi(t)),e&&e.length<4&&(e+=" ".repeat(4-e.length)),!e||e!==this.languageTag){this.language=null;var a=this.script.langSysRecords,o=Array.isArray(a),l=0;for(a=o?a:s(a);;){var u;if(o){if(l>=a.length)break;u=a[l++]}else{if((l=a.next()).done)break;u=l.value}var c=u;if(c.tag===e){this.language=c.langSys,this.languageTag=c.tag;break}}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),r=!0}if(r&&(this.features={},this.language)){var h=this.language.featureIndexes,f=Array.isArray(h),d=0;for(h=f?h:s(h);;){var p;if(f){if(d>=h.length)break;p=h[d++]}else{if((d=h.next()).done)break;p=d.value}var g=p,y=this.table.featureList[g],v=this.substituteFeatureForVariations(g);this.features[y.tag]=v||y.feature}}return this.scriptTag},t.prototype.lookupsForFeatures=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments[1],n=[],r=t,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o,u=this.features[l];if(u){var c=u.lookupListIndexes,h=Array.isArray(c),f=0;for(c=h?c:s(c);;){var d;if(h){if(f>=c.length)break;d=c[f++]}else{if((f=c.next()).done)break;d=f.value}var p=d;e&&-1!==e.indexOf(p)||n.push({feature:l,index:p,lookup:this.table.lookupList.get(p)})}}}return n.sort(function(t,e){return t.index-e.index}),n},t.prototype.substituteFeatureForVariations=function(t){if(-1===this.variationsIndex)return null;var e=this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;if(a.featureIndex===t)return a.alternateFeatureTable}return null},t.prototype.findVariationsIndex=function(t){var e=this.table.featureVariations;if(!e)return-1;for(var n=e.featureVariationRecords,r=0;r<n.length;r++){var i=n[r].conditionSet.conditionTable;if(this.variationConditionsMatch(i,t))return r}return-1},t.prototype.variationConditionsMatch=function(t,e){return t.every(function(t){var n=t.axisIndex<e.length?e[t.axisIndex]:0;return t.filterRangeMinValue<=n&&n<=t.filterRangeMaxValue})},t.prototype.applyFeatures=function(t,e,n){var r=this.lookupsForFeatures(t);this.applyLookups(r,e,n)},t.prototype.applyLookups=function(t,e,n){this.glyphs=e,this.positions=n,this.glyphIterator=new da(e);var r=t,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o,u=l.feature,c=l.lookup;for(this.currentFeature=u,this.glyphIterator.reset(c.flags);this.glyphIterator.index<e.length;)if(u in this.glyphIterator.cur.features){var h=c.subTables,f=Array.isArray(h),d=0;for(h=f?h:s(h);;){var p;if(f){if(d>=h.length)break;p=h[d++]}else{if((d=h.next()).done)break;p=d.value}var g=p;if(this.applyLookup(c.lookupType,g))break}this.glyphIterator.next()}else this.glyphIterator.next()}},t.prototype.applyLookup=function(t,e){throw new Error("applyLookup must be implemented by subclasses")},t.prototype.applyLookupList=function(t){var e=this.glyphIterator.options,n=this.glyphIterator.index,r=t,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;this.glyphIterator.reset(e,n),this.glyphIterator.increment(l.sequenceIndex);var u=this.table.lookupList.get(l.lookupListIndex);this.glyphIterator.reset(u.flags,this.glyphIterator.index);var c=u.subTables,h=Array.isArray(c),f=0;for(c=h?c:s(c);;){var d;if(h){if(f>=c.length)break;d=c[f++]}else{if((f=c.next()).done)break;d=f.value}var p=d;if(this.applyLookup(u.lookupType,p))break}}return this.glyphIterator.reset(e,n),!0},t.prototype.coverageIndex=function(t,e){switch(null==e&&(e=this.glyphIterator.cur.id),t.version){case 1:return t.glyphs.indexOf(e);case 2:var n=t.rangeRecords,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;if(o.start<=e&&e<=o.end)return o.startCoverageIndex+e-o.start}}return-1},t.prototype.match=function(t,e,n,r){for(var i=this.glyphIterator.index,a=this.glyphIterator.increment(t),o=0;o<e.length&&a&&n(e[o],a);)r&&r.push(this.glyphIterator.index),o++,a=this.glyphIterator.next();return this.glyphIterator.index=i,!(o<e.length)&&(r||!0)},t.prototype.sequenceMatches=function(t,e){return this.match(t,e,function(t,e){return t===e.id})},t.prototype.sequenceMatchIndices=function(t,e){var n=this;return this.match(t,e,function(t,e){return n.currentFeature in e.features&&t===e.id},[])},t.prototype.coverageSequenceMatches=function(t,e){var n=this;return this.match(t,e,function(t,e){return n.coverageIndex(t,e.id)>=0})},t.prototype.getClassID=function(t,e){switch(e.version){case 1:var n=t-e.startGlyph;if(n>=0&&n<e.classValueArray.length)return e.classValueArray[n];break;case 2:var r=e.classRangeRecord,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;if(l.start<=t&&t<=l.end)return l.class}}return 0},t.prototype.classSequenceMatches=function(t,e,n){var r=this;return this.match(t,e,function(t,e){return t===r.getClassID(e.id,n)})},t.prototype.applyContext=function(t){switch(t.version){case 1:var e=this.coverageIndex(t.coverage);if(-1===e)return!1;var n=t.ruleSets[e],r=n,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o;if(this.sequenceMatches(1,l.input))return this.applyLookupList(l.lookupRecords)}break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;if(-1===(e=this.getClassID(this.glyphIterator.cur.id,t.classDef)))return!1;var u=n=t.classSet[e],c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;if(this.classSequenceMatches(1,d.classes,t.classDef))return this.applyLookupList(d.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(0,t.coverages))return this.applyLookupList(t.lookupRecords)}return!1},t.prototype.applyChainingContext=function(t){switch(t.version){case 1:var e=this.coverageIndex(t.coverage);if(-1===e)return!1;var n=t.chainRuleSets[e],r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;if(this.sequenceMatches(-o.backtrack.length,o.backtrack)&&this.sequenceMatches(1,o.input)&&this.sequenceMatches(1+o.input.length,o.lookahead))return this.applyLookupList(o.lookupRecords)}break;case 2:if(-1===this.coverageIndex(t.coverage))return!1;e=this.getClassID(this.glyphIterator.cur.id,t.inputClassDef);var l=t.chainClassSet[e];if(!l)return!1;var u=l,c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;if(this.classSequenceMatches(-d.backtrack.length,d.backtrack,t.backtrackClassDef)&&this.classSequenceMatches(1,d.input,t.inputClassDef)&&this.classSequenceMatches(1+d.input.length,d.lookahead,t.lookaheadClassDef))return this.applyLookupList(d.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(-t.backtrackGlyphCount,t.backtrackCoverage)&&this.coverageSequenceMatches(0,t.inputCoverage)&&this.coverageSequenceMatches(t.inputGlyphCount,t.lookaheadCoverage))return this.applyLookupList(t.lookupRecords)}return!1},t}(),ya=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],i=arguments[3];if(f(this,t),this._font=e,this.codePoints=r,this.id=n,this.features={},Array.isArray(i))for(var a=0;a<i.length;a++){var o=i[a];this.features[o]=!0}else"object"===(void 0===i?"undefined":c(i))&&w(this.features,i);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}return t.prototype.copy=function(){return new t(this._font,this.id,this.codePoints,this.features)},d(t,[{key:"id",get:function(){return this._id},set:function(t){this._id=t,this.substituted=!0;var e=this._font.GDEF;if(e&&e.glyphClassDef){var n=ga.prototype.getClassID(t,e.glyphClassDef);this.isBase=1===n,this.isLigature=2===n,this.isMark=3===n,this.markAttachmentType=e.markAttachClassDef?ga.prototype.getClassID(t,e.markAttachClassDef):0}else this.isMark=this.codePoints.every(k.isMark),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}}]),t}(),va=(fa=ha=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.planFeatures=function(t){t.add(["ljmo","vjmo","tjmo"],!1)},e.assignFeatures=function(t,e){for(var n=0,r=0;r<e.length;){var i,a=e[r].codePoints[0],o=Ha(a),s=Ka[n][o];switch(i=s[0],n=s[1],i){case qa:t.font.hasGlyphForCodePoint(a)||(r=Qa(e,r,t.font));break;case Za:r=$a(e,r,t.font);break;case Ya:to(e,r,t.font);break;case Xa:r=eo(e,r,t.font)}r++}},e}(Qi),ha.zeroMarkWidths="NONE",fa),ba=44032,ma=55204-ba+1,wa=4352,xa=4449,Sa=4519,_a=21,ka=28,Ca=wa+19-1,Aa=xa+_a-1,Pa=Sa+ka-1,Ea=9676,Ia=function(t){return 4352<=t&&t<=4447||43360<=t&&t<=43388},Ta=function(t){return 4448<=t&&t<=4519||55216<=t&&t<=55238},Oa=function(t){return 4520<=t&&t<=4607||55243<=t&&t<=55291},La=function(t){return 12334<=t&&t<=12335},Ba=function(t){return ba<=t&&t<=55204},Ma=function(t){return t-ba<ma&&(t-ba)%ka==0},Ra=function(t){return wa<=t&&t<=Ca},Fa=function(t){return xa<=t&&t<=Aa},Da=function(t){return Sa+1&&1<=t&&t<=Pa},za=0,Na=1,Ua=2,Wa=3,Ga=4,Va=5,ja=6;function Ha(t){return Ia(t)?Na:Ta(t)?Ua:Oa(t)?Wa:Ma(t)?Ga:Ba(t)?Va:La(t)?ja:za}var qa=1,Za=2,Ya=4,Xa=5,Ka=[[[0,0],[0,1],[0,0],[0,0],[qa,2],[qa,3],[Xa,0]],[[0,0],[0,1],[Za,2],[0,0],[qa,2],[qa,3],[Xa,0]],[[0,0],[0,1],[0,0],[Za,3],[qa,2],[qa,3],[Ya,0]],[[0,0],[0,1],[0,0],[0,0],[qa,2],[qa,3],[Ya,0]]];function Ja(t,e,n){return new ya(t,t.glyphForCodePoint(e).id,[e],n)}function Qa(t,e,n){var r=t[e],i=r.codePoints[0]-ba,a=Sa+i%ka,o=wa+(i=i/ka|0)/_a|0,s=xa+i%_a;if(!n.hasGlyphForCodePoint(o)||!n.hasGlyphForCodePoint(s)||a!==Sa&&!n.hasGlyphForCodePoint(a))return e;var l=Ja(n,o,r.features);l.features.ljmo=!0;var u=Ja(n,s,r.features);u.features.vjmo=!0;var c=[l,u];if(a>Sa){var h=Ja(n,a,r.features);h.features.tjmo=!0,c.push(h)}return t.splice.apply(t,[e,1].concat(c)),e+c.length-1}function $a(t,e,n){var r=t[e],i=Ha(t[e].codePoints[0]),a=t[e-1].codePoints[0],o=Ha(a),s=void 0,l=void 0,u=void 0,c=void 0;if(o===Ga&&i===Wa)s=a,c=r;else{i===Ua?(l=t[e-1],u=r):(l=t[e-2],u=t[e-1],c=r);var h=l.codePoints[0],f=u.codePoints[0];Ra(h)&&Fa(f)&&(s=ba+((h-wa)*_a+(f-xa))*ka)}var d=c&&c.codePoints[0]||Sa;if(null!=s&&(d===Sa||Da(d))){var p=s+(d-Sa);if(n.hasGlyphForCodePoint(p)){var g=o===Ua?3:2;return t.splice(e-g+1,g,Ja(n,p,r.features)),e-g+1}}return l&&(l.features.ljmo=!0),u&&(u.features.vjmo=!0),c&&(c.features.tjmo=!0),o===Ga?(Qa(t,e-1,n),e+1):e}function to(t,e,n){var r=t[e],i=t[e].codePoints[0];if(0!==n.glyphForCodePoint(i).advanceWidth){var a=function(t){switch(Ha(t)){case Ga:case Va:return 1;case Ua:return 2;case Wa:return 3}}(t[e-1].codePoints[0]);return t.splice(e,1),t.splice(e-a,0,r)}}function eo(t,e,n){var r=t[e],i=t[e].codePoints[0];if(n.hasGlyphForCodePoint(Ea)){var a=Ja(n,Ea,r.features),o=0===n.glyphForCodePoint(i).advanceWidth?e:e+1;t.splice(o,0,a),e++}return e}var no,ro,io={stateTable:[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],accepting:[!1,!0,!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!1,!1,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0],tags:[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]},ao={categories:["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","VS","N","HN","MAbv"],decompositions:{2507:[2503,2494],2508:[2503,2519],2888:[2887,2902],2891:[2887,2878],2892:[2887,2903],3018:[3014,3006],3019:[3015,3006],3020:[3014,3031],3144:[3142,3158],3264:[3263,3285],3271:[3270,3285],3272:[3270,3286],3274:[3270,3266],3275:[3270,3266,3285],3402:[3398,3390],3403:[3399,3390],3404:[3398,3415],3546:[3545,3530],3548:[3545,3535],3549:[3545,3535,3530],3550:[3545,3551],3635:[3661,3634],3763:[3789,3762],3955:[3953,3954],3957:[3953,3956],3958:[4018,3968],3959:[4018,3953,3968],3960:[4019,3968],3961:[4019,3953,3968],3969:[3953,3968],6971:[6970,6965],6973:[6972,6965],6976:[6974,6965],6977:[6975,6965],6979:[6978,6965],69934:[69937,69927],69935:[69938,69927],70475:[70471,70462],70476:[70471,70487],70843:[70841,70842],70844:[70841,70832],70846:[70841,70845],71098:[71096,71087],71099:[71097,71087]},stateTable:[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,23,0,0,2,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,23,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,46,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,23,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,46,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],accepting:[!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0],tags:[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]},oo={X:1,C:2,V:4,N:8,H:16,ZWNJ:32,ZWJ:64,M:128,SM:256,VD:512,A:1024,Placeholder:2048,Dotted_Circle:4096,RS:8192,Coeng:16384,Repha:32768,Ra:65536,CM:1<<17,Symbol:1<<18},so={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},lo=oo.C|oo.Ra|oo.CM|oo.V|oo.Placeholder|oo.Dotted_Circle,uo=oo.ZWJ|oo.ZWNJ,co=oo.H|oo.Coeng,ho={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:so.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:so.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:so.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:so.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:so.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:so.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:so.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:so.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:so.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:so.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:so.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},fo={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},po=ao.decompositions,go=new C(e("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","base64")),yo=new A(io),vo=(ro=no=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.planFeatures=function(t){var e;t.addStage(_o),t.addStage(["locl","ccmp"]),t.addStage(Eo),t.addStage("nukt"),t.addStage("akhn"),t.addStage("rphf",!1),t.addStage("rkrf"),t.addStage("pref",!1),t.addStage("blwf",!1),t.addStage("abvf",!1),t.addStage("half",!1),t.addStage("pstf",!1),t.addStage("vatu"),t.addStage("cjct"),t.addStage("cfar",!1),t.addStage(Io),t.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),t.unicodeScript=(e=t.script,si[e]),t.indicConfig=ho[t.unicodeScript]||ho.Default,t.isOldSpec=t.indicConfig.hasOldSpec&&"2"!==t.script[t.script.length-1]},e.assignFeatures=function(t,e){for(var n=function(n){var r=e[n].codePoints[0],i=fo[r]||po[r];if(i){var a=i.map(function(r){var i=t.font.glyphForCodePoint(r);return new ya(t.font,i.id,[r],e[n].features)});e.splice.apply(e,[n,1].concat(a))}},r=e.length-1;r>=0;r--)n(r)},e}(Qi),no.zeroMarkWidths="NONE",ro);function bo(t){return go.get(t.codePoints[0])>>8}function mo(t){return 1<<(255&go.get(t.codePoints[0]))}var wo,xo,So=function t(e,n,r,i){f(this,t),this.category=e,this.position=n,this.syllableType=r,this.syllable=i};function _o(t,e){var n=0,r=0,i=yo.match(e.map(bo)),a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var l;if(a){if(o>=i.length)break;l=i[o++]}else{if((o=i.next()).done)break;l=o.value}var u=l,c=u[0],h=u[1],f=u[2];if(c>r){++n;for(var d=r;d<c;d++)e[d].shaperInfo=new So(oo.X,so.End,"non_indic_cluster",n)}++n;for(var p=c;p<=h;p++)e[p].shaperInfo=new So(1<<bo(e[p]),mo(e[p]),f[0],n);r=h+1}if(r<e.length){++n;for(var g=r;g<e.length;g++)e[g].shaperInfo=new So(oo.X,so.End,"non_indic_cluster",n)}}function ko(t){return t.shaperInfo.category&lo}function Co(t){return t.shaperInfo.category&uo}function Ao(t){return t.shaperInfo.category&co}function Po(t,e){var n=t,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a,o;if(r){if(i>=n.length)break;o=n[i++]}else{if((i=n.next()).done)break;o=i.value}o.features=((a={})[e]=!0,a)}return t[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([e],t),1===t.length}function Eo(t,e,n){var r,i,a,o=n.indicConfig,s=t._layoutEngine.engine.GSUBProcessor.features,l=t.glyphForCodePoint(9676).id,u=t.glyphForCodePoint(o.virama).id;if(u)for(var c=new ya(t,u,[o.virama]),h=0;h<e.length;h++)e[h].shaperInfo.position===so.Base_C&&(e[h].shaperInfo.position=(r=e[h].copy(),a=void 0,Po((a=[i=c,r,i]).slice(0,2),"blwf")||Po(a.slice(1,3),"blwf")?so.Below_C:Po(a.slice(0,2),"pstf")||Po(a.slice(1,3),"pstf")?so.Post_C:Po(a.slice(0,2),"pref")||Po(a.slice(1,3),"pref")?so.Post_C:so.Base_C));for(var f=0,d=To(e,0);f<e.length;d=To(e,f=d)){var p=e[f].shaperInfo,g=(p.category,p.syllableType);if("symbol_cluster"!==g&&"non_indic_cluster"!==g){if("broken_cluster"===g&&l){var y=new ya(t,l,[9676]);y.shaperInfo=new So(1<<bo(y),mo(y),e[f].shaperInfo.syllableType,e[f].shaperInfo.syllable);for(var v=f;v<d&&e[v].shaperInfo.category===oo.Repha;)v++;e.splice(v++,0,y),d++}var b=d,m=f,w=!1;if(o.rephPos!==so.Ra_To_Become_Reph&&s.rphf&&f+3<=d&&("Implicit"===o.rephMode&&!Co(e[f+2])||"Explicit"===o.rephMode&&e[f+2].shaperInfo.category===oo.ZWJ)){var x=[e[f].copy(),e[f+1].copy(),e[f+2].copy()];if(Po(x.slice(0,2),"rphf")||"Explicit"===o.rephMode&&Po(x,"rphf")){for(m+=2;m<d&&Co(e[m]);)m++;b=f,w=!0}}else if("Log_Repha"===o.rephMode&&e[f].shaperInfo.category===oo.Repha){for(m++;m<d&&Co(e[m]);)m++;b=f,w=!0}switch(o.basePos){case"Last":var S=d,_=!1;do{var k=e[--S].shaperInfo;if(ko(e[S])){if(k.position!==so.Below_C&&(k.position!==so.Post_C||_)){b=S;break}k.position===so.Below_C&&(_=!0),b=S}else if(f<S&&k.category===oo.ZWJ&&e[S-1].shaperInfo.category===oo.H)break}while(S>m);break;case"First":for(var C=(b=f)+1;C<d;C++)ko(e[C])&&(e[C].shaperInfo.position=so.Below_C)}w&&b===f&&m-b<=2&&(w=!1);for(var A=f;A<b;A++){var P=e[A].shaperInfo;P.position=Math.min(so.Pre_C,P.position)}b<d&&(e[b].shaperInfo.position=so.Base_C);for(var E=b+1;E<d;E++)if(e[E].shaperInfo.category===oo.M){for(var I=E+1;I<d;I++)if(ko(e[I])){e[I].shaperInfo.position=so.Final_C;break}break}if(w&&(e[f].shaperInfo.position=so.Ra_To_Become_Reph),n.isOldSpec)for(var T="Malayalam"!==n.unicodeScript,O=b+1;O<d;O++)if(e[O].shaperInfo.category===oo.H){var L=void 0;for(L=d-1;L>O&&!(ko(e[L])||T&&e[L].shaperInfo.category===oo.H);L--);if(e[L].shaperInfo.category!==oo.H&&L>O){var B=e[O];e.splice.apply(e,[O,0].concat(e.splice(O+1,L-O))),e[L]=B}break}for(var M=so.Start,R=f;R<d;R++){var F=e[R].shaperInfo;if(F.category&(uo|oo.N|oo.RS|oo.CM|co&F.category)){if(F.position=M,F.category===oo.H&&F.position===so.Pre_M)for(var D=R;D>f;D--)if(e[D-1].shaperInfo.position!==so.Pre_M){F.position=e[D-1].shaperInfo.position;break}}else F.position!==so.SMVD&&(M=F.position)}for(var z=b,N=b+1;N<d;N++)if(ko(e[N])){for(var U=z+1;U<N;U++)e[U].shaperInfo.position<so.SMVD&&(e[U].shaperInfo.position=e[N].shaperInfo.position);z=N}else e[N].shaperInfo.category===oo.M&&(z=N);var W=e.slice(f,d);W.sort(function(t,e){return t.shaperInfo.position-e.shaperInfo.position}),e.splice.apply(e,[f,W.length].concat(W));for(var G=f;G<d;G++)if(e[G].shaperInfo.position===so.Base_C){b=G;break}for(var V=f;V<d&&e[V].shaperInfo.position===so.Ra_To_Become_Reph;V++)e[V].features.rphf=!0;for(var j=!n.isOldSpec&&"Pre_And_Post"===o.blwfMode,H=f;H<b;H++)e[H].features.half=!0,j&&(e[H].features.blwf=!0);for(var q=b+1;q<d;q++)e[q].features.abvf=!0,e[q].features.pstf=!0,e[q].features.blwf=!0;if(n.isOldSpec&&"Devanagari"===n.unicodeScript)for(var Z=f;Z+1<b;Z++)e[Z].shaperInfo.category!==oo.Ra||e[Z+1].shaperInfo.category!==oo.H||Z+1!==b&&e[Z+2].shaperInfo.category!==oo.ZWJ||(e[Z].features.blwf=!0,e[Z+1].features.blwf=!0);if(s.pref&&b+2<d)for(var Y=b+1;Y+2-1<d;Y++){if(Po([e[Y].copy(),e[Y+1].copy()],"pref")){for(var X=0;X<2;X++)e[Y++].features.pref=!0;if(s.cfar)for(;Y<d;Y++)e[Y].features.cfar=!0;break}}for(var K=f+1;K<d;K++)if(Co(e[K]))for(var J=e[K].shaperInfo.category===oo.ZWNJ,Q=K;Q--,J&&delete e[Q].features.half,Q>f&&!ko(e[Q]););}}}function Io(t,e,n){for(var r=n.indicConfig,i=t._layoutEngine.engine.GSUBProcessor.features,a=0,o=To(e,0);a<e.length;o=To(e,a=o)){for(var s=!!i.pref,l=a;l<o;l++)if(e[l].shaperInfo.position>=so.Base_C){if(s&&l+1<o)for(var u=l+1;u<o;u++)if(e[u].features.pref){if(!e[u].substituted||!e[u].isLigated||e[u].isMultiplied){for(l=u;l<o&&Ao(e[l]);)l++;e[l].shaperInfo.position=so.BASE_C,s=!1}break}if("Malayalam"===n.unicodeScript)for(var c=l+1;c<o;c++){for(;c<o&&Co(e[c]);)c++;if(c===o||!Ao(e[c]))break;for(c++;c<o&&Co(e[c]);)c++;c<o&&ko(e[c])&&e[c].shaperInfo.position===so.Below_C&&(e[l=c].shaperInfo.position=so.Base_C)}a<l&&e[l].shaperInfo.position>so.Base_C&&l--;break}if(l===o&&a<l&&e[l-1].shaperInfo.category===oo.ZWJ&&l--,l<o)for(;a<l&&e[l].shaperInfo.category&(oo.N|co);)l--;if(a+1<o&&a<l){var h=l===o?l-2:l-1;if("Malayalam"!==n.unicodeScript&&"Tamil"!==n.unicodeScript){for(;h>a&&!(e[h].shaperInfo.category&(oo.M|co));)h--;Ao(e[h])&&e[h].shaperInfo.position!==so.Pre_M?h+1<o&&Co(e[h+1])&&h++:h=a}if(a<h&&e[h].shaperInfo.position!==so.Pre_M)for(var f=h;f>a;f--)if(e[f-1].shaperInfo.position===so.Pre_M){var d=f-1;d<l&&l<=h&&l--;var p=e[d];e.splice.apply(e,[d,0].concat(e.splice(d+1,h-d))),e[h]=p,h--}}if(a+1<o&&e[a].shaperInfo.position===so.Ra_To_Become_Reph&&e[a].shaperInfo.category===oo.Repha!==(e[a].isLigated&&!e[a].isMultiplied)){var g=void 0,y=r.rephPos,v=!1;if(y!==so.After_Post){for(g=a+1;g<l&&!Ao(e[g]);)g++;if(g<l&&Ao(e[g])&&(g+1<l&&Co(e[g+1])&&g++,v=!0),!v&&y===so.After_Main){for(g=l;g+1<o&&e[g+1].shaperInfo.position<=so.After_Main;)g++;v=g<o}if(!v&&y===so.After_Sub){for(g=l;g+1<o&&!(e[g+1].shaperInfo.position&(so.Post_C|so.After_Post|so.SMVD));)g++;v=g<o}}if(!v){for(g=a+1;g<l&&!Ao(e[g]);)g++;g<l&&Ao(e[g])&&(g+1<l&&Co(e[g+1])&&g++,v=!0)}if(!v){for(g=o-1;g>a&&e[g].shaperInfo.position===so.SMVD;)g--;if(Ao(e[g]))for(var b=l+1;b<g;b++)e[b].shaperInfo.category===oo.M&&g--}var m=e[a];e.splice.apply(e,[a,0].concat(e.splice(a+1,g-a))),e[g]=m,a<l&&l<=g&&l--}if(s&&l+1<o)for(var w=l+1;w<o;w++)if(e[w].features.pref){if(e[w].isLigated&&!e[w].isMultiplied){var x=l;if("Malayalam"!==n.unicodeScript&&"Tamil"!==n.unicodeScript){for(;x>a&&!(e[x-1].shaperInfo.category&(oo.M|co));)x--;if(x>a&&e[x-1].shaperInfo.category===oo.M)for(var S=w,_=l+1;_<S;_++)if(e[_].shaperInfo.category===oo.M){x--;break}}x>a&&Ao(e[x-1])&&x<o&&Co(e[x])&&x++;var C=w,A=e[C];e.splice.apply(e,[x+1,0].concat(e.splice(x,C-x))),e[x]=A,x<=l&&l<C&&l++}break}e[a].shaperInfo.position!==so.Pre_M||a&&/Cf|Mn/.test(k.getCategory(e[a-1].codePoints[0]))||(e[a].features.init=!0)}}function To(t,e){if(e>=t.length)return e;for(var n=t[e].shaperInfo.syllable;++e<t.length&&t[e].shaperInfo.syllable===n;);return e}var Oo=ao.categories,Lo=ao.decompositions,Bo=new C(e("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","base64")),Mo=new A(ao),Ro=(xo=wo=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.planFeatures=function(t){t.addStage(zo),t.addStage(["locl","ccmp","nukt","akhn"]),t.addStage(No),t.addStage(["rphf"],!1),t.addStage(Uo),t.addStage(No),t.addStage(["pref"]),t.addStage(Wo),t.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),t.addStage(Go),t.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])},e.assignFeatures=function(t,e){for(var n=function(n){var r=e[n].codePoints[0];if(Lo[r]){var i=Lo[r].map(function(r){var i=t.font.glyphForCodePoint(r);return new ya(t.font,i.id,[r],e[n].features)});e.splice.apply(e,[n,1].concat(i))}},r=e.length-1;r>=0;r--)n(r)},e}(Qi),wo.zeroMarkWidths="BEFORE_GPOS",xo);function Fo(t){return Bo.get(t.codePoints[0])}var Do=function t(e,n,r){f(this,t),this.category=e,this.syllableType=n,this.syllable=r};function zo(t,e){var n=0,r=Mo.match(e.map(Fo)),i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o,u=l[0],c=l[1],h=l[2];++n;for(var f=u;f<=c;f++)e[f].shaperInfo=new Do(Oo[Fo(e[f])],h[0],n);for(var d="R"===e[u].shaperInfo.category?1:Math.min(3,c-u),p=u;p<u+d;p++)e[p].features.rphf=!0}}function No(t,e){var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}a.substituted=!1}}function Uo(t,e){var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;o.substituted&&o.features.rphf&&(o.shaperInfo.category="R")}}function Wo(t,e){var n=e,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;o.substituted&&(o.shaperInfo.category="VPre")}}function Go(t,e){for(var n=t.glyphForCodePoint(9676).id,r=0,i=Vo(e,0);r<e.length;i=Vo(e,r=i)){var a=void 0,o=void 0,s=e[r].shaperInfo,l=s.syllableType;if("virama_terminated_cluster"===l||"standard_cluster"===l||"broken_cluster"===l){if("broken_cluster"===l&&n){var u=new ya(t,n,[9676]);for(u.shaperInfo=s,a=r;a<i&&"R"===e[a].shaperInfo.category;a++);e.splice(++a,0,u),i++}if("R"===s.category&&i-r>1)for(a=r+1;a<i;a++)if(Ho(s=e[a].shaperInfo)||jo(e[a])){jo(e[a])&&a--,e.splice.apply(e,[r,0].concat(e.splice(r+1,a-r),[e[a]]));break}for(a=r,o=i;a<i;a++)Ho(s=e[a].shaperInfo)||jo(e[a])?o=jo(e[a])?a+1:a:("VPre"===s.category||"VMPre"===s.category)&&o<a&&e.splice.apply(e,[o,1,e[a]].concat(e.splice(o,a-o)))}}}function Vo(t,e){if(e>=t.length)return e;for(var n=t[e].shaperInfo.syllable;++e<t.length&&t[e].shaperInfo.syllable===n;);return e}function jo(t){return"H"===t.shaperInfo.category&&!t.isLigated}function Ho(t){return"B"===t.category||"GB"===t.category}var qo={arab:ua,mong:ua,syrc:ua,"nko ":ua,phag:ua,mand:ua,mani:ua,phlp:ua,hang:va,bng2:vo,beng:vo,dev2:vo,deva:vo,gjr2:vo,gujr:vo,guru:vo,gur2:vo,knda:vo,knd2:vo,mlm2:vo,mlym:vo,ory2:vo,orya:vo,taml:vo,tml2:vo,telu:vo,tel2:vo,khmr:vo,bali:Ro,batk:Ro,brah:Ro,bugi:Ro,buhd:Ro,cakm:Ro,cham:Ro,dupl:Ro,egyp:Ro,gran:Ro,hano:Ro,java:Ro,kthi:Ro,kali:Ro,khar:Ro,khoj:Ro,sind:Ro,lepc:Ro,limb:Ro,mahj:Ro,mtei:Ro,modi:Ro,hmng:Ro,rjng:Ro,saur:Ro,shrd:Ro,sidd:Ro,sinh:Ro,sund:Ro,sylo:Ro,tglg:Ro,tagb:Ro,tale:Ro,lana:Ro,tavt:Ro,takr:Ro,tibt:Ro,tfng:Ro,tirh:Ro,latn:Qi,DFLT:Qi};for(var Zo=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype.applyLookup=function(t,e){var n=this;switch(t){case 1:var r=this.coverageIndex(e.coverage);if(-1===r)return!1;var i=this.glyphIterator.cur;switch(e.version){case 1:i.id=i.id+e.deltaGlyphID&65535;break;case 2:i.id=e.substitute.get(r)}return!0;case 2:var a=this.coverageIndex(e.coverage);if(-1!==a){var o,l=e.sequences.get(a);this.glyphIterator.cur.id=l[0],this.glyphIterator.cur.ligatureComponent=0;var u=this.glyphIterator.cur.features,c=this.glyphIterator.cur,h=l.slice(1).map(function(t,e){var r=new ya(n.font,t,void 0,u);return r.shaperInfo=c.shaperInfo,r.isLigated=c.isLigated,r.ligatureComponent=e+1,r.substituted=!0,r.isMultiplied=!0,r});return(o=this.glyphs).splice.apply(o,[this.glyphIterator.index+1,0].concat(h)),!0}return!1;case 3:var f=this.coverageIndex(e.coverage);if(-1!==f){return this.glyphIterator.cur.id=e.alternateSet.get(f)[0],!0}return!1;case 4:var d=this.coverageIndex(e.coverage);if(-1===d)return!1;var p=e.ligatureSets.get(d),g=Array.isArray(p),y=0;for(p=g?p:s(p);;){var v;if(g){if(y>=p.length)break;v=p[y++]}else{if((y=p.next()).done)break;v=y.value}var b=v,m=this.sequenceMatchIndices(1,b.components);if(m){var w=this.glyphIterator.cur,x=w.codePoints.slice(),S=m,_=Array.isArray(S),k=0;for(S=_?S:s(S);;){var C;if(_){if(k>=S.length)break;C=S[k++]}else{if((k=S.next()).done)break;C=k.value}var A=C;x.push.apply(x,this.glyphs[A].codePoints)}var P=new ya(this.font,b.glyph,x,w.features);P.shaperInfo=w.shaperInfo,P.isLigated=!0,P.substituted=!0;for(var E=w.isMark,I=0;I<m.length&&E;I++)E=this.glyphs[m[I]].isMark;P.ligatureID=E?null:this.ligatureID++;var T=w.ligatureID,O=w.codePoints.length,L=O,B=this.glyphIterator.index+1,M=m,R=Array.isArray(M),F=0;for(M=R?M:s(M);;){var D;if(R){if(F>=M.length)break;D=M[F++]}else{if((F=M.next()).done)break;D=F.value}var z=D;if(E)B=z;else for(;B<z;){var N=L-O+Math.min(this.glyphs[B].ligatureComponent||1,O);this.glyphs[B].ligatureID=P.ligatureID,this.glyphs[B].ligatureComponent=N,B++}T=this.glyphs[B].ligatureID,L+=O=this.glyphs[B].codePoints.length,B++}if(T&&!E)for(var U=B;U<this.glyphs.length&&this.glyphs[U].ligatureID===T;U++){N=L-O+Math.min(this.glyphs[U].ligatureComponent||1,O);this.glyphs[U].ligatureComponent=N}for(var W=m.length-1;W>=0;W--)this.glyphs.splice(m[W],1);return this.glyphs[this.glyphIterator.index]=P,!0}}return!1;case 5:return this.applyContext(e);case 6:return this.applyChainingContext(e);case 7:return this.applyLookup(e.lookupType,e.extension);default:throw new Error("GSUB lookupType "+t+" is not supported")}},e}(ga),Yo=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype.applyPositionValue=function(t,e){var n=this.positions[this.glyphIterator.peekIndex(t)];null!=e.xAdvance&&(n.xAdvance+=e.xAdvance),null!=e.yAdvance&&(n.yAdvance+=e.yAdvance),null!=e.xPlacement&&(n.xOffset+=e.xPlacement),null!=e.yPlacement&&(n.yOffset+=e.yPlacement);var r=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;r&&i&&(e.xPlaDevice&&(n.xOffset+=r.getDelta(i,e.xPlaDevice.a,e.xPlaDevice.b)),e.yPlaDevice&&(n.yOffset+=r.getDelta(i,e.yPlaDevice.a,e.yPlaDevice.b)),e.xAdvDevice&&(n.xAdvance+=r.getDelta(i,e.xAdvDevice.a,e.xAdvDevice.b)),e.yAdvDevice&&(n.yAdvance+=r.getDelta(i,e.yAdvDevice.a,e.yAdvDevice.b)))},e.prototype.applyLookup=function(t,e){switch(t){case 1:var n=this.coverageIndex(e.coverage);if(-1===n)return!1;switch(e.version){case 1:this.applyPositionValue(0,e.value);break;case 2:this.applyPositionValue(0,e.values.get(n))}return!0;case 2:var r=this.glyphIterator.peek();if(!r)return!1;var i=this.coverageIndex(e.coverage);if(-1===i)return!1;switch(e.version){case 1:var a=e.pairSets.get(i),o=Array.isArray(a),l=0;for(a=o?a:s(a);;){var u;if(o){if(l>=a.length)break;u=a[l++]}else{if((l=a.next()).done)break;u=l.value}var c=u;if(c.secondGlyph===r.id)return this.applyPositionValue(0,c.value1),this.applyPositionValue(1,c.value2),!0}return!1;case 2:var h=this.getClassID(this.glyphIterator.cur.id,e.classDef1),f=this.getClassID(r.id,e.classDef2);if(-1===h||-1===f)return!1;var d=e.classRecords.get(h).get(f);return this.applyPositionValue(0,d.value1),this.applyPositionValue(1,d.value2),!0}case 3:var p=this.glyphIterator.peekIndex(),g=this.glyphs[p];if(!g)return!1;var y=e.entryExitRecords[this.coverageIndex(e.coverage)];if(!y||!y.exitAnchor)return!1;var v=e.entryExitRecords[this.coverageIndex(e.coverage,g.id)];if(!v||!v.entryAnchor)return!1;var b=this.getAnchor(v.entryAnchor),m=this.getAnchor(y.exitAnchor),w=this.positions[this.glyphIterator.index],x=this.positions[p];switch(this.direction){case"ltr":w.xAdvance=m.x+w.xOffset;var S=b.x+x.xOffset;x.xAdvance-=S,x.xOffset-=S;break;case"rtl":S=m.x+w.xOffset,w.xAdvance-=S,w.xOffset-=S,x.xAdvance=b.x+x.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=p,w.yOffset=b.y-m.y):(g.cursiveAttachment=this.glyphIterator.index,w.yOffset=m.y-b.y),!0;case 4:var _=this.coverageIndex(e.markCoverage);if(-1===_)return!1;for(var k=this.glyphIterator.index;--k>=0&&(this.glyphs[k].isMark||this.glyphs[k].ligatureComponent>0););if(k<0)return!1;var C=this.coverageIndex(e.baseCoverage,this.glyphs[k].id);if(-1===C)return!1;var A=e.markArray[_],P=e.baseArray[C][A.class];return this.applyAnchor(A,P,k),!0;case 5:var E=this.coverageIndex(e.markCoverage);if(-1===E)return!1;for(var I=this.glyphIterator.index;--I>=0&&this.glyphs[I].isMark;);if(I<0)return!1;var T=this.coverageIndex(e.ligatureCoverage,this.glyphs[I].id);if(-1===T)return!1;var O=e.ligatureArray[T],L=this.glyphIterator.cur,B=this.glyphs[I],M=B.ligatureID&&B.ligatureID===L.ligatureID&&L.ligatureComponent>0?Math.min(L.ligatureComponent,B.codePoints.length)-1:B.codePoints.length-1,R=e.markArray[E],F=O[M][R.class];return this.applyAnchor(R,F,I),!0;case 6:var D=this.coverageIndex(e.mark1Coverage);if(-1===D)return!1;var z=this.glyphIterator.peekIndex(-1),N=this.glyphs[z];if(!N||!N.isMark)return!1;var U=this.glyphIterator.cur,W=!1;if(U.ligatureID===N.ligatureID?U.ligatureID?U.ligatureComponent===N.ligatureComponent&&(W=!0):W=!0:(U.ligatureID&&!U.ligatureComponent||N.ligatureID&&!N.ligatureComponent)&&(W=!0),!W)return!1;var G=this.coverageIndex(e.mark2Coverage,N.id);if(-1===G)return!1;var V=e.mark1Array[D],j=e.mark2Array[G][V.class];return this.applyAnchor(V,j,z),!0;case 7:return this.applyContext(e);case 8:return this.applyChainingContext(e);case 9:return this.applyLookup(e.lookupType,e.extension);default:throw new Error("Unsupported GPOS table: "+t)}},e.prototype.applyAnchor=function(t,e,n){var r=this.getAnchor(e),i=this.getAnchor(t.markAnchor),a=(this.positions[n],this.positions[this.glyphIterator.index]);a.xOffset=r.x-i.x,a.yOffset=r.y-i.y,this.glyphIterator.cur.markAttachment=n},e.prototype.getAnchor=function(t){var e=t.xCoordinate,n=t.yCoordinate,r=this.font._variationProcessor,i=this.font.GDEF&&this.font.GDEF.itemVariationStore;return r&&i&&(t.xDeviceTable&&(e+=r.getDelta(i,t.xDeviceTable.a,t.xDeviceTable.b)),t.yDeviceTable&&(n+=r.getDelta(i,t.yDeviceTable.a,t.yDeviceTable.b))),{x:e,y:n}},e.prototype.applyFeatures=function(e,n,r){t.prototype.applyFeatures.call(this,e,n,r);for(var i=0;i<this.glyphs.length;i++)this.fixCursiveAttachment(i);this.fixMarkAttachment()},e.prototype.fixCursiveAttachment=function(t){var e=this.glyphs[t];if(null!=e.cursiveAttachment){var n=e.cursiveAttachment;e.cursiveAttachment=null,this.fixCursiveAttachment(n),this.positions[t].yOffset+=this.positions[n].yOffset}},e.prototype.fixMarkAttachment=function(){for(var t=0;t<this.glyphs.length;t++){var e=this.glyphs[t];if(null!=e.markAttachment){var n=e.markAttachment;if(this.positions[t].xOffset+=this.positions[n].xOffset,this.positions[t].yOffset+=this.positions[n].yOffset,"ltr"===this.direction)for(var r=n;r<t;r++)this.positions[t].xOffset-=this.positions[r].xAdvance,this.positions[t].yOffset-=this.positions[r].yAdvance;else for(var i=n+1;i<t+1;i++)this.positions[t].xOffset+=this.positions[i].xAdvance,this.positions[t].yOffset+=this.positions[i].yAdvance}}},e}(ga),Xo=function(){function t(e){f(this,t),this.font=e,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,e.GSUB&&(this.GSUBProcessor=new Zo(e,e.GSUB)),e.GPOS&&(this.GPOSProcessor=new Yo(e,e.GPOS))}return t.prototype.setup=function(t){var e=this;this.glyphInfos=t.glyphs.map(function(t){return new ya(e.font,t.id,[].concat(t.codePoints))});var n=null;for(var r in this.GPOSProcessor&&(n=this.GPOSProcessor.selectScript(t.script,t.language,t.direction)),this.GSUBProcessor&&(n=this.GSUBProcessor.selectScript(t.script,t.language,t.direction)),this.shaper=function(t){Array.isArray(t)||(t=[t]);var e=t,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=qo[i];if(a)return a}return Qi}(n),this.plan=new qi(this.font,n,t.direction),this.shaper.plan(this.plan,this.glyphInfos,t.features),this.plan.allFeatures)t.features[r]=!0},t.prototype.substitute=function(t){var e=this;this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),t.glyphs=this.glyphInfos.map(function(t){return e.font.getGlyph(t.id,t.codePoints)}))},t.prototype.position=function(t){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(t.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,t.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(t.positions),"rtl"===t.direction&&(t.glyphs.reverse(),t.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features},t.prototype.zeroMarkAdvances=function(t){for(var e=0;e<this.glyphInfos.length;e++)this.glyphInfos[e].isMark&&(t[e].xAdvance=0,t[e].yAdvance=0)},t.prototype.cleanup=function(){this.glyphInfos=null,this.plan=null,this.shaper=null},t.prototype.getAvailableFeatures=function(t,e){var n=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(t,e),n.push.apply(n,u(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(t,e),n.push.apply(n,u(this.GPOSProcessor.features))),n},t}(),Ko=function(){function t(e){f(this,t),this.font=e,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Hi(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new Xo(this.font))}return t.prototype.layout=function(t,e,n,r,i){if("string"==typeof e&&(i=r,r=n,n=e,e=[]),"string"==typeof t){null==n&&(n=function(t){for(var e=t.length,n=0;n<e;){var r=t.charCodeAt(n++);if(55296<=r&&r<=56319&&n<e){var i=t.charCodeAt(n);56320<=i&&i<=57343&&(n++,r=((1023&r)<<10)+(1023&i)+65536)}var a=k.getScript(r);if("Common"!==a&&"Inherited"!==a&&"Unknown"!==a)return oi[a]}return oi.Unknown}(t));var a=this.font.glyphsForString(t)}else{if(null==n){var o=[],l=t,u=Array.isArray(l),c=0;for(l=u?l:s(l);;){var h;if(u){if(c>=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var f=h;o.push.apply(o,f.codePoints)}n=function(t){for(var e=0;e<t.length;e++){var n=t[e],r=k.getScript(n);if("Common"!==r&&"Inherited"!==r&&"Unknown"!==r)return oi[r]}return oi.Unknown}(o)}a=t}var d=new yi(a,e,n,r,i);return 0===a.length?(d.positions=[],d):(this.engine&&this.engine.setup&&this.engine.setup(d),this.substitute(d),this.position(d),this.hideDefaultIgnorables(d.glyphs,d.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),d)},t.prototype.substitute=function(t){this.engine&&this.engine.substitute&&this.engine.substitute(t)},t.prototype.position=function(t){t.positions=t.glyphs.map(function(t){return new function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;f(this,t),this.xAdvance=e,this.yAdvance=n,this.xOffset=r,this.yOffset=i}(t.advanceWidth)});var e=null;this.engine&&this.engine.position&&(e=this.engine.position(t)),e||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new ii(this.font)),this.unicodeLayoutEngine.positionGlyphs(t.glyphs,t.positions)),e&&e.kern||!1===t.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new ri(this.font)),this.kernProcessor.process(t.glyphs,t.positions),t.features.kern=!0)},t.prototype.hideDefaultIgnorables=function(t,e){for(var n=this.font.glyphForCodePoint(32),r=0;r<t.length;r++)this.isDefaultIgnorable(t[r].codePoints[0])&&(t[r]=n,e[r].xAdvance=0,e[r].yAdvance=0)},t.prototype.isDefaultIgnorable=function(t){var e=t>>16;if(0===e)switch(t>>8){case 0:return 173===t;case 3:return 847===t;case 6:return 1564===t;case 23:return 6068<=t&&t<=6069;case 24:return 6155<=t&&t<=6158;case 32:return 8203<=t&&t<=8207||8234<=t&&t<=8238||8288<=t&&t<=8303;case 254:return 65024<=t&&t<=65039||65279===t;case 255:return 65520<=t&&t<=65528;default:return!1}else switch(e){case 1:return 113824<=t&&t<=113827||119155<=t&&t<=119162;case 14:return 917504<=t&&t<=921599;default:return!1}},t.prototype.getAvailableFeatures=function(t,e){var n=[];return this.engine&&n.push.apply(n,this.engine.getAvailableFeatures(t,e)),this.font.kern&&-1===n.indexOf("kern")&&n.push("kern"),n},t.prototype.stringsForGlyph=function(t){var e=new _,n=this.font._cmapProcessor.codePointsForGlyph(t),r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a;e.add(x(o))}if(this.engine&&this.engine.stringsForGlyph){var l=this.engine.stringsForGlyph(t),u=Array.isArray(l),c=0;for(l=u?l:s(l);;){var h;if(u){if(c>=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var f=h;e.add(f)}}return S(e)},t}(),Jo={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"},Qo=function(){function t(){f(this,t),this.commands=[],this._bbox=null,this._cbox=null}return t.prototype.toFunction=function(){var t=this.commands.map(function(t){return"  ctx."+t.command+"("+t.args.join(", ")+");"});return new Function("ctx",t.join("\n"))},t.prototype.toSVG=function(){return this.commands.map(function(t){var e=t.args.map(function(t){return Math.round(100*t)/100});return""+Jo[t.command]+e.join(" ")}).join("")},t.prototype.mapPoints=function(e){var n=new t,r=this.commands,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}for(var l=o,u=[],c=0;c<l.args.length;c+=2){var h=e(l.args[c],l.args[c+1]),f=h[0],d=h[1];u.push(f,d)}n[l.command].apply(n,u)}return n},t.prototype.transform=function(t,e,n,r,i,a){return this.mapPoints(function(o,s){return[o=t*o+n*s+i,s=e*o+r*s+a]})},t.prototype.translate=function(t,e){return this.transform(1,0,0,1,t,e)},t.prototype.rotate=function(t){var e=Math.cos(t),n=Math.sin(t);return this.transform(e,n,-n,e,0,0)},t.prototype.scale=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t;return this.transform(t,0,0,e,0,0)},d(t,[{key:"cbox",get:function(){if(!this._cbox){var t=new ai,e=this.commands,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}for(var a=i,o=0;o<a.args.length;o+=2)t.addPoint(a.args[o],a.args[o+1])}this._cbox=l(t)}return this._cbox}},{key:"bbox",get:function(){if(this._bbox)return this._bbox;var t=new ai,e=0,n=0,r=function(t){return Math.pow(1-t,3)*k[E]+3*Math.pow(1-t,2)*t*C[E]+3*(1-t)*Math.pow(t,2)*A[E]+Math.pow(t,3)*P[E]},i=this.commands,a=Array.isArray(i),o=0;for(i=a?i:s(i);;){var u;if(a){if(o>=i.length)break;u=i[o++]}else{if((o=i.next()).done)break;u=o.value}var c=u;switch(c.command){case"moveTo":case"lineTo":var h=c.args,f=h[0],d=h[1];t.addPoint(f,d),e=f,n=d;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===c.command)var p=c.args,g=p[0],y=p[1],v=e+2/3*(g-e),b=n+2/3*(y-n),m=(S=p[2])+2/3*(g-S),w=(_=p[3])+2/3*(y-_);else var x=c.args,S=(v=x[0],b=x[1],m=x[2],w=x[3],x[4]),_=x[5];t.addPoint(S,_);for(var k=[e,n],C=[v,b],A=[m,w],P=[S,_],E=0;E<=1;E++){var I=6*k[E]-12*C[E]+6*A[E],T=-3*k[E]+9*C[E]-9*A[E]+3*P[E];if(c=3*C[E]-3*k[E],0!==T){var O=Math.pow(I,2)-4*c*T;if(!(O<0)){var L=(-I+Math.sqrt(O))/(2*T);0<L&&L<1&&(0===E?t.addPoint(r(L),t.maxY):1===E&&t.addPoint(t.maxX,r(L)));var B=(-I-Math.sqrt(O))/(2*T);0<B&&B<1&&(0===E?t.addPoint(r(B),t.maxY):1===E&&t.addPoint(t.maxX,r(B)))}}else{if(0===I)continue;var M=-c/I;0<M&&M<1&&(0===E?t.addPoint(r(M),t.maxY):1===E&&t.addPoint(t.maxX,r(M)))}}e=S,n=_}}return this._bbox=l(t)}}]),t}(),$o=["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"],ts=function(){var t=$o[es];Qo.prototype[t]=function(){for(var e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r];return this._bbox=this._cbox=null,this.commands.push({command:t,args:n}),this}},es=0;es<$o.length;es++)ts();var ns,rs=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function is(t,e,n,r,i){var a={};return Object.keys(r).forEach(function(t){a[t]=r[t]}),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce(function(n,r){return r(t,e,n)||n},a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(t,e,a),a=null),a}var as,os=(is((ns=function(){function t(e,n,r){f(this,t),this.id=e,this.codePoints=n,this._font=r,this.isMark=this.codePoints.every(k.isMark),this.isLigature=this.codePoints.length>1}return t.prototype._getPath=function(){return new Qo},t.prototype._getCBox=function(){return this.path.cbox},t.prototype._getBBox=function(){return this.path.bbox},t.prototype._getTableMetrics=function(t){if(this.id<t.metrics.length)return t.metrics.get(this.id);var e=t.metrics.get(t.metrics.length-1);return{advance:e?e.advance:0,bearing:t.bearings.get(this.id-t.metrics.length)||0}},t.prototype._getMetrics=function(t){if(this._metrics)return this._metrics;var e=this._getTableMetrics(this._font.hmtx),n=e.advance,r=e.bearing;if(this._font.vmtx)var i=this._getTableMetrics(this._font.vmtx),a=i.advance,o=i.bearing;else{var s;if(null==t&&(t=this.cbox),(s=this._font["OS/2"])&&s.version>0)a=Math.abs(s.typoAscender-s.typoDescender),o=s.typoAscender-t.maxY;else{var l=this._font.hhea;a=Math.abs(l.ascent-l.descent),o=l.ascent-t.maxY}}return this._font._variationProcessor&&this._font.HVAR&&(n+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:n,advanceHeight:a,leftBearing:r,topBearing:o}},t.prototype.getScaledPath=function(t){var e=1/this._font.unitsPerEm*t;return this.path.scale(e)},t.prototype._getName=function(){var t=this._font.post;if(!t)return null;switch(t.version){case 1:return rs[this.id];case 2:var e=t.glyphNameIndex[this.id];return e<rs.length?rs[e]:t.names[e-rs.length];case 2.5:return rs[this.id+t.offsets[this.id]];case 4:return String.fromCharCode(t.map[this.id])}},t.prototype.render=function(t,e){t.save();var n=1/this._font.head.unitsPerEm*e;t.scale(n,n),this.path.toFunction()(t),t.fill(),t.restore()},d(t,[{key:"cbox",get:function(){return this._getCBox()}},{key:"bbox",get:function(){return this._getBBox()}},{key:"path",get:function(){return this._getPath()}},{key:"advanceWidth",get:function(){return this._getMetrics().advanceWidth}},{key:"advanceHeight",get:function(){return this._getMetrics().advanceHeight}},{key:"ligatureCaretPositions",get:function(){}},{key:"name",get:function(){return this._getName()}}]),t}()).prototype,"cbox",[B],o(ns.prototype,"cbox"),ns.prototype),is(ns.prototype,"bbox",[B],o(ns.prototype,"bbox"),ns.prototype),is(ns.prototype,"path",[B],o(ns.prototype,"path"),ns.prototype),is(ns.prototype,"advanceWidth",[B],o(ns.prototype,"advanceWidth"),ns.prototype),is(ns.prototype,"advanceHeight",[B],o(ns.prototype,"advanceHeight"),ns.prototype),is(ns.prototype,"name",[B],o(ns.prototype,"name"),ns.prototype),ns),ss=new a.Struct({numberOfContours:a.int16,xMin:a.int16,yMin:a.int16,xMax:a.int16,yMax:a.int16}),ls=function(){function t(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;f(this,t),this.onCurve=e,this.endContour=n,this.x=r,this.y=i}return t.prototype.copy=function(){return new t(this.onCurve,this.endContour,this.x,this.y)},t}(),us=function t(e,n,r){f(this,t),this.glyphID=e,this.dx=n,this.dy=r,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0},cs=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype._getCBox=function(t){if(this._font._variationProcessor&&!t)return this.path.cbox;var e=this._font._getTableStream("glyf");e.pos+=this._font.loca.offsets[this.id];var n=ss.decode(e),r=new ai(n.xMin,n.yMin,n.xMax,n.yMax);return l(r)},e.prototype._parseGlyphCoord=function(t,e,n,r){if(n){var i=t.readUInt8();r||(i=-i),i+=e}else if(r)i=e;else i=e+t.readInt16BE();return i},e.prototype._decode=function(){var t=this._font.loca.offsets[this.id];if(t===this._font.loca.offsets[this.id+1])return null;var e=this._font._getTableStream("glyf");e.pos+=t;var n=e.pos,r=ss.decode(e);return r.numberOfContours>0?this._decodeSimple(r,e):r.numberOfContours<0&&this._decodeComposite(r,e,n),r},e.prototype._decodeSimple=function(t,e){t.points=[];var n=new a.Array(a.uint16,t.numberOfContours).decode(e);t.instructions=new a.Array(a.uint8,a.uint16).decode(e);for(var r=[],i=n[n.length-1]+1;r.length<i;){var o=e.readUInt8();if(r.push(o),8&o)for(var s=e.readUInt8(),l=0;l<s;l++)r.push(o)}for(var u=0;u<r.length;u++){o=r[u];var c=new ls(!!(1&o),n.indexOf(u)>=0,0,0);t.points.push(c)}var h=0;for(u=0;u<r.length;u++){o=r[u];t.points[u].x=h=this._parseGlyphCoord(e,h,2&o,16&o)}var f=0;for(u=0;u<r.length;u++){o=r[u];t.points[u].y=f=this._parseGlyphCoord(e,f,4&o,32&o)}if(this._font._variationProcessor){var d=t.points.slice();d.push.apply(d,this._getPhantomPoints(t)),this._font._variationProcessor.transformPoints(this.id,d),t.phantomPoints=d.slice(-4)}},e.prototype._decodeComposite=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;t.components=[];for(var r=!1,i=32;32&i;){i=e.readUInt16BE();var a=e.pos-n,o=e.readUInt16BE();if(r||(r=0!=(256&i)),1&i)var s=e.readInt16BE(),l=e.readInt16BE();else s=e.readInt8(),l=e.readInt8();(h=new us(o,s,l)).pos=a,8&i?h.scaleX=h.scaleY=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824:64&i?(h.scaleX=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,h.scaleY=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824):128&i&&(h.scaleX=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,h.scale01=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,h.scale10=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824,h.scaleY=(e.readUInt8()<<24|e.readUInt8()<<16)/1073741824),t.components.push(h)}if(this._font._variationProcessor){for(var u=[],c=0;c<t.components.length;c++){var h=t.components[c];u.push(new ls(!0,!0,h.dx,h.dy))}u.push.apply(u,this._getPhantomPoints(t)),this._font._variationProcessor.transformPoints(this.id,u),t.phantomPoints=u.splice(-4,4);for(var f=0;f<u.length;f++){var d=u[f];t.components[f].dx=d.x,t.components[f].dy=d.y}}return r},e.prototype._getPhantomPoints=function(t){var e=this._getCBox(!0);null==this._metrics&&(this._metrics=os.prototype._getMetrics.call(this,e));var n=this._metrics,r=n.advanceWidth,i=n.advanceHeight,a=n.leftBearing,o=n.topBearing;return[new ls(!1,!0,t.xMin-a,0),new ls(!1,!0,t.xMin-a+r,0),new ls(!1,!0,0,t.yMax+o),new ls(!1,!0,0,t.yMax+o+i)]},e.prototype._getContours=function(){var t=this._decode();if(!t)return[];var e=[];if(t.numberOfContours<0){var n=t.components,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}for(var o=a,l=this._font.getGlyph(o.glyphID)._getContours(),u=0;u<l.length;u++)for(var c=l[u],h=0;h<c.length;h++){var f=c[h],d=f.x*o.scaleX+f.y*o.scale01+o.dx,p=f.y*o.scaleY+f.x*o.scale10+o.dy;e.push(new ls(f.onCurve,f.endContour,d,p))}}}else e=t.points||[];t.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=t.phantomPoints[1].x-t.phantomPoints[0].x,this._metrics.advanceHeight=t.phantomPoints[3].y-t.phantomPoints[2].y,this._metrics.leftBearing=t.xMin-t.phantomPoints[0].x,this._metrics.topBearing=t.phantomPoints[2].y-t.yMax);for(var g=[],y=[],v=0;v<e.length;v++){var b=e[v];y.push(b),b.endContour&&(g.push(y),y=[])}return g},e.prototype._getMetrics=function(){if(this._metrics)return this._metrics;var e=this._getCBox(!0);return t.prototype._getMetrics.call(this,e),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics},e.prototype._getPath=function(){for(var t=this._getContours(),e=new Qo,n=0;n<t.length;n++){var r=t[n],i=r[0],a=r[r.length-1],o=0;if(i.onCurve){var s=null;o=1}else s=i=a.onCurve?a:new ls(!1,!1,(i.x+a.x)/2,(i.y+a.y)/2);e.moveTo(i.x,i.y);for(var l=o;l<r.length;l++){var u=r[l],c=0===l?i:r[l-1];if(c.onCurve&&u.onCurve)e.lineTo(u.x,u.y);else if(c.onCurve&&!u.onCurve)s=u;else if(c.onCurve||u.onCurve){if(c.onCurve||!u.onCurve)throw new Error("Unknown TTF path state");e.quadraticCurveTo(s.x,s.y,u.x,u.y);s=null}else{var h=(c.x+u.x)/2,f=(c.y+u.y)/2;e.quadraticCurveTo(c.x,c.y,h,f);var s=u}}s&&e.quadraticCurveTo(s.x,s.y,i.x,i.y),e.closePath()}return e},e}(os),hs=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype._getName=function(){return this._font.CFF2?t.prototype._getName.call(this):this._font["CFF "].getGlyphName(this.id)},e.prototype.bias=function(t){return t.length<1240?107:t.length<33900?1131:32768},e.prototype._getPath=function(){var t=this._font.stream,e=(t.pos,this._font.CFF2||this._font["CFF "]),n=e.topDict.CharStrings[this.id],r=n.offset+n.length;t.pos=n.offset;var i=new Qo,a=[],o=[],s=null,l=0,u=0,c=0,h=void 0,f=void 0,d=!1;this._usedGsubrs=h={},this._usedSubrs=f={};var p=e.globalSubrIndex||[],g=this.bias(p),y=e.privateDictForGlyph(this.id),v=y.Subrs||[],b=this.bias(v),m=e.topDict.vstore&&e.topDict.vstore.itemVariationStore,w=y.vsindex,x=this._font._variationProcessor;function S(){null==s&&(s=a.shift()+y.nominalWidthX)}function _(){return a.length%2!=0&&S(),l+=a.length>>1,a.length=0}function k(t,e){d&&i.closePath(),i.moveTo(t,e),d=!0}return function n(){for(;t.pos<r;){var s=t.readUInt8();if(s<32)switch(s){case 1:case 3:case 18:case 23:_();break;case 4:a.length>1&&S(),c+=a.shift(),k(u,c);break;case 5:for(;a.length>=2;)u+=a.shift(),c+=a.shift(),i.lineTo(u,c);break;case 6:case 7:for(var y=6===s;a.length>=1;)y?u+=a.shift():c+=a.shift(),i.lineTo(u,c),y=!y;break;case 8:for(;a.length>0;){var C=u+a.shift(),A=c+a.shift(),P=C+a.shift(),E=A+a.shift();u=P+a.shift(),c=E+a.shift(),i.bezierCurveTo(C,A,P,E,u,c)}break;case 10:var I=a.pop()+b,T=v[I];if(T){f[I]=!0;var O=t.pos,L=r;t.pos=T.offset,r=T.offset+T.length,n(),t.pos=O,r=L}break;case 11:if(e.version>=2)break;return;case 14:if(e.version>=2)break;a.length>0&&S(),d&&(i.closePath(),d=!1);break;case 15:if(e.version<2)throw new Error("vsindex operator not supported in CFF v1");w=a.pop();break;case 16:if(e.version<2)throw new Error("blend operator not supported in CFF v1");if(!x)throw new Error("blend operator in non-variation font");for(var B=x.getBlendVector(m,w),M=a.pop(),R=M*B.length,F=a.length-R,D=F-M,z=0;z<M;z++){for(var N=a[D+z],U=0;U<B.length;U++)N+=B[U]*a[F++];a[D+z]=N}for(;R--;)a.pop();break;case 19:case 20:_(),t.pos+=l+7>>3;break;case 21:a.length>2&&S(),u+=a.shift(),c+=a.shift(),k(u,c);break;case 22:a.length>1&&S(),k(u+=a.shift(),c);break;case 24:for(;a.length>=8;)C=u+a.shift(),A=c+a.shift(),P=C+a.shift(),E=A+a.shift(),u=P+a.shift(),c=E+a.shift(),i.bezierCurveTo(C,A,P,E,u,c);u+=a.shift(),c+=a.shift(),i.lineTo(u,c);break;case 25:for(;a.length>=8;)u+=a.shift(),c+=a.shift(),i.lineTo(u,c);C=u+a.shift(),A=c+a.shift(),P=C+a.shift(),E=A+a.shift(),u=P+a.shift(),c=E+a.shift(),i.bezierCurveTo(C,A,P,E,u,c);break;case 26:for(a.length%2&&(u+=a.shift());a.length>=4;)C=u,A=c+a.shift(),P=C+a.shift(),E=A+a.shift(),u=P,c=E+a.shift(),i.bezierCurveTo(C,A,P,E,u,c);break;case 27:for(a.length%2&&(c+=a.shift());a.length>=4;)C=u+a.shift(),A=c,P=C+a.shift(),E=A+a.shift(),u=P+a.shift(),c=E,i.bezierCurveTo(C,A,P,E,u,c);break;case 28:a.push(t.readInt16BE());break;case 29:I=a.pop()+g,(T=p[I])&&(h[I]=!0,O=t.pos,L=r,t.pos=T.offset,r=T.offset+T.length,n(),t.pos=O,r=L);break;case 30:case 31:for(y=31===s;a.length>=4;)y?(C=u+a.shift(),A=c,P=C+a.shift(),E=A+a.shift(),c=E+a.shift(),u=P+(1===a.length?a.shift():0)):(C=u,A=c+a.shift(),P=C+a.shift(),E=A+a.shift(),u=P+a.shift(),c=E+(1===a.length?a.shift():0)),i.bezierCurveTo(C,A,P,E,u,c),y=!y;break;case 12:switch(s=t.readUInt8()){case 3:var W=a.pop(),G=a.pop();a.push(W&&G?1:0);break;case 4:W=a.pop(),G=a.pop(),a.push(W||G?1:0);break;case 5:W=a.pop(),a.push(W?0:1);break;case 9:W=a.pop(),a.push(Math.abs(W));break;case 10:W=a.pop(),G=a.pop(),a.push(W+G);break;case 11:W=a.pop(),G=a.pop(),a.push(W-G);break;case 12:W=a.pop(),G=a.pop(),a.push(W/G);break;case 14:W=a.pop(),a.push(-W);break;case 15:W=a.pop(),G=a.pop(),a.push(W===G?1:0);break;case 18:a.pop();break;case 20:var V=a.pop(),j=a.pop();o[j]=V;break;case 21:j=a.pop(),a.push(o[j]||0);break;case 22:var H=a.pop(),q=a.pop(),Z=a.pop(),Y=a.pop();a.push(Z<=Y?H:q);break;case 23:a.push(Math.random());break;case 24:W=a.pop(),G=a.pop(),a.push(W*G);break;case 26:W=a.pop(),a.push(Math.sqrt(W));break;case 27:W=a.pop(),a.push(W,W);break;case 28:W=a.pop(),G=a.pop(),a.push(G,W);break;case 29:(j=a.pop())<0?j=0:j>a.length-1&&(j=a.length-1),a.push(a[j]);break;case 30:var X=a.pop(),K=a.pop();if(K>=0)for(;K>0;){for(var J=a[X-1],Q=X-2;Q>=0;Q--)a[Q+1]=a[Q];a[0]=J,K--}else for(;K<0;){J=a[0];for(var $=0;$<=X;$++)a[$]=a[$+1];a[X-1]=J,K++}break;case 34:C=u+a.shift(),A=c,P=C+a.shift(),E=A+a.shift();var tt=P+a.shift(),et=E,nt=tt+a.shift(),rt=et,it=nt+a.shift(),at=rt,ot=it+a.shift(),st=at;u=ot,c=st,i.bezierCurveTo(C,A,P,E,tt,et),i.bezierCurveTo(nt,rt,it,at,ot,st);break;case 35:for(var lt=[],ut=0;ut<=5;ut++)u+=a.shift(),c+=a.shift(),lt.push(u,c);i.bezierCurveTo.apply(i,lt.slice(0,6)),i.bezierCurveTo.apply(i,lt.slice(6)),a.shift();break;case 36:C=u+a.shift(),A=c+a.shift(),P=C+a.shift(),rt=et=E=A+a.shift(),it=(nt=(tt=P+a.shift())+a.shift())+a.shift(),at=rt+a.shift(),ot=it+a.shift(),u=ot,c=st=at,i.bezierCurveTo(C,A,P,E,tt,et),i.bezierCurveTo(nt,rt,it,at,ot,st);break;case 37:var ct=u,ht=c;lt=[];for(var ft=0;ft<=4;ft++)u+=a.shift(),c+=a.shift(),lt.push(u,c);Math.abs(u-ct)>Math.abs(c-ht)?(u+=a.shift(),c=ht):(u=ct,c+=a.shift()),lt.push(u,c),i.bezierCurveTo.apply(i,lt.slice(0,6)),i.bezierCurveTo.apply(i,lt.slice(6));break;default:throw new Error("Unknown op: 12 "+s)}break;default:throw new Error("Unknown op: "+s)}else if(s<247)a.push(s-139);else if(s<251){var dt=t.readUInt8();a.push(256*(s-247)+dt+108)}else s<255?(dt=t.readUInt8(),a.push(256*-(s-251)-dt-108)):a.push(t.readInt32BE()/65536)}}(),d&&i.closePath(),i},e}(os),fs=new a.Struct({originX:a.uint16,originY:a.uint16,type:new a.String(4),data:new a.Buffer(function(t){return t.parent.buflen-t._currentOffset})}),ds=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype.getImageForSize=function(t){for(var e=0;e<this._font.sbix.imageTables.length;e++){var n=this._font.sbix.imageTables[e];if(n.ppem>=t)break}var r=n.imageOffsets,i=r[this.id],a=r[this.id+1];return i===a?null:(this._font.stream.pos=i,fs.decode(this._font.stream,{buflen:a-i}))},e.prototype.render=function(e,n){var r=this.getImageForSize(n);if(null!=r){var i=n/this._font.unitsPerEm;e.image(r.data,{height:n,x:r.originX,y:(this.bbox.minY-r.originY)*i})}this._font.sbix.flags.renderOutlines&&t.prototype.render.call(this,e,n)},e}(cs),ps=function t(e,n){f(this,t),this.glyph=e,this.color=n},gs=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype._getBBox=function(){for(var t=new ai,e=0;e<this.layers.length;e++){var n=this.layers[e].glyph.bbox;t.addPoint(n.minX,n.minY),t.addPoint(n.maxX,n.maxY)}return t},e.prototype.render=function(t,e){var n=this.layers,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=o.glyph,u=o.color;t.fillColor([u.red,u.green,u.blue],u.alpha/255*100),l.render(t,e)}},d(e,[{key:"layers",get:function(){for(var t=this._font.CPAL,e=this._font.COLR,n=0,r=e.baseGlyphRecord.length-1;n<=r;){var i=n+r>>1,a=e.baseGlyphRecord[i];if(this.id<a.gid)r=i-1;else{if(!(this.id>a.gid)){var o=a;break}n=i+1}}if(null==o){var s=this._font._getBaseGlyph(this.id);return[new ps(s,c={red:0,green:0,blue:0,alpha:255})]}for(var l=[],u=o.firstLayerIndex;u<o.firstLayerIndex+o.numLayers;u++){a=e.layerRecords[u];var c=t.colorRecords[a.paletteIndex];s=this._font._getBaseGlyph(a.gid);l.push(new ps(s,c))}return l}}]),e}(os),ys=function(){function t(e,n){f(this,t),this.font=e,this.normalizedCoords=this.normalizeCoords(n),this.blendVectors=new p}return t.prototype.normalizeCoords=function(t){for(var e=[],n=0;n<this.font.fvar.axis.length;n++){var r=this.font.fvar.axis[n];t[n]<r.defaultValue?e.push((t[n]-r.defaultValue+P)/(r.defaultValue-r.minValue+P)):e.push((t[n]-r.defaultValue+P)/(r.maxValue-r.defaultValue+P))}if(this.font.avar)for(n=0;n<this.font.avar.segment.length;n++)for(var i=this.font.avar.segment[n],a=0;a<i.correspondence.length;a++){var o=i.correspondence[a];if(a>=1&&e[n]<o.fromCoord){var s=i.correspondence[a-1];e[n]=((e[n]-s.fromCoord)*(o.toCoord-s.toCoord)+P)/(o.fromCoord-s.fromCoord+P)+s.toCoord;break}}return e},t.prototype.transformPoints=function(t,e){if(this.font.fvar&&this.font.gvar){var n=this.font.gvar;if(!(t>=n.glyphCount)){var r=n.offsets[t];if(r!==n.offsets[t+1]){var i=this.font.stream;if(i.pos=r,!(i.pos>=i.length)){var a=i.readUInt16BE(),o=r+i.readUInt16BE();if(32768&a){var s=i.pos;i.pos=o;var l=this.decodePoints();o=i.pos,i.pos=s}var u=e.map(function(t){return t.copy()});a&=4095;for(var c=0;c<a;c++){var h=i.readUInt16BE(),f=i.readUInt16BE();if(32768&f)for(var d=[],p=0;p<n.axisCount;p++)d.push(i.readInt16BE()/16384);else{if((4095&f)>=n.globalCoordCount)throw new Error("Invalid gvar table");d=n.globalCoords[4095&f]}if(16384&f){for(var g=[],y=0;y<n.axisCount;y++)g.push(i.readInt16BE()/16384);for(var v=[],b=0;b<n.axisCount;b++)v.push(i.readInt16BE()/16384)}var m=this.tupleFactor(f,d,g,v);if(0!==m){s=i.pos;if(i.pos=o,8192&f)var w=this.decodePoints();else w=l;var x=0===w.length?e.length:w.length,S=this.decodeDeltas(x),_=this.decodeDeltas(x);if(0===w.length)for(var k=0;k<e.length;k++){var C=e[k];C.x+=Math.round(S[k]*m),C.y+=Math.round(_[k]*m)}else{for(var A=u.map(function(t){return t.copy()}),P=e.map(function(){return!1}),E=0;E<w.length;E++){var I=w[E];if(I<e.length){var T=A[I];P[I]=!0,T.x+=Math.round(S[E]*m),T.y+=Math.round(_[E]*m)}}this.interpolateMissingDeltas(A,u,P);for(var O=0;O<e.length;O++){var L=A[O].x-u[O].x,B=A[O].y-u[O].y;e[O].x+=L,e[O].y+=B}}o+=h,i.pos=s}else o+=h}}}}}},t.prototype.decodePoints=function(){var t=this.font.stream,e=t.readUInt8();128&e&&(e=(127&e)<<8|t.readUInt8());for(var n=new Uint16Array(e),r=0,i=0;r<e;)for(var a=t.readUInt8(),o=1+(127&a),s=128&a?t.readUInt16:t.readUInt8,l=0;l<o&&r<e;l++)i+=s.call(t),n[r++]=i;return n},t.prototype.decodeDeltas=function(t){for(var e=this.font.stream,n=0,r=new Int16Array(t);n<t;){var i=e.readUInt8(),a=1+(63&i);if(128&i)n+=a;else for(var o=64&i?e.readInt16BE:e.readInt8,s=0;s<a&&n<t;s++)r[n++]=o.call(e)}return r},t.prototype.tupleFactor=function(t,e,n,r){for(var i=this.normalizedCoords,a=this.font.gvar,o=1,s=0;s<a.axisCount;s++)if(0!==e[s]){if(0===i[s])return 0;if(0==(16384&t)){if(i[s]<Math.min(0,e[s])||i[s]>Math.max(0,e[s]))return 0;o=(o*i[s]+P)/(e[s]+P)}else{if(i[s]<n[s]||i[s]>r[s])return 0;o=i[s]<e[s]?o*(i[s]-n[s]+P)/(e[s]-n[s]+P):o*(r[s]-i[s]+P)/(r[s]-e[s]+P)}}return o},t.prototype.interpolateMissingDeltas=function(t,e,n){if(0!==t.length)for(var r=0;r<t.length;){for(var i=r,a=r,o=t[a];!o.endContour;)o=t[++a];for(;r<=a&&!n[r];)r++;if(!(r>a)){var s=r,l=r;for(r++;r<=a;)n[r]&&(this.deltaInterpolate(l+1,r-1,l,r,e,t),l=r),r++;l===s?this.deltaShift(i,a,l,e,t):(this.deltaInterpolate(l+1,a,l,s,e,t),s>0&&this.deltaInterpolate(i,s-1,l,s,e,t)),r=a+1}}},t.prototype.deltaInterpolate=function(t,e,n,r,i,a){if(!(t>e))for(var o=["x","y"],s=0;s<o.length;s++){var l=o[s];if(i[n][l]>i[r][l]){var u=n;n=r,r=u}var c=i[n][l],h=i[r][l],f=a[n][l],d=a[r][l];if(c!==h||f===d)for(var p=c===h?0:(d-f)/(h-c),g=t;g<=e;g++){var y=i[g][l];y<=c?y+=f-c:y>=h?y+=d-h:y=f+(y-c)*p,a[g][l]=y}}},t.prototype.deltaShift=function(t,e,n,r,i){var a=i[n].x-r[n].x,o=i[n].y-r[n].y;if(0!==a||0!==o)for(var s=t;s<=e;s++)s!==n&&(i[s].x+=a,i[s].y+=o)},t.prototype.getAdvanceAdjustment=function(t,e){var n=void 0,r=void 0;if(e.advanceWidthMapping){var i=t;i>=e.advanceWidthMapping.mapCount&&(i=e.advanceWidthMapping.mapCount-1);e.advanceWidthMapping.entryFormat;var a=e.advanceWidthMapping.mapData[i];n=a.outerIndex,r=a.innerIndex}else n=0,r=t;return this.getDelta(e.itemVariationStore,n,r)},t.prototype.getDelta=function(t,e,n){if(e>=t.itemVariationData.length)return 0;var r=t.itemVariationData[e];if(n>=r.deltaSets.length)return 0;for(var i=r.deltaSets[n],a=this.getBlendVector(t,e),o=0,s=0;s<r.regionIndexCount;s++)o+=i.deltas[s]*a[s];return o},t.prototype.getBlendVector=function(t,e){var n=t.itemVariationData[e];if(this.blendVectors.has(n))return this.blendVectors.get(n);for(var r=this.normalizedCoords,i=[],a=0;a<n.regionIndexCount;a++){for(var o=1,s=n.regionIndexes[a],l=t.variationRegionList.variationRegions[s],u=0;u<l.length;u++){var c=l[u];o*=c.startCoord>c.peakCoord||c.peakCoord>c.endCoord?1:c.startCoord<0&&c.endCoord>0&&0!==c.peakCoord?1:0===c.peakCoord?1:r[u]<c.startCoord||r[u]>c.endCoord?0:r[u]===c.peakCoord?1:r[u]<c.peakCoord?(r[u]-c.startCoord+P)/(c.peakCoord-c.startCoord+P):(c.endCoord-r[u]+P)/(c.endCoord-c.peakCoord+P)}i[a]=o}return this.blendVectors.set(n,i),i},t}(),vs=function(){function t(e){f(this,t),this.font=e,this.glyphs=[],this.mapping={},this.includeGlyph(0)}return t.prototype.includeGlyph=function(t){return"object"===(void 0===t?"undefined":c(t))&&(t=t.id),null==this.mapping[t]&&(this.glyphs.push(t),this.mapping[t]=this.glyphs.length-1),this.mapping[t]},t.prototype.encodeStream=function(){var t=this,e=new a.EncodeStream;return r.nextTick(function(){return t.encode(e),e.end()}),e},t}(),bs=function(){function t(){f(this,t)}return t.size=function(t){return t>=0&&t<=255?1:2},t.encode=function(t,e){e>=0&&e<=255?t.writeUInt8(e):t.writeInt16BE(e)},t}(),ms=new a.Struct({numberOfContours:a.int16,xMin:a.int16,yMin:a.int16,xMax:a.int16,yMax:a.int16,endPtsOfContours:new a.Array(a.uint16,"numberOfContours"),instructions:new a.Array(a.uint8,a.uint16),flags:new a.Array(a.uint8,0),xPoints:new a.Array(bs,0),yPoints:new a.Array(bs,0)}),ws=function(){function t(){f(this,t)}return t.prototype.encodeSimple=function(t){for(var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=[],r=[],i=[],o=[],s=0,l=0,u=0,c=0,h=0,f=0;f<t.commands.length;f++){for(var d=t.commands[f],p=0;p<d.args.length;p+=2){var g=d.args[p],y=d.args[p+1],v=0;if("quadraticCurveTo"===d.command&&2===p){var b=t.commands[f+1];if(b&&"quadraticCurveTo"===b.command){var m=(l+b.args[0])/2,w=(u+b.args[1])/2;if(g===m&&y===w)continue}}"quadraticCurveTo"===d.command&&0===p||(v|=1),v=this._encodePoint(g,l,r,v,2,16),(v=this._encodePoint(y,u,i,v,4,32))===c&&s<255?(o[o.length-1]|=8,s++):(s>0&&(o.push(s),s=0),o.push(v),c=v),l=g,u=y,h++}"closePath"===d.command&&n.push(h-1)}t.commands.length>1&&"closePath"!==t.commands[t.commands.length-1].command&&n.push(h-1);var x=t.bbox,S={numberOfContours:n.length,xMin:x.minX,yMin:x.minY,xMax:x.maxX,yMax:x.maxY,endPtsOfContours:n,instructions:e,flags:o,xPoints:r,yPoints:i},_=ms.size(S),k=4-_%4,C=new a.EncodeStream(_+k);return ms.encode(C,S),0!==k&&C.fill(0,k),C.buffer},t.prototype._encodePoint=function(t,e,n,r,i,a){var o=t-e;return t===e?r|=a:(-255<=o&&o<=255&&(r|=i,o<0?o=-o:r|=a),n.push(o)),r},t}(),xs=function(t){function n(e){f(this,n);var r=g(this,t.call(this,e));return r.glyphEncoder=new ws,r}return y(n,t),n.prototype._addGlyph=function(t){var n=this.font.getGlyph(t),r=n._decode(),i=this.font.loca.offsets[t],a=this.font.loca.offsets[t+1],o=this.font._getTableStream("glyf");o.pos+=i;var l=o.readBuffer(a-i);if(r&&r.numberOfContours<0){l=new e(l);var u=r.components,c=Array.isArray(u),h=0;for(u=c?u:s(u);;){var f;if(c){if(h>=u.length)break;f=u[h++]}else{if((h=u.next()).done)break;f=h.value}var d=f;t=this.includeGlyph(d.glyphID),l.writeUInt16BE(t,d.pos)}}else r&&this.font._variationProcessor&&(l=this.glyphEncoder.encodeSimple(n.path,r.instructions));return this.glyf.push(l),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:n.advanceWidth,bearing:n._getMetrics().leftBearing}),this.offset+=l.length,this.glyf.length-1},n.prototype.encode=function(t){this.glyf=[],this.offset=0,this.loca={offsets:[]},this.hmtx={metrics:[],bearings:[]};for(var e=0;e<this.glyphs.length;)this._addGlyph(this.glyphs[e++]);var n=E(this.font.maxp);n.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset),Yr.loca.preEncode.call(this.loca);var r=E(this.font.head);r.indexToLocFormat=this.loca.version;var i=E(this.font.hhea);i.numberOfMetrics=this.hmtx.metrics.length,Jr.encode(t,{tables:{head:r,hhea:i,loca:this.loca,maxp:n,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})},n}(vs),Ss=function(t){function n(e){f(this,n);var r=g(this,t.call(this,e));if(r.cff=r.font["CFF "],!r.cff)throw new Error("Not a CFF Font");return r}return y(n,t),n.prototype.subsetCharstrings=function(){this.charstrings=[];var t={},e=this.glyphs,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;this.charstrings.push(this.cff.getCharString(a));var o=this.font.getGlyph(a);o.path;for(var l in o._usedGsubrs)t[l]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,t)},n.prototype.subsetSubrs=function(t,n){for(var r=[],i=0;i<t.length;i++){var a=t[i];n[i]?(this.cff.stream.pos=a.offset,r.push(this.cff.stream.readBuffer(a.length))):r.push(new e([11]))}return r},n.prototype.subsetFontdict=function(t){t.FDArray=[],t.FDSelect={version:0,fds:[]};var e={},n=[],r=this.glyphs,i=Array.isArray(r),a=0;for(r=i?r:s(r);;){var o;if(i){if(a>=r.length)break;o=r[a++]}else{if((a=r.next()).done)break;o=a.value}var l=o,u=this.cff.fdForGlyph(l);if(null!=u){e[u]||(t.FDArray.push(w({},this.cff.topDict.FDArray[u])),n.push({})),e[u]=!0,t.FDSelect.fds.push(t.FDArray.length-1);var c=this.font.getGlyph(l);c.path;for(var h in c._usedSubrs)n[n.length-1][h]=!0}}for(var f=0;f<t.FDArray.length;f++){var d=t.FDArray[f];delete d.FontName,d.Private&&d.Private.Subrs&&(d.Private=w({},d.Private),d.Private.Subrs=this.subsetSubrs(d.Private.Subrs,n[f]))}},n.prototype.createCIDFontdict=function(t){var e={},n=this.glyphs,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=this.font.getGlyph(o);l.path;for(var u in l._usedSubrs)e[u]=!0}var c=w({},this.cff.topDict.Private);return c.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,e),t.FDArray=[{Private:c}],t.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}},n.prototype.addString=function(t){return t?(this.strings||(this.strings=[]),this.strings.push(t),bt.length+this.strings.length-1):null},n.prototype.encode=function(t){this.subsetCharstrings();var e={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},n=w({},this.cff.topDict);n.Private=null,n.charset=e,n.Encoding=null,n.CharStrings=this.charstrings;for(var r=["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"],i=0;i<r.length;i++){var a=r[i];n[a]=this.addString(this.cff.string(n[a]))}n.ROS=[this.addString("Adobe"),this.addString("Identity"),0],n.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(n):this.createCIDFontdict(n);var o={version:1,hdrSize:this.cff.hdrSize,offSize:this.cff.length,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[n],stringIndex:this.strings,globalSubrIndex:this.gsubrs};we.encode(t,o)},n}(vs);function _s(t,e,n,r,i){var a={};return Object.keys(r).forEach(function(t){a[t]=r[t]}),a.enumerable=!!a.enumerable,a.configurable=!!a.configurable,("value"in a||a.initializer)&&(a.writable=!0),a=n.slice().reverse().reduce(function(n,r){return r(t,e,n)||n},a),i&&void 0!==a.initializer&&(a.value=a.initializer?a.initializer.call(i):void 0,a.initializer=void 0),void 0===a.initializer&&(Object.defineProperty(t,e,a),a=null),a}var ks=(_s((as=function(){function t(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;for(var r in f(this,t),this.stream=e,this.variationCoords=n,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory(),this.directory.tables){var i=this.directory.tables[r];Yr[r]&&i.length>0&&h(this,r,{get:this._getTable.bind(this,i)})}}return t.probe=function(t){var e=t.toString("ascii",0,4);return"true"===e||"OTTO"===e||e===String.fromCharCode(0,1,0,0)},t.prototype._getTable=function(t){if(!(t.tag in this._tables))try{this._tables[t.tag]=this._decodeTable(t)}catch(t){O.logErrors}return this._tables[t.tag]},t.prototype._getTableStream=function(t){var e=this.directory.tables[t];return e?(this.stream.pos=e.offset,this.stream):null},t.prototype._decodeDirectory=function(){return this.directory=Jr.decode(this.stream,{_startOffset:0})},t.prototype._decodeTable=function(t){var e=this.stream.pos,n=this._getTableStream(t.tag),r=Yr[t.tag].decode(n,this,t.length);return this.stream.pos=e,r},t.prototype.getName=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en",n=this.name.records[t];return n?n[e]:null},t.prototype.hasGlyphForCodePoint=function(t){return!!this._cmapProcessor.lookup(t)},t.prototype.glyphForCodePoint=function(t){return this.getGlyph(this._cmapProcessor.lookup(t),[t])},t.prototype.glyphsForString=function(t){for(var e=[],n=t.length,r=0,i=-1,a=-1;r<=n;){var o=0,s=0;if(r<n){if(55296<=(o=t.charCodeAt(r++))&&o<=56319&&r<n){var l=t.charCodeAt(r);56320<=l&&l<=57343&&(r++,o=((1023&o)<<10)+(1023&l)+65536)}s=65024<=o&&o<=65039||917760<=o&&o<=917999?1:0}else r++;0===a&&1===s?e.push(this.getGlyph(this._cmapProcessor.lookup(i,o),[i,o])):0===a&&0===s&&e.push(this.glyphForCodePoint(i)),i=o,a=s}return e},t.prototype.layout=function(t,e,n,r,i){return this._layoutEngine.layout(t,e,n,r,i)},t.prototype.stringsForGlyph=function(t){return this._layoutEngine.stringsForGlyph(t)},t.prototype.getAvailableFeatures=function(t,e){return this._layoutEngine.getAvailableFeatures(t,e)},t.prototype._getBaseGlyph=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this._glyphs[t]||(this.directory.tables.glyf?this._glyphs[t]=new cs(t,e,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[t]=new hs(t,e,this))),this._glyphs[t]||null},t.prototype.getGlyph=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this._glyphs[t]||(this.directory.tables.sbix?this._glyphs[t]=new ds(t,e,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[t]=new gs(t,e,this):this._getBaseGlyph(t,e)),this._glyphs[t]||null},t.prototype.createSubset=function(){return this.directory.tables["CFF "]?new Ss(this):new xs(this)},t.prototype.getVariation=function(e){if(!this.directory.tables.fvar||!(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if("string"==typeof e&&(e=this.namedVariations[e]),"object"!==(void 0===e?"undefined":c(e)))throw new Error("Variation settings must be either a variation name or settings object.");var n=this.fvar.axis.map(function(t,n){var r=t.axisTag.trim();return r in e?Math.max(t.minValue,Math.min(t.maxValue,e[r])):t.defaultValue}),r=new a.DecodeStream(this.stream.buffer);r.pos=this._directoryPos;var i=new t(r,n);return i._tables=this._tables,i},t.prototype.getFont=function(t){return this.getVariation(t)},d(t,[{key:"postscriptName",get:function(){var t=this.name.records.postscriptName;return t?t[u(t)[0]]:null}},{key:"fullName",get:function(){return this.getName("fullName")}},{key:"familyName",get:function(){return this.getName("fontFamily")}},{key:"subfamilyName",get:function(){return this.getName("fontSubfamily")}},{key:"copyright",get:function(){return this.getName("copyright")}},{key:"version",get:function(){return this.getName("version")}},{key:"ascent",get:function(){return this.hhea.ascent}},{key:"descent",get:function(){return this.hhea.descent}},{key:"lineGap",get:function(){return this.hhea.lineGap}},{key:"underlinePosition",get:function(){return this.post.underlinePosition}},{key:"underlineThickness",get:function(){return this.post.underlineThickness}},{key:"italicAngle",get:function(){return this.post.italicAngle}},{key:"capHeight",get:function(){var t=this["OS/2"];return t?t.capHeight:this.ascent}},{key:"xHeight",get:function(){var t=this["OS/2"];return t?t.xHeight:0}},{key:"numGlyphs",get:function(){return this.maxp.numGlyphs}},{key:"unitsPerEm",get:function(){return this.head.unitsPerEm}},{key:"bbox",get:function(){return l(new ai(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}},{key:"_cmapProcessor",get:function(){return new ni(this.cmap)}},{key:"characterSet",get:function(){return this._cmapProcessor.getCharacterSet()}},{key:"_layoutEngine",get:function(){return new Ko(this)}},{key:"availableFeatures",get:function(){return this._layoutEngine.getAvailableFeatures()}},{key:"variationAxes",get:function(){var t={};if(!this.fvar)return t;var e=this.fvar.axis,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;t[a.axisTag.trim()]={name:a.name.en,min:a.minValue,default:a.defaultValue,max:a.maxValue}}return t}},{key:"namedVariations",get:function(){var t={};if(!this.fvar)return t;var e=this.fvar.instance,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}for(var a=i,o={},l=0;l<this.fvar.axis.length;l++){o[this.fvar.axis[l].axisTag.trim()]=a.coord[l]}t[a.name.en]=o}return t}},{key:"_variationProcessor",get:function(){if(!this.fvar)return null;var t=this.variationCoords;return t||this.CFF2?(t||(t=this.fvar.axis.map(function(t){return t.defaultValue})),new ys(this,t)):null}}]),t}()).prototype,"bbox",[B],o(as.prototype,"bbox"),as.prototype),_s(as.prototype,"_cmapProcessor",[B],o(as.prototype,"_cmapProcessor"),as.prototype),_s(as.prototype,"characterSet",[B],o(as.prototype,"characterSet"),as.prototype),_s(as.prototype,"_layoutEngine",[B],o(as.prototype,"_layoutEngine"),as.prototype),_s(as.prototype,"variationAxes",[B],o(as.prototype,"variationAxes"),as.prototype),_s(as.prototype,"namedVariations",[B],o(as.prototype,"namedVariations"),as.prototype),_s(as.prototype,"_variationProcessor",[B],o(as.prototype,"_variationProcessor"),as.prototype),as),Cs=new a.Struct({tag:new a.String(4),offset:new a.Pointer(a.uint32,"void",{type:"global"}),compLength:a.uint32,length:a.uint32,origChecksum:a.uint32}),As=new a.Struct({tag:new a.String(4),flavor:a.uint32,length:a.uint32,numTables:a.uint16,reserved:new a.Reserved(a.uint16),totalSfntSize:a.uint32,majorVersion:a.uint16,minorVersion:a.uint16,metaOffset:a.uint32,metaLength:a.uint32,metaOrigLength:a.uint32,privOffset:a.uint32,privLength:a.uint32,tables:new a.Array(Cs,"numTables")});As.process=function(){var t={},e=this.tables,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var a=i;t[a.tag]=a}this.tables=t};var Ps=function(t){function n(){return f(this,n),g(this,t.apply(this,arguments))}return y(n,t),n.probe=function(t){return"wOFF"===t.toString("ascii",0,4)},n.prototype._decodeDirectory=function(){this.directory=As.decode(this.stream,{_startOffset:0})},n.prototype._getTableStream=function(t){var n=this.directory.tables[t];if(n){if(this.stream.pos=n.offset,n.compLength<n.length){this.stream.pos+=2;var r=new e(n.length),i=I(this.stream.readBuffer(n.compLength-2),r);return new a.DecodeStream(i)}return this.stream}return null},n}(ks),Es=function(t){function e(){return f(this,e),g(this,t.apply(this,arguments))}return y(e,t),e.prototype._decode=function(){return this._font._transformedGlyphs[this.id]},e.prototype._getCBox=function(){return this.path.bbox},e}(cs),Is={decode:function(t){for(var e=0,n=[0,1,2,3,4],r=0;r<n.length;r++){var i=t.readUInt8();if(3758096384&e)throw new Error("Overflow");if(e=e<<7|127&i,0==(128&i))return e}throw new Error("Bad base 128 number")}},Ts=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"],Os=new a.Struct({flags:a.uint8,customTag:new a.Optional(new a.String(4),function(t){return 63==(63&t.flags)}),tag:function(t){return t.customTag||Ts[63&t.flags]},length:Is,transformVersion:function(t){return t.flags>>>6&3},transformed:function(t){return"glyf"===t.tag||"loca"===t.tag?0===t.transformVersion:0!==t.transformVersion},transformLength:new a.Optional(Is,function(t){return t.transformed})}),Ls=new a.Struct({tag:new a.String(4),flavor:a.uint32,length:a.uint32,numTables:a.uint16,reserved:new a.Reserved(a.uint16),totalSfntSize:a.uint32,totalCompressedSize:a.uint32,majorVersion:a.uint16,minorVersion:a.uint16,metaOffset:a.uint32,metaLength:a.uint32,metaOrigLength:a.uint32,privOffset:a.uint32,privLength:a.uint32,tables:new a.Array(Os,"numTables")});Ls.process=function(){for(var t={},e=0;e<this.tables.length;e++){var n=this.tables[e];t[n.tag]=n}return this.tables=t};var Bs=function(t){function n(){return f(this,n),g(this,t.apply(this,arguments))}return y(n,t),n.probe=function(t){return"wOF2"===t.toString("ascii",0,4)},n.prototype._decodeDirectory=function(){this.directory=Ls.decode(this.stream),this._dataPos=this.stream.pos},n.prototype._decompress=function(){if(!this._decompressed){this.stream.pos=this._dataPos;var t=this.stream.readBuffer(this.directory.totalCompressedSize),n=0;for(var r in this.directory.tables){var i=this.directory.tables[r];i.offset=n,n+=null!=i.transformLength?i.transformLength:i.length}var o=T(t,n);if(!o)throw new Error("Error decoding compressed data in WOFF2");this.stream=new a.DecodeStream(new e(o)),this._decompressed=!0}},n.prototype._decodeTable=function(e){return this._decompress(),t.prototype._decodeTable.call(this,e)},n.prototype._getBaseGlyph=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];if(!this._glyphs[e])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[e]=new Es(e,n,this)):t.prototype._getBaseGlyph.call(this,e,n)},n.prototype._transformGlyfTable=function(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;for(var t=GlyfTable.decode(this.stream),e=[],n=0;n<t.numGlyphs;n++){var r={},i=t.nContours.readInt16BE();if(r.numberOfContours=i,i>0){for(var a=[],o=0,s=0;s<i;s++){o+=Ns(t.nPoints),a.push(o)}r.points=Ws(t.flags,t.glyphs,o);for(var l=0;l<i;l++)r.points[a[l]-1].endContour=!0;Ns(t.glyphs)}else if(i<0){if(cs.prototype._decodeComposite.call({_font:this},r,t.composites))Ns(t.glyphs)}e.push(r)}this._transformedGlyphs=e},n}(ks),Ms=function(){function t(e){f(this,t),this.length=e,this._buf=new a.Buffer(e)}return t.prototype.decode=function(t,e){return new a.DecodeStream(this._buf.decode(t,e))},t}(),GlyfTable=new a.Struct({version:a.uint32,numGlyphs:a.uint16,indexFormat:a.uint16,nContourStreamSize:a.uint32,nPointsStreamSize:a.uint32,flagStreamSize:a.uint32,glyphStreamSize:a.uint32,compositeStreamSize:a.uint32,bboxStreamSize:a.uint32,instructionStreamSize:a.uint32,nContours:new Ms("nContourStreamSize"),nPoints:new Ms("nPointsStreamSize"),flags:new Ms("flagStreamSize"),glyphs:new Ms("glyphStreamSize"),composites:new Ms("compositeStreamSize"),bboxes:new Ms("bboxStreamSize"),instructions:new Ms("instructionStreamSize")}),Rs=253,Fs=254,Ds=255,zs=253;function Ns(t){var e=t.readUInt8();return e===Rs?t.readUInt16BE():e===Ds?t.readUInt8()+zs:e===Fs?t.readUInt8()+2*zs:e}function Us(t,e){return 1&t?e:-e}function Ws(t,e,n){for(var r=void 0,i=r=0,a=[],o=0;o<n;o++){var s=0,l=0,u=t.readUInt8(),c=!(u>>7);if((u&=127)<10)s=0,l=Us(u,((14&u)<<7)+e.readUInt8());else if(u<20)s=Us(u,((u-10&14)<<7)+e.readUInt8()),l=0;else if(u<84){s=Us(u,1+(48&(h=u-20))+((f=e.readUInt8())>>4)),l=Us(u>>1,1+((12&h)<<2)+(15&f))}else if(u<120){var h;s=Us(u,1+((h=u-84)/12<<8)+e.readUInt8()),l=Us(u>>1,1+(h%12>>2<<8)+e.readUInt8())}else if(u<124){var f=e.readUInt8(),d=e.readUInt8();s=Us(u,(f<<4)+(d>>4)),l=Us(u>>1,((15&d)<<8)+e.readUInt8())}else s=Us(u,e.readUInt16BE()),l=Us(u>>1,e.readUInt16BE());i+=s,r+=l,a.push(new ls(c,!1,i,r))}return a}var Gs=new a.VersionedStruct(a.uint32,{65536:{numFonts:a.uint32,offsets:new a.Array(a.uint32,"numFonts")},131072:{numFonts:a.uint32,offsets:new a.Array(a.uint32,"numFonts"),dsigTag:a.uint32,dsigLength:a.uint32,dsigOffset:a.uint32}}),Vs=function(){function t(e){if(f(this,t),this.stream=e,"ttcf"!==e.readString(4))throw new Error("Not a TrueType collection");this.header=Gs.decode(e)}return t.probe=function(t){return"ttcf"===t.toString("ascii",0,4)},t.prototype.getFont=function(t){var e=this.header.offsets,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var o=i,l=new a.DecodeStream(this.stream.buffer);l.pos=o;var u=new ks(l);if(u.postscriptName===t)return u}return null},d(t,[{key:"fonts",get:function(){var t=[],e=this.header.offsets,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var o=i,l=new a.DecodeStream(this.stream.buffer);l.pos=o,t.push(new ks(l))}return t}}]),t}(),js=new a.String(a.uint8),Hs=(new a.Struct({len:a.uint32,buf:new a.Buffer("len")}),new a.Struct({id:a.uint16,nameOffset:a.int16,attr:a.uint8,dataOffset:a.uint24,handle:a.uint32})),qs=new a.Struct({name:new a.String(4),maxTypeIndex:a.uint16,refList:new a.Pointer(a.uint16,new a.Array(Hs,function(t){return t.maxTypeIndex+1}),{type:"parent"})}),Zs=new a.Struct({length:a.uint16,types:new a.Array(qs,function(t){return t.length+1})}),Ys=new a.Struct({reserved:new a.Reserved(a.uint8,24),typeList:new a.Pointer(a.uint16,Zs),nameListOffset:new a.Pointer(a.uint16,"void")}),Xs=new a.Struct({dataOffset:a.uint32,map:new a.Pointer(a.uint32,Ys),dataLength:a.uint32,mapLength:a.uint32}),Ks=function(){function t(e){f(this,t),this.stream=e,this.header=Xs.decode(this.stream);var n=this.header.map.typeList.types,r=Array.isArray(n),i=0;for(n=r?n:s(n);;){var a;if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var o=a,l=o.refList,u=Array.isArray(l),c=0;for(l=u?l:s(l);;){var h;if(u){if(c>=l.length)break;h=l[c++]}else{if((c=l.next()).done)break;h=c.value}var d=h;d.nameOffset>=0?(this.stream.pos=d.nameOffset+this.header.map.nameListOffset,d.name=js.decode(this.stream)):d.name=null}"sfnt"===o.name&&(this.sfnt=o)}}return t.probe=function(t){var e=new a.DecodeStream(t);try{var n=Xs.decode(e)}catch(t){return!1}var r=n.map.typeList.types,i=Array.isArray(r),o=0;for(r=i?r:s(r);;){var l;if(i){if(o>=r.length)break;l=r[o++]}else{if((o=r.next()).done)break;l=o.value}if("sfnt"===l.name)return!0}return!1},t.prototype.getFont=function(t){if(!this.sfnt)return null;var e=this.sfnt.refList,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var o=i,l=this.header.dataOffset+o.dataOffset+4,u=new a.DecodeStream(this.stream.buffer.slice(l)),c=new ks(u);if(c.postscriptName===t)return c}return null},d(t,[{key:"fonts",get:function(){var t=[],e=this.sfnt.refList,n=Array.isArray(e),r=0;for(e=n?e:s(e);;){var i;if(n){if(r>=e.length)break;i=e[r++]}else{if((r=e.next()).done)break;i=r.value}var o=i,l=this.header.dataOffset+o.dataOffset+4,u=new a.DecodeStream(this.stream.buffer.slice(l));t.push(new ks(u))}return t}}]),t}();O.registerFormat(ks),O.registerFormat(Ps),O.registerFormat(Bs),O.registerFormat(Vs),O.registerFormat(Ks),t.exports=O}).call(e,n(1).Buffer,n(11))},function(t,e,n){(function(){var t,r,i,a;for(t in e.EncodeStream=n(169),e.DecodeStream=n(51),e.Array=n(93),e.LazyArray=n(187),e.Bitfield=n(188),e.Boolean=n(189),e.Buffer=n(190),e.Enum=n(191),e.Optional=n(192),e.Reserved=n(193),e.String=n(194),e.Struct=n(94),e.VersionedStruct=n(195),i=n(22))r=i[t],e[t]=r;for(t in a=n(196))r=a[t],e[t]=r}).call(this)},function(t,e,n){(function(e){(function(){var r,i,a,o,s={}.hasOwnProperty;o=n(15),r=n(51);try{a=n(52)}catch(t){}i=function(t){var n;function i(t){null==t&&(t=65536),i.__super__.constructor.apply(this,arguments),this.buffer=new e(t),this.bufferOffset=0,this.pos=0}for(n in function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(i,t),e.prototype)"write"===n.slice(0,5)&&function(t){var e;e=+r.TYPES[t.replace(/write|[BL]E/g,"")],i.prototype[t]=function(n){return this.ensure(e),this.buffer[t](n,this.bufferOffset),this.bufferOffset+=e,this.pos+=e}}(n);return i.prototype._read=function(){},i.prototype.ensure=function(t){if(this.bufferOffset+t>this.buffer.length)return this.flush()},i.prototype.flush=function(){if(this.bufferOffset>0)return this.push(new e(this.buffer.slice(0,this.bufferOffset))),this.bufferOffset=0},i.prototype.writeBuffer=function(t){return this.flush(),this.push(t),this.pos+=t.length},i.prototype.writeString=function(t,n){var r,i,o,s,l;switch(null==n&&(n="ascii"),n){case"utf16le":case"ucs2":case"utf8":case"ascii":return this.writeBuffer(new e(t,n));case"utf16be":for(o=s=0,l=(r=new e(t,"utf16le")).length-1;s<l;o=s+=2)i=r[o],r[o]=r[o+1],r[o+1]=i;return this.writeBuffer(r);default:if(a)return this.writeBuffer(a.encode(t,n));throw new Error("Install iconv-lite to enable additional string encodings.")}},i.prototype.writeUInt24BE=function(t){return this.ensure(3),this.buffer[this.bufferOffset++]=t>>>16&255,this.buffer[this.bufferOffset++]=t>>>8&255,this.buffer[this.bufferOffset++]=255&t,this.pos+=3},i.prototype.writeUInt24LE=function(t){return this.ensure(3),this.buffer[this.bufferOffset++]=255&t,this.buffer[this.bufferOffset++]=t>>>8&255,this.buffer[this.bufferOffset++]=t>>>16&255,this.pos+=3},i.prototype.writeInt24BE=function(t){return t>=0?this.writeUInt24BE(t):this.writeUInt24BE(t+16777215+1)},i.prototype.writeInt24LE=function(t){return t>=0?this.writeUInt24LE(t):this.writeUInt24LE(t+16777215+1)},i.prototype.fill=function(t,n){var r;return n<this.buffer.length?(this.ensure(n),this.buffer.fill(t,this.bufferOffset,this.bufferOffset+n),this.bufferOffset+=n,this.pos+=n):((r=new e(n)).fill(t),this.writeBuffer(r))},i.prototype.end=function(){return this.flush(),this.push(null)},i}(o.Readable),t.exports=i}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){"use strict";function r(t,e){this.encoder=t,this.addBOM=!0}function i(t,e){this.decoder=t,this.pass=!1,this.options=e||{}}e.PrependBOM=r,r.prototype.write=function(t){return this.addBOM&&(t="\ufeff"+t,this.addBOM=!1),this.encoder.write(t)},r.prototype.end=function(){return this.encoder.end()},e.StripBOM=i,i.prototype.write=function(t){var e=this.decoder.write(t);return this.pass||!e?e:("\ufeff"===e[0]&&(e=e.slice(1),"function"==typeof this.options.stripBOM&&this.options.stripBOM()),this.pass=!0,e)},i.prototype.end=function(){return this.decoder.end()}},function(t,e,n){"use strict";for(var r=[n(172),n(173),n(174),n(175),n(176),n(177),n(178),n(179)],i=0;i<r.length;i++){t=r[i];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}},function(t,e,n){"use strict";var r=n(1).Buffer;function i(t,e){this.enc=t.encodingName,this.bomAware=t.bomAware,"base64"===this.enc?this.encoder=l:"cesu8"===this.enc&&(this.enc="utf8",this.encoder=u,"💩"!==new r("eda0bdedb2a9","hex").toString()&&(this.decoder=c,this.defaultCharUnicode=e.defaultCharUnicode))}t.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:i},i.prototype.encoder=s,i.prototype.decoder=o;var a=n(47).StringDecoder;function o(t,e){a.call(this,e.enc)}function s(t,e){this.enc=e.enc}function l(t,e){this.prevStr=""}function u(t,e){}function c(t,e){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=e.defaultCharUnicode}a.prototype.end||(a.prototype.end=function(){}),o.prototype=a.prototype,s.prototype.write=function(t){return new r(t,this.enc)},s.prototype.end=function(){},l.prototype.write=function(t){var e=(t=this.prevStr+t).length-t.length%4;return this.prevStr=t.slice(e),t=t.slice(0,e),new r(t,"base64")},l.prototype.end=function(){return new r(this.prevStr,"base64")},u.prototype.write=function(t){for(var e=new r(3*t.length),n=0,i=0;i<t.length;i++){var a=t.charCodeAt(i);a<128?e[n++]=a:a<2048?(e[n++]=192+(a>>>6),e[n++]=128+(63&a)):(e[n++]=224+(a>>>12),e[n++]=128+(a>>>6&63),e[n++]=128+(63&a))}return e.slice(0,n)},u.prototype.end=function(){},c.prototype.write=function(t){for(var e=this.acc,n=this.contBytes,r=this.accBytes,i="",a=0;a<t.length;a++){var o=t[a];128!=(192&o)?(n>0&&(i+=this.defaultCharUnicode,n=0),o<128?i+=String.fromCharCode(o):o<224?(e=31&o,n=1,r=1):o<240?(e=15&o,n=2,r=1):i+=this.defaultCharUnicode):n>0?(e=e<<6|63&o,r++,0===--n&&(i+=2===r&&e<128&&e>0?this.defaultCharUnicode:3===r&&e<2048?this.defaultCharUnicode:String.fromCharCode(e))):i+=this.defaultCharUnicode}return this.acc=e,this.contBytes=n,this.accBytes=r,i},c.prototype.end=function(){var t=0;return this.contBytes>0&&(t+=this.defaultCharUnicode),t}},function(t,e,n){"use strict";var r=n(1).Buffer;function i(){}function a(){}function o(){this.overflowByte=-1}function s(t,e){this.iconv=e}function l(t,e){void 0===(t=t||{}).addBOM&&(t.addBOM=!0),this.encoder=e.iconv.getEncoder("utf-16le",t)}function u(t,e){this.decoder=null,this.initialBytes=[],this.initialBytesLen=0,this.options=t||{},this.iconv=e.iconv}function c(t,e){var n=e||"utf-16le";if(t.length>=2)if(254==t[0]&&255==t[1])n="utf-16be";else if(255==t[0]&&254==t[1])n="utf-16le";else{for(var r=0,i=0,a=Math.min(t.length-t.length%2,64),o=0;o<a;o+=2)0===t[o]&&0!==t[o+1]&&i++,0!==t[o]&&0===t[o+1]&&r++;i>r?n="utf-16be":i<r&&(n="utf-16le")}return n}e.utf16be=i,i.prototype.encoder=a,i.prototype.decoder=o,i.prototype.bomAware=!0,a.prototype.write=function(t){for(var e=new r(t,"ucs2"),n=0;n<e.length;n+=2){var i=e[n];e[n]=e[n+1],e[n+1]=i}return e},a.prototype.end=function(){},o.prototype.write=function(t){if(0==t.length)return"";var e=new r(t.length+1),n=0,i=0;for(-1!==this.overflowByte&&(e[0]=t[0],e[1]=this.overflowByte,n=1,i=2);n<t.length-1;n+=2,i+=2)e[i]=t[n+1],e[i+1]=t[n];return this.overflowByte=n==t.length-1?t[t.length-1]:-1,e.slice(0,i).toString("ucs2")},o.prototype.end=function(){},e.utf16=s,s.prototype.encoder=l,s.prototype.decoder=u,l.prototype.write=function(t){return this.encoder.write(t)},l.prototype.end=function(){return this.encoder.end()},u.prototype.write=function(t){if(!this.decoder){if(this.initialBytes.push(t),this.initialBytesLen+=t.length,this.initialBytesLen<16)return"";var e=c(t=r.concat(this.initialBytes),this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(e,this.options),this.initialBytes.length=this.initialBytesLen=0}return this.decoder.write(t)},u.prototype.end=function(){if(!this.decoder){var t=r.concat(this.initialBytes),e=c(t,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(e,this.options);var n=this.decoder.write(t),i=this.decoder.end();return i?n+i:n}return this.decoder.end()}},function(t,e,n){"use strict";var r=n(1).Buffer;function i(t,e){this.iconv=e}e.utf7=i,e.unicode11utf7="utf7",i.prototype.encoder=o,i.prototype.decoder=s,i.prototype.bomAware=!0;var a=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function o(t,e){this.iconv=e.iconv}function s(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}o.prototype.write=function(t){return new r(t.replace(a,function(t){return"+"+("+"===t?"":this.iconv.encode(t,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))},o.prototype.end=function(){};for(var l=/[A-Za-z0-9\/+]/,u=[],c=0;c<256;c++)u[c]=l.test(String.fromCharCode(c));var h="+".charCodeAt(0),f="-".charCodeAt(0),d="&".charCodeAt(0);function p(t,e){this.iconv=e}function g(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=new r(6),this.base64AccumIdx=0}function y(t,e){this.iconv=e.iconv,this.inBase64=!1,this.base64Accum=""}s.prototype.write=function(t){for(var e="",n=0,i=this.inBase64,a=this.base64Accum,o=0;o<t.length;o++)if(i){if(!u[t[o]]){if(o==n&&t[o]==f)e+="+";else{var s=a+t.slice(n,o).toString();e+=this.iconv.decode(new r(s,"base64"),"utf16-be")}t[o]!=f&&o--,n=o+1,i=!1,a=""}}else t[o]==h&&(e+=this.iconv.decode(t.slice(n,o),"ascii"),n=o+1,i=!0);if(i){var l=(s=a+t.slice(n).toString()).length-s.length%8;a=s.slice(l),s=s.slice(0,l),e+=this.iconv.decode(new r(s,"base64"),"utf16-be")}else e+=this.iconv.decode(t.slice(n),"ascii");return this.inBase64=i,this.base64Accum=a,e},s.prototype.end=function(){var t="";return this.inBase64&&this.base64Accum.length>0&&(t=this.iconv.decode(new r(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t},e.utf7imap=p,p.prototype.encoder=g,p.prototype.decoder=y,p.prototype.bomAware=!0,g.prototype.write=function(t){for(var e=this.inBase64,n=this.base64Accum,i=this.base64AccumIdx,a=new r(5*t.length+10),o=0,s=0;s<t.length;s++){var l=t.charCodeAt(s);32<=l&&l<=126?(e&&(i>0&&(o+=a.write(n.slice(0,i).toString("base64").replace(/\//g,",").replace(/=+$/,""),o),i=0),a[o++]=f,e=!1),e||(a[o++]=l,l===d&&(a[o++]=f))):(e||(a[o++]=d,e=!0),e&&(n[i++]=l>>8,n[i++]=255&l,i==n.length&&(o+=a.write(n.toString("base64").replace(/\//g,","),o),i=0)))}return this.inBase64=e,this.base64AccumIdx=i,a.slice(0,o)},g.prototype.end=function(){var t=new r(10),e=0;return this.inBase64&&(this.base64AccumIdx>0&&(e+=t.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),e),this.base64AccumIdx=0),t[e++]=f,this.inBase64=!1),t.slice(0,e)};var v=u.slice();v[",".charCodeAt(0)]=!0,y.prototype.write=function(t){for(var e="",n=0,i=this.inBase64,a=this.base64Accum,o=0;o<t.length;o++)if(i){if(!v[t[o]]){if(o==n&&t[o]==f)e+="&";else{var s=a+t.slice(n,o).toString().replace(/,/g,"/");e+=this.iconv.decode(new r(s,"base64"),"utf16-be")}t[o]!=f&&o--,n=o+1,i=!1,a=""}}else t[o]==d&&(e+=this.iconv.decode(t.slice(n,o),"ascii"),n=o+1,i=!0);if(i){var l=(s=a+t.slice(n).toString().replace(/,/g,"/")).length-s.length%8;a=s.slice(l),s=s.slice(0,l),e+=this.iconv.decode(new r(s,"base64"),"utf16-be")}else e+=this.iconv.decode(t.slice(n),"ascii");return this.inBase64=i,this.base64Accum=a,e},y.prototype.end=function(){var t="";return this.inBase64&&this.base64Accum.length>0&&(t=this.iconv.decode(new r(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",t}},function(t,e,n){"use strict";var r=n(1).Buffer;function i(t,e){if(!t)throw new Error("SBCS codec is called without the data.");if(!t.chars||128!==t.chars.length&&256!==t.chars.length)throw new Error("Encoding '"+t.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(128===t.chars.length){for(var n="",i=0;i<128;i++)n+=String.fromCharCode(i);t.chars=n+t.chars}this.decodeBuf=new r(t.chars,"ucs2");var a=new r(65536);a.fill(e.defaultCharSingleByte.charCodeAt(0));for(i=0;i<t.chars.length;i++)a[t.chars.charCodeAt(i)]=i;this.encodeBuf=a}function a(t,e){this.encodeBuf=e.encodeBuf}function o(t,e){this.decodeBuf=e.decodeBuf}e._sbcs=i,i.prototype.encoder=a,i.prototype.decoder=o,a.prototype.write=function(t){for(var e=new r(t.length),n=0;n<t.length;n++)e[n]=this.encodeBuf[t.charCodeAt(n)];return e},a.prototype.end=function(){},o.prototype.write=function(t){for(var e=this.decodeBuf,n=new r(2*t.length),i=0,a=0,o=0;o<t.length;o++)i=2*t[o],n[a=2*o]=e[i],n[a+1]=e[i+1];return n.toString("ucs2")},o.prototype.end=function(){}},function(t,e,n){"use strict";t.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ "},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",10000:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}},function(t,e,n){"use strict";t.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�ݰħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖרŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨͧĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ "},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ "},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ "},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ "},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ "},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ "},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ "},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ "},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ "},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖרÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ "},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"},maccyrillic:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},macgreek:{type:"_sbcs",chars:"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"},maciceland:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macroman:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macromania:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macthai:{type:"_sbcs",chars:"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู\ufeff​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"},macturkish:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"},macukraine:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},koi8r:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8u:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8ru:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8t:{type:"_sbcs",chars:"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},armscii8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"},rk1048:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},tcvn:{type:"_sbcs",chars:"\0ÚỤỪỬỮ\b\t\n\v\f\rỨỰỲỶỸÝỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},georgianacademy:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},georgianps:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},pt154:{type:"_sbcs",chars:"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},viscii:{type:"_sbcs",chars:"\0ẲẴẪ\b\t\n\v\f\rỶỸỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},iso646cn:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},iso646jp:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},hproman8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},macintosh:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},ascii:{type:"_sbcs",chars:"��������������������������������������������������������������������������������������������������������������������������������"},tis620:{type:"_sbcs",chars:"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}},function(t,e,n){"use strict";var r=n(1).Buffer;e._dbcs=u;for(var i=-1,a=-2,o=-1e3,s=new Array(256),l=0;l<256;l++)s[l]=i;function u(t,e){if(this.encodingName=t.encodingName,!t)throw new Error("DBCS codec is called without the data.");if(!t.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var n=t.table();this.decodeTables=[],this.decodeTables[0]=s.slice(0),this.decodeTableSeq=[];for(var r=0;r<n.length;r++)this._addDecodeChunk(n[r]);this.defaultCharUnicode=e.defaultCharUnicode,this.encodeTable=[],this.encodeTableSeq=[];var l={};if(t.encodeSkipVals)for(r=0;r<t.encodeSkipVals.length;r++){var u=t.encodeSkipVals[r];if("number"==typeof u)l[u]=!0;else for(var c=u.from;c<=u.to;c++)l[c]=!0}if(this._fillEncodeTable(0,0,l),t.encodeAdd)for(var h in t.encodeAdd)Object.prototype.hasOwnProperty.call(t.encodeAdd,h)&&this._setEncodeChar(h.charCodeAt(0),t.encodeAdd[h]);if(this.defCharSB=this.encodeTable[0][e.defaultCharSingleByte.charCodeAt(0)],this.defCharSB===i&&(this.defCharSB=this.encodeTable[0]["?"]),this.defCharSB===i&&(this.defCharSB="?".charCodeAt(0)),"function"==typeof t.gb18030){this.gb18030=t.gb18030();var f=this.decodeTables.length,d=this.decodeTables[f]=s.slice(0),p=this.decodeTables.length,g=this.decodeTables[p]=s.slice(0);for(r=129;r<=254;r++){var y=o-this.decodeTables[0][r],v=this.decodeTables[y];for(c=48;c<=57;c++)v[c]=o-f}for(r=129;r<=254;r++)d[r]=o-p;for(r=48;r<=57;r++)g[r]=a}}function c(t,e){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=e.encodeTable,this.encodeTableSeq=e.encodeTableSeq,this.defaultCharSingleByte=e.defCharSB,this.gb18030=e.gb18030}function h(t,e){this.nodeIdx=0,this.prevBuf=new r(0),this.decodeTables=e.decodeTables,this.decodeTableSeq=e.decodeTableSeq,this.defaultCharUnicode=e.defaultCharUnicode,this.gb18030=e.gb18030}function f(t,e){if(t[0]>e)return-1;for(var n=0,r=t.length;n<r-1;){var i=n+Math.floor((r-n+1)/2);t[i]<=e?n=i:r=i}return n}u.prototype.encoder=c,u.prototype.decoder=h,u.prototype._getDecodeTrieNode=function(t){for(var e=[];t>0;t>>=8)e.push(255&t);0==e.length&&e.push(0);for(var n=this.decodeTables[0],r=e.length-1;r>0;r--){var a=n[e[r]];if(a==i)n[e[r]]=o-this.decodeTables.length,this.decodeTables.push(n=s.slice(0));else{if(!(a<=o))throw new Error("Overwrite byte in "+this.encodingName+", addr: "+t.toString(16));n=this.decodeTables[o-a]}}return n},u.prototype._addDecodeChunk=function(t){var e=parseInt(t[0],16),n=this._getDecodeTrieNode(e);e&=255;for(var r=1;r<t.length;r++){var i=t[r];if("string"==typeof i)for(var a=0;a<i.length;){var o=i.charCodeAt(a++);if(55296<=o&&o<56320){var s=i.charCodeAt(a++);if(!(56320<=s&&s<57344))throw new Error("Incorrect surrogate pair in "+this.encodingName+" at chunk "+t[0]);n[e++]=65536+1024*(o-55296)+(s-56320)}else if(4080<o&&o<=4095){for(var l=4095-o+2,u=[],c=0;c<l;c++)u.push(i.charCodeAt(a++));n[e++]=-10-this.decodeTableSeq.length,this.decodeTableSeq.push(u)}else n[e++]=o}else{if("number"!=typeof i)throw new Error("Incorrect type '"+typeof i+"' given in "+this.encodingName+" at chunk "+t[0]);var h=n[e-1]+1;for(a=0;a<i;a++)n[e++]=h++}}if(e>255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+t[0]+": too long"+e)},u.prototype._getEncodeBucket=function(t){var e=t>>8;return void 0===this.encodeTable[e]&&(this.encodeTable[e]=s.slice(0)),this.encodeTable[e]},u.prototype._setEncodeChar=function(t,e){var n=this._getEncodeBucket(t),r=255&t;n[r]<=-10?this.encodeTableSeq[-10-n[r]][-1]=e:n[r]==i&&(n[r]=e)},u.prototype._setEncodeSequence=function(t,e){var n,r=t[0],a=this._getEncodeBucket(r),o=255&r;a[o]<=-10?n=this.encodeTableSeq[-10-a[o]]:(n={},a[o]!==i&&(n[-1]=a[o]),a[o]=-10-this.encodeTableSeq.length,this.encodeTableSeq.push(n));for(var s=1;s<t.length-1;s++){var l=n[r];"object"==typeof l?n=l:(n=n[r]={},void 0!==l&&(n[-1]=l))}n[r=t[t.length-1]]=e},u.prototype._fillEncodeTable=function(t,e,n){for(var r=this.decodeTables[t],i=0;i<256;i++){var a=r[i],s=e+i;n[s]||(a>=0?this._setEncodeChar(a,s):a<=o?this._fillEncodeTable(o-a,s<<8,n):a<=-10&&this._setEncodeSequence(this.decodeTableSeq[-10-a],s))}},c.prototype.write=function(t){for(var e=new r(t.length*(this.gb18030?4:3)),n=this.leadSurrogate,a=this.seqObj,o=-1,s=0,l=0;;){if(-1===o){if(s==t.length)break;var u=t.charCodeAt(s++)}else{u=o;o=-1}if(55296<=u&&u<57344)if(u<56320){if(-1===n){n=u;continue}n=u,u=i}else-1!==n?(u=65536+1024*(n-55296)+(u-56320),n=-1):u=i;else-1!==n&&(o=u,u=i,n=-1);var c=i;if(void 0!==a&&u!=i){var h=a[u];if("object"==typeof h){a=h;continue}"number"==typeof h?c=h:null==h&&void 0!==(h=a[-1])&&(c=h,o=u),a=void 0}else if(u>=0){var d=this.encodeTable[u>>8];if(void 0!==d&&(c=d[255&u]),c<=-10){a=this.encodeTableSeq[-10-c];continue}if(c==i&&this.gb18030){var p=f(this.gb18030.uChars,u);if(-1!=p){c=this.gb18030.gbChars[p]+(u-this.gb18030.uChars[p]);e[l++]=129+Math.floor(c/12600),c%=12600,e[l++]=48+Math.floor(c/1260),c%=1260,e[l++]=129+Math.floor(c/10),c%=10,e[l++]=48+c;continue}}}c===i&&(c=this.defaultCharSingleByte),c<256?e[l++]=c:c<65536?(e[l++]=c>>8,e[l++]=255&c):(e[l++]=c>>16,e[l++]=c>>8&255,e[l++]=255&c)}return this.seqObj=a,this.leadSurrogate=n,e.slice(0,l)},c.prototype.end=function(){if(-1!==this.leadSurrogate||void 0!==this.seqObj){var t=new r(10),e=0;if(this.seqObj){var n=this.seqObj[-1];void 0!==n&&(n<256?t[e++]=n:(t[e++]=n>>8,t[e++]=255&n)),this.seqObj=void 0}return-1!==this.leadSurrogate&&(t[e++]=this.defaultCharSingleByte,this.leadSurrogate=-1),t.slice(0,e)}},c.prototype.findIdx=f,h.prototype.write=function(t){var e=new r(2*t.length),n=this.nodeIdx,s=this.prevBuf,l=this.prevBuf.length,u=-this.prevBuf.length;l>0&&(s=r.concat([s,t.slice(0,10)]));for(var c=0,h=0;c<t.length;c++){var d,p=c>=0?t[c]:s[c+l];if((d=this.decodeTables[n][p])>=0);else if(d===i)c=u,d=this.defaultCharUnicode.charCodeAt(0);else if(d===a){var g=u>=0?t.slice(u,c+1):s.slice(u+l,c+1+l),y=12600*(g[0]-129)+1260*(g[1]-48)+10*(g[2]-129)+(g[3]-48),v=f(this.gb18030.gbChars,y);d=this.gb18030.uChars[v]+y-this.gb18030.gbChars[v]}else{if(d<=o){n=o-d;continue}if(!(d<=-10))throw new Error("iconv-lite internal error: invalid decoding table value "+d+" at "+n+"/"+p);for(var b=this.decodeTableSeq[-10-d],m=0;m<b.length-1;m++)d=b[m],e[h++]=255&d,e[h++]=d>>8;d=b[b.length-1]}if(d>65535){d-=65536;var w=55296+Math.floor(d/1024);e[h++]=255&w,e[h++]=w>>8,d=56320+d%1024}e[h++]=255&d,e[h++]=d>>8,n=0,u=c+1}return this.nodeIdx=n,this.prevBuf=u>=0?t.slice(u):s.slice(u+l),e.slice(0,h).toString("ucs2")},h.prototype.end=function(){for(var t="";this.prevBuf.length>0;){t+=this.defaultCharUnicode;var e=this.prevBuf.slice(1);this.prevBuf=new r(0),this.nodeIdx=0,e.length>0&&(t+=this.write(e))}return this.nodeIdx=0,t}},function(t,e,n){"use strict";t.exports={shiftjis:{type:"_dbcs",table:function(){return n(180)},encodeAdd:{"¥":92,"‾":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return n(181)},encodeAdd:{"¥":92,"‾":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return n(53)}},gbk:{type:"_dbcs",table:function(){return n(53).concat(n(91))}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return n(53).concat(n(91))},gb18030:function(){return n(182)},encodeSkipVals:[128],encodeAdd:{"€":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return n(183)}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return n(92)}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return n(92).concat(n(184))},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}},function(t,e){t.exports=[["0","\0",128],["a1","。",62],["8140"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×"],["8180","÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨¬⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","ʼn♯♭♪†‡¶"],["81fc","◯"],["824f","0",9],["8260","A",25],["8281","a",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"¬¦'""],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]},function(t,e){t.exports=[["0","\0",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]},function(t,e){t.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}},function(t,e){t.exports=[["0","\0",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛!",58,"₩]",32," ̄"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆÐªĦ"],["a8a6","IJ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]},function(t,e){t.exports=[["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー[]✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","¬¦'"㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","■"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]},function(t,e,n){"use strict";var r=n(1).Buffer,i=n(15).Transform;function a(t,e){this.conv=t,(e=e||{}).decodeStrings=!1,i.call(this,e)}function o(t,e){this.conv=t,(e=e||{}).encoding=this.encoding="utf8",i.call(this,e)}t.exports=function(t){t.encodeStream=function(e,n){return new a(t.getEncoder(e,n),n)},t.decodeStream=function(e,n){return new o(t.getDecoder(e,n),n)},t.supportsStreams=!0,t.IconvLiteEncoderStream=a,t.IconvLiteDecoderStream=o,t._collect=o.prototype.collect},(a.prototype=Object.create(i.prototype,{constructor:{value:a}}))._transform=function(t,e,n){if("string"!=typeof t)return n(new Error("Iconv encoding stream needs strings as its input."));try{var r=this.conv.write(t);r&&r.length&&this.push(r),n()}catch(t){n(t)}},a.prototype._flush=function(t){try{var e=this.conv.end();e&&e.length&&this.push(e),t()}catch(e){t(e)}},a.prototype.collect=function(t){var e=[];return this.on("error",t),this.on("data",function(t){e.push(t)}),this.on("end",function(){t(null,r.concat(e))}),this},(o.prototype=Object.create(i.prototype,{constructor:{value:o}}))._transform=function(t,e,n){if(!r.isBuffer(t))return n(new Error("Iconv decoding stream needs buffers as its input."));try{var i=this.conv.write(t);i&&i.length&&this.push(i,this.encoding),n()}catch(t){n(t)}},o.prototype._flush=function(t){try{var e=this.conv.end();e&&e.length&&this.push(e,this.encoding),t()}catch(e){t(e)}},o.prototype.collect=function(t){var e="";return this.on("error",t),this.on("data",function(t){e+=t}),this.on("end",function(){t(null,e)}),this}},function(t,e,n){"use strict";var r=n(1).Buffer;t.exports=function(t){var e=void 0;t.supportsNodeEncodingsExtension=!(new r(0)instanceof Uint8Array),t.extendNodeEncodings=function(){if(!e&&(e={},t.supportsNodeEncodingsExtension)){var i={hex:!0,utf8:!0,"utf-8":!0,ascii:!0,binary:!0,base64:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0};r.isNativeEncoding=function(t){return t&&i[t.toLowerCase()]};var a=n(1).SlowBuffer;if(e.SlowBufferToString=a.prototype.toString,a.prototype.toString=function(n,i,a){return n=String(n||"utf8").toLowerCase(),r.isNativeEncoding(n)?e.SlowBufferToString.call(this,n,i,a):(void 0===i&&(i=0),void 0===a&&(a=this.length),t.decode(this.slice(i,a),n))},e.SlowBufferWrite=a.prototype.write,a.prototype.write=function(n,i,a,o){if(isFinite(i))isFinite(a)||(o=a,a=void 0);else{var s=o;o=i,i=a,a=s}i=+i||0;var l=this.length-i;if(a?(a=+a)>l&&(a=l):a=l,o=String(o||"utf8").toLowerCase(),r.isNativeEncoding(o))return e.SlowBufferWrite.call(this,n,i,a,o);if(n.length>0&&(a<0||i<0))throw new RangeError("attempt to write beyond buffer bounds");var u=t.encode(n,o);return u.length<a&&(a=u.length),u.copy(this,i,0,a),a},e.BufferIsEncoding=r.isEncoding,r.isEncoding=function(e){return r.isNativeEncoding(e)||t.encodingExists(e)},e.BufferByteLength=r.byteLength,r.byteLength=a.byteLength=function(n,i){return i=String(i||"utf8").toLowerCase(),r.isNativeEncoding(i)?e.BufferByteLength.call(this,n,i):t.encode(n,i).length},e.BufferToString=r.prototype.toString,r.prototype.toString=function(n,i,a){return n=String(n||"utf8").toLowerCase(),r.isNativeEncoding(n)?e.BufferToString.call(this,n,i,a):(void 0===i&&(i=0),void 0===a&&(a=this.length),t.decode(this.slice(i,a),n))},e.BufferWrite=r.prototype.write,r.prototype.write=function(n,i,a,o){var s=i,l=a,u=o;if(isFinite(i))isFinite(a)||(o=a,a=void 0);else{var c=o;o=i,i=a,a=c}if(o=String(o||"utf8").toLowerCase(),r.isNativeEncoding(o))return e.BufferWrite.call(this,n,s,l,u);i=+i||0;var h=this.length-i;if(a?(a=+a)>h&&(a=h):a=h,n.length>0&&(a<0||i<0))throw new RangeError("attempt to write beyond buffer bounds");var f=t.encode(n,o);return f.length<a&&(a=f.length),f.copy(this,i,0,a),a},t.supportsStreams){var o=n(15).Readable;e.ReadableSetEncoding=o.prototype.setEncoding,o.prototype.setEncoding=function(e,n){this._readableState.decoder=t.getDecoder(e,n),this._readableState.encoding=e},o.prototype.collect=t._collect}}},t.undoExtendNodeEncodings=function(){if(t.supportsNodeEncodingsExtension){if(!e)throw new Error("require('iconv-lite').undoExtendNodeEncodings(): Nothing to undo; extendNodeEncodings() is not called.");delete r.isNativeEncoding;var i=n(1).SlowBuffer;if(i.prototype.toString=e.SlowBufferToString,i.prototype.write=e.SlowBufferWrite,r.isEncoding=e.BufferIsEncoding,r.byteLength=e.BufferByteLength,r.prototype.toString=e.BufferToString,r.prototype.write=e.BufferWrite,t.supportsStreams){var a=n(15).Readable;a.prototype.setEncoding=e.ReadableSetEncoding,delete a.prototype.collect}e=void 0}}}},function(t,e,n){(function(){var e,r,i,a,o,s,l={}.hasOwnProperty;e=n(93),a=n(22).Number,s=n(12),o=n(49).inspect,i=function(t){function n(){return n.__super__.constructor.apply(this,arguments)}return function(t,e){for(var n in e)l.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(n,e),n.prototype.decode=function(t,e){var n,i,o;return i=t.pos,n=s.resolveLength(this.length,t,e),this.length instanceof a&&(e={parent:e,_startOffset:i,_currentOffset:0,_length:n}),o=new r(this.type,n,t,e),t.pos+=n*this.type.size(null,e),o},n.prototype.size=function(t,e){return t instanceof r&&(t=t.toArray()),n.__super__.size.call(this,t,e)},n.prototype.encode=function(t,e,i){return e instanceof r&&(e=e.toArray()),n.__super__.encode.call(this,t,e,i)},n}(),r=function(){function t(t,e,n,r){this.type=t,this.length=e,this.stream=n,this.ctx=r,this.base=this.stream.pos,this.items=[]}return t.prototype.get=function(t){var e;if(!(t<0||t>=this.length))return null==this.items[t]&&(e=this.stream.pos,this.stream.pos=this.base+this.type.size(null,this.ctx)*t,this.items[t]=this.type.decode(this.stream,this.ctx),this.stream.pos=e),this.items[t]},t.prototype.toArray=function(){var t,e,n,r;for(r=[],t=e=0,n=this.length;e<n;t=e+=1)r.push(this.get(t));return r},t.prototype.inspect=function(){return o(this.toArray())},t}(),t.exports=i}).call(this)},function(t,e){(function(){var e;e=function(){function t(t,e){this.type=t,this.flags=null!=e?e:[]}return t.prototype.decode=function(t){var e,n,r,i,a,o,s;for(i=this.type.decode(t),r={},n=a=0,o=(s=this.flags).length;a<o;n=++a)null!=(e=s[n])&&(r[e]=!!(i&1<<n));return r},t.prototype.size=function(){return this.type.size()},t.prototype.encode=function(t,e){var n,r,i,a,o,s;for(i=0,r=a=0,o=(s=this.flags).length;a<o;r=++a)null!=(n=s[r])&&e[n]&&(i|=1<<r);return this.type.encode(t,i)},t}(),t.exports=e}).call(this)},function(t,e){(function(){var e;e=function(){function t(t){this.type=t}return t.prototype.decode=function(t,e){return!!this.type.decode(t,e)},t.prototype.size=function(t,e){return this.type.size(t,e)},t.prototype.encode=function(t,e,n){return this.type.encode(t,+e,n)},t}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r,i;i=n(12),r=n(22).Number,e=function(){function t(t){this.length=t}return t.prototype.decode=function(t,e){var n;return n=i.resolveLength(this.length,t,e),t.readBuffer(n)},t.prototype.size=function(t,e){return t?t.length:i.resolveLength(this.length,null,e)},t.prototype.encode=function(t,e,n){return this.length instanceof r&&this.length.encode(t,e.length),t.writeBuffer(e)},t}(),t.exports=e}).call(this)},function(t,e){(function(){var e;e=function(){function t(t,e){this.type=t,this.options=null!=e?e:[]}return t.prototype.decode=function(t){var e;return e=this.type.decode(t),this.options[e]||e},t.prototype.size=function(){return this.type.size()},t.prototype.encode=function(t,e){var n;if(-1===(n=this.options.indexOf(e)))throw new Error("Unknown option in enum: "+e);return this.type.encode(t,n)},t}(),t.exports=e}).call(this)},function(t,e){(function(){var e;e=function(){function t(t,e){this.type=t,this.condition=null==e||e}return t.prototype.decode=function(t,e){var n;if("function"==typeof(n=this.condition)&&(n=n.call(e,e)),n)return this.type.decode(t,e)},t.prototype.size=function(t,e){var n;return"function"==typeof(n=this.condition)&&(n=n.call(e,e)),n?this.type.size(t,e):0},t.prototype.encode=function(t,e,n){var r;if("function"==typeof(r=this.condition)&&(r=r.call(n,n)),r)return this.type.encode(t,e,n)},t}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r;r=n(12),e=function(){function t(t,e){this.type=t,this.count=null!=e?e:1}return t.prototype.decode=function(t,e){t.pos+=this.size(null,e)},t.prototype.size=function(t,e){var n;return n=r.resolveLength(this.count,null,e),this.type.size()*n},t.prototype.encode=function(t,e,n){return t.fill(0,this.size(e,n))},t}(),t.exports=e}).call(this)},function(t,e,n){(function(e){(function(){var r,i,a;r=n(22).Number,a=n(12),i=function(){function t(t,e){this.length=t,this.encoding=null!=e?e:"ascii"}return t.prototype.decode=function(t,e){var n,r,i,o,s;return i=function(){if(null!=this.length)return a.resolveLength(this.length,t,e);for(n=t.buffer,i=t.length,o=t.pos;o<i&&0!==n[o];)++o;return o-t.pos}.call(this),"function"==typeof(r=this.encoding)&&(r=r.call(e,e)||"ascii"),s=t.readString(i,r),null==this.length&&t.pos<t.length&&t.pos++,s},t.prototype.size=function(t,n){var i,o;return t?("function"==typeof(i=this.encoding)&&(i=i.call(null!=n?n.val:void 0,null!=n?n.val:void 0)||"ascii"),"utf16be"===i&&(i="utf16le"),o=e.byteLength(t,i),this.length instanceof r&&(o+=this.length.size()),null==this.length&&o++,o):a.resolveLength(this.length,null,n)},t.prototype.encode=function(t,n,i){var a;if("function"==typeof(a=this.encoding)&&(a=a.call(null!=i?i.val:void 0,null!=i?i.val:void 0)||"ascii"),this.length instanceof r&&this.length.encode(t,e.byteLength(n,a)),t.writeString(n,a),null==this.length)return t.writeUInt8(0)},t}(),t.exports=i}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){(function(){var e,r,i={}.hasOwnProperty;e=n(94),r=function(t){function n(t,e){this.type=t,this.versions=null!=e?e:{},"string"==typeof this.type&&(this.versionGetter=new Function("parent","return parent."+this.type),this.versionSetter=new Function("parent","version","return parent."+this.type+" = version"))}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(n,e),n.prototype.decode=function(t,e,r){var i,a,o;if(null==r&&(r=0),a=this._setup(t,e,r),"string"==typeof this.type?a.version=this.versionGetter(e):a.version=this.type.decode(t),this.versions.header&&this._parseFields(t,a,this.versions.header),null==(i=this.versions[a.version]))throw new Error("Unknown version "+a.version);return i instanceof n?i.decode(t,e):(this._parseFields(t,a,i),null!=(o=this.process)&&o.call(a,t),a)},n.prototype.size=function(t,e,n){var r,i,a,o,s,l;if(null==n&&(n=!0),!t)throw new Error("Not a fixed size");if(r={parent:e,val:t,pointerSize:0},o=0,"string"!=typeof this.type&&(o+=this.type.size(t.version,r)),this.versions.header)for(a in l=this.versions.header)null!=(s=l[a]).size&&(o+=s.size(t[a],r));if(null==(i=this.versions[t.version]))throw new Error("Unknown version "+t.version);for(a in i)null!=(s=i[a]).size&&(o+=s.size(t[a],r));return n&&(o+=r.pointerSize),o},n.prototype.encode=function(t,e,n){var r,i,a,o,s,l,u,c;if(null!=(u=this.preEncode)&&u.call(e,t),(r={pointers:[],startOffset:t.pos,parent:n,val:e,pointerSize:0}).pointerOffset=t.pos+this.size(e,r,!1),"string"!=typeof this.type&&this.type.encode(t,e.version),this.versions.header)for(o in c=this.versions.header)null!=(l=c[o]).encode&&l.encode(t,e[o],r);for(o in i=this.versions[e.version])null!=(l=i[o]).encode&&l.encode(t,e[o],r);for(a=0;a<r.pointers.length;)(s=r.pointers[a++]).type.encode(t,s.val,s.parent)},n}(),t.exports=r}).call(this)},function(t,e,n){(function(){var t,r,i;i=n(12),t=function(){function t(t,e,n){var r,i,a,o;this.offsetType=t,this.type=e,this.options=null!=n?n:{},"void"===this.type&&(this.type=null),null==(r=this.options).type&&(r.type="local"),null==(i=this.options).allowNull&&(i.allowNull=!0),null==(a=this.options).nullValue&&(a.nullValue=0),null==(o=this.options).lazy&&(o.lazy=!1),this.options.relativeTo&&(this.relativeToGetter=new Function("ctx","return ctx."+this.options.relativeTo))}return t.prototype.decode=function(t,e){var n,r,a,o,s,l,u;return(a=this.offsetType.decode(t,e))===this.options.nullValue&&this.options.allowNull?null:(s=function(){switch(this.options.type){case"local":return e._startOffset;case"immediate":return t.pos-this.offsetType.size();case"parent":return e.parent._startOffset;default:for(n=e;n.parent;)n=n.parent;return n._startOffset||0}}.call(this),this.options.relativeTo&&(s+=this.relativeToGetter(e)),o=a+s,null!=this.type?(l=null,u=this,r=function(){var n;return null!=l?l:(n=t.pos,t.pos=o,l=u.type.decode(t,e),t.pos=n,l)},this.options.lazy?new i.PropertyDescriptor({get:r}):r()):o)},t.prototype.size=function(t,e){var n,i;switch(n=e,this.options.type){case"local":case"immediate":break;case"parent":e=e.parent;break;default:for(;e.parent;)e=e.parent}if(null==(i=this.type)){if(!(t instanceof r))throw new Error("Must be a VoidPointer");i=t.type,t=t.value}return t&&e&&(e.pointerSize+=i.size(t,n)),this.offsetType.size()},t.prototype.encode=function(t,e,n){var i,a,o;if(i=n,null!=e){switch(this.options.type){case"local":a=n.startOffset;break;case"immediate":a=t.pos+this.offsetType.size(e,i);break;case"parent":a=(n=n.parent).startOffset;break;default:for(a=0;n.parent;)n=n.parent}if(this.options.relativeTo&&(a+=this.relativeToGetter(i.val)),this.offsetType.encode(t,n.pointerOffset-a),null==(o=this.type)){if(!(e instanceof r))throw new Error("Must be a VoidPointer");o=e.type,e=e.value}return n.pointers.push({type:o,val:e,parent:i}),n.pointerOffset+=o.size(e,i)}this.offsetType.encode(t,this.options.nullValue)},t}(),r=function(t,e){this.type=t,this.value=e},e.Pointer=t,e.VoidPointer=r}).call(this)},function(t,e,n){t.exports={default:n(198),__esModule:!0}},function(t,e,n){n(199);var r=n(2).Object;t.exports=function(t,e){return r.getOwnPropertyDescriptor(t,e)}},function(t,e,n){var r=n(17),i=n(57).f;n(59)("getOwnPropertyDescriptor",function(){return function(t,e){return i(r(t),e)}})},function(t,e,n){n(28),n(24),t.exports=n(208)},function(t,e,n){"use strict";var r=n(202),i=n(98),a=n(23),o=n(17);t.exports=n(61)(Array,"Array",function(t,e){this._t=o(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,n=this._i++;return!t||n>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?n:"values"==e?t[n]:[n,t[n]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e,n){"use strict";var r=n(36),i=n(27),a=n(39),o={};n(13)(o,n(4)("iterator"),function(){return this}),t.exports=function(t,e,n){t.prototype=r(o,{next:i(1,n)}),a(t,e+" Iterator")}},function(t,e,n){var r=n(17),i=n(37),a=n(102);t.exports=function(t){return function(e,n,o){var s,l=r(e),u=i(l.length),c=a(o,u);if(t&&n!=n){for(;u>c;)if((s=l[c++])!=s)return!0}else for(;u>c;c++)if((t||c in l)&&l[c]===n)return t||c||0;return!t&&-1}}},function(t,e,n){var r=n(10).document;t.exports=r&&r.documentElement},function(t,e,n){var r=n(18),i=n(30),a=n(64)("IE_PROTO"),o=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?o:null}},function(t,e,n){var r=n(63),i=n(56);t.exports=function(t){return function(e,n){var a,o,s=String(i(e)),l=r(n),u=s.length;return l<0||l>=u?t?"":void 0:(a=s.charCodeAt(l))<55296||a>56319||l+1===u||(o=s.charCodeAt(l+1))<56320||o>57343?t?s.charAt(l):a:t?s.slice(l,l+2):o-56320+(a-55296<<10)+65536}}},function(t,e,n){var r=n(14),i=n(67);t.exports=n(2).getIterator=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},function(t,e,n){t.exports={default:n(210),__esModule:!0}},function(t,e,n){n(211),t.exports=n(2).Object.freeze},function(t,e,n){var r=n(9),i=n(40).onFreeze;n(59)("freeze",function(t){return function(e){return t&&r(e)?t(i(e)):e}})},function(t,e,n){t.exports={default:n(213),__esModule:!0}},function(t,e,n){n(214),t.exports=n(2).Object.keys},function(t,e,n){var r=n(30),i=n(29);n(59)("keys",function(){return function(t){return i(r(t))}})},function(t,e,n){n(24),n(28),t.exports=n(70).f("iterator")},function(t,e,n){t.exports={default:n(217),__esModule:!0}},function(t,e,n){n(218),n(73),n(221),n(222),t.exports=n(2).Symbol},function(t,e,n){"use strict";var r=n(10),i=n(18),a=n(5),o=n(3),s=n(99),l=n(40).KEY,u=n(19),c=n(65),h=n(39),f=n(38),d=n(4),p=n(70),g=n(71),y=n(219),v=n(104),b=n(14),m=n(9),w=n(17),x=n(58),S=n(27),_=n(36),k=n(220),C=n(57),A=n(6),P=n(29),E=C.f,I=A.f,T=k.f,O=r.Symbol,L=r.JSON,B=L&&L.stringify,M="prototype",R=d("_hidden"),F=d("toPrimitive"),D={}.propertyIsEnumerable,z=c("symbol-registry"),N=c("symbols"),U=c("op-symbols"),W=Object[M],G="function"==typeof O,V=r.QObject,j=!V||!V[M]||!V[M].findChild,H=a&&u(function(){return 7!=_(I({},"a",{get:function(){return I(this,"a",{value:7}).a}})).a})?function(t,e,n){var r=E(W,e);r&&delete W[e],I(t,e,n),r&&t!==W&&I(W,e,r)}:I,q=function(t){var e=N[t]=_(O[M]);return e._k=t,e},Z=G&&"symbol"==typeof O.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof O},Y=function(t,e,n){return t===W&&Y(U,e,n),b(t),e=x(e,!0),b(n),i(N,e)?(n.enumerable?(i(t,R)&&t[R][e]&&(t[R][e]=!1),n=_(n,{enumerable:S(0,!1)})):(i(t,R)||I(t,R,S(1,{})),t[R][e]=!0),H(t,e,n)):I(t,e,n)},X=function(t,e){b(t);for(var n,r=y(e=w(e)),i=0,a=r.length;a>i;)Y(t,n=r[i++],e[n]);return t},K=function(t){var e=D.call(this,t=x(t,!0));return!(this===W&&i(N,t)&&!i(U,t))&&(!(e||!i(this,t)||!i(N,t)||i(this,R)&&this[R][t])||e)},J=function(t,e){if(t=w(t),e=x(e,!0),t!==W||!i(N,e)||i(U,e)){var n=E(t,e);return!n||!i(N,e)||i(t,R)&&t[R][e]||(n.enumerable=!0),n}},Q=function(t){for(var e,n=T(w(t)),r=[],a=0;n.length>a;)i(N,e=n[a++])||e==R||e==l||r.push(e);return r},$=function(t){for(var e,n=t===W,r=T(n?U:w(t)),a=[],o=0;r.length>o;)!i(N,e=r[o++])||n&&!i(W,e)||a.push(N[e]);return a};G||(s((O=function(){if(this instanceof O)throw TypeError("Symbol is not a constructor!");var t=f(arguments.length>0?arguments[0]:void 0),e=function(n){this===W&&e.call(U,n),i(this,R)&&i(this[R],t)&&(this[R][t]=!1),H(this,t,S(1,n))};return a&&j&&H(W,t,{configurable:!0,set:e}),q(t)})[M],"toString",function(){return this._k}),C.f=J,A.f=Y,n(105).f=k.f=Q,n(35).f=K,n(72).f=$,a&&!n(62)&&s(W,"propertyIsEnumerable",K,!0),p.f=function(t){return q(d(t))}),o(o.G+o.W+o.F*!G,{Symbol:O});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)d(tt[et++]);for(var nt=P(d.store),rt=0;nt.length>rt;)g(nt[rt++]);o(o.S+o.F*!G,"Symbol",{for:function(t){return i(z,t+="")?z[t]:z[t]=O(t)},keyFor:function(t){if(!Z(t))throw TypeError(t+" is not a symbol!");for(var e in z)if(z[e]===t)return e},useSetter:function(){j=!0},useSimple:function(){j=!1}}),o(o.S+o.F*!G,"Object",{create:function(t,e){return void 0===e?_(t):X(_(t),e)},defineProperty:Y,defineProperties:X,getOwnPropertyDescriptor:J,getOwnPropertyNames:Q,getOwnPropertySymbols:$}),L&&o(o.S+o.F*(!G||u(function(){var t=O();return"[null]"!=B([t])||"{}"!=B({a:t})||"{}"!=B(Object(t))})),"JSON",{stringify:function(t){for(var e,n,r=[t],i=1;arguments.length>i;)r.push(arguments[i++]);if(n=e=r[1],(m(e)||void 0!==t)&&!Z(t))return v(e)||(e=function(t,e){if("function"==typeof n&&(e=n.call(this,t,e)),!Z(e))return e}),r[1]=e,B.apply(L,r)}}),O[M][F]||n(13)(O[M],F,O[M].valueOf),h(O,"Symbol"),h(Math,"Math",!0),h(r.JSON,"JSON",!0)},function(t,e,n){var r=n(29),i=n(72),a=n(35);t.exports=function(t){var e=r(t),n=i.f;if(n)for(var o,s=n(t),l=a.f,u=0;s.length>u;)l.call(t,o=s[u++])&&e.push(o);return e}},function(t,e,n){var r=n(17),i=n(105).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return o&&"[object Window]"==a.call(t)?function(t){try{return i(t)}catch(t){return o.slice()}}(t):i(r(t))}},function(t,e,n){n(71)("asyncIterator")},function(t,e,n){n(71)("observable")},function(t,e,n){n(224);var r=n(2).Object;t.exports=function(t,e,n){return r.defineProperty(t,e,n)}},function(t,e,n){var r=n(3);r(r.S+r.F*!n(5),"Object",{defineProperty:n(6).f})},function(t,e,n){t.exports={default:n(226),__esModule:!0}},function(t,e,n){n(73),n(24),n(28),n(227),n(232),n(234),n(235),t.exports=n(2).Map},function(t,e,n){"use strict";var r=n(108),i=n(75);t.exports=n(113)("Map",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{get:function(t){var e=r.getEntry(i(this,"Map"),t);return e&&e.v},set:function(t,e){return r.def(i(this,"Map"),0===t?0:t,e)}},r,!0)},function(t,e,n){"use strict";var r=n(10),i=n(2),a=n(6),o=n(5),s=n(4)("species");t.exports=function(t){var e="function"==typeof i[t]?i[t]:r[t];o&&e&&!e[s]&&a.f(e,s,{configurable:!0,get:function(){return this}})}},function(t,e,n){var r=n(20),i=n(54),a=n(30),o=n(37),s=n(230);t.exports=function(t,e){var n=1==t,l=2==t,u=3==t,c=4==t,h=6==t,f=5==t||h,d=e||s;return function(e,s,p){for(var g,y,v=a(e),b=i(v),m=r(s,p,3),w=o(b.length),x=0,S=n?d(e,w):l?d(e,0):void 0;w>x;x++)if((f||x in b)&&(y=m(g=b[x],x,v),t))if(n)S[x]=y;else if(y)switch(t){case 3:return!0;case 5:return g;case 6:return x;case 2:S.push(g)}else if(c)return!1;return h?-1:u||c?c:S}}},function(t,e,n){var r=n(231);t.exports=function(t,e){return new(r(t))(e)}},function(t,e,n){var r=n(9),i=n(104),a=n(4)("species");t.exports=function(t){var e;return i(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)||(e=void 0),r(e)&&null===(e=e[a])&&(e=void 0)),void 0===e?Array:e}},function(t,e,n){var r=n(3);r(r.P+r.R,"Map",{toJSON:n(114)("Map")})},function(t,e,n){var r=n(41);t.exports=function(t,e){var n=[];return r(t,!1,n.push,n,e),n}},function(t,e,n){n(115)("Map")},function(t,e,n){n(116)("Map")},function(t,e,n){"use strict";e.__esModule=!0;var r,i=n(69),a=(r=i)&&r.__esModule?r:{default:r};e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,a.default)(e))&&"function"!=typeof e?t:e}},function(t,e,n){"use strict";e.__esModule=!0;var r=o(n(238)),i=o(n(242)),a=o(n(69));function o(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,a.default)(e)));t.prototype=(0,i.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(r.default?(0,r.default)(t,e):t.__proto__=e)}},function(t,e,n){t.exports={default:n(239),__esModule:!0}},function(t,e,n){n(240),t.exports=n(2).Object.setPrototypeOf},function(t,e,n){var r=n(3);r(r.S,"Object",{setPrototypeOf:n(241).set})},function(t,e,n){var r=n(9),i=n(14),a=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{(r=n(20)(Function.call,n(57).f(Object.prototype,"__proto__").set,2))(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,n){return a(t,n),e?t.__proto__=n:r(t,n),t}}({},!1):void 0),check:a}},function(t,e,n){t.exports={default:n(243),__esModule:!0}},function(t,e,n){n(244);var r=n(2).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,n){var r=n(3);r(r.S,"Object",{create:n(36)})},function(t,e,n){t.exports={default:n(246),__esModule:!0}},function(t,e,n){n(247);var r=n(2).Object;t.exports=function(t,e){return r.defineProperties(t,e)}},function(t,e,n){var r=n(3);r(r.S+r.F*!n(5),"Object",{defineProperties:n(100)})},function(t,e,n){var r=Array.prototype.slice,i=n(249),a=n(250),o=t.exports=function(t,e,n){return n||(n={}),t===e||(t instanceof Date&&e instanceof Date?t.getTime()===e.getTime():!t||!e||"object"!=typeof t&&"object"!=typeof e?n.strict?t===e:t==e:function(t,e,n){var u,c;if(s(t)||s(e))return!1;if(t.prototype!==e.prototype)return!1;if(a(t))return!!a(e)&&(t=r.call(t),e=r.call(e),o(t,e,n));if(l(t)){if(!l(e))return!1;if(t.length!==e.length)return!1;for(u=0;u<t.length;u++)if(t[u]!==e[u])return!1;return!0}try{var h=i(t),f=i(e)}catch(t){return!1}if(h.length!=f.length)return!1;for(h.sort(),f.sort(),u=h.length-1;u>=0;u--)if(h[u]!=f[u])return!1;for(u=h.length-1;u>=0;u--)if(c=h[u],!o(t[c],e[c],n))return!1;return typeof t==typeof e}(t,e,n))};function s(t){return null==t}function l(t){return!(!t||"object"!=typeof t||"number"!=typeof t.length)&&("function"==typeof t.copy&&"function"==typeof t.slice&&!(t.length>0&&"number"!=typeof t[0]))}},function(t,e){function n(t){var e=[];for(var n in t)e.push(n);return e}(t.exports="function"==typeof Object.keys?Object.keys:n).shim=n},function(t,e){var n="[object Arguments]"==function(){return Object.prototype.toString.call(arguments)}();function r(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function i(t){return t&&"object"==typeof t&&"number"==typeof t.length&&Object.prototype.hasOwnProperty.call(t,"callee")&&!Object.prototype.propertyIsEnumerable.call(t,"callee")||!1}(e=t.exports=n?r:i).supported=r,e.unsupported=i},function(t,e,n){t.exports={default:n(252),__esModule:!0}},function(t,e,n){n(253),t.exports=n(2).Object.assign},function(t,e,n){var r=n(3);r(r.S+r.F,"Object",{assign:n(254)})},function(t,e,n){"use strict";var r=n(29),i=n(72),a=n(35),o=n(30),s=n(54),l=Object.assign;t.exports=!l||n(19)(function(){var t={},e={},n=Symbol(),r="abcdefghijklmnopqrst";return t[n]=7,r.split("").forEach(function(t){e[t]=t}),7!=l({},t)[n]||Object.keys(l({},e)).join("")!=r})?function(t,e){for(var n=o(t),l=arguments.length,u=1,c=i.f,h=a.f;l>u;)for(var f,d=s(arguments[u++]),p=c?r(d).concat(c(d)):r(d),g=p.length,y=0;g>y;)h.call(d,f=p[y++])&&(n[f]=d[f]);return n}:l},function(t,e,n){t.exports={default:n(256),__esModule:!0}},function(t,e,n){n(257),t.exports=n(2).String.fromCodePoint},function(t,e,n){var r=n(3),i=n(102),a=String.fromCharCode,o=String.fromCodePoint;r(r.S+r.F*(!!o&&1!=o.length),"String",{fromCodePoint:function(t){for(var e,n=[],r=arguments.length,o=0;r>o;){if(e=+arguments[o++],i(e,1114111)!==e)throw RangeError(e+" is not a valid code point");n.push(e<65536?a(e):a(55296+((e-=65536)>>10),e%1024+56320))}return n.join("")}})},function(t,e,n){t.exports={default:n(259),__esModule:!0}},function(t,e,n){n(24),n(260),t.exports=n(2).Array.from},function(t,e,n){"use strict";var r=n(20),i=n(3),a=n(30),o=n(111),s=n(112),l=n(37),u=n(261),c=n(67);i(i.S+i.F*!n(262)(function(t){Array.from(t)}),"Array",{from:function(t){var e,n,i,h,f=a(t),d="function"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,y=void 0!==g,v=0,b=c(f);if(y&&(g=r(g,p>2?arguments[2]:void 0,2)),null==b||d==Array&&s(b))for(n=new d(e=l(f.length));e>v;v++)u(n,v,y?g(f[v],v):f[v]);else for(h=b.call(f),n=new d;!(i=h.next()).done;v++)u(n,v,y?o(h,g,[i.value,v],!0):i.value);return n.length=v,n}})},function(t,e,n){"use strict";var r=n(6),i=n(27);t.exports=function(t,e,n){e in t?r.f(t,e,i(0,n)):t[e]=n}},function(t,e,n){var r=n(4)("iterator"),i=!1;try{var a=[7][r]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var n=!1;try{var a=[7],o=a[r]();o.next=function(){return{done:n=!0}},a[r]=function(){return o},t(a)}catch(t){}return n}},function(t,e,n){t.exports={default:n(264),__esModule:!0}},function(t,e,n){n(73),n(24),n(28),n(265),n(266),n(267),n(268),t.exports=n(2).Set},function(t,e,n){"use strict";var r=n(108),i=n(75);t.exports=n(113)("Set",function(t){return function(){return t(this,arguments.length>0?arguments[0]:void 0)}},{add:function(t){return r.def(i(this,"Set"),t=0===t?0:t,t)}},r)},function(t,e,n){var r=n(3);r(r.P+r.R,"Set",{toJSON:n(114)("Set")})},function(t,e,n){n(115)("Set")},function(t,e,n){n(116)("Set")},function(t,e,n){(function(t){var r,i,a,o,s,l,u,c,h,f,d,p,g,y,v,b;p=n(43),y=n(270),b=new p(t("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","base64")),v=Math.log2||function(t){return Math.log(t)/Math.LN2},r=(g=function(t){return v(t)+1|0})(y.categories.length-1),o=g(y.combiningClasses.length-1),h=g(y.scripts.length-1),u=g(y.eaw.length-1),a=o+h+u+10,l=h+u+10,d=u+10,i=(1<<r)-1,s=(1<<o)-1,f=(1<<h)-1,c=(1<<u)-1,e.getCategory=function(t){var e;return e=b.get(t),y.categories[e>>a&i]},e.getCombiningClass=function(t){var e;return e=b.get(t),y.combiningClasses[e>>l&s]},e.getScript=function(t){var e;return e=b.get(t),y.scripts[e>>d&f]},e.getEastAsianWidth=function(t){var e;return e=b.get(t),y.eaw[e>>10&c]},e.getNumericValue=function(t){var e,n,r;if(0===(n=1023&(r=b.get(t))))return null;if(n<=50)return n-1;if(n<480)return((n>>4)-12)/(1+(15&n));if(n<768){for(r=(n>>5)-14,e=2+(31&n);e>0;)r*=10,e--;return r}for(r=(n>>2)-191,e=1+(3&n);e>0;)r*=60,e--;return r},e.isAlphabetic=function(t){var n;return"Lu"===(n=e.getCategory(t))||"Ll"===n||"Lt"===n||"Lm"===n||"Lo"===n||"Nl"===n},e.isDigit=function(t){return"Nd"===e.getCategory(t)},e.isPunctuation=function(t){var n;return"Pc"===(n=e.getCategory(t))||"Pd"===n||"Pe"===n||"Pf"===n||"Pi"===n||"Po"===n||"Ps"===n},e.isLowerCase=function(t){return"Ll"===e.getCategory(t)},e.isUpperCase=function(t){return"Lu"===e.getCategory(t)},e.isTitleCase=function(t){return"Lt"===e.getCategory(t)},e.isWhiteSpace=function(t){var n;return"Zs"===(n=e.getCategory(t))||"Zl"===n||"Zp"===n},e.isBaseForm=function(t){var n;return"Nd"===(n=e.getCategory(t))||"No"===n||"Nl"===n||"Lu"===n||"Ll"===n||"Lt"===n||"Lm"===n||"Lo"===n||"Me"===n||"Mc"===n},e.isMark=function(t){var n;return"Mn"===(n=e.getCategory(t))||"Me"===n||"Mc"===n}}).call(e,n(1).Buffer)},function(t,e){t.exports={categories:["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],combiningClasses:["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],scripts:["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Tirhuta","Siddham","Modi","Takri","Ahom","Warang_Citi","Pau_Cin_Hau","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Miao","Duployan","SignWriting","Mende_Kikakui"],eaw:["N","Na","A","W","H","F"]}},function(t,e,n){"use strict";function r(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var i=r(n(272)),a=r(n(60)),o=r(n(276)),s=r(n(277)),l=r(n(103)),u=r(n(106)),c=r(n(107)),h=function(){function t(e){u(this,t),this.stateTable=e.stateTable,this.accepting=e.accepting,this.tags=e.tags}return c(t,[{key:"match",value:function(t){var e=this;return o({},l,s.mark(function n(){var r,i,a,o,l,u;return s.wrap(function(n){for(;;)switch(n.prev=n.next){case 0:r=1,i=null,a=null,o=null,l=0;case 5:if(!(l<t.length)){n.next=21;break}if(u=t[l],o=r,0!==(r=e.stateTable[r][u])){n.next=15;break}if(!(null!=i&&null!=a&&a>=i)){n.next=13;break}return n.next=13,[i,a,e.tags[o]];case 13:r=e.stateTable[1][u],i=null;case 15:0!==r&&null==i&&(i=l),e.accepting[r]&&(a=l),0===r&&(r=1);case 18:l++,n.next=5;break;case 21:if(!(null!=i&&null!=a&&a>=i)){n.next=24;break}return n.next=24,[i,a,e.tags[r]];case 24:case"end":return n.stop()}},n,this)}))}},{key:"apply",value:function(t,e){var n=!0,r=!1,o=void 0;try{for(var s,l=a(this.match(t));!(n=(s=l.next()).done);n=!0){var u=i(s.value,3),c=u[0],h=u[1],f=u[2],d=!0,p=!1,g=void 0;try{for(var y,v=a(f);!(d=(y=v.next()).done);d=!0){var b=y.value;"function"==typeof e[b]&&e[b](c,h,t.slice(c,h+1))}}catch(t){p=!0,g=t}finally{try{!d&&v.return&&v.return()}finally{if(p)throw g}}}}catch(t){r=!0,o=t}finally{try{!n&&l.return&&l.return()}finally{if(r)throw o}}}}]),t}();t.exports=h},function(t,e,n){"use strict";e.__esModule=!0;var r=a(n(273)),i=a(n(60));function a(t){return t&&t.__esModule?t:{default:t}}e.default=function(t,e){if(Array.isArray(t))return t;if((0,r.default)(Object(t)))return function(t,e){var n=[],r=!0,a=!1,o=void 0;try{for(var s,l=(0,i.default)(t);!(r=(s=l.next()).done)&&(n.push(s.value),!e||n.length!==e);r=!0);}catch(t){a=!0,o=t}finally{try{!r&&l.return&&l.return()}finally{if(a)throw o}}return n}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(t,e,n){t.exports={default:n(274),__esModule:!0}},function(t,e,n){n(28),n(24),t.exports=n(275)},function(t,e,n){var r=n(68),i=n(4)("iterator"),a=n(23);t.exports=n(2).isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||a.hasOwnProperty(r(e))}},function(t,e,n){"use strict";e.__esModule=!0;var r,i=n(74),a=(r=i)&&r.__esModule?r:{default:r};e.default=function(t,e,n){return e in t?(0,a.default)(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}},function(t,e,n){t.exports=n(278)},function(t,e,n){var r=function(){return this}()||Function("return this")(),i=r.regeneratorRuntime&&Object.getOwnPropertyNames(r).indexOf("regeneratorRuntime")>=0,a=i&&r.regeneratorRuntime;if(r.regeneratorRuntime=void 0,t.exports=n(279),i)r.regeneratorRuntime=a;else try{delete r.regeneratorRuntime}catch(t){r.regeneratorRuntime=void 0}},function(t,e){!function(e){"use strict";var n,r=Object.prototype,i=r.hasOwnProperty,a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",l=a.toStringTag||"@@toStringTag",u="object"==typeof t,c=e.regeneratorRuntime;if(c)u&&(t.exports=c);else{(c=e.regeneratorRuntime=u?t.exports:{}).wrap=w;var h="suspendedStart",f="suspendedYield",d="executing",p="completed",g={},y={};y[o]=function(){return this};var v=Object.getPrototypeOf,b=v&&v(v(O([])));b&&b!==r&&i.call(b,o)&&(y=b);var m=k.prototype=S.prototype=Object.create(y);_.prototype=m.constructor=k,k.constructor=_,k[l]=_.displayName="GeneratorFunction",c.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===_||"GeneratorFunction"===(e.displayName||e.name))},c.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,k):(t.__proto__=k,l in t||(t[l]="GeneratorFunction")),t.prototype=Object.create(m),t},c.awrap=function(t){return{__await:t}},C(A.prototype),A.prototype[s]=function(){return this},c.AsyncIterator=A,c.async=function(t,e,n,r){var i=new A(w(t,e,n,r));return c.isGeneratorFunction(e)?i:i.next().then(function(t){return t.done?t.value:i.next()})},C(m),m[l]="Generator",m[o]=function(){return this},m.toString=function(){return"[object Generator]"},c.keys=function(t){var e=[];for(var n in t)e.push(n);return e.reverse(),function n(){for(;e.length;){var r=e.pop();if(r in t)return n.value=r,n.done=!1,n}return n.done=!0,n}},c.values=O,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=n,this.done=!1,this.delegate=null,this.method="next",this.arg=n,this.tryEntries.forEach(I),!t)for(var e in this)"t"===e.charAt(0)&&i.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=n)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function r(r,i){return s.type="throw",s.arg=t,e.next=r,i&&(e.method="next",e.arg=n),!!i}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var l=i.call(o,"catchLoc"),u=i.call(o,"finallyLoc");if(l&&u){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&i.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var a=r;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=t,o.arg=e,a?(this.method="next",this.next=a.finallyLoc,g):this.complete(o)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),g},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.finallyLoc===t)return this.complete(n.completion,n.afterLoc),I(n),g}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var n=this.tryEntries[e];if(n.tryLoc===t){var r=n.completion;if("throw"===r.type){var i=r.arg;I(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:O(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=n),g}}}function w(t,e,n,r){var i,a,o,s,l=e&&e.prototype instanceof S?e:S,u=Object.create(l.prototype),c=new T(r||[]);return u._invoke=(i=t,a=n,o=c,s=h,function(t,e){if(s===d)throw new Error("Generator is already running");if(s===p){if("throw"===t)throw e;return L()}for(o.method=t,o.arg=e;;){var n=o.delegate;if(n){var r=P(n,o);if(r){if(r===g)continue;return r}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if(s===h)throw s=p,o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);s=d;var l=x(i,a,o);if("normal"===l.type){if(s=o.done?p:f,l.arg===g)continue;return{value:l.arg,done:o.done}}"throw"===l.type&&(s=p,o.method="throw",o.arg=l.arg)}}),u}function x(t,e,n){try{return{type:"normal",arg:t.call(e,n)}}catch(t){return{type:"throw",arg:t}}}function S(){}function _(){}function k(){}function C(t){["next","throw","return"].forEach(function(e){t[e]=function(t){return this._invoke(e,t)}})}function A(t){var e;this._invoke=function(n,r){function a(){return new Promise(function(e,a){!function e(n,r,a,o){var s=x(t[n],t,r);if("throw"!==s.type){var l=s.arg,u=l.value;return u&&"object"==typeof u&&i.call(u,"__await")?Promise.resolve(u.__await).then(function(t){e("next",t,a,o)},function(t){e("throw",t,a,o)}):Promise.resolve(u).then(function(t){l.value=t,a(l)},o)}o(s.arg)}(n,r,e,a)})}return e=e?e.then(a,a):a()}}function P(t,e){var r=t.iterator[e.method];if(r===n){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=n,P(t,e),"throw"===e.method))return g;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return g}var i=x(r,t.iterator,e.arg);if("throw"===i.type)return e.method="throw",e.arg=i.arg,e.delegate=null,g;var a=i.arg;return a?a.done?(e[t.resultName]=a.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=n),e.delegate=null,g):a:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,g)}function E(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function I(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(E,this),this.reset(!0)}function O(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var r=-1,a=function e(){for(;++r<t.length;)if(i.call(t,r))return e.value=t[r],e.done=!1,e;return e.value=n,e.done=!0,e};return a.next=a}}return{next:L}}function L(){return{value:n,done:!0}}}(function(){return this}()||Function("return this")())},function(t,e,n){t.exports={default:n(281),__esModule:!0}},function(t,e,n){n(282),t.exports=Math.pow(2,-52)},function(t,e,n){var r=n(3);r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},function(t,e,n){(function(e){var n=function(){"use strict";function t(n,i,a,o){"object"==typeof i&&(a=i.depth,o=i.prototype,i.filter,i=i.circular);var s=[],l=[],u=void 0!==e;return void 0===i&&(i=!0),void 0===a&&(a=1/0),function n(a,c){if(null===a)return null;if(0==c)return a;var h,f;if("object"!=typeof a)return a;if(t.__isArray(a))h=[];else if(t.__isRegExp(a))h=new RegExp(a.source,r(a)),a.lastIndex&&(h.lastIndex=a.lastIndex);else if(t.__isDate(a))h=new Date(a.getTime());else{if(u&&e.isBuffer(a))return h=new e(a.length),a.copy(h),h;void 0===o?(f=Object.getPrototypeOf(a),h=Object.create(f)):(h=Object.create(o),f=o)}if(i){var d=s.indexOf(a);if(-1!=d)return l[d];s.push(a),l.push(h)}for(var p in a){var g;f&&(g=Object.getOwnPropertyDescriptor(f,p)),g&&null==g.set||(h[p]=n(a[p],c-1))}return h}(n,a)}function n(t){return Object.prototype.toString.call(t)}function r(t){var e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),e}return t.clonePrototype=function(t){if(null===t)return null;var e=function(){};return e.prototype=t,new e},t.__objToStr=n,t.__isDate=function(t){return"object"==typeof t&&"[object Date]"===n(t)},t.__isArray=function(t){return"object"==typeof t&&"[object Array]"===n(t)},t.__isRegExp=function(t){return"object"==typeof t&&"[object RegExp]"===n(t)},t.__getRegExpFlags=r,t}();"object"==typeof t&&t.exports&&(t.exports=n)}).call(e,n(1).Buffer)},function(t,e,n){t.exports=n(117).BrotliDecompressBuffer},function(t,e){var n=8224,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(n),this.input_=t,this.reset()}i.READ_SIZE=4096,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,e=this.input_.read(this.buf_,t,4096);if(e<0)throw new Error("Unexpected end of input");if(e<4096){this.eos_=1;for(var n=0;n<32;n++)this.buf_[t+e+n]=0}if(0===t){for(n=0;n<32;n++)this.buf_[8192+n]=this.buf_[n];this.buf_ptr_=4096}else this.buf_ptr_=0;this.bit_end_pos_+=e<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},function(t,e,n){var r=n(287);n(8);e.init=function(){return(0,n(117).BrotliDecompressBuffer)(r.toByteArray(n(288)))}},function(t,e,n){"use strict";e.byteLength=function(t){return 3*t.length/4-u(t)},e.toByteArray=function(t){var e,n,r,o,s,l=t.length;o=u(t),s=new a(3*l/4-o),n=o>0?l-4:l;var c=0;for(e=0;e<n;e+=4)r=i[t.charCodeAt(e)]<<18|i[t.charCodeAt(e+1)]<<12|i[t.charCodeAt(e+2)]<<6|i[t.charCodeAt(e+3)],s[c++]=r>>16&255,s[c++]=r>>8&255,s[c++]=255&r;2===o?(r=i[t.charCodeAt(e)]<<2|i[t.charCodeAt(e+1)]>>4,s[c++]=255&r):1===o&&(r=i[t.charCodeAt(e)]<<10|i[t.charCodeAt(e+1)]<<4|i[t.charCodeAt(e+2)]>>2,s[c++]=r>>8&255,s[c++]=255&r);return s},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a="",o=[],s=0,l=n-i;s<l;s+=16383)o.push(c(t,s,s+16383>l?l:s+16383));1===i?(e=t[n-1],a+=r[e>>2],a+=r[e<<4&63],a+="=="):2===i&&(e=(t[n-2]<<8)+t[n-1],a+=r[e>>10],a+=r[e>>4&63],a+=r[e<<2&63],a+="=");return o.push(a),o.join("")};for(var r=[],i=[],a="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=o.length;s<l;++s)r[s]=o[s],i[o.charCodeAt(s)]=s;function u(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[e-2]?2:"="===t[e-1]?1:0}function c(t,e,n){for(var i,a,o=[],s=e;s<n;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(r[(a=i)>>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},function(t,e){t.exports="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"},function(t,e){e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},function(t,e){function n(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new n(1,2),new n(5,2),new n(9,2),new n(13,2),new n(17,3),new n(25,3),new n(33,3),new n(41,3),new n(49,4),new n(65,4),new n(81,4),new n(97,4),new n(113,5),new n(145,5),new n(177,5),new n(209,5),new n(241,6),new n(305,6),new n(369,7),new n(497,8),new n(753,9),new n(1265,10),new n(2289,11),new n(4337,12),new n(8433,13),new n(16625,24)],e.kInsertLengthPrefixCode=[new n(0,0),new n(1,0),new n(2,0),new n(3,0),new n(4,0),new n(5,0),new n(6,1),new n(8,1),new n(10,2),new n(14,2),new n(18,3),new n(26,3),new n(34,4),new n(50,4),new n(66,5),new n(98,5),new n(130,6),new n(194,7),new n(322,8),new n(578,9),new n(1090,10),new n(2114,12),new n(6210,14),new n(22594,24)],e.kCopyLengthPrefixCode=[new n(2,0),new n(3,0),new n(4,0),new n(5,0),new n(6,0),new n(7,0),new n(8,0),new n(9,0),new n(10,1),new n(12,1),new n(14,2),new n(18,2),new n(22,3),new n(30,3),new n(38,4),new n(54,4),new n(70,5),new n(102,5),new n(134,6),new n(198,7),new n(326,8),new n(582,9),new n(1094,10),new n(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},function(t,e,n){var r=n(119);function i(t,e,n){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(n.length);for(var r=0;r<t.length;r++)this.prefix[r]=t.charCodeAt(r);for(r=0;r<n.length;r++)this.suffix[r]=n.charCodeAt(r)}var a=[new i("",0,""),new i("",0," "),new i(" ",0," "),new i("",12,""),new i("",10," "),new i("",0," the "),new i(" ",0,""),new i("s ",0," "),new i("",0," of "),new i("",10,""),new i("",0," and "),new i("",13,""),new i("",1,""),new i(", ",0," "),new i("",0,", "),new i(" ",10," "),new i("",0," in "),new i("",0," to "),new i("e ",0," "),new i("",0,'"'),new i("",0,"."),new i("",0,'">'),new i("",0,"\n"),new i("",3,""),new i("",0,"]"),new i("",0," for "),new i("",14,""),new i("",2,""),new i("",0," a "),new i("",0," that "),new i(" ",10,""),new i("",0,". "),new i(".",0,""),new i(" ",0,", "),new i("",15,""),new i("",0," with "),new i("",0,"'"),new i("",0," from "),new i("",0," by "),new i("",16,""),new i("",17,""),new i(" the ",0,""),new i("",4,""),new i("",0,". The "),new i("",11,""),new i("",0," on "),new i("",0," as "),new i("",0," is "),new i("",7,""),new i("",1,"ing "),new i("",0,"\n\t"),new i("",0,":"),new i(" ",0,". "),new i("",0,"ed "),new i("",20,""),new i("",18,""),new i("",6,""),new i("",0,"("),new i("",10,", "),new i("",8,""),new i("",0," at "),new i("",0,"ly "),new i(" the ",0," of "),new i("",5,""),new i("",9,""),new i(" ",10,", "),new i("",10,'"'),new i(".",0,"("),new i("",11," "),new i("",10,'">'),new i("",0,'="'),new i(" ",0,"."),new i(".com/",0,""),new i(" the ",0," of the "),new i("",10,"'"),new i("",0,". This "),new i("",0,","),new i(".",0," "),new i("",10,"("),new i("",10,"."),new i("",0," not "),new i(" ",0,'="'),new i("",0,"er "),new i(" ",11," "),new i("",0,"al "),new i(" ",11,""),new i("",0,"='"),new i("",11,'"'),new i("",10,". "),new i(" ",0,"("),new i("",0,"ful "),new i(" ",10,". "),new i("",0,"ive "),new i("",0,"less "),new i("",11,"'"),new i("",0,"est "),new i(" ",10,"."),new i("",11,'">'),new i(" ",0,"='"),new i("",10,","),new i("",0,"ize "),new i("",11,"."),new i(" ",0,""),new i(" ",0,","),new i("",10,'="'),new i("",11,'="'),new i("",0,"ous "),new i("",11,", "),new i("",10,"='"),new i(" ",10,","),new i(" ",11,'="'),new i(" ",11,", "),new i("",11,","),new i("",11,"("),new i("",11,". "),new i(" ",11,"."),new i("",11,"='"),new i(" ",11,". "),new i(" ",10,'="'),new i(" ",11,"='"),new i(" ",10,"='")];function o(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,n,i,s){var l,u=a[s].prefix,c=a[s].suffix,h=a[s].transform,f=h<12?0:h-11,d=0,p=e;f>i&&(f=i);for(var g=0;g<u.length;)t[e++]=u[g++];for(n+=f,i-=f,h<=9&&(i-=h),d=0;d<i;d++)t[e++]=r.dictionary[n+d];if(l=e-i,10===h)o(t,l);else if(11===h)for(;i>0;){var y=o(t,l);l+=y,i-=y}for(var v=0;v<c.length;)t[e++]=c[v++];return e-p}},function(t,e,n){(function(e){(function(){var r,i,a,o,s={}.hasOwnProperty;r=n(293),i=n(50),o=n(8),a=function(t){var n;function a(t,e,i){var a;this.document=t,this.name=e,this.id=i,this.font=new r(n[this.name]()),a=this.font,this.ascender=a.ascender,this.descender=a.descender,this.bbox=a.bbox,this.lineGap=a.lineGap}return function(t,e){for(var n in e)s.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(a,i),a.prototype.embed=function(){return this.dictionary.data={Type:"Font",BaseFont:this.name,Subtype:"Type1",Encoding:"WinAnsiEncoding"},this.dictionary.end()},a.prototype.encode=function(t){var e,n,r,i,a,o,s,l;for(n=this.font.encodeText(t),i=this.font.glyphsForString(""+t),e=this.font.advancesForGlyphs(i),l=[],a=o=0,s=i.length;o<s;a=++o)r=i[a],l.push({xAdvance:e[a],yAdvance:0,xOffset:0,yOffset:0,advanceWidth:this.font.widthOfGlyph(r)});return[n,l]},a.prototype.widthOfString=function(t,e){var n,r,i,a,o;for(r=this.font.glyphsForString(""+t),o=0,i=0,a=(n=this.font.advancesForGlyphs(r)).length;i<a;i++)o+=n[i];return o*(e/1e3)},a.isStandardFont=function(t){return t in n},n={Courier:function(){return o.readFileSync(e+"/../font/data/Courier.afm","utf8")},"Courier-Bold":function(){return o.readFileSync(e+"/../font/data/Courier-Bold.afm","utf8")},"Courier-Oblique":function(){return o.readFileSync(e+"/../font/data/Courier-Oblique.afm","utf8")},"Courier-BoldOblique":function(){return o.readFileSync(e+"/../font/data/Courier-BoldOblique.afm","utf8")},Helvetica:function(){return o.readFileSync(e+"/../font/data/Helvetica.afm","utf8")},"Helvetica-Bold":function(){return o.readFileSync(e+"/../font/data/Helvetica-Bold.afm","utf8")},"Helvetica-Oblique":function(){return o.readFileSync(e+"/../font/data/Helvetica-Oblique.afm","utf8")},"Helvetica-BoldOblique":function(){return o.readFileSync(e+"/../font/data/Helvetica-BoldOblique.afm","utf8")},"Times-Roman":function(){return o.readFileSync(e+"/../font/data/Times-Roman.afm","utf8")},"Times-Bold":function(){return o.readFileSync(e+"/../font/data/Times-Bold.afm","utf8")},"Times-Italic":function(){return o.readFileSync(e+"/../font/data/Times-Italic.afm","utf8")},"Times-BoldItalic":function(){return o.readFileSync(e+"/../font/data/Times-BoldItalic.afm","utf8")},Symbol:function(){return o.readFileSync(e+"/../font/data/Symbol.afm","utf8")},ZapfDingbats:function(){return o.readFileSync(e+"/../font/data/ZapfDingbats.afm","utf8")}},a}(),t.exports=a}).call(this)}).call(e,"/")},function(t,e,n){(function(){var e,r;r=n(8),e=function(){var t,e;function n(t){var n,r;this.contents=t,this.attributes={},this.glyphWidths={},this.boundingBoxes={},this.kernPairs={},this.parse(),this.charWidths=function(){var t,n;for(n=[],r=t=0;t<=255;r=++t)n.push(this.glyphWidths[e[r]]);return n}.call(this),this.bbox=function(){var t,e,r,i;for(i=[],t=0,e=(r=this.attributes.FontBBox.split(/\s+/)).length;t<e;t++)n=r[t],i.push(+n);return i}.call(this),this.ascender=+(this.attributes.Ascender||0),this.descender=+(this.attributes.Descender||0),this.lineGap=this.bbox[3]-this.bbox[1]-(this.ascender-this.descender)}return n.open=function(t){return new n(r.readFileSync(t,"utf8"))},n.prototype.parse=function(){var t,e,n,r,i,a,o,s,l,u;for(l="",e=0,r=(s=this.contents.split("\n")).length;e<r;e++)if(a=(i=s[e]).match(/^Start(\w+)/))l=a[1];else if(a=i.match(/^End(\w+)/))l="";else switch(l){case"FontMetrics":n=(a=i.match(/(^\w+)\s+(.*)/))[1],u=a[2],(t=this.attributes[n])?(Array.isArray(t)||(t=this.attributes[n]=[t]),t.push(u)):this.attributes[n]=u;break;case"CharMetrics":if(!/^CH?\s/.test(i))continue;o=i.match(/\bN\s+(\.?\w+)\s*;/)[1],this.glyphWidths[o]=+i.match(/\bWX\s+(\d+)\s*;/)[1];break;case"KernPairs":(a=i.match(/^KPX\s+(\.?\w+)\s+(\.?\w+)\s+(-?\d+)/))&&(this.kernPairs[a[1]+"\0"+a[2]]=parseInt(a[3]))}},t={402:131,8211:150,8212:151,8216:145,8217:146,8218:130,8220:147,8221:148,8222:132,8224:134,8225:135,8226:149,8230:133,8364:128,8240:137,8249:139,8250:155,710:136,8482:153,338:140,339:156,732:152,352:138,353:154,376:159,381:142,382:158},n.prototype.encodeText=function(e){var n,r,i,a,o;for(o=[],r=i=0,a=e.length;0<=a?i<a:i>a;r=0<=a?++i:--i)n=e.charCodeAt(r),n=t[n]||n,o.push(n.toString(16));return o},n.prototype.glyphsForString=function(t){var e,n,r,i,a;for(n=[],r=i=0,a=t.length;0<=a?i<a:i>a;r=0<=a?++i:--i)e=t.charCodeAt(r),n.push(this.characterToGlyph(e));return n},n.prototype.characterToGlyph=function(n){return e[t[n]||n]||".notdef"},n.prototype.widthOfGlyph=function(t){return this.glyphWidths[t]||0},n.prototype.getKernPair=function(t,e){return this.kernPairs[t+"\0"+e]||0},n.prototype.advancesForGlyphs=function(t){var e,n,r,i,a,o;for(e=[],n=r=0,a=t.length;r<a;n=++r)i=t[n],o=t[n+1],e.push(this.widthOfGlyph(i)+this.getKernPair(i,o));return e},e=".notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n\nspace         exclam         quotedbl       numbersign\ndollar        percent        ampersand      quotesingle\nparenleft     parenright     asterisk       plus\ncomma         hyphen         period         slash\nzero          one            two            three\nfour          five           six            seven\neight         nine           colon          semicolon\nless          equal          greater        question\n\nat            A              B              C\nD             E              F              G\nH             I              J              K\nL             M              N              O\nP             Q              R              S\nT             U              V              W\nX             Y              Z              bracketleft\nbackslash     bracketright   asciicircum    underscore\n\ngrave         a              b              c\nd             e              f              g\nh             i              j              k\nl             m              n              o\np             q              r              s\nt             u              v              w\nx             y              z              braceleft\nbar           braceright     asciitilde     .notdef\n\nEuro          .notdef        quotesinglbase florin\nquotedblbase  ellipsis       dagger         daggerdbl\ncircumflex    perthousand    Scaron         guilsinglleft\nOE            .notdef        Zcaron         .notdef\n.notdef       quoteleft      quoteright     quotedblleft\nquotedblright bullet         endash         emdash\ntilde         trademark      scaron         guilsinglright\noe            .notdef        zcaron         ydieresis\n\nspace         exclamdown     cent           sterling\ncurrency      yen            brokenbar      section\ndieresis      copyright      ordfeminine    guillemotleft\nlogicalnot    hyphen         registered     macron\ndegree        plusminus      twosuperior    threesuperior\nacute         mu             paragraph      periodcentered\ncedilla       onesuperior    ordmasculine   guillemotright\nonequarter    onehalf        threequarters  questiondown\n\nAgrave        Aacute         Acircumflex    Atilde\nAdieresis     Aring          AE             Ccedilla\nEgrave        Eacute         Ecircumflex    Edieresis\nIgrave        Iacute         Icircumflex    Idieresis\nEth           Ntilde         Ograve         Oacute\nOcircumflex   Otilde         Odieresis      multiply\nOslash        Ugrave         Uacute         Ucircumflex\nUdieresis     Yacute         Thorn          germandbls\n\nagrave        aacute         acircumflex    atilde\nadieresis     aring          ae             ccedilla\negrave        eacute         ecircumflex    edieresis\nigrave        iacute         icircumflex    idieresis\neth           ntilde         ograve         oacute\nocircumflex   otilde         odieresis      divide\noslash        ugrave         uacute         ucircumflex\nudieresis     yacute         thorn          ydieresis".split(/\s+/),n}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r,i={}.hasOwnProperty,a=[].slice;r=n(50),n(26),e=function(t){var e;function n(t,e,n){this.document=t,this.font=e,this.id=n,this.subset=this.font.createSubset(),this.unicode=[[0]],this.widths=[this.font.getGlyph(0).advanceWidth],this.name=this.font.postscriptName,this.scale=1e3/this.font.unitsPerEm,this.ascender=this.font.ascent*this.scale,this.descender=this.font.descent*this.scale,this.lineGap=this.font.lineGap*this.scale,this.bbox=this.font.bbox,this.layoutCache=Object.create(null)}return function(t,e){for(var n in e)i.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(n,r),n.prototype.layoutRun=function(t,e){var n,r,i,a,o,s,l;for(n=r=0,a=(s=(l=this.font.layout(t,e)).positions).length;r<a;n=++r){for(i in o=s[n])o[i]*=this.scale;o.advanceWidth=l.glyphs[n].advanceWidth*this.scale}return l},n.prototype.layoutCached=function(t){var e,n;return(e=this.layoutCache[t])?e:(n=this.layoutRun(t),this.layoutCache[t]=n,n)},n.prototype.layout=function(t,e,n){var r,i,a,o,s,l,u;if(null==n&&(n=!1),e)return this.layoutRun(t,e);for(i=n?null:[],s=n?null:[],r=0,o=0,a=0;a<=t.length;)a===t.length&&o<a||" "===(l=t.charAt(a))||"\t"===l?(u=this.layoutCached(t.slice(o,++a)),n||(i.push.apply(i,u.glyphs),s.push.apply(s,u.positions)),r+=u.advanceWidth,o=a):a++;return{glyphs:i,positions:s,advanceWidth:r}},n.prototype.encode=function(t,e){var n,r,i,a,o,s,l,u,c,h,f;for(o=(h=this.layout(t,e)).glyphs,c=h.positions,f=[],s=l=0,u=o.length;l<u;s=++l)a=o[s],i=this.subset.includeGlyph(a.id),f.push(("0000"+i.toString(16)).slice(-4)),null==(n=this.widths)[i]&&(n[i]=a.advanceWidth*this.scale),null==(r=this.unicode)[i]&&(r[i]=a.codePoints);return[f,c]},n.prototype.widthOfString=function(t,e,n){return this.layout(t,n,!0).advanceWidth*(e/1e3)},n.prototype.embed=function(){var t,e,n,r,i,a,o,s,l;return o=null!=this.subset.cff,a=this.document.ref(),o&&(a.data.Subtype="CIDFontType0C"),this.subset.encodeStream().pipe(a),r=((null!=(l=this.font["OS/2"])?l.sFamilyClass:void 0)||0)>>8,i=0,this.font.post.isFixedPitch&&(i|=1),1<=r&&r<=7&&(i|=2),i|=4,10===r&&(i|=8),this.font.head.macStyle.italic&&(i|=64),s=function(){var t,e;for(e=[],t=0;t<6;++t)e.push(String.fromCharCode(26*Math.random()+65));return e}().join("")+"+"+this.font.postscriptName,t=this.font.bbox,n=this.document.ref({Type:"FontDescriptor",FontName:s,Flags:i,FontBBox:[t.minX*this.scale,t.minY*this.scale,t.maxX*this.scale,t.maxY*this.scale],ItalicAngle:this.font.italicAngle,Ascent:this.ascender,Descent:this.descender,CapHeight:(this.font.capHeight||this.font.ascent)*this.scale,XHeight:(this.font.xHeight||0)*this.scale,StemV:0}),o?n.data.FontFile3=a:n.data.FontFile2=a,n.end(),(e=this.document.ref({Type:"Font",Subtype:o?"CIDFontType0":"CIDFontType2",BaseFont:s,CIDSystemInfo:{Registry:new String("Adobe"),Ordering:new String("Identity"),Supplement:0},FontDescriptor:n,W:[0,this.widths]})).end(),this.dictionary.data={Type:"Font",Subtype:"Type0",BaseFont:s,Encoding:"Identity-H",DescendantFonts:[e],ToUnicode:this.toUnicodeCmap()},this.dictionary.end()},e=function(){var t,e;return e=1<=arguments.length?a.call(arguments,0):[],function(){var n,r,i;for(i=[],n=0,r=e.length;n<r;n++)t=e[n],i.push(("0000"+t.toString(16)).slice(-4));return i}().join("")},n.prototype.toUnicodeCmap=function(){var t,n,r,i,a,o,s,l,u,c;for(t=this.document.ref(),i=[],a=0,s=(u=this.unicode).length;a<s;a++){for(r=[],o=0,l=(n=u[a]).length;o<l;o++)(c=n[o])>65535&&(c-=65536,r.push(e(c>>>10&1023|55296)),c=56320|1023&c),r.push(e(c));i.push("<"+r.join(" ")+">")}return t.end("/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n  /Registry (Adobe)\n  /Ordering (UCS)\n  /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange\n1 beginbfrange\n<0000> <"+e(i.length-1)+"> ["+i.join(" ")+"]\nendbfrange\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"),t},n}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r;e=n(296),r=n(26).number,t.exports={initText:function(){return this.x=0,this.y=0,this._lineGap=0},lineGap:function(t){return this._lineGap=t,this},moveDown:function(t){return null==t&&(t=1),this.y+=this.currentLineHeight(!0)*t+this._lineGap,this},moveUp:function(t){return null==t&&(t=1),this.y-=this.currentLineHeight(!0)*t+this._lineGap,this},_text:function(t,n,r,i,a){var o,s,l,u;if(t=null==t?"":""+t,(i=this._initOptions(n,r,i)).wordSpacing&&(t=t.replace(/\s{2,}/g," ")),i.width)(u=this._wrapper)||(u=new e(this,i)).on("line",a),this._wrapper=i.continued?u:null,this._textOptions=i.continued?i:null,u.wrap(t,i);else for(o=0,s=(l=t.split("\n")).length;o<s;o++)a(l[o],i);return this},text:function(t,e,n,r){return this._text(t,e,n,r,this._line.bind(this))},widthOfString:function(t,e){return null==e&&(e={}),this._font.widthOfString(t,this._fontSize,e.features)+(e.characterSpacing||0)*(t.length-1)},heightOfString:function(t,e){var n,r,i,a,o;return null==e&&(e={}),this,i=this.x,a=this.y,(e=this._initOptions(e)).height=Infinity,r=e.lineGap||this._lineGap||0,this._text(t,this.x,this.y,e,(o=this,function(t,e){return o.y+=o.currentLineHeight(!0)+r})),n=this.y-a,this.x=i,this.y=a,n},list:function(t,n,r,i,a){var o,s,l,u,c,h,f,d,p,g,y,v;return i=this._initOptions(n,r,i),d=Math.round(this._font.ascender/1e3*this._fontSize/2),p=i.bulletRadius||Math.round(this._font.ascender/1e3*this._fontSize/3),l=i.textIndent||5*p,u=i.bulletIndent||8*p,h=1,c=[],f=[],(o=function(t){var e,n,r,i,a;for(a=[],e=r=0,i=t.length;r<i;e=++r)n=t[e],Array.isArray(n)?(h++,o(n),a.push(h--)):(c.push(n),a.push(f.push(h)));return a})(t),(a=new e(this,i)).on("line",this._line.bind(this)),h=1,s=0,a.on("firstLine",(g=this,function(){var t,e;return(e=f[s++])!==h&&(t=u*(e-h),g.x+=t,a.lineWidth-=t,h=e),g.circle(g.x-l+p,g.y+d,p),g.fill()})),a.on("sectionStart",(y=this,function(){var t;return t=l+u*(h-1),y.x+=t,a.lineWidth-=t})),a.on("sectionEnd",(v=this,function(){var t;return t=l+u*(h-1),v.x-=t,a.lineWidth+=t})),a.wrap(c.join("\n"),i),this},_initOptions:function(t,e,n){var r,i,a;if(null==t&&(t={}),null==n&&(n={}),"object"==typeof t&&(n=t,t=null),n=function(){var t,e,r;for(t in e={},n)r=n[t],e[t]=r;return e}(),this._textOptions)for(r in i=this._textOptions)a=i[r],"continued"!==r&&null==n[r]&&(n[r]=a);return null!=t&&(this.x=t),null!=e&&(this.y=e),!1!==n.lineBreak&&null==n.width&&(n.width=this.page.width-this.x-this.page.margins.right),n.columns||(n.columns=0),null==n.columnGap&&(n.columnGap=18),n},_line:function(t,e,n){var r;return null==e&&(e={}),this._fragment(t,this.x,this.y,e),r=e.lineGap||this._lineGap||0,n?this.y+=this.currentLineHeight(!0)+r:this.x+=this.widthOfString(t)},_fragment:function(t,e,n,i){var a,o,s,l,u,c,h,f,d,p,g,y,v,b,m,w,x,S,_,k,C,A,P,E,I,T,O,L,B,M,R,F,D,z,N,U;if(0!==(t=(""+t).replace(/\n/g,"")).length){if(o=i.align||"left",N=i.wordSpacing||0,l=i.characterSpacing||0,i.width)switch(o){case"right":F=this.widthOfString(t.replace(/\s+$/,""),i),e+=i.lineWidth-F;break;case"center":e+=i.lineWidth/2-i.textWidth/2;break;case"justify":U=t.trim().split(/\s+/),F=this.widthOfString(t.replace(/\s+/g,""),i),R=this.widthOfString(" ")+l,N=Math.max(0,(i.lineWidth-F)/Math.max(1,U.length-1)-R)}if(L=i.textWidth+N*(i.wordCount-1)+l*(t.length-1),i.link&&this.link(e,n,L,this.currentLineHeight(),i.link),(i.underline||i.strike)&&(this.save(),i.stroke||this.strokeColor.apply(this,this._fillColor),x=this._fontSize<10?.5:Math.floor(this._fontSize/10),this.lineWidth(x),c=i.underline?1:2,S=n+this.currentLineHeight()/c,i.underline&&(S-=x),this.moveTo(e,S),this.lineTo(e+L,S),this.stroke(),this.restore()),this.save(),this.transform(1,0,0,-1,0,this.page.height),n=this.page.height-n-this._font.ascender/1e3*this._fontSize,null==(s=this.page.fonts)[C=this._font.id]&&(s[C]=this._font.ref()),this.addContent("BT"),this.addContent("1 0 0 1 "+r(e)+" "+r(n)+" Tm"),this.addContent("/"+this._font.id+" "+r(this._fontSize)+" Tf"),(k=i.fill&&i.stroke?2:i.stroke?1:0)&&this.addContent(k+" Tr"),l&&this.addContent(r(l)+" Tc"),N)for(U=t.trim().split(/\s+/),N+=this.widthOfString(" ")+l,N*=1e3/this._fontSize,h=[],P=[],y=0,m=U.length;y<m;y++){for(v in z=U[y],f=(I=this._font.encode(z,i.features))[0],E=I[1],h.push.apply(h,f),P.push.apply(P,E),M={},T=P[P.length-1])D=T[v],M[v]=D;M.xAdvance+=N,P[P.length-1]=M}else O=this._font.encode(t,i.features),h=O[0],P=O[1];var W;for(B=this._fontSize/1e3,u=[],b=0,p=!1,a=function(t){var e,n;return b<t&&(n=h.slice(b,t).join(""),e=P[t-1].xAdvance-P[t-1].advanceWidth,u.push("<"+n+"> "+r(-e))),b=t},W=this,d=function(t){if(a(t),u.length>0)return W.addContent("["+u.join(" ")+"] TJ"),u.length=0},g=_=0,w=P.length;_<w;g=++_)(A=P[g]).xOffset||A.yOffset?(d(g),this.addContent("1 0 0 1 "+r(e+A.xOffset*B)+" "+r(n+A.yOffset*B)+" Tm"),d(g+1),p=!0):(p&&(this.addContent("1 0 0 1 "+r(e)+" "+r(n)+" Tm"),p=!1),A.xAdvance-A.advanceWidth!=0&&a(g+1)),e+=A.xAdvance*B;return d(g),this.addContent("ET"),this.restore()}}}}).call(this)},function(t,e,n){(function(){var e,r,i,a={}.hasOwnProperty;e=n(31).EventEmitter,r=n(78),i=function(t){function n(t,e){var n,r,i;this.document=t,this.indent=e.indent||0,this.characterSpacing=e.characterSpacing||0,this.wordSpacing=0===e.wordSpacing,this.columns=e.columns||1,this.columnGap=null!=(n=e.columnGap)?n:18,this.lineWidth=(e.width-this.columnGap*(this.columns-1))/this.columns,this.spaceLeft=this.lineWidth,this.startX=this.document.x,this.startY=this.document.y,this.column=1,this.ellipsis=e.ellipsis,this.continuedX=0,this.features=e.features,null!=e.height?(this.height=e.height,this.maxY=this.startY+e.height):this.maxY=this.document.page.maxY(),this.on("firstLine",(r=this,function(t){var e;return e=r.continuedX||r.indent,r.document.x+=e,r.lineWidth-=e,r.once("line",function(){if(r.document.x-=e,r.lineWidth+=e,t.continued&&!r.continuedX&&(r.continuedX=r.indent),!t.continued)return r.continuedX=0})})),this.on("lastLine",(i=this,function(t){var e;return"justify"===(e=t.align)&&(t.align="left"),i.lastLine=!0,i.once("line",function(){return i.document.y+=t.paragraphGap||0,t.align=e,i.lastLine=!1})}))}return function(t,e){for(var n in e)a.call(e,n)&&(t[n]=e[n]);function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r,t.__super__=e.prototype}(n,e),n.prototype.wordWidth=function(t){return this.document.widthOfString(t,this)+this.characterSpacing+this.wordSpacing},n.prototype.eachWord=function(t,e){var n,i,a,o,s,l,u,c,h,f;for(i=new r(t),s=null,f=Object.create(null);n=i.nextBreak();){if((c=null!=f[h=t.slice((null!=s?s.position:void 0)||0,n.position)]?f[h]:f[h]=this.wordWidth(h))>this.lineWidth+this.continuedX)for(l=s,a={};h.length;){for(o=h.length;c>this.spaceLeft;)c=this.wordWidth(h.slice(0,--o));if(a.required=o<h.length,u=e(h.slice(0,o),c,a,l),l={required:!1},h=h.slice(o),c=this.wordWidth(h),!1===u)break}else u=e(h,c,n,s);if(!1===u)break;s=n}},n.prototype.wrap=function(t,e){var n,r,i,a,o,s,l,u,c;return null!=e.indent&&(this.indent=e.indent),null!=e.characterSpacing&&(this.characterSpacing=e.characterSpacing),null!=e.wordSpacing&&(this.wordSpacing=e.wordSpacing),null!=e.ellipsis&&(this.ellipsis=e.ellipsis),a=this.document.y+this.document.currentLineHeight(!0),(this.document.y>this.maxY||a>this.maxY)&&this.nextSection(),n="",o=0,s=0,i=0,l=this.document.y,u=this,r=function(){return e.textWidth=o+u.wordSpacing*(s-1),e.wordCount=s,e.lineWidth=u.lineWidth,l=u.document.y,u.emit("line",n,e,u),i++},this.emit("sectionStart",e,this),this.eachWord(t,(c=this,function(t,i,a,l){var u;if((null==l||l.required)&&(c.emit("firstLine",e,c),c.spaceLeft=c.lineWidth),i<=c.spaceLeft&&(n+=t,o+=i,s++),a.required||i>c.spaceLeft){if(a.required&&c.emit("lastLine",e,c),u=c.document.currentLineHeight(!0),null!=c.height&&c.ellipsis&&c.document.y+2*u>c.maxY&&c.column>=c.columns){for(!0===c.ellipsis&&(c.ellipsis="…"),n=n.replace(/\s+$/,""),o=c.wordWidth(n+c.ellipsis);o>c.lineWidth;)n=n.slice(0,-1).replace(/\s+$/,""),o=c.wordWidth(n+c.ellipsis);n+=c.ellipsis}return a.required&&i>c.spaceLeft&&(n=t,o=i,s=1),r(),c.document.y+u>c.maxY&&!c.nextSection()?(s=0,n="",!1):a.required?(c.spaceLeft=c.lineWidth,n="",o=0,s=0):(c.spaceLeft=c.lineWidth-i,n=t,o=i,s=1)}return c.spaceLeft-=i})),s>0&&(this.emit("lastLine",e,this),r()),this.emit("sectionEnd",e,this),!0===e.continued?(i>1&&(this.continuedX=0),this.continuedX+=e.textWidth,this.document.y=l):this.document.x=this.startX},n.prototype.nextSection=function(t){var e;if(this.emit("sectionEnd",t,this),++this.column>this.columns){if(null!=this.height)return!1;this.document.addPage(),this.column=1,this.startY=this.document.page.margins.top,this.maxY=this.document.page.maxY(),this.document.x=this.startX,this.document._fillColor&&(e=this.document).fillColor.apply(e,this.document._fillColor),this.emit("pageBreak",t,this)}else this.document.x+=this.lineWidth+this.columnGap,this.document.y=this.startY,this.emit("columnBreak",t,this);return this.emit("sectionStart",t,this),!0},n}(),t.exports=i}).call(this)},function(t,e,n){(function(){var e;e=n(121),t.exports={initImages:function(){return this._imageRegistry={},this._imageCount=0},image:function(t,e,n,r){var i,a,o,s,l,u,c,h,f,d,p,g,y,v,b;return null==r&&(r={}),"object"==typeof e&&(r=e,e=null),e=null!=(d=null!=e?e:r.x)?d:this.x,n=null!=(p=null!=n?n:r.y)?p:this.y,"string"==typeof t&&(c=this._imageRegistry[t]),c||(c=t.width&&t.height?t:this.openImage(t)),c.obj||c.embed(this),null==(i=this.page.xobjects)[f=c.label]&&(i[f]=c.obj),v=r.width||c.width,l=r.height||c.height,r.width&&!r.height?(b=v/c.width,v=c.width*b,l=c.height*b):r.height&&!r.width?(u=l/c.height,v=c.width*u,l=c.height*u):r.scale?(v=c.width*r.scale,l=c.height*r.scale):r.fit?(o=(s=(g=r.fit)[0])/(a=g[1]),(h=c.width/c.height)>o?(v=s,l=s/h):(l=a,v=a*h)):r.cover&&(o=(s=(y=r.cover)[0])/(a=y[1]),(h=c.width/c.height)>o?(l=a,v=a*h):(v=s,l=s/h)),(r.fit||r.cover)&&("center"===r.align?e=e+s/2-v/2:"right"===r.align&&(e=e+s-v),"center"===r.valign?n=n+a/2-l/2:"bottom"===r.valign&&(n=n+a-l)),this.y===n&&(this.y+=l),this.save(),this.transform(v,0,0,-l,e,n+l),this.addContent("/"+c.label+" Do"),this.restore(),this},openImage:function(t){var n;return"string"==typeof t&&(n=this._imageRegistry[t]),n||(n=e.open(t,"I"+ ++this._imageCount),"string"==typeof t&&(this._imageRegistry[t]=n)),n}}}).call(this)},function(t,e){(function(){var e;e=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.byteAt=function(t){return this.data[t]},t.prototype.readBool=function(){return!!this.readByte()},t.prototype.writeBool=function(t){return this.writeByte(t?1:0)},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,n,r,i;for(i=[],e=n=0,r=t;0<=r?n<r:n>r;e=0<=r?++n:--n)i[e]=String.fromCharCode(this.readByte());return i.join("")},t.prototype.writeString=function(t){var e,n,r,i;for(i=[],e=n=0,r=t.length;0<=r?n<r:n>r;e=0<=r?++n:--n)i.push(this.writeByte(t.charCodeAt(e)));return i},t.prototype.stringAt=function(t,e){return this.pos=t,this.readString(e)},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,n,r,i,a,o,s;return t=this.readByte(),e=this.readByte(),n=this.readByte(),r=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^n)+4294967296*(255^r)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*n+4294967296*r+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,n;return e=Math.floor(t/4294967296),n=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(n>>24&255),this.writeByte(n>>16&255),this.writeByte(n>>8&255),this.writeByte(255&n)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.slice=function(t,e){return this.data.slice(t,e)},t.prototype.read=function(t){var e,n,r;for(e=[],n=0,r=t;0<=r?n<r:n>r;0<=r?++n:--n)e.push(this.readByte());return e},t.prototype.write=function(t){var e,n,r,i;for(i=[],n=0,r=t.length;n<r;n++)e=t[n],i.push(this.writeByte(e));return i},t}(),t.exports=e}).call(this)},function(t,e,n){(function(){var e,r=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1};n(8),e=function(){var t;function e(e,n){var i,a,o;if(this.data=e,this.label=n,65496!==this.data.readUInt16BE(0))throw"SOI not found in JPEG";for(o=2;o<this.data.length&&(a=this.data.readUInt16BE(o),o+=2,!(r.call(t,a)>=0));)o+=this.data.readUInt16BE(o);if(r.call(t,a)<0)throw"Invalid JPEG.";o+=2,this.bits=this.data[o++],this.height=this.data.readUInt16BE(o),o+=2,this.width=this.data.readUInt16BE(o),o+=2,i=this.data[o++],this.colorSpace=function(){switch(i){case 1:return"DeviceGray";case 3:return"DeviceRGB";case 4:return"DeviceCMYK"}}(),this.obj=null}return t=[65472,65473,65474,65475,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487],e.prototype.embed=function(t){if(!this.obj)return this.obj=t.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.bits,Width:this.width,Height:this.height,ColorSpace:this.colorSpace,Filter:"DCTDecode"}),"DeviceCMYK"===this.colorSpace&&(this.obj.data.Decode=[1,0,1,0,1,0,1,0]),this.obj.end(this.data),this.data=null},e}(),t.exports=e}).call(this)},function(t,e,n){(function(e){(function(){var r,i,a;a=n(48),r=n(301),i=function(){function t(t,e){this.label=e,this.image=new r(t),this.width=this.image.width,this.height=this.image.height,this.imgData=this.image.imgData,this.obj=null}return t.prototype.embed=function(t){var n,r,i,a,o,s,l,u;if(this.document=t,!this.obj){if(this.obj=this.document.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.image.bits,Width:this.width,Height:this.height,Filter:"FlateDecode"}),this.image.hasAlphaChannel||(o=this.document.ref({Predictor:15,Colors:this.image.colors,BitsPerComponent:this.image.bits,Columns:this.width}),this.obj.data.DecodeParms=o,o.end()),0===this.image.palette.length?this.obj.data.ColorSpace=this.image.colorSpace:((a=this.document.ref()).end(new e(this.image.palette)),this.obj.data.ColorSpace=["Indexed","DeviceRGB",this.image.palette.length/3-1,a]),this.image.transparency.grayscale)return l=this.image.transparency.greyscale,this.obj.data.Mask=[l,l];if(this.image.transparency.rgb){for(i=[],n=0,r=(s=this.image.transparency.rgb).length;n<r;n++)u=s[n],i.push(u,u);return this.obj.data.Mask=i}return this.image.transparency.indexed?this.loadIndexedAlphaChannel():this.image.hasAlphaChannel?this.splitAlphaChannel():this.finalize()}},t.prototype.finalize=function(){var t;return this.alphaChannel&&((t=this.document.ref({Type:"XObject",Subtype:"Image",Height:this.height,Width:this.width,BitsPerComponent:8,Filter:"FlateDecode",ColorSpace:"DeviceGray",Decode:[0,1]})).end(this.alphaChannel),this.obj.data.SMask=t),this.obj.end(this.imgData),this.image=null,this.imgData=null},t.prototype.splitAlphaChannel=function(){return this.image.decodePixels((t=this,function(n){var r,i,o,s,l,u,c,h,f;for(o=t.image.colors*t.image.bits/8,f=t.width*t.height,u=new e(f*o),i=new e(f),l=h=r=0,c=n.length;l<c;)u[h++]=n[l++],u[h++]=n[l++],u[h++]=n[l++],i[r++]=n[l++];return s=0,a.deflate(u,function(e,n){if(t.imgData=n,e)throw e;if(2==++s)return t.finalize()}),a.deflate(i,function(e,n){if(t.alphaChannel=n,e)throw e;if(2==++s)return t.finalize()})}));var t},t.prototype.loadIndexedAlphaChannel=function(t){var n,r;return n=this.image.transparency.indexed,this.image.decodePixels((r=this,function(t){var i,o,s,l,u;for(i=new e(r.width*r.height),o=0,s=l=0,u=t.length;l<u;s=l+=1)i[o++]=n[t[s]];return a.deflate(i,function(t,e){if(r.alphaChannel=e,t)throw t;return r.finalize()})}))},t}(),t.exports=i}).call(this)}).call(e,n(1).Buffer)},function(t,e,n){(function(e){(function(){var r,i;r=n(8),i=n(48),t.exports=function(){function t(t){var n,r,i,a,o,s,l,u,c;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.text={};;){switch(n=this.readUInt32(),function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(n);break;case"IDAT":for(l=0;l<n;l+=1)this.imgData.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(n),(o=255-this.transparency.indexed.length)>0)for(u=0;0<=o?u<o:u>o;0<=o?++u:--u)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(n)[0];break;case 2:this.transparency.rgb=this.read(n)}break;case"tEXt":i=(s=this.read(n)).indexOf(0),a=String.fromCharCode.apply(String,s.slice(0,i)),this.text[a]=String.fromCharCode.apply(String,s.slice(i+1));break;case"IEND":return this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(c=this.colorType)||6===c,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData=new e(this.imgData));default:this.pos+=n}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}return t.decode=function(e,n){return r.readFile(e,function(e,r){return new t(r).decode(function(t){return n(t)})})},t.load=function(e){return new t(r.readFileSync(e))},t.prototype.read=function(t){var e,n;for(n=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)n.push(this.data[this.pos++]);return n},t.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},t.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},t.prototype.decodePixels=function(t){var n=this;return i.inflate(this.imgData,function(r,i){var a,o,s,l,u,c,h,f,d,p,g,y,v,b,m,w,x,S,_,k,C,A,P;if(r)throw r;for(w=(y=n.pixelBitlength/8)*n.width,v=new e(w*n.height),c=i.length,m=0,b=0,o=0;b<c;){switch(i[b++]){case 0:for(l=_=0;_<w;l=_+=1)v[o++]=i[b++];break;case 1:for(l=k=0;k<w;l=k+=1)a=i[b++],u=l<y?0:v[o-y],v[o++]=(a+u)%256;break;case 2:for(l=C=0;C<w;l=C+=1)a=i[b++],s=(l-l%y)/y,x=m&&v[(m-1)*w+s*y+l%y],v[o++]=(x+a)%256;break;case 3:for(l=A=0;A<w;l=A+=1)a=i[b++],s=(l-l%y)/y,u=l<y?0:v[o-y],x=m&&v[(m-1)*w+s*y+l%y],v[o++]=(a+Math.floor((u+x)/2))%256;break;case 4:for(l=P=0;P<w;l=P+=1)a=i[b++],s=(l-l%y)/y,u=l<y?0:v[o-y],0===m?x=S=0:(x=v[(m-1)*w+s*y+l%y],S=s&&v[(m-1)*w+(s-1)*y+l%y]),h=u+x-S,f=Math.abs(h-u),p=Math.abs(h-x),g=Math.abs(h-S),d=f<=p&&f<=g?u:p<=g?x:S,v[o++]=(a+d)%256;break;default:throw new Error("Invalid filter algorithm: "+i[b-1])}m++}return t(v)})},t.prototype.decodePalette=function(){var t,n,r,i,a,o,s,l,u;for(r=this.palette,o=this.transparency.indexed||[],a=new e(o.length+r.length),i=0,r.length,t=0,n=s=0,l=r.length;s<l;n=s+=3)a[i++]=r[n],a[i++]=r[n+1],a[i++]=r[n+2],a[i++]=null!=(u=o[t++])?u:255;return a},t.prototype.copyToImageData=function(t,e){var n,r,i,a,o,s,l,u,c,h,f;if(r=this.colors,c=null,n=this.hasAlphaChannel,this.palette.length&&(c=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),r=4,n=!0),u=(i=(null!=t?t.data:void 0)||t).length,o=c||e,a=s=0,1===r)for(;a<u;)l=c?4*e[a/4]:s,h=o[l++],i[a++]=h,i[a++]=h,i[a++]=h,i[a++]=n?o[l++]:255,s=l;else for(;a<u;)l=c?4*e[a/4]:s,i[a++]=o[l++],i[a++]=o[l++],i[a++]=o[l++],i[a++]=n?o[l++]:255,s=l},t.prototype.decode=function(t){var n,r=this;return n=new e(this.width*this.height*4),this.decodePixels(function(e){return r.copyToImageData(n,e),t(n)})},t}()}).call(this)}).call(e,n(1).Buffer)},function(t,e){(function(){t.exports={annotate:function(t,e,n,r,i){var a,o,s;for(a in i.Type="Annot",i.Rect=this._convertRect(t,e,n,r),i.Border=[0,0,0],"Link"!==i.Subtype&&null==i.C&&(i.C=this._normalizeColor(i.color||[0,0,0])),delete i.color,"string"==typeof i.Dest&&(i.Dest=new String(i.Dest)),i)s=i[a],i[a[0].toUpperCase()+a.slice(1)]=s;return o=this.ref(i),this.page.annotations.push(o),o.end(),this},note:function(t,e,n,r,i,a){return null==a&&(a={}),a.Subtype="Text",a.Contents=new String(i),a.Name="Comment",null==a.color&&(a.color=[243,223,92]),this.annotate(t,e,n,r,a)},link:function(t,e,n,r,i,a){return null==a&&(a={}),a.Subtype="Link",a.A=this.ref({S:"URI",URI:new String(i)}),a.A.end(),this.annotate(t,e,n,r,a)},_markup:function(t,e,n,r,i){var a,o,s,l,u;return null==i&&(i={}),o=(a=this._convertRect(t,e,n,r))[0],l=a[1],s=a[2],u=a[3],i.QuadPoints=[o,u,s,u,o,l,s,l],i.Contents=new String,this.annotate(t,e,n,r,i)},highlight:function(t,e,n,r,i){return null==i&&(i={}),i.Subtype="Highlight",null==i.color&&(i.color=[241,238,148]),this._markup(t,e,n,r,i)},underline:function(t,e,n,r,i){return null==i&&(i={}),i.Subtype="Underline",this._markup(t,e,n,r,i)},strike:function(t,e,n,r,i){return null==i&&(i={}),i.Subtype="StrikeOut",this._markup(t,e,n,r,i)},lineAnnotation:function(t,e,n,r,i){return null==i&&(i={}),i.Subtype="Line",i.Contents=new String,i.L=[t,this.page.height-e,n,this.page.height-r],this.annotate(t,e,n,r,i)},rectAnnotation:function(t,e,n,r,i){return null==i&&(i={}),i.Subtype="Square",i.Contents=new String,this.annotate(t,e,n,r,i)},ellipseAnnotation:function(t,e,n,r,i){return null==i&&(i={}),i.Subtype="Circle",i.Contents=new String,this.annotate(t,e,n,r,i)},textAnnotation:function(t,e,n,r,i,a){return null==a&&(a={}),a.Subtype="FreeText",a.Contents=new String(i),a.DA=new String,this.annotate(t,e,n,r,a)},_convertRect:function(t,e,n,r){var i,a,o,s,l,u,c,h,f;return f=e,e+=r,h=t+n,i=(c=this._ctm)[0],a=c[1],o=c[2],s=c[3],[t=i*t+o*e+(l=c[4]),e=a*t+s*e+(u=c[5]),h=i*h+o*f+l,f=a*h+s*f+u]}}}).call(this)},function(t,e,n){"use strict";t.exports={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]}},function(t,e,n){"use strict";(function(e){var r=n(121);function i(t,e){this.pdfKitDoc=t,this.imageDictionary=e||{}}i.prototype.measureImage=function(t){var n,i,a=this;if(this.pdfKitDoc._imageRegistry[t])n=this.pdfKitDoc._imageRegistry[t];else{i="I"+ ++this.pdfKitDoc._imageCount;try{n=r.open(function(t){var n=a.imageDictionary[t];if(!n)return t;var r=n.indexOf("base64,");if(r<0)return a.imageDictionary[t];return e.from(n.substring(r+7),"base64")}(t),i)}catch(t){n=null}if(null==n)throw"invalid image, images dictionary should contain dataURL entries (or local file paths in node.js)";n.embed(this.pdfKitDoc),this.pdfKitDoc._imageRegistry[t]=n}return{width:n.width,height:n.height}},t.exports=i}).call(e,n(1).Buffer)},function(t,e,n){"use strict";var r=n(0).isArray;function i(t,e,n,r){var i=t.inlines[0],a=function(){for(var e=0,n=0,r=t.inlines.length;n<r;n++)e=t.inlines[n].fontSize>e?n:e;return t.inlines[e]}(),o=function(){for(var e=0,n=0,r=t.inlines.length;n<r;n++)e+=t.inlines[n].width;return e}(),s=t.line.getAscenderHeight(),l=a.font.ascender/1e3*a.fontSize,u=a.height-l,c=.5+.12*Math.floor(Math.max(a.fontSize-8,0)/2);switch(t.decoration){case"underline":n+=s+.45*u;break;case"overline":n+=s-.85*l;break;case"lineThrough":n+=s-.25*l;break;default:throw"Unkown decoration : "+t.decoration}if(r.save(),"double"===t.decorationStyle){var h=Math.max(.5,2*c);r.fillColor(t.decorationColor).rect(e+i.x,n-c/2,o,c/2).fill().rect(e+i.x,n+h-c/2,o,c/2).fill()}else if("dashed"===t.decorationStyle){var f=Math.ceil(o/6.8),d=e+i.x;r.rect(d,n,o,c).clip(),r.fillColor(t.decorationColor);for(var p=0;p<f;p++)r.rect(d,n-c/2,3.96,c).fill(),d+=6.8}else if("dotted"===t.decorationStyle){var g=Math.ceil(o/(3*c)),y=e+i.x;r.rect(y,n,o,c).clip(),r.fillColor(t.decorationColor);for(var v=0;v<g;v++)r.rect(y,n-c/2,c,c).fill(),y+=3*c}else if("wavy"===t.decorationStyle){var b=Math.ceil(o/1.4)+1,m=e+i.x-1;r.rect(e+i.x,n-1,o,n+1).clip(),r.lineWidth(.24),r.moveTo(m,n);for(var w=0;w<b;w++)r.bezierCurveTo(m+.7,n-1,m+1.4,n-1,m+.7*3,n).bezierCurveTo(m+2.8,n+1,m+3.5,n+1,m+.7*6,n),m+=.7*6;r.stroke(t.decorationColor)}else r.fillColor(t.decorationColor).rect(e+i.x,n-c/2,o,c).fill();r.restore()}t.exports={drawBackground:function(t,e,n,r){for(var i=t.getHeight(),a=0,o=t.inlines.length;a<o;a++){var s=t.inlines[a];if(s.background){var l=s.justifyShift||0;r.fillColor(s.background).rect(e+s.x-l,n,s.width+l,i).fill()}}},drawDecorations:function(t,e,n,a){for(var o=function(t){for(var e=[],n=null,i=0,a=t.inlines.length;i<a;i++){var o=t.inlines[i],s=o.decoration;if(s){r(s)||(s=[s]);for(var l=o.decorationColor||o.color||"black",u=o.decorationStyle||"solid",c=0,h=s.length;c<h;c++){var f=s[c];n&&f===n.decoration&&u===n.decorationStyle&&l===n.decorationColor&&"lineThrough"!==f?n.inlines.push(o):(n={line:t,decoration:f,decorationColor:l,decorationStyle:u,inlines:[o]},e.push(n))}}else n=null}return e}(t),s=0,l=o.length;s<l;s++)i(o[s],e,n,a)}}},function(t,e,n){var r,i=i||function(t){"use strict";if(!(void 0===t||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var e=t.document,n=function(){return t.URL||t.webkitURL||t},r=e?e.createElementNS("http://www.w3.org/1999/xhtml","a"):[],i="download"in r,a=/constructor/i.test(t.HTMLElement)||t.safari,o=/CriOS\/[\d]+/.test(navigator.userAgent),s=function(e){(t.setImmediate||t.setTimeout)(function(){throw e},0)},l=function(t){setTimeout(function(){"string"==typeof t?n().revokeObjectURL(t):t.remove()},4e4)},u=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t},c=function(e,c,h){h||(e=u(e));var f,d=this,p="application/octet-stream"===e.type,g=function(){!function(t,e,n){for(var r=(e=[].concat(e)).length;r--;){var i=t["on"+e[r]];if("function"==typeof i)try{i.call(t,n||t)}catch(t){s(t)}}}(d,"writestart progress write writeend".split(" "))};if(d.readyState=d.INIT,i)return f=n().createObjectURL(e),void setTimeout(function(){var t,e;r.href=f,r.download=c,t=r,e=new MouseEvent("click"),t.dispatchEvent(e),g(),l(f),d.readyState=d.DONE});!function(){if((o||p&&a)&&t.FileReader){var r=new FileReader;return r.onloadend=function(){var e=o?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");t.open(e,"_blank")||(t.location.href=e),e=void 0,d.readyState=d.DONE,g()},r.readAsDataURL(e),void(d.readyState=d.INIT)}f||(f=n().createObjectURL(e)),p?t.location.href=f:t.open(f,"_blank")||(t.location.href=f);d.readyState=d.DONE,g(),l(f)}()},h=c.prototype;return"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,n){return e=e||t.name||"download",n||(t=u(t)),navigator.msSaveOrOpenBlob(t,e)}:(h.abort=function(){},h.readyState=h.INIT=0,h.WRITING=1,h.DONE=2,h.error=h.onwritestart=h.onprogress=h.onwrite=h.onabort=h.onerror=h.onwriteend=null,function(t,e,n){return new c(t,e||t.name||"download",n)})}}("undefined"!=typeof self&&self||"undefined"!=typeof window&&window||this.content);void 0!==t&&t.exports?t.exports.saveAs=i:null!==n(307)&&null!==n(308)&&(void 0===(r=function(){return i}.call(e,n,e,t))||(t.exports=r))},function(t,e){t.exports=function(){throw new Error("define cannot be used indirect")}},function(t,e){(function(e){t.exports=e}).call(e,{})}])});
+!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).JSZip=e()}}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t="function"==typeof require&&require;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h)}return o[r].exports}for(var l="function"==typeof require&&require,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){"use strict";var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l}},{"./support":30,"./utils":32}],2:[function(e,t,r){"use strict";var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){"use strict";var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){"use strict";var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return-1^e}(0|t,e,e.length,0):0}},{"./utils":32}],5:[function(e,t,r){"use strict";r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null},{}],6:[function(e,t,r){"use strict";var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n}},{lie:37}],7:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={}}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1)},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0)},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta})}},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){"use strict";function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}))},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}})}else this.accumulate=!0},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}})},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end()}),e.on("error",function(e){t.error(e)}),this},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return!1;for(var r=0;r<t.length;r++)try{t[r].error(e)}catch(e){}return!0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock()},t.exports=s},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){"use strict";var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o)}),o.entriesCount=h}catch(e){o.error(e)}return o}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){"use strict";function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e}}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return(new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){"use strict";var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e)}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e()}).resume()})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s)}return t.zipComment.length&&(h.comment=t.zipComment),h})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t)}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}})}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e)}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end()})},s.prototype.pause=function(){return!!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){"use strict";var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t)}).on("error",function(e){n.emit("error",e)}).on("end",function(){n.push(null)})}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume()},t.exports=n},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){"use strict";t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}}},{}],15:[function(e,t,r){"use strict";function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return"/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n)},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t)}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return!t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n)}catch(e){(t=new l("error")).error(e)}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return(e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){"use strict";t.exports=e("stream")},{stream:void 0}],17:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t]}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return-1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return[];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){"use strict";var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e)},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e},skip:function(e){this.setIndex(this.index+e)},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i},{"../utils":32}],19:[function(e,t,r){"use strict";var n=e("./Uint8ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){"use strict";var n=e("./DataReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){"use strict";var n=e("./ArrayReader");function i(e){n.call(this,e)}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){"use strict";var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){"use strict";r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b"},{}],24:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta})},t.exports=s},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){"use strict";var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e)},t.exports=s},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0)}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length}i.prototype.processChunk.call(this,e)},t.exports=s},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){"use strict";var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat()},function(e){t.error(e)})}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null},s.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t)}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){"use strict";function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}n.prototype={push:function(e){this.emit("data",e)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(e){this.emit("error",e)}return!0},error:function(e){return!this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t)},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e)}),e.on("end",function(){t.end()}),e.on("error",function(e){t.error(e)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e)},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n},{}],29:[function(e,t,r){"use strict";var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter")}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t)}).on("error",function(e){n=[],r(e)}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e)}catch(e){r(e)}n=[]}).resume()})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string"}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock()}catch(e){this._worker=new s("error"),this._worker.error(e)}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return"data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta)}):this._worker.on(e,function(){h.delay(t,arguments,r)}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){"use strict";if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else{var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size}catch(e){r.blob=!1}}}try{r.nodestream=!!e("readable-stream").Readable}catch(e){r.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,s){"use strict";for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null}function l(){n.call(this,"utf-8 encode")}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else{for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n)}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length)}else t=this.leftOver.concat(t);this.leftOver=null}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta})},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta})},s.Utf8EncodeWorker=l},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){"use strict";var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return!1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return!1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2)}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i))}return r.join("/")},a.getTypeOf=function(e){return"string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[])})},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result)},e.onerror=function(e){r(e.target.error)},e.readAsArrayBuffer(n)}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes()},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw!this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e)},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=h},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){"use strict";var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize))},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4))}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i)},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else{var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else{var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r)}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else{var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i)}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){"use strict";function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions}}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker))}catch(e){(t=new h("error")).error(e)}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){"use strict";var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2}}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},t.document.documentElement.appendChild(e)}:function(){setTimeout(u,0)};else{var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0)}}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length}n=!1}l.exports=function(e){1!==h.push(e)||n||r()}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],37:[function(e,t,r){"use strict";var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e)}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected)}function f(t,r,n){i(function(){var e;try{e=r(n)}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e)})}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments)}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e))}function i(e){r||(r=!0,l.resolve(t,e))}var s=p(function(){e(i,n)});"error"===s.status&&n(s.value)}function p(e,t){var r={};try{r.value=e(t),r.status="success"}catch(e){r.status="error",r.value=e}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e)},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e)},h.prototype.callRejected=function(e){l.reject(this.promise,e)},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e)},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else{e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t)}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s))},function(e){i||(i=!0,l.reject(o,e))})}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e))},function(e){n||(n=!0,l.reject(s,e))});var a;return s}},{immediate:36}],38:[function(e,t,r){"use strict";var n={};(0,e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){"use strict";var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return!1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)))}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e)},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return(t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return(t=t||{}).gzip=!0,n(e,t)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){"use strict";var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header)}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return!1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0)}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e)},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return(t=t||{}).raw=!0,o(e,t)},r.ungzip=o},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){"use strict";var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n])}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s]},flattenChunks:function(e){return[].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s))},r.setTyped(n)},{}],42:[function(e,t,r){"use strict";var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(e){i=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(e){s=!1}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else{for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i)}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}},{"./common":41}],43:[function(e,t,r){"use strict";t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521}return i|s<<16|0}},{}],44:[function(e,t,r){"use strict";t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,r){"use strict";var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return-1^e}},{}],46:[function(e,t,r){"use strict";var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return(e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0))}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm)}function U(e,t){e.pending_buf[e.pending++]=t}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a]}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return(e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else{var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s)}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103)}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead)}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){"use strict";t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,r){"use strict";t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else{if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]))}else{for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]))}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p}},{}],49:[function(e,t,r){"use strict";var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return(e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3}else{for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}u>>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return-4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){"use strict";var D=e("../utils/common"),F=[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,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[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,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return-1;if(0<z&&(0===e||1!==w))return-1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]]}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0}},{"../utils/common":41}],51:[function(e,t,r){"use strict";t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,r){"use strict";var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[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],k=[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],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r)}function L(e,t,r){P(e,r[2*t],r[2*t+1])}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o))}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t)}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--)}}(e,t),Z(s,u,e.bl_count)}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4))}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4)}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r}(e,t,r,!0)}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p)}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e)},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1)}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e)},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8)}(e)}},{"../utils/common":41}],53:[function(e,t,r){"use strict";t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,r){(function(e){!function(r,n){"use strict";if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e)})}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*")}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data)},function(e){t.port2.postMessage(e)}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null},s.appendChild(t)}):function(e){setTimeout(c,0,e)},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f}function f(e){delete h[e]}function c(e){if(u)setTimeout(c,0,e);else{var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r)}}(t)}finally{f(e),u=!1}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length))}}("undefined"==typeof self?void 0===e?this:e:self)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[10])(10)});
 
+/*! pdfmake v0.2.7, @license MIT, @link http://pdfmake.org */
+!function webpackUniversalModuleDefinition(r,i){if("object"==typeof exports&&"object"==typeof module)module.exports=i();else if("function"==typeof define&&define.amd)define([],i);else{var o=i();for(var u in o)("object"==typeof exports?exports:r)[u]=o[u]}}("undefined"!=typeof self?self:this,(function(){return function(){var r={9282:function(r,i,o){"use strict";var u=o(4155);function _typeof(r){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(r){return typeof r}:function _typeof(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof(r)}var p,g,y=o(2136).codes,w=y.ERR_AMBIGUOUS_ARGUMENT,_=y.ERR_INVALID_ARG_TYPE,x=y.ERR_INVALID_ARG_VALUE,k=y.ERR_INVALID_RETURN_VALUE,P=y.ERR_MISSING_ARGS,O=o(5961),I=o(9539).inspect,B=o(9539).types,R=B.isPromise,D=B.isRegExp,N=Object.assign?Object.assign:o(8091).assign,W=Object.is?Object.is:o(609);new Map;function lazyLoadComparison(){var r=o(9158);p=r.isDeepEqual,g=r.isDeepStrictEqual}var U=!1,j=r.exports=ok,G={};function innerFail(r){if(r.message instanceof Error)throw r.message;throw new O(r)}function innerOk(r,i,o,u){if(!o){var p=!1;if(0===i)p=!0,u="No value argument passed to `assert.ok()`";else if(u instanceof Error)throw u;var g=new O({actual:o,expected:!0,message:u,operator:"==",stackStartFn:r});throw g.generatedMessage=p,g}}function ok(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];innerOk.apply(void 0,[ok,i.length].concat(i))}j.fail=function fail(r,i,o,p,g){var y,w=arguments.length;if(0===w)y="Failed";else if(1===w)o=r,r=void 0;else{if(!1===U){U=!0;var _=u.emitWarning?u.emitWarning:void 0;_("assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.","DeprecationWarning","DEP0094")}2===w&&(p="!=")}if(o instanceof Error)throw o;var x={actual:r,expected:i,operator:void 0===p?"fail":p,stackStartFn:g||fail};void 0!==o&&(x.message=o);var k=new O(x);throw y&&(k.message=y,k.generatedMessage=!0),k},j.AssertionError=O,j.ok=ok,j.equal=function equal(r,i,o){if(arguments.length<2)throw new P("actual","expected");r!=i&&innerFail({actual:r,expected:i,message:o,operator:"==",stackStartFn:equal})},j.notEqual=function notEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");r==i&&innerFail({actual:r,expected:i,message:o,operator:"!=",stackStartFn:notEqual})},j.deepEqual=function deepEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");void 0===p&&lazyLoadComparison(),p(r,i)||innerFail({actual:r,expected:i,message:o,operator:"deepEqual",stackStartFn:deepEqual})},j.notDeepEqual=function notDeepEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");void 0===p&&lazyLoadComparison(),p(r,i)&&innerFail({actual:r,expected:i,message:o,operator:"notDeepEqual",stackStartFn:notDeepEqual})},j.deepStrictEqual=function deepStrictEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");void 0===p&&lazyLoadComparison(),g(r,i)||innerFail({actual:r,expected:i,message:o,operator:"deepStrictEqual",stackStartFn:deepStrictEqual})},j.notDeepStrictEqual=function notDeepStrictEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");void 0===p&&lazyLoadComparison();g(r,i)&&innerFail({actual:r,expected:i,message:o,operator:"notDeepStrictEqual",stackStartFn:notDeepStrictEqual})},j.strictEqual=function strictEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");W(r,i)||innerFail({actual:r,expected:i,message:o,operator:"strictEqual",stackStartFn:strictEqual})},j.notStrictEqual=function notStrictEqual(r,i,o){if(arguments.length<2)throw new P("actual","expected");W(r,i)&&innerFail({actual:r,expected:i,message:o,operator:"notStrictEqual",stackStartFn:notStrictEqual})};var X=function Comparison(r,i,o){var u=this;!function _classCallCheck(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")}(this,Comparison),i.forEach((function(i){i in r&&(void 0!==o&&"string"==typeof o[i]&&D(r[i])&&r[i].test(o[i])?u[i]=o[i]:u[i]=r[i])}))};function compareExceptionKey(r,i,o,u,p,y){if(!(o in r)||!g(r[o],i[o])){if(!u){var w=new X(r,p),_=new X(i,p,r),x=new O({actual:w,expected:_,operator:"deepStrictEqual",stackStartFn:y});throw x.actual=r,x.expected=i,x.operator=y.name,x}innerFail({actual:r,expected:i,message:u,operator:y.name,stackStartFn:y})}}function expectedException(r,i,o,u){if("function"!=typeof i){if(D(i))return i.test(r);if(2===arguments.length)throw new _("expected",["Function","RegExp"],i);if("object"!==_typeof(r)||null===r){var g=new O({actual:r,expected:i,message:o,operator:"deepStrictEqual",stackStartFn:u});throw g.operator=u.name,g}var y=Object.keys(i);if(i instanceof Error)y.push("name","message");else if(0===y.length)throw new x("error",i,"may not be an empty object");return void 0===p&&lazyLoadComparison(),y.forEach((function(p){"string"==typeof r[p]&&D(i[p])&&i[p].test(r[p])||compareExceptionKey(r,i,p,o,y,u)})),!0}return void 0!==i.prototype&&r instanceof i||!Error.isPrototypeOf(i)&&!0===i.call({},r)}function getActual(r){if("function"!=typeof r)throw new _("fn","Function",r);try{r()}catch(r){return r}return G}function checkIsPromise(r){return R(r)||null!==r&&"object"===_typeof(r)&&"function"==typeof r.then&&"function"==typeof r.catch}function waitForActual(r){return Promise.resolve().then((function(){var i;if("function"==typeof r){if(!checkIsPromise(i=r()))throw new k("instance of Promise","promiseFn",i)}else{if(!checkIsPromise(r))throw new _("promiseFn",["Function","Promise"],r);i=r}return Promise.resolve().then((function(){return i})).then((function(){return G})).catch((function(r){return r}))}))}function expectsError(r,i,o,u){if("string"==typeof o){if(4===arguments.length)throw new _("error",["Object","Error","Function","RegExp"],o);if("object"===_typeof(i)&&null!==i){if(i.message===o)throw new w("error/message",'The error message "'.concat(i.message,'" is identical to the message.'))}else if(i===o)throw new w("error/message",'The error "'.concat(i,'" is identical to the message.'));u=o,o=void 0}else if(null!=o&&"object"!==_typeof(o)&&"function"!=typeof o)throw new _("error",["Object","Error","Function","RegExp"],o);if(i===G){var p="";o&&o.name&&(p+=" (".concat(o.name,")")),p+=u?": ".concat(u):".";var g="rejects"===r.name?"rejection":"exception";innerFail({actual:void 0,expected:o,operator:r.name,message:"Missing expected ".concat(g).concat(p),stackStartFn:r})}if(o&&!expectedException(i,o,u,r))throw i}function expectsNoError(r,i,o,u){if(i!==G){if("string"==typeof o&&(u=o,o=void 0),!o||expectedException(i,o)){var p=u?": ".concat(u):".",g="doesNotReject"===r.name?"rejection":"exception";innerFail({actual:i,expected:o,operator:r.name,message:"Got unwanted ".concat(g).concat(p,"\n")+'Actual message: "'.concat(i&&i.message,'"'),stackStartFn:r})}throw i}}function strict(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];innerOk.apply(void 0,[strict,i.length].concat(i))}j.throws=function throws(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];expectsError.apply(void 0,[throws,getActual(r)].concat(o))},j.rejects=function rejects(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];return waitForActual(r).then((function(r){return expectsError.apply(void 0,[rejects,r].concat(o))}))},j.doesNotThrow=function doesNotThrow(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];expectsNoError.apply(void 0,[doesNotThrow,getActual(r)].concat(o))},j.doesNotReject=function doesNotReject(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];return waitForActual(r).then((function(r){return expectsNoError.apply(void 0,[doesNotReject,r].concat(o))}))},j.ifError=function ifError(r){if(null!=r){var i="ifError got unwanted exception: ";"object"===_typeof(r)&&"string"==typeof r.message?0===r.message.length&&r.constructor?i+=r.constructor.name:i+=r.message:i+=I(r);var o=new O({actual:r,expected:null,operator:"ifError",message:i,stackStartFn:ifError}),u=r.stack;if("string"==typeof u){var p=u.split("\n");p.shift();for(var g=o.stack.split("\n"),y=0;y<p.length;y++){var w=g.indexOf(p[y]);if(-1!==w){g=g.slice(0,w);break}}o.stack="".concat(g.join("\n"),"\n").concat(p.join("\n"))}throw o}},j.strict=N(strict,j,{equal:j.strictEqual,deepEqual:j.deepStrictEqual,notEqual:j.notStrictEqual,notDeepEqual:j.notDeepStrictEqual}),j.strict.strict=j.strict},5961:function(r,i,o){"use strict";var u=o(4155);function _defineProperty(r,i,o){return i in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r}function _defineProperties(r,i){for(var o=0;o<i.length;o++){var u=i[o];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(r,u.key,u)}}function _possibleConstructorReturn(r,i){return!i||"object"!==_typeof(i)&&"function"!=typeof i?_assertThisInitialized(r):i}function _assertThisInitialized(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function _wrapNativeSuper(r){var i="function"==typeof Map?new Map:void 0;return _wrapNativeSuper=function _wrapNativeSuper(r){if(null===r||!function _isNativeFunction(r){return-1!==Function.toString.call(r).indexOf("[native code]")}(r))return r;if("function"!=typeof r)throw new TypeError("Super expression must either be null or a function");if(void 0!==i){if(i.has(r))return i.get(r);i.set(r,Wrapper)}function Wrapper(){return _construct(r,arguments,_getPrototypeOf(this).constructor)}return Wrapper.prototype=Object.create(r.prototype,{constructor:{value:Wrapper,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(Wrapper,r)},_wrapNativeSuper(r)}function isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}function _construct(r,i,o){return _construct=isNativeReflectConstruct()?Reflect.construct:function _construct(r,i,o){var u=[null];u.push.apply(u,i);var p=new(Function.bind.apply(r,u));return o&&_setPrototypeOf(p,o.prototype),p},_construct.apply(null,arguments)}function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}function _getPrototypeOf(r){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(r){return r.__proto__||Object.getPrototypeOf(r)},_getPrototypeOf(r)}function _typeof(r){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(r){return typeof r}:function _typeof(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof(r)}var p=o(9539).inspect,g=o(2136).codes.ERR_INVALID_ARG_TYPE;function endsWith(r,i,o){return(void 0===o||o>r.length)&&(o=r.length),r.substring(o-i.length,o)===i}var y="",w="",_="",x="",k={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function copyError(r){var i=Object.keys(r),o=Object.create(Object.getPrototypeOf(r));return i.forEach((function(i){o[i]=r[i]})),Object.defineProperty(o,"message",{value:r.message}),o}function inspectValue(r){return p(r,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function createErrDiff(r,i,o){var p="",g="",P=0,O="",I=!1,B=inspectValue(r),R=B.split("\n"),D=inspectValue(i).split("\n"),N=0,W="";if("strictEqual"===o&&"object"===_typeof(r)&&"object"===_typeof(i)&&null!==r&&null!==i&&(o="strictEqualObject"),1===R.length&&1===D.length&&R[0]!==D[0]){var U=R[0].length+D[0].length;if(U<=10){if(!("object"===_typeof(r)&&null!==r||"object"===_typeof(i)&&null!==i||0===r&&0===i))return"".concat(k[o],"\n\n")+"".concat(R[0]," !== ").concat(D[0],"\n")}else if("strictEqualObject"!==o){if(U<(u.stderr&&u.stderr.isTTY?u.stderr.columns:80)){for(;R[0][N]===D[0][N];)N++;N>2&&(W="\n  ".concat(function repeat(r,i){if(i=Math.floor(i),0==r.length||0==i)return"";var o=r.length*i;for(i=Math.floor(Math.log(i)/Math.log(2));i;)r+=r,i--;return r+r.substring(0,o-r.length)}(" ",N),"^"),N=0)}}}for(var j=R[R.length-1],G=D[D.length-1];j===G&&(N++<2?O="\n  ".concat(j).concat(O):p=j,R.pop(),D.pop(),0!==R.length&&0!==D.length);)j=R[R.length-1],G=D[D.length-1];var X=Math.max(R.length,D.length);if(0===X){var K=B.split("\n");if(K.length>30)for(K[26]="".concat(y,"...").concat(x);K.length>27;)K.pop();return"".concat(k.notIdentical,"\n\n").concat(K.join("\n"),"\n")}N>3&&(O="\n".concat(y,"...").concat(x).concat(O),I=!0),""!==p&&(O="\n  ".concat(p).concat(O),p="");var Y=0,J=k[o]+"\n".concat(w,"+ actual").concat(x," ").concat(_,"- expected").concat(x),$=" ".concat(y,"...").concat(x," Lines skipped");for(N=0;N<X;N++){var ee=N-P;if(R.length<N+1)ee>1&&N>2&&(ee>4?(g+="\n".concat(y,"...").concat(x),I=!0):ee>3&&(g+="\n  ".concat(D[N-2]),Y++),g+="\n  ".concat(D[N-1]),Y++),P=N,p+="\n".concat(_,"-").concat(x," ").concat(D[N]),Y++;else if(D.length<N+1)ee>1&&N>2&&(ee>4?(g+="\n".concat(y,"...").concat(x),I=!0):ee>3&&(g+="\n  ".concat(R[N-2]),Y++),g+="\n  ".concat(R[N-1]),Y++),P=N,g+="\n".concat(w,"+").concat(x," ").concat(R[N]),Y++;else{var te=D[N],re=R[N],ne=re!==te&&(!endsWith(re,",")||re.slice(0,-1)!==te);ne&&endsWith(te,",")&&te.slice(0,-1)===re&&(ne=!1,re+=","),ne?(ee>1&&N>2&&(ee>4?(g+="\n".concat(y,"...").concat(x),I=!0):ee>3&&(g+="\n  ".concat(R[N-2]),Y++),g+="\n  ".concat(R[N-1]),Y++),P=N,g+="\n".concat(w,"+").concat(x," ").concat(re),p+="\n".concat(_,"-").concat(x," ").concat(te),Y+=2):(g+=p,p="",1!==ee&&0!==N||(g+="\n  ".concat(re),Y++))}if(Y>20&&N<X-2)return"".concat(J).concat($,"\n").concat(g,"\n").concat(y,"...").concat(x).concat(p,"\n")+"".concat(y,"...").concat(x)}return"".concat(J).concat(I?$:"","\n").concat(g).concat(p).concat(O).concat(W)}var P=function(r){function AssertionError(r){var i;if(function _classCallCheck(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")}(this,AssertionError),"object"!==_typeof(r)||null===r)throw new g("options","Object",r);var o=r.message,p=r.operator,P=r.stackStartFn,O=r.actual,I=r.expected,B=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=o)i=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,String(o)));else if(u.stderr&&u.stderr.isTTY&&(u.stderr&&u.stderr.getColorDepth&&1!==u.stderr.getColorDepth()?(y="",w="",x="",_=""):(y="",w="",x="",_="")),"object"===_typeof(O)&&null!==O&&"object"===_typeof(I)&&null!==I&&"stack"in O&&O instanceof Error&&"stack"in I&&I instanceof Error&&(O=copyError(O),I=copyError(I)),"deepStrictEqual"===p||"strictEqual"===p)i=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,createErrDiff(O,I,p)));else if("notDeepStrictEqual"===p||"notStrictEqual"===p){var R=k[p],D=inspectValue(O).split("\n");if("notStrictEqual"===p&&"object"===_typeof(O)&&null!==O&&(R=k.notStrictEqualObject),D.length>30)for(D[26]="".concat(y,"...").concat(x);D.length>27;)D.pop();i=1===D.length?_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,"".concat(R," ").concat(D[0]))):_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,"".concat(R,"\n\n").concat(D.join("\n"),"\n")))}else{var N=inspectValue(O),W="",U=k[p];"notDeepEqual"===p||"notEqual"===p?(N="".concat(k[p],"\n\n").concat(N)).length>1024&&(N="".concat(N.slice(0,1021),"...")):(W="".concat(inspectValue(I)),N.length>512&&(N="".concat(N.slice(0,509),"...")),W.length>512&&(W="".concat(W.slice(0,509),"...")),"deepEqual"===p||"equal"===p?N="".concat(U,"\n\n").concat(N,"\n\nshould equal\n\n"):W=" ".concat(p," ").concat(W)),i=_possibleConstructorReturn(this,_getPrototypeOf(AssertionError).call(this,"".concat(N).concat(W)))}return Error.stackTraceLimit=B,i.generatedMessage=!o,Object.defineProperty(_assertThisInitialized(i),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),i.code="ERR_ASSERTION",i.actual=O,i.expected=I,i.operator=p,Error.captureStackTrace&&Error.captureStackTrace(_assertThisInitialized(i),P),i.stack,i.name="AssertionError",_possibleConstructorReturn(i)}return function _inherits(r,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(i&&i.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),i&&_setPrototypeOf(r,i)}(AssertionError,r),function _createClass(r,i,o){return i&&_defineProperties(r.prototype,i),o&&_defineProperties(r,o),r}(AssertionError,[{key:"toString",value:function toString(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:p.custom,value:function value(r,i){return p(this,function _objectSpread(r){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{},u=Object.keys(o);"function"==typeof Object.getOwnPropertySymbols&&(u=u.concat(Object.getOwnPropertySymbols(o).filter((function(r){return Object.getOwnPropertyDescriptor(o,r).enumerable})))),u.forEach((function(i){_defineProperty(r,i,o[i])}))}return r}({},i,{customInspect:!1,depth:0}))}}]),AssertionError}(_wrapNativeSuper(Error));r.exports=P},2136:function(r,i,o){"use strict";function _typeof(r){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(r){return typeof r}:function _typeof(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof(r)}function _possibleConstructorReturn(r,i){return!i||"object"!==_typeof(i)&&"function"!=typeof i?function _assertThisInitialized(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}(r):i}function _getPrototypeOf(r){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(r){return r.__proto__||Object.getPrototypeOf(r)},_getPrototypeOf(r)}function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}var u,p,g={};function createErrorType(r,i,o){o||(o=Error);var u=function(o){function NodeError(o,u,p){var g;return function _classCallCheck(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")}(this,NodeError),g=_possibleConstructorReturn(this,_getPrototypeOf(NodeError).call(this,function getMessage(r,o,u){return"string"==typeof i?i:i(r,o,u)}(o,u,p))),g.code=r,g}return function _inherits(r,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(i&&i.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),i&&_setPrototypeOf(r,i)}(NodeError,o),NodeError}(o);g[r]=u}function oneOf(r,i){if(Array.isArray(r)){var o=r.length;return r=r.map((function(r){return String(r)})),o>2?"one of ".concat(i," ").concat(r.slice(0,o-1).join(", "),", or ")+r[o-1]:2===o?"one of ".concat(i," ").concat(r[0]," or ").concat(r[1]):"of ".concat(i," ").concat(r[0])}return"of ".concat(i," ").concat(String(r))}createErrorType("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),createErrorType("ERR_INVALID_ARG_TYPE",(function(r,i,p){var g,y;if(void 0===u&&(u=o(9282)),u("string"==typeof r,"'name' must be a string"),"string"==typeof i&&function startsWith(r,i,o){return r.substr(!o||o<0?0:+o,i.length)===i}(i,"not ")?(g="must not be",i=i.replace(/^not /,"")):g="must be",function endsWith(r,i,o){return(void 0===o||o>r.length)&&(o=r.length),r.substring(o-i.length,o)===i}(r," argument"))y="The ".concat(r," ").concat(g," ").concat(oneOf(i,"type"));else{var w=function includes(r,i,o){return"number"!=typeof o&&(o=0),!(o+i.length>r.length)&&-1!==r.indexOf(i,o)}(r,".")?"property":"argument";y='The "'.concat(r,'" ').concat(w," ").concat(g," ").concat(oneOf(i,"type"))}return y+=". Received type ".concat(_typeof(p))}),TypeError),createErrorType("ERR_INVALID_ARG_VALUE",(function(r,i){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===p&&(p=o(9539));var g=p.inspect(i);return g.length>128&&(g="".concat(g.slice(0,128),"...")),"The argument '".concat(r,"' ").concat(u,". Received ").concat(g)}),TypeError,RangeError),createErrorType("ERR_INVALID_RETURN_VALUE",(function(r,i,o){var u;return u=o&&o.constructor&&o.constructor.name?"instance of ".concat(o.constructor.name):"type ".concat(_typeof(o)),"Expected ".concat(r,' to be returned from the "').concat(i,'"')+" function but got ".concat(u,".")}),TypeError),createErrorType("ERR_MISSING_ARGS",(function(){for(var r=arguments.length,i=new Array(r),p=0;p<r;p++)i[p]=arguments[p];void 0===u&&(u=o(9282)),u(i.length>0,"At least one arg needs to be specified");var g="The ",y=i.length;switch(i=i.map((function(r){return'"'.concat(r,'"')})),y){case 1:g+="".concat(i[0]," argument");break;case 2:g+="".concat(i[0]," and ").concat(i[1]," arguments");break;default:g+=i.slice(0,y-1).join(", "),g+=", and ".concat(i[y-1]," arguments")}return"".concat(g," must be specified")}),TypeError),r.exports.codes=g},9158:function(r,i,o){"use strict";function _slicedToArray(r,i){return function _arrayWithHoles(r){if(Array.isArray(r))return r}(r)||function _iterableToArrayLimit(r,i){var o=[],u=!0,p=!1,g=void 0;try{for(var y,w=r[Symbol.iterator]();!(u=(y=w.next()).done)&&(o.push(y.value),!i||o.length!==i);u=!0);}catch(r){p=!0,g=r}finally{try{u||null==w.return||w.return()}finally{if(p)throw g}}return o}(r,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function _typeof(r){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function _typeof(r){return typeof r}:function _typeof(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},_typeof(r)}var u=void 0!==/a/g.flags,p=function arrayFromSet(r){var i=[];return r.forEach((function(r){return i.push(r)})),i},g=function arrayFromMap(r){var i=[];return r.forEach((function(r,o){return i.push([o,r])})),i},y=Object.is?Object.is:o(609),w=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},_=Number.isNaN?Number.isNaN:o(360);function uncurryThis(r){return r.call.bind(r)}var x=uncurryThis(Object.prototype.hasOwnProperty),k=uncurryThis(Object.prototype.propertyIsEnumerable),P=uncurryThis(Object.prototype.toString),O=o(9539).types,I=O.isAnyArrayBuffer,B=O.isArrayBufferView,R=O.isDate,D=O.isMap,N=O.isRegExp,W=O.isSet,U=O.isNativeError,j=O.isBoxedPrimitive,G=O.isNumberObject,X=O.isStringObject,K=O.isBooleanObject,Y=O.isBigIntObject,J=O.isSymbolObject,$=O.isFloat32Array,ee=O.isFloat64Array;function isNonIndex(r){if(0===r.length||r.length>10)return!0;for(var i=0;i<r.length;i++){var o=r.charCodeAt(i);if(o<48||o>57)return!0}return 10===r.length&&r>=Math.pow(2,32)}function getOwnNonIndexProperties(r){return Object.keys(r).filter(isNonIndex).concat(w(r).filter(Object.prototype.propertyIsEnumerable.bind(r)))}function compare(r,i){if(r===i)return 0;for(var o=r.length,u=i.length,p=0,g=Math.min(o,u);p<g;++p)if(r[p]!==i[p]){o=r[p],u=i[p];break}return o<u?-1:u<o?1:0}function innerDeepEqual(r,i,o,p){if(r===i)return 0!==r||(!o||y(r,i));if(o){if("object"!==_typeof(r))return"number"==typeof r&&_(r)&&_(i);if("object"!==_typeof(i)||null===r||null===i)return!1;if(Object.getPrototypeOf(r)!==Object.getPrototypeOf(i))return!1}else{if(null===r||"object"!==_typeof(r))return(null===i||"object"!==_typeof(i))&&r==i;if(null===i||"object"!==_typeof(i))return!1}var g=P(r);if(g!==P(i))return!1;if(Array.isArray(r)){if(r.length!==i.length)return!1;var w=getOwnNonIndexProperties(r),x=getOwnNonIndexProperties(i);return w.length===x.length&&keyCheck(r,i,o,p,1,w)}if("[object Object]"===g&&(!D(r)&&D(i)||!W(r)&&W(i)))return!1;if(R(r)){if(!R(i)||Date.prototype.getTime.call(r)!==Date.prototype.getTime.call(i))return!1}else if(N(r)){if(!N(i)||!function areSimilarRegExps(r,i){return u?r.source===i.source&&r.flags===i.flags:RegExp.prototype.toString.call(r)===RegExp.prototype.toString.call(i)}(r,i))return!1}else if(U(r)||r instanceof Error){if(r.message!==i.message||r.name!==i.name)return!1}else{if(B(r)){if(o||!$(r)&&!ee(r)){if(!function areSimilarTypedArrays(r,i){return r.byteLength===i.byteLength&&0===compare(new Uint8Array(r.buffer,r.byteOffset,r.byteLength),new Uint8Array(i.buffer,i.byteOffset,i.byteLength))}(r,i))return!1}else if(!function areSimilarFloatArrays(r,i){if(r.byteLength!==i.byteLength)return!1;for(var o=0;o<r.byteLength;o++)if(r[o]!==i[o])return!1;return!0}(r,i))return!1;var k=getOwnNonIndexProperties(r),O=getOwnNonIndexProperties(i);return k.length===O.length&&keyCheck(r,i,o,p,0,k)}if(W(r))return!(!W(i)||r.size!==i.size)&&keyCheck(r,i,o,p,2);if(D(r))return!(!D(i)||r.size!==i.size)&&keyCheck(r,i,o,p,3);if(I(r)){if(!function areEqualArrayBuffers(r,i){return r.byteLength===i.byteLength&&0===compare(new Uint8Array(r),new Uint8Array(i))}(r,i))return!1}else if(j(r)&&!function isEqualBoxedPrimitive(r,i){return G(r)?G(i)&&y(Number.prototype.valueOf.call(r),Number.prototype.valueOf.call(i)):X(r)?X(i)&&String.prototype.valueOf.call(r)===String.prototype.valueOf.call(i):K(r)?K(i)&&Boolean.prototype.valueOf.call(r)===Boolean.prototype.valueOf.call(i):Y(r)?Y(i)&&BigInt.prototype.valueOf.call(r)===BigInt.prototype.valueOf.call(i):J(i)&&Symbol.prototype.valueOf.call(r)===Symbol.prototype.valueOf.call(i)}(r,i))return!1}return keyCheck(r,i,o,p,0)}function getEnumerables(r,i){return i.filter((function(i){return k(r,i)}))}function keyCheck(r,i,o,u,p,g){if(5===arguments.length){g=Object.keys(r);var y=Object.keys(i);if(g.length!==y.length)return!1}for(var _=0;_<g.length;_++)if(!x(i,g[_]))return!1;if(o&&5===arguments.length){var P=w(r);if(0!==P.length){var O=0;for(_=0;_<P.length;_++){var I=P[_];if(k(r,I)){if(!k(i,I))return!1;g.push(I),O++}else if(k(i,I))return!1}var B=w(i);if(P.length!==B.length&&getEnumerables(i,B).length!==O)return!1}else{var R=w(i);if(0!==R.length&&0!==getEnumerables(i,R).length)return!1}}if(0===g.length&&(0===p||1===p&&0===r.length||0===r.size))return!0;if(void 0===u)u={val1:new Map,val2:new Map,position:0};else{var D=u.val1.get(r);if(void 0!==D){var N=u.val2.get(i);if(void 0!==N)return D===N}u.position++}u.val1.set(r,u.position),u.val2.set(i,u.position);var W=objEquiv(r,i,o,g,u,p);return u.val1.delete(r),u.val2.delete(i),W}function setHasEqualElement(r,i,o,u){for(var g=p(r),y=0;y<g.length;y++){var w=g[y];if(innerDeepEqual(i,w,o,u))return r.delete(w),!0}return!1}function findLooseMatchingPrimitives(r){switch(_typeof(r)){case"undefined":return null;case"object":return;case"symbol":return!1;case"string":r=+r;case"number":if(_(r))return!1}return!0}function setMightHaveLoosePrim(r,i,o){var u=findLooseMatchingPrimitives(o);return null!=u?u:i.has(u)&&!r.has(u)}function mapMightHaveLoosePrim(r,i,o,u,p){var g=findLooseMatchingPrimitives(o);if(null!=g)return g;var y=i.get(g);return!(void 0===y&&!i.has(g)||!innerDeepEqual(u,y,!1,p))&&(!r.has(g)&&innerDeepEqual(u,y,!1,p))}function mapHasEqualEntry(r,i,o,u,g,y){for(var w=p(r),_=0;_<w.length;_++){var x=w[_];if(innerDeepEqual(o,x,g,y)&&innerDeepEqual(u,i.get(x),g,y))return r.delete(x),!0}return!1}function objEquiv(r,i,o,u,y,w){var _=0;if(2===w){if(!function setEquiv(r,i,o,u){for(var g=null,y=p(r),w=0;w<y.length;w++){var _=y[w];if("object"===_typeof(_)&&null!==_)null===g&&(g=new Set),g.add(_);else if(!i.has(_)){if(o)return!1;if(!setMightHaveLoosePrim(r,i,_))return!1;null===g&&(g=new Set),g.add(_)}}if(null!==g){for(var x=p(i),k=0;k<x.length;k++){var P=x[k];if("object"===_typeof(P)&&null!==P){if(!setHasEqualElement(g,P,o,u))return!1}else if(!o&&!r.has(P)&&!setHasEqualElement(g,P,o,u))return!1}return 0===g.size}return!0}(r,i,o,y))return!1}else if(3===w){if(!function mapEquiv(r,i,o,u){for(var p=null,y=g(r),w=0;w<y.length;w++){var _=_slicedToArray(y[w],2),x=_[0],k=_[1];if("object"===_typeof(x)&&null!==x)null===p&&(p=new Set),p.add(x);else{var P=i.get(x);if(void 0===P&&!i.has(x)||!innerDeepEqual(k,P,o,u)){if(o)return!1;if(!mapMightHaveLoosePrim(r,i,x,k,u))return!1;null===p&&(p=new Set),p.add(x)}}}if(null!==p){for(var O=g(i),I=0;I<O.length;I++){var B=_slicedToArray(O[I],2),R=(x=B[0],B[1]);if("object"===_typeof(x)&&null!==x){if(!mapHasEqualEntry(p,r,x,R,o,u))return!1}else if(!(o||r.has(x)&&innerDeepEqual(r.get(x),R,!1,u)||mapHasEqualEntry(p,r,x,R,!1,u)))return!1}return 0===p.size}return!0}(r,i,o,y))return!1}else if(1===w)for(;_<r.length;_++){if(!x(r,_)){if(x(i,_))return!1;for(var k=Object.keys(r);_<k.length;_++){var P=k[_];if(!x(i,P)||!innerDeepEqual(r[P],i[P],o,y))return!1}return k.length===Object.keys(i).length}if(!x(i,_)||!innerDeepEqual(r[_],i[_],o,y))return!1}for(_=0;_<u.length;_++){var O=u[_];if(!innerDeepEqual(r[O],i[O],o,y))return!1}return!0}r.exports={isDeepEqual:function isDeepEqual(r,i){return innerDeepEqual(r,i,false)},isDeepStrictEqual:function isDeepStrictEqual(r,i){return innerDeepEqual(r,i,true)}}},2055:function(r,i){"use strict";i.OP=0,i.CL=1,i.CP=2,i.QU=3,i.GL=4,i.NS=5,i.EX=6,i.SY=7,i.IS=8,i.PR=9,i.PO=10,i.NU=11,i.AL=12,i.HL=13,i.ID=14,i.IN=15,i.HY=16,i.BA=17,i.BB=18,i.B2=19,i.ZW=20,i.CM=21,i.WJ=22,i.H2=23,i.H3=24,i.JL=25,i.JV=26,i.JT=27,i.RI=28,i.EB=29,i.EM=30,i.ZWJ=31,i.CB=32,i.AI=33,i.BK=34,i.CJ=35,i.CR=36,i.LF=37,i.NL=38,i.SA=39,i.SG=40,i.SP=41,i.XX=42},8383:function(r,i){"use strict";i.DI_BRK=0,i.IN_BRK=1,i.CI_BRK=2,i.CP_BRK=3,i.PR_BRK=4,i.pairTable=[[4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,4,4,4,4,4,4,4,4,4,4,4],[0,4,4,1,1,4,4,4,4,1,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,4,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[4,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,0,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,1,1,1,1,0,0,4,2,4,1,1,1,1,1,0,1,1,1,0],[1,4,4,1,1,1,4,4,4,0,0,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,1,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,0,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,4,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,1,1,1,1,1,1,4,2,4,1,1,1,1,1,1,1,1,1,1],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,1,1,1,1,0,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,1,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,1,0,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,0,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,1,0,0,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,1,1,0],[0,4,4,1,1,1,4,4,4,0,1,0,0,0,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[1,4,4,1,1,1,4,4,4,1,1,1,1,1,0,1,1,1,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0],[0,4,4,1,1,0,4,4,4,0,0,0,0,0,0,0,0,0,0,0,4,2,4,0,0,0,0,0,0,0,0,1,0]]},5106:function(r,i,o){"use strict";o(9601),i.EncodeStream=o(9126),i.DecodeStream=o(3030),i.Array=o(1988),i.LazyArray=o(6768),i.Bitfield=o(3425),i.Boolean=o(9024),i.Buffer=o(5250),i.Enum=o(3100),i.Optional=o(9541),i.Reserved=o(7468),i.String=o(1466),i.Struct=o(1219),i.VersionedStruct=o(3585);var u=o(6610),p=o(6462),g=o(8011);Object.assign(i,u,p,g)},1988:function(r,i,o){"use strict";function _createForOfIteratorHelperLoose(r,i){var o="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(o)return(o=o.call(r)).next.bind(o);if(Array.isArray(r)||(o=function _unsupportedIterableToArray(r,i){if(!r)return;if("string"==typeof r)return _arrayLikeToArray(r,i);var o=Object.prototype.toString.call(r).slice(8,-1);"Object"===o&&r.constructor&&(o=r.constructor.name);if("Map"===o||"Set"===o)return Array.from(r);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return _arrayLikeToArray(r,i)}(r))||i&&r&&"number"==typeof r.length){o&&(r=o);var u=0;return function(){return u>=r.length?{done:!0}:{done:!1,value:r[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayLikeToArray(r,i){(null==i||i>r.length)&&(i=r.length);for(var o=0,u=new Array(i);o<i;o++)u[o]=r[o];return u}o(7042),o(1539),o(8309),o(1038),o(8783),o(4916),o(2526),o(1817),o(2165),o(6992),o(3948);var u=o(6462).Number,p=o(6610),g=function(){function ArrayT(r,i,o){void 0===o&&(o="count"),this.type=r,this.length=i,this.lengthType=o}var r=ArrayT.prototype;return r.decode=function decode(r,i){var o,g=r.pos,y=[],w=i;if(null!=this.length&&(o=p.resolveLength(this.length,r,i)),this.length instanceof u&&(Object.defineProperties(y,{parent:{value:i},_startOffset:{value:g},_currentOffset:{value:0,writable:!0},_length:{value:o}}),w=y),null==o||"bytes"===this.lengthType)for(var _=null!=o?r.pos+o:(null!=i?i._length:void 0)?i._startOffset+i._length:r.length;r.pos<_;)y.push(this.type.decode(r,w));else for(var x=0,k=o;x<k;x++)y.push(this.type.decode(r,w));return y},r.size=function size(r,i){if(!r)return this.type.size(null,i)*p.resolveLength(this.length,null,i);var size=0;this.length instanceof u&&(size+=this.length.size(),i={parent:i});for(var o,g=_createForOfIteratorHelperLoose(r);!(o=g()).done;){var y=o.value;size+=this.type.size(y,i)}return size},r.encode=function encode(r,i,o){var p=o;this.length instanceof u&&((p={pointers:[],startOffset:r.pos,parent:o}).pointerOffset=r.pos+this.size(i,p),this.length.encode(r,i.length));for(var g,y=_createForOfIteratorHelperLoose(i);!(g=y()).done;){var w=g.value;this.type.encode(r,w,p)}if(this.length instanceof u)for(var _=0;_<p.pointers.length;){var x=p.pointers[_++];x.type.encode(r,x.val)}},ArrayT}();r.exports=g},3425:function(r,i,o){"use strict";o(2087);var u=function(){function Bitfield(r,i){void 0===i&&(i=[]),this.type=r,this.flags=i}var r=Bitfield.prototype;return r.decode=function decode(r){for(var i=this.type.decode(r),o={},u=0;u<this.flags.length;u++){var p=this.flags[u];null!=p&&(o[p]=!!(i&1<<u))}return o},r.size=function size(){return this.type.size()},r.encode=function encode(r,i){for(var o=0,u=0;u<this.flags.length;u++){var p=this.flags[u];null!=p&&i[p]&&(o|=1<<u)}return this.type.encode(r,o)},Bitfield}();r.exports=u},9024:function(r){"use strict";var i=function(){function BooleanT(r){this.type=r}var r=BooleanT.prototype;return r.decode=function decode(r,i){return!!this.type.decode(r,i)},r.size=function size(r,i){return this.type.size(r,i)},r.encode=function encode(r,i,o){return this.type.encode(r,+i,o)},BooleanT}();r.exports=i},5250:function(r,i,o){"use strict";var u=o(6610),p=o(6462).Number,g=function(){function BufferT(r){this.length=r}var r=BufferT.prototype;return r.decode=function decode(r,i){var o=u.resolveLength(this.length,r,i);return r.readBuffer(o)},r.size=function size(r,i){return r?r.length:u.resolveLength(this.length,null,i)},r.encode=function encode(r,i,o){return this.length instanceof p&&this.length.encode(r,i.length),r.writeBuffer(i)},BufferT}();r.exports=g},3030:function(r,i,o){"use strict";var u,p=o(8823).Buffer;o(1539),o(9714),o(7042),o(4916),o(5306);try{u=o(4914)}catch(r){}var g=function(){function DecodeStream(r){this.buffer=r,this.pos=0,this.length=this.buffer.length}var r=DecodeStream.prototype;return r.readString=function readString(r,i){switch(void 0===i&&(i="ascii"),i){case"utf16le":case"ucs2":case"utf8":case"ascii":return this.buffer.toString(i,this.pos,this.pos+=r);case"utf16be":for(var o=p.from(this.readBuffer(r)),g=0,y=o.length-1;g<y;g+=2){var w=o[g];o[g]=o[g+1],o[g+1]=w}return o.toString("utf16le");default:if(o=this.readBuffer(r),u)try{return u.decode(o,i)}catch(r){}return o}},r.readBuffer=function readBuffer(r){return this.buffer.slice(this.pos,this.pos+=r)},r.readUInt24BE=function readUInt24BE(){return(this.readUInt16BE()<<8)+this.readUInt8()},r.readUInt24LE=function readUInt24LE(){return this.readUInt16LE()+(this.readUInt8()<<16)},r.readInt24BE=function readInt24BE(){return(this.readInt16BE()<<8)+this.readUInt8()},r.readInt24LE=function readInt24LE(){return this.readUInt16LE()+(this.readInt8()<<16)},DecodeStream}();g.TYPES={UInt8:1,UInt16:2,UInt24:3,UInt32:4,Int8:1,Int16:2,Int24:3,Int32:4,Float:4,Double:8};var y=function _loop(r){if("read"===r.slice(0,4)){var i=g.TYPES[r.replace(/read|[BL]E/g,"")];g.prototype[r]=function(){var o=this.buffer[r](this.pos);return this.pos+=i,o}}};for(var w in p.prototype)y(w);r.exports=g},9126:function(r,i,o){"use strict";var u,p=o(8823).Buffer;function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}o(7042),o(3290),o(4916),o(5306);var g=o(2830),y=o(3030);try{u=o(4914)}catch(r){}var w=function(r){function EncodeStream(i){var o;return void 0===i&&(i=65536),(o=r.apply(this,arguments)||this).buffer=p.alloc(i),o.bufferOffset=0,o.pos=0,o}!function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,_setPrototypeOf(r,i)}(EncodeStream,r);var i=EncodeStream.prototype;return i._read=function _read(){},i.ensure=function ensure(r){if(this.bufferOffset+r>this.buffer.length)return this.flush()},i.flush=function flush(){if(this.bufferOffset>0)return this.push(p.from(this.buffer.slice(0,this.bufferOffset))),this.bufferOffset=0},i.writeBuffer=function writeBuffer(r){return this.flush(),this.push(r),this.pos+=r.length},i.writeString=function writeString(r,i){switch(void 0===i&&(i="ascii"),i){case"utf16le":case"ucs2":case"utf8":case"ascii":return this.writeBuffer(p.from(r,i));case"utf16be":for(var o=p.from(r,"utf16le"),g=0,y=o.length-1;g<y;g+=2){var w=o[g];o[g]=o[g+1],o[g+1]=w}return this.writeBuffer(o);default:if(u)return this.writeBuffer(u.encode(r,i));throw new Error("Install iconv-lite to enable additional string encodings.")}},i.writeUInt24BE=function writeUInt24BE(r){return this.ensure(3),this.buffer[this.bufferOffset++]=r>>>16&255,this.buffer[this.bufferOffset++]=r>>>8&255,this.buffer[this.bufferOffset++]=255&r,this.pos+=3},i.writeUInt24LE=function writeUInt24LE(r){return this.ensure(3),this.buffer[this.bufferOffset++]=255&r,this.buffer[this.bufferOffset++]=r>>>8&255,this.buffer[this.bufferOffset++]=r>>>16&255,this.pos+=3},i.writeInt24BE=function writeInt24BE(r){return r>=0?this.writeUInt24BE(r):this.writeUInt24BE(r+16777215+1)},i.writeInt24LE=function writeInt24LE(r){return r>=0?this.writeUInt24LE(r):this.writeUInt24LE(r+16777215+1)},i.fill=function fill(r,i){if(i<this.buffer.length)return this.ensure(i),this.buffer.fill(r,this.bufferOffset,this.bufferOffset+i),this.bufferOffset+=i,this.pos+=i;var o=p.alloc(i);return o.fill(r),this.writeBuffer(o)},i.end=function end(){return this.flush(),this.push(null)},EncodeStream}(g.Readable),_=function _loop(r){if("write"===r.slice(0,5)){var i=+y.TYPES[r.replace(/write|[BL]E/g,"")];w.prototype[r]=function(o){return this.ensure(i),this.buffer[r](o,this.bufferOffset),this.bufferOffset+=i,this.pos+=i}}};for(var x in p.prototype)_(x);r.exports=w},3100:function(r){"use strict";var i=function(){function Enum(r,i){void 0===i&&(i=[]),this.type=r,this.options=i}var r=Enum.prototype;return r.decode=function decode(r){var i=this.type.decode(r);return this.options[i]||i},r.size=function size(){return this.type.size()},r.encode=function encode(r,i){var o=this.options.indexOf(i);if(-1===o)throw new Error("Unknown option in enum: "+i);return this.type.encode(r,o)},Enum}();r.exports=i},6768:function(r,i,o){"use strict";function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}o(1539),o(8674);var u=o(1988),p=o(6462).Number,g=o(6610),y=o(9539).inspect,w=function(r){function LazyArrayT(){return r.apply(this,arguments)||this}!function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,_setPrototypeOf(r,i)}(LazyArrayT,r);var i=LazyArrayT.prototype;return i.decode=function decode(r,i){var o=r.pos,u=g.resolveLength(this.length,r,i);this.length instanceof p&&(i={parent:i,_startOffset:o,_currentOffset:0,_length:u});var y=new _(this.type,u,r,i);return r.pos+=u*this.type.size(null,i),y},i.size=function size(i,o){return i instanceof _&&(i=i.toArray()),r.prototype.size.call(this,i,o)},i.encode=function encode(i,o,u){return o instanceof _&&(o=o.toArray()),r.prototype.encode.call(this,i,o,u)},LazyArrayT}(u),_=function(){function LazyArray(r,i,o,u){this.type=r,this.length=i,this.stream=o,this.ctx=u,this.base=this.stream.pos,this.items=[]}var r=LazyArray.prototype;return r.get=function get(r){if(!(r<0||r>=this.length)){if(null==this.items[r]){var i=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.ctx)*r,this.items[r]=this.type.decode(this.stream,this.ctx),this.stream.pos=i}return this.items[r]}},r.toArray=function toArray(){for(var r=[],i=0,o=this.length;i<o;i++)r.push(this.get(i));return r},r.inspect=function inspect(){return y(this.toArray())},LazyArray}();r.exports=w},6462:function(r,i,o){"use strict";function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}var u=o(3030),p=function(){function NumberT(r,i){void 0===i&&(i="BE"),this.type=r,this.endian=i,this.fn=this.type,"8"!==this.type[this.type.length-1]&&(this.fn+=this.endian)}var r=NumberT.prototype;return r.size=function size(){return u.TYPES[this.type]},r.decode=function decode(r){return r["read"+this.fn]()},r.encode=function encode(r,i){return r["write"+this.fn](i)},NumberT}();i.Number=p,i.uint8=new p("UInt8"),i.uint16be=i.uint16=new p("UInt16","BE"),i.uint16le=new p("UInt16","LE"),i.uint24be=i.uint24=new p("UInt24","BE"),i.uint24le=new p("UInt24","LE"),i.uint32be=i.uint32=new p("UInt32","BE"),i.uint32le=new p("UInt32","LE"),i.int8=new p("Int8"),i.int16be=i.int16=new p("Int16","BE"),i.int16le=new p("Int16","LE"),i.int24be=i.int24=new p("Int24","BE"),i.int24le=new p("Int24","LE"),i.int32be=i.int32=new p("Int32","BE"),i.int32le=new p("Int32","LE"),i.floatbe=i.float=new p("Float","BE"),i.floatle=new p("Float","LE"),i.doublebe=i.double=new p("Double","BE"),i.doublele=new p("Double","LE");var g=function(r){function Fixed(i,o,u){var p;return void 0===u&&(u=i>>1),(p=r.call(this,"Int"+i,o)||this)._point=1<<u,p}!function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,_setPrototypeOf(r,i)}(Fixed,r);var i=Fixed.prototype;return i.decode=function decode(i){return r.prototype.decode.call(this,i)/this._point},i.encode=function encode(i,o){return r.prototype.encode.call(this,i,o*this._point|0)},Fixed}(p);i.Fixed=g,i.fixed16be=i.fixed16=new g(16,"BE"),i.fixed16le=new g(16,"LE"),i.fixed32be=i.fixed32=new g(32,"BE"),i.fixed32le=new g(32,"LE")},9541:function(r){"use strict";var i=function(){function Optional(r,i){void 0===i&&(i=!0),this.type=r,this.condition=i}var r=Optional.prototype;return r.decode=function decode(r,i){var o=this.condition;if("function"==typeof o&&(o=o.call(i,i)),o)return this.type.decode(r,i)},r.size=function size(r,i){var o=this.condition;return"function"==typeof o&&(o=o.call(i,i)),o?this.type.size(r,i):0},r.encode=function encode(r,i,o){var u=this.condition;if("function"==typeof u&&(u=u.call(o,o)),u)return this.type.encode(r,i,o)},Optional}();r.exports=i},8011:function(r,i,o){"use strict";var u=o(6610),p=function(){function Pointer(r,i,o){if(void 0===o&&(o={}),this.offsetType=r,this.type=i,this.options=o,"void"===this.type&&(this.type=null),null==this.options.type&&(this.options.type="local"),null==this.options.allowNull&&(this.options.allowNull=!0),null==this.options.nullValue&&(this.options.nullValue=0),null==this.options.lazy&&(this.options.lazy=!1),this.options.relativeTo){if("function"!=typeof this.options.relativeTo)throw new Error("relativeTo option must be a function");this.relativeToGetter=o.relativeTo}}var r=Pointer.prototype;return r.decode=function decode(r,i){var o,p=this,g=this.offsetType.decode(r,i);if(g===this.options.nullValue&&this.options.allowNull)return null;switch(this.options.type){case"local":o=i._startOffset;break;case"immediate":o=r.pos-this.offsetType.size();break;case"parent":o=i.parent._startOffset;break;default:for(var y=i;y.parent;)y=y.parent;o=y._startOffset||0}this.options.relativeTo&&(o+=this.relativeToGetter(i));var w=g+o;if(null!=this.type){var _=null,x=function decodeValue(){if(null!=_)return _;var o=r.pos;return r.pos=w,_=p.type.decode(r,i),r.pos=o,_};return this.options.lazy?new u.PropertyDescriptor({get:x}):x()}return w},r.size=function size(r,i){var o=i;switch(this.options.type){case"local":case"immediate":break;case"parent":i=i.parent;break;default:for(;i.parent;)i=i.parent}var u=this.type;if(null==u){if(!(r instanceof g))throw new Error("Must be a VoidPointer");u=r.type,r=r.value}return r&&i&&(i.pointerSize+=u.size(r,o)),this.offsetType.size()},r.encode=function encode(r,i,o){var u,p=o;if(null!=i){switch(this.options.type){case"local":u=o.startOffset;break;case"immediate":u=r.pos+this.offsetType.size(i,p);break;case"parent":u=(o=o.parent).startOffset;break;default:for(u=0;o.parent;)o=o.parent}this.options.relativeTo&&(u+=this.relativeToGetter(p.val)),this.offsetType.encode(r,o.pointerOffset-u);var y=this.type;if(null==y){if(!(i instanceof g))throw new Error("Must be a VoidPointer");y=i.type,i=i.value}return o.pointers.push({type:y,val:i,parent:p}),o.pointerOffset+=y.size(i,p)}this.offsetType.encode(r,this.options.nullValue)},Pointer}(),g=function VoidPointer(r,i){this.type=r,this.value=i};i.Pointer=p,i.VoidPointer=g},7468:function(r,i,o){"use strict";o(3290);var u=o(6610),p=function(){function Reserved(r,i){void 0===i&&(i=1),this.type=r,this.count=i}var r=Reserved.prototype;return r.decode=function decode(r,i){r.pos+=this.size(null,i)},r.size=function size(r,i){var o=u.resolveLength(this.count,null,i);return this.type.size()*o},r.encode=function encode(r,i,o){return r.fill(0,this.size(i,o))},Reserved}();r.exports=p},1466:function(r,i,o){"use strict";var u=o(8823).Buffer,p=o(6462).Number,g=o(6610),y=function(){function StringT(r,i){void 0===i&&(i="ascii"),this.length=r,this.encoding=i}var r=StringT.prototype;return r.decode=function decode(r,i){var o,u;if(null!=this.length)o=g.resolveLength(this.length,r,i);else{var p;for(p=r.buffer,o=r.length,u=r.pos;u<o&&0!==p[u];)++u;o=u-r.pos}var y=this.encoding;"function"==typeof y&&(y=y.call(i,i)||"ascii");var w=r.readString(o,y);return null==this.length&&r.pos<r.length&&r.pos++,w},r.size=function size(r,i){if(!r)return g.resolveLength(this.length,null,i);var o=this.encoding;"function"==typeof o&&(o=o.call(null!=i?i.val:void 0,null!=i?i.val:void 0)||"ascii"),"utf16be"===o&&(o="utf16le");var size=u.byteLength(r,o);return this.length instanceof p&&(size+=this.length.size()),null==this.length&&size++,size},r.encode=function encode(r,i,o){var g=this.encoding;if("function"==typeof g&&(g=g.call(null!=o?o.val:void 0,null!=o?o.val:void 0)||"ascii"),this.length instanceof p&&this.length.encode(r,u.byteLength(i,g)),r.writeString(i,g),null==this.length)return r.writeUInt8(0)},StringT}();r.exports=y},1219:function(r,i,o){"use strict";var u=o(6610),p=function(){function Struct(r){void 0===r&&(r={}),this.fields=r}var r=Struct.prototype;return r.decode=function decode(r,i,o){void 0===o&&(o=0);var u=this._setup(r,i,o);return this._parseFields(r,u,this.fields),null!=this.process&&this.process.call(u,r),u},r._setup=function _setup(r,i,o){var u={};return Object.defineProperties(u,{parent:{value:i},_startOffset:{value:r.pos},_currentOffset:{value:0,writable:!0},_length:{value:o}}),u},r._parseFields=function _parseFields(r,i,o){for(var p in o){var g,y=o[p];void 0!==(g="function"==typeof y?y.call(i,i):y.decode(r,i))&&(g instanceof u.PropertyDescriptor?Object.defineProperty(i,p,g):i[p]=g),i._currentOffset=r.pos-i._startOffset}},r.size=function size(r,i,o){null==r&&(r={}),null==o&&(o=!0);var u={parent:i,val:r,pointerSize:0},size=0;for(var p in this.fields){var g=this.fields[p];null!=g.size&&(size+=g.size(r[p],u))}return o&&(size+=u.pointerSize),size},r.encode=function encode(r,i,o){var u;null!=this.preEncode&&this.preEncode.call(i,r);var p={pointers:[],startOffset:r.pos,parent:o,val:i,pointerSize:0};for(var g in p.pointerOffset=r.pos+this.size(i,p,!1),this.fields)null!=(u=this.fields[g]).encode&&u.encode(r,i[g],p);for(var y=0;y<p.pointers.length;){var w=p.pointers[y++];w.type.encode(r,w.val,w.parent)}},Struct}();r.exports=p},3585:function(r,i,o){"use strict";function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}o(1539);var u=o(1219),p=function(r){function VersionedStruct(i,o){var u;return void 0===o&&(o={}),(u=r.call(this)||this).type=i,u.versions=o,"string"==typeof i&&(u.versionPath=i.split(".")),u}!function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,_setPrototypeOf(r,i)}(VersionedStruct,r);var i=VersionedStruct.prototype;return i.decode=function decode(r,i,o){void 0===o&&(o=0);var u=this._setup(r,i,o);"string"==typeof this.type?u.version=function getPath(r,i){return i.reduce((function(r,i){return r&&r[i]}),r)}(i,this.versionPath):u.version=this.type.decode(r),this.versions.header&&this._parseFields(r,u,this.versions.header);var p=this.versions[u.version];if(null==p)throw new Error("Unknown version "+u.version);return p instanceof VersionedStruct?p.decode(r,i):(this._parseFields(r,u,p),null!=this.process&&this.process.call(u,r),u)},i.size=function size(r,i,o){var u,p;if(void 0===o&&(o=!0),!r)throw new Error("Not a fixed size");var g={parent:i,val:r,pointerSize:0},size=0;if("string"!=typeof this.type&&(size+=this.type.size(r.version,g)),this.versions.header)for(u in this.versions.header)null!=(p=this.versions.header[u]).size&&(size+=p.size(r[u],g));var y=this.versions[r.version];if(null==y)throw new Error("Unknown version "+r.version);for(u in y)null!=(p=y[u]).size&&(size+=p.size(r[u],g));return o&&(size+=g.pointerSize),size},i.encode=function encode(r,i,o){var u,p;null!=this.preEncode&&this.preEncode.call(i,r);var g={pointers:[],startOffset:r.pos,parent:o,val:i,pointerSize:0};if(g.pointerOffset=r.pos+this.size(i,g,!1),"string"!=typeof this.type&&this.type.encode(r,i.version),this.versions.header)for(u in this.versions.header)null!=(p=this.versions.header[u]).encode&&p.encode(r,i[u],g);var y=this.versions[i.version];for(u in y)null!=(p=y[u]).encode&&p.encode(r,i[u],g);for(var w=0;w<g.pointers.length;){var _=g.pointers[w++];_.type.encode(r,_.val,_.parent)}},VersionedStruct}(u);r.exports=p},6610:function(r,i,o){"use strict";var u=o(6462).Number;i.resolveLength=function(r,i,o){var p;if("number"==typeof r?p=r:"function"==typeof r?p=r.call(o,o):o&&"string"==typeof r?p=o[r]:i&&r instanceof u&&(p=r.decode(i)),isNaN(p))throw new Error("Not a fixed size");return p};i.PropertyDescriptor=function PropertyDescriptor(r){for(var i in void 0===r&&(r={}),this.enumerable=!0,this.configurable=!0,r){var o=r[i];this[i]=o}}},8823:function(r,i,o){"use strict";function _defineProperties(r,i){for(var o=0;o<i.length;o++){var u=i[o];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(r,(p=u.key,g=void 0,"symbol"==typeof(g=function _toPrimitive(r,i){if("object"!=typeof r||null===r)return r;var o=r[Symbol.toPrimitive];if(void 0!==o){var u=o.call(r,i||"default");if("object"!=typeof u)return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(r)}(p,"string"))?g:String(g)),u)}var p,g}function _assertThisInitialized(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}o(2526),o(1817),o(1539),o(6992),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(7803),o(6649),o(6078),o(3290),o(7042),o(2222),o(9714),o(3210),o(4916),o(5306),o(6699),o(2023),o(9653),o(3753),o(545),o(8309),o(3161);var u=o(9742),p=o(645),g="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;i.Buffer=Buffer,i.SlowBuffer=function SlowBuffer(r){+r!=r&&(r=0);return Buffer.alloc(+r)},i.INSPECT_MAX_BYTES=50;var y=2147483647;function createBuffer(r){if(r>y)throw new RangeError('The value "'+r+'" is invalid for option "size"');var i=new Uint8Array(r);return Object.setPrototypeOf(i,Buffer.prototype),i}function Buffer(r,i,o){if("number"==typeof r){if("string"==typeof i)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(r)}return from(r,i,o)}function from(r,i,o){if("string"==typeof r)return function fromString(r,i){"string"==typeof i&&""!==i||(i="utf8");if(!Buffer.isEncoding(i))throw new TypeError("Unknown encoding: "+i);var o=0|byteLength(r,i),u=createBuffer(o),p=u.write(r,i);p!==o&&(u=u.slice(0,p));return u}(r,i);if(ArrayBuffer.isView(r))return function fromArrayView(r){if(isInstance(r,Uint8Array)){var i=new Uint8Array(r);return fromArrayBuffer(i.buffer,i.byteOffset,i.byteLength)}return fromArrayLike(r)}(r);if(null==r)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);if(isInstance(r,ArrayBuffer)||r&&isInstance(r.buffer,ArrayBuffer))return fromArrayBuffer(r,i,o);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(r,SharedArrayBuffer)||r&&isInstance(r.buffer,SharedArrayBuffer)))return fromArrayBuffer(r,i,o);if("number"==typeof r)throw new TypeError('The "value" argument must not be of type number. Received type number');var u=r.valueOf&&r.valueOf();if(null!=u&&u!==r)return Buffer.from(u,i,o);var p=function fromObject(r){if(Buffer.isBuffer(r)){var i=0|checked(r.length),o=createBuffer(i);return 0===o.length||r.copy(o,0,0,i),o}if(void 0!==r.length)return"number"!=typeof r.length||numberIsNaN(r.length)?createBuffer(0):fromArrayLike(r);if("Buffer"===r.type&&Array.isArray(r.data))return fromArrayLike(r.data)}(r);if(p)return p;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof r[Symbol.toPrimitive])return Buffer.from(r[Symbol.toPrimitive]("string"),i,o);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r)}function assertSize(r){if("number"!=typeof r)throw new TypeError('"size" argument must be of type number');if(r<0)throw new RangeError('The value "'+r+'" is invalid for option "size"')}function allocUnsafe(r){return assertSize(r),createBuffer(r<0?0:0|checked(r))}function fromArrayLike(r){for(var i=r.length<0?0:0|checked(r.length),o=createBuffer(i),u=0;u<i;u+=1)o[u]=255&r[u];return o}function fromArrayBuffer(r,i,o){if(i<0||r.byteLength<i)throw new RangeError('"offset" is outside of buffer bounds');if(r.byteLength<i+(o||0))throw new RangeError('"length" is outside of buffer bounds');var u;return u=void 0===i&&void 0===o?new Uint8Array(r):void 0===o?new Uint8Array(r,i):new Uint8Array(r,i,o),Object.setPrototypeOf(u,Buffer.prototype),u}function checked(r){if(r>=y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+y.toString(16)+" bytes");return 0|r}function byteLength(r,i){if(Buffer.isBuffer(r))return r.length;if(ArrayBuffer.isView(r)||isInstance(r,ArrayBuffer))return r.byteLength;if("string"!=typeof r)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof r);var o=r.length,u=arguments.length>2&&!0===arguments[2];if(!u&&0===o)return 0;for(var p=!1;;)switch(i){case"ascii":case"latin1":case"binary":return o;case"utf8":case"utf-8":return utf8ToBytes(r).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*o;case"hex":return o>>>1;case"base64":return base64ToBytes(r).length;default:if(p)return u?-1:utf8ToBytes(r).length;i=(""+i).toLowerCase(),p=!0}}function slowToString(r,i,o){var u=!1;if((void 0===i||i<0)&&(i=0),i>this.length)return"";if((void 0===o||o>this.length)&&(o=this.length),o<=0)return"";if((o>>>=0)<=(i>>>=0))return"";for(r||(r="utf8");;)switch(r){case"hex":return hexSlice(this,i,o);case"utf8":case"utf-8":return utf8Slice(this,i,o);case"ascii":return asciiSlice(this,i,o);case"latin1":case"binary":return latin1Slice(this,i,o);case"base64":return base64Slice(this,i,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,i,o);default:if(u)throw new TypeError("Unknown encoding: "+r);r=(r+"").toLowerCase(),u=!0}}function swap(r,i,o){var u=r[i];r[i]=r[o],r[o]=u}function bidirectionalIndexOf(r,i,o,u,p){if(0===r.length)return-1;if("string"==typeof o?(u=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),numberIsNaN(o=+o)&&(o=p?0:r.length-1),o<0&&(o=r.length+o),o>=r.length){if(p)return-1;o=r.length-1}else if(o<0){if(!p)return-1;o=0}if("string"==typeof i&&(i=Buffer.from(i,u)),Buffer.isBuffer(i))return 0===i.length?-1:arrayIndexOf(r,i,o,u,p);if("number"==typeof i)return i&=255,"function"==typeof Uint8Array.prototype.indexOf?p?Uint8Array.prototype.indexOf.call(r,i,o):Uint8Array.prototype.lastIndexOf.call(r,i,o):arrayIndexOf(r,[i],o,u,p);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(r,i,o,u,p){var g,y=1,w=r.length,_=i.length;if(void 0!==u&&("ucs2"===(u=String(u).toLowerCase())||"ucs-2"===u||"utf16le"===u||"utf-16le"===u)){if(r.length<2||i.length<2)return-1;y=2,w/=2,_/=2,o/=2}function read(r,i){return 1===y?r[i]:r.readUInt16BE(i*y)}if(p){var x=-1;for(g=o;g<w;g++)if(read(r,g)===read(i,-1===x?0:g-x)){if(-1===x&&(x=g),g-x+1===_)return x*y}else-1!==x&&(g-=g-x),x=-1}else for(o+_>w&&(o=w-_),g=o;g>=0;g--){for(var k=!0,P=0;P<_;P++)if(read(r,g+P)!==read(i,P)){k=!1;break}if(k)return g}return-1}function hexWrite(r,i,o,u){o=Number(o)||0;var p=r.length-o;u?(u=Number(u))>p&&(u=p):u=p;var g,y=i.length;for(u>y/2&&(u=y/2),g=0;g<u;++g){var w=parseInt(i.substr(2*g,2),16);if(numberIsNaN(w))return g;r[o+g]=w}return g}function utf8Write(r,i,o,u){return blitBuffer(utf8ToBytes(i,r.length-o),r,o,u)}function asciiWrite(r,i,o,u){return blitBuffer(function asciiToBytes(r){for(var i=[],o=0;o<r.length;++o)i.push(255&r.charCodeAt(o));return i}(i),r,o,u)}function base64Write(r,i,o,u){return blitBuffer(base64ToBytes(i),r,o,u)}function ucs2Write(r,i,o,u){return blitBuffer(function utf16leToBytes(r,i){for(var o,u,p,g=[],y=0;y<r.length&&!((i-=2)<0);++y)u=(o=r.charCodeAt(y))>>8,p=o%256,g.push(p),g.push(u);return g}(i,r.length-o),r,o,u)}function base64Slice(r,i,o){return 0===i&&o===r.length?u.fromByteArray(r):u.fromByteArray(r.slice(i,o))}function utf8Slice(r,i,o){o=Math.min(r.length,o);for(var u=[],p=i;p<o;){var g=r[p],y=null,_=g>239?4:g>223?3:g>191?2:1;if(p+_<=o){var x=void 0,k=void 0,P=void 0,O=void 0;switch(_){case 1:g<128&&(y=g);break;case 2:128==(192&(x=r[p+1]))&&(O=(31&g)<<6|63&x)>127&&(y=O);break;case 3:x=r[p+1],k=r[p+2],128==(192&x)&&128==(192&k)&&(O=(15&g)<<12|(63&x)<<6|63&k)>2047&&(O<55296||O>57343)&&(y=O);break;case 4:x=r[p+1],k=r[p+2],P=r[p+3],128==(192&x)&&128==(192&k)&&128==(192&P)&&(O=(15&g)<<18|(63&x)<<12|(63&k)<<6|63&P)>65535&&O<1114112&&(y=O)}}null===y?(y=65533,_=1):y>65535&&(y-=65536,u.push(y>>>10&1023|55296),y=56320|1023&y),u.push(y),p+=_}return function decodeCodePointsArray(r){var i=r.length;if(i<=w)return String.fromCharCode.apply(String,r);var o="",u=0;for(;u<i;)o+=String.fromCharCode.apply(String,r.slice(u,u+=w));return o}(u)}i.kMaxLength=y,Buffer.TYPED_ARRAY_SUPPORT=function typedArraySupport(){try{var r=new Uint8Array(1),i={foo:function foo(){return 42}};return Object.setPrototypeOf(i,Uint8Array.prototype),Object.setPrototypeOf(r,i),42===r.foo()}catch(r){return!1}}(),!Buffer.TYPED_ARRAY_SUPPORT&&"undefined"!=typeof console&&console.error,Object.defineProperty(Buffer.prototype,"parent",{enumerable:!0,get:function get(){if(Buffer.isBuffer(this))return this.buffer}}),Object.defineProperty(Buffer.prototype,"offset",{enumerable:!0,get:function get(){if(Buffer.isBuffer(this))return this.byteOffset}}),Buffer.poolSize=8192,Buffer.from=function(r,i,o){return from(r,i,o)},Object.setPrototypeOf(Buffer.prototype,Uint8Array.prototype),Object.setPrototypeOf(Buffer,Uint8Array),Buffer.alloc=function(r,i,o){return function alloc(r,i,o){return assertSize(r),r<=0?createBuffer(r):void 0!==i?"string"==typeof o?createBuffer(r).fill(i,o):createBuffer(r).fill(i):createBuffer(r)}(r,i,o)},Buffer.allocUnsafe=function(r){return allocUnsafe(r)},Buffer.allocUnsafeSlow=function(r){return allocUnsafe(r)},Buffer.isBuffer=function isBuffer(r){return null!=r&&!0===r._isBuffer&&r!==Buffer.prototype},Buffer.compare=function compare(r,i){if(isInstance(r,Uint8Array)&&(r=Buffer.from(r,r.offset,r.byteLength)),isInstance(i,Uint8Array)&&(i=Buffer.from(i,i.offset,i.byteLength)),!Buffer.isBuffer(r)||!Buffer.isBuffer(i))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(r===i)return 0;for(var o=r.length,u=i.length,p=0,g=Math.min(o,u);p<g;++p)if(r[p]!==i[p]){o=r[p],u=i[p];break}return o<u?-1:u<o?1:0},Buffer.isEncoding=function isEncoding(r){switch(String(r).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function concat(r,i){if(!Array.isArray(r))throw new TypeError('"list" argument must be an Array of Buffers');if(0===r.length)return Buffer.alloc(0);var o;if(void 0===i)for(i=0,o=0;o<r.length;++o)i+=r[o].length;var u=Buffer.allocUnsafe(i),p=0;for(o=0;o<r.length;++o){var g=r[o];if(isInstance(g,Uint8Array))p+g.length>u.length?(Buffer.isBuffer(g)||(g=Buffer.from(g)),g.copy(u,p)):Uint8Array.prototype.set.call(u,g,p);else{if(!Buffer.isBuffer(g))throw new TypeError('"list" argument must be an Array of Buffers');g.copy(u,p)}p+=g.length}return u},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){var r=this.length;if(r%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var i=0;i<r;i+=2)swap(this,i,i+1);return this},Buffer.prototype.swap32=function swap32(){var r=this.length;if(r%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var i=0;i<r;i+=4)swap(this,i,i+3),swap(this,i+1,i+2);return this},Buffer.prototype.swap64=function swap64(){var r=this.length;if(r%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var i=0;i<r;i+=8)swap(this,i,i+7),swap(this,i+1,i+6),swap(this,i+2,i+5),swap(this,i+3,i+4);return this},Buffer.prototype.toString=function toString(){var r=this.length;return 0===r?"":0===arguments.length?utf8Slice(this,0,r):slowToString.apply(this,arguments)},Buffer.prototype.toLocaleString=Buffer.prototype.toString,Buffer.prototype.equals=function equals(r){if(!Buffer.isBuffer(r))throw new TypeError("Argument must be a Buffer");return this===r||0===Buffer.compare(this,r)},Buffer.prototype.inspect=function inspect(){var r="",o=i.INSPECT_MAX_BYTES;return r=this.toString("hex",0,o).replace(/(.{2})/g,"$1 ").trim(),this.length>o&&(r+=" ... "),"<Buffer "+r+">"},g&&(Buffer.prototype[g]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(r,i,o,u,p){if(isInstance(r,Uint8Array)&&(r=Buffer.from(r,r.offset,r.byteLength)),!Buffer.isBuffer(r))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof r);if(void 0===i&&(i=0),void 0===o&&(o=r?r.length:0),void 0===u&&(u=0),void 0===p&&(p=this.length),i<0||o>r.length||u<0||p>this.length)throw new RangeError("out of range index");if(u>=p&&i>=o)return 0;if(u>=p)return-1;if(i>=o)return 1;if(this===r)return 0;for(var g=(p>>>=0)-(u>>>=0),y=(o>>>=0)-(i>>>=0),w=Math.min(g,y),_=this.slice(u,p),x=r.slice(i,o),k=0;k<w;++k)if(_[k]!==x[k]){g=_[k],y=x[k];break}return g<y?-1:y<g?1:0},Buffer.prototype.includes=function includes(r,i,o){return-1!==this.indexOf(r,i,o)},Buffer.prototype.indexOf=function indexOf(r,i,o){return bidirectionalIndexOf(this,r,i,o,!0)},Buffer.prototype.lastIndexOf=function lastIndexOf(r,i,o){return bidirectionalIndexOf(this,r,i,o,!1)},Buffer.prototype.write=function write(r,i,o,u){if(void 0===i)u="utf8",o=this.length,i=0;else if(void 0===o&&"string"==typeof i)u=i,o=this.length,i=0;else{if(!isFinite(i))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");i>>>=0,isFinite(o)?(o>>>=0,void 0===u&&(u="utf8")):(u=o,o=void 0)}var p=this.length-i;if((void 0===o||o>p)&&(o=p),r.length>0&&(o<0||i<0)||i>this.length)throw new RangeError("Attempt to write outside buffer bounds");u||(u="utf8");for(var g=!1;;)switch(u){case"hex":return hexWrite(this,r,i,o);case"utf8":case"utf-8":return utf8Write(this,r,i,o);case"ascii":case"latin1":case"binary":return asciiWrite(this,r,i,o);case"base64":return base64Write(this,r,i,o);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,r,i,o);default:if(g)throw new TypeError("Unknown encoding: "+u);u=(""+u).toLowerCase(),g=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var w=4096;function asciiSlice(r,i,o){var u="";o=Math.min(r.length,o);for(var p=i;p<o;++p)u+=String.fromCharCode(127&r[p]);return u}function latin1Slice(r,i,o){var u="";o=Math.min(r.length,o);for(var p=i;p<o;++p)u+=String.fromCharCode(r[p]);return u}function hexSlice(r,i,o){var u=r.length;(!i||i<0)&&(i=0),(!o||o<0||o>u)&&(o=u);for(var p="",g=i;g<o;++g)p+=k[r[g]];return p}function utf16leSlice(r,i,o){for(var u=r.slice(i,o),p="",g=0;g<u.length-1;g+=2)p+=String.fromCharCode(u[g]+256*u[g+1]);return p}function checkOffset(r,i,o){if(r%1!=0||r<0)throw new RangeError("offset is not uint");if(r+i>o)throw new RangeError("Trying to access beyond buffer length")}function checkInt(r,i,o,u,p,g){if(!Buffer.isBuffer(r))throw new TypeError('"buffer" argument must be a Buffer instance');if(i>p||i<g)throw new RangeError('"value" argument is out of bounds');if(o+u>r.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(r,i,o,u,p){checkIntBI(i,u,p,r,o,7);var g=Number(i&BigInt(4294967295));r[o++]=g,g>>=8,r[o++]=g,g>>=8,r[o++]=g,g>>=8,r[o++]=g;var y=Number(i>>BigInt(32)&BigInt(4294967295));return r[o++]=y,y>>=8,r[o++]=y,y>>=8,r[o++]=y,y>>=8,r[o++]=y,o}function wrtBigUInt64BE(r,i,o,u,p){checkIntBI(i,u,p,r,o,7);var g=Number(i&BigInt(4294967295));r[o+7]=g,g>>=8,r[o+6]=g,g>>=8,r[o+5]=g,g>>=8,r[o+4]=g;var y=Number(i>>BigInt(32)&BigInt(4294967295));return r[o+3]=y,y>>=8,r[o+2]=y,y>>=8,r[o+1]=y,y>>=8,r[o]=y,o+8}function checkIEEE754(r,i,o,u,p,g){if(o+u>r.length)throw new RangeError("Index out of range");if(o<0)throw new RangeError("Index out of range")}function writeFloat(r,i,o,u,g){return i=+i,o>>>=0,g||checkIEEE754(r,0,o,4),p.write(r,i,o,u,23,4),o+4}function writeDouble(r,i,o,u,g){return i=+i,o>>>=0,g||checkIEEE754(r,0,o,8),p.write(r,i,o,u,52,8),o+8}Buffer.prototype.slice=function slice(r,i){var o=this.length;(r=~~r)<0?(r+=o)<0&&(r=0):r>o&&(r=o),(i=void 0===i?o:~~i)<0?(i+=o)<0&&(i=0):i>o&&(i=o),i<r&&(i=r);var u=this.subarray(r,i);return Object.setPrototypeOf(u,Buffer.prototype),u},Buffer.prototype.readUintLE=Buffer.prototype.readUIntLE=function readUIntLE(r,i,o){r>>>=0,i>>>=0,o||checkOffset(r,i,this.length);for(var u=this[r],p=1,g=0;++g<i&&(p*=256);)u+=this[r+g]*p;return u},Buffer.prototype.readUintBE=Buffer.prototype.readUIntBE=function readUIntBE(r,i,o){r>>>=0,i>>>=0,o||checkOffset(r,i,this.length);for(var u=this[r+--i],p=1;i>0&&(p*=256);)u+=this[r+--i]*p;return u},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(r,i){return r>>>=0,i||checkOffset(r,1,this.length),this[r]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(r,i){return r>>>=0,i||checkOffset(r,2,this.length),this[r]|this[r+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(r,i){return r>>>=0,i||checkOffset(r,2,this.length),this[r]<<8|this[r+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(r,i){return r>>>=0,i||checkOffset(r,4,this.length),(this[r]|this[r+1]<<8|this[r+2]<<16)+16777216*this[r+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(r,i){return r>>>=0,i||checkOffset(r,4,this.length),16777216*this[r]+(this[r+1]<<16|this[r+2]<<8|this[r+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(r){validateNumber(r>>>=0,"offset");var i=this[r],o=this[r+7];void 0!==i&&void 0!==o||boundsError(r,this.length-8);var u=i+this[++r]*Math.pow(2,8)+this[++r]*Math.pow(2,16)+this[++r]*Math.pow(2,24),p=this[++r]+this[++r]*Math.pow(2,8)+this[++r]*Math.pow(2,16)+o*Math.pow(2,24);return BigInt(u)+(BigInt(p)<<BigInt(32))})),Buffer.prototype.readBigUInt64BE=defineBigIntMethod((function readBigUInt64BE(r){validateNumber(r>>>=0,"offset");var i=this[r],o=this[r+7];void 0!==i&&void 0!==o||boundsError(r,this.length-8);var u=i*Math.pow(2,24)+this[++r]*Math.pow(2,16)+this[++r]*Math.pow(2,8)+this[++r],p=this[++r]*Math.pow(2,24)+this[++r]*Math.pow(2,16)+this[++r]*Math.pow(2,8)+o;return(BigInt(u)<<BigInt(32))+BigInt(p)})),Buffer.prototype.readIntLE=function readIntLE(r,i,o){r>>>=0,i>>>=0,o||checkOffset(r,i,this.length);for(var u=this[r],p=1,g=0;++g<i&&(p*=256);)u+=this[r+g]*p;return u>=(p*=128)&&(u-=Math.pow(2,8*i)),u},Buffer.prototype.readIntBE=function readIntBE(r,i,o){r>>>=0,i>>>=0,o||checkOffset(r,i,this.length);for(var u=i,p=1,g=this[r+--u];u>0&&(p*=256);)g+=this[r+--u]*p;return g>=(p*=128)&&(g-=Math.pow(2,8*i)),g},Buffer.prototype.readInt8=function readInt8(r,i){return r>>>=0,i||checkOffset(r,1,this.length),128&this[r]?-1*(255-this[r]+1):this[r]},Buffer.prototype.readInt16LE=function readInt16LE(r,i){r>>>=0,i||checkOffset(r,2,this.length);var o=this[r]|this[r+1]<<8;return 32768&o?4294901760|o:o},Buffer.prototype.readInt16BE=function readInt16BE(r,i){r>>>=0,i||checkOffset(r,2,this.length);var o=this[r+1]|this[r]<<8;return 32768&o?4294901760|o:o},Buffer.prototype.readInt32LE=function readInt32LE(r,i){return r>>>=0,i||checkOffset(r,4,this.length),this[r]|this[r+1]<<8|this[r+2]<<16|this[r+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(r,i){return r>>>=0,i||checkOffset(r,4,this.length),this[r]<<24|this[r+1]<<16|this[r+2]<<8|this[r+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(r){validateNumber(r>>>=0,"offset");var i=this[r],o=this[r+7];void 0!==i&&void 0!==o||boundsError(r,this.length-8);var u=this[r+4]+this[r+5]*Math.pow(2,8)+this[r+6]*Math.pow(2,16)+(o<<24);return(BigInt(u)<<BigInt(32))+BigInt(i+this[++r]*Math.pow(2,8)+this[++r]*Math.pow(2,16)+this[++r]*Math.pow(2,24))})),Buffer.prototype.readBigInt64BE=defineBigIntMethod((function readBigInt64BE(r){validateNumber(r>>>=0,"offset");var i=this[r],o=this[r+7];void 0!==i&&void 0!==o||boundsError(r,this.length-8);var u=(i<<24)+this[++r]*Math.pow(2,16)+this[++r]*Math.pow(2,8)+this[++r];return(BigInt(u)<<BigInt(32))+BigInt(this[++r]*Math.pow(2,24)+this[++r]*Math.pow(2,16)+this[++r]*Math.pow(2,8)+o)})),Buffer.prototype.readFloatLE=function readFloatLE(r,i){return r>>>=0,i||checkOffset(r,4,this.length),p.read(this,r,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(r,i){return r>>>=0,i||checkOffset(r,4,this.length),p.read(this,r,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(r,i){return r>>>=0,i||checkOffset(r,8,this.length),p.read(this,r,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(r,i){return r>>>=0,i||checkOffset(r,8,this.length),p.read(this,r,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(r,i,o,u){(r=+r,i>>>=0,o>>>=0,u)||checkInt(this,r,i,o,Math.pow(2,8*o)-1,0);var p=1,g=0;for(this[i]=255&r;++g<o&&(p*=256);)this[i+g]=r/p&255;return i+o},Buffer.prototype.writeUintBE=Buffer.prototype.writeUIntBE=function writeUIntBE(r,i,o,u){(r=+r,i>>>=0,o>>>=0,u)||checkInt(this,r,i,o,Math.pow(2,8*o)-1,0);var p=o-1,g=1;for(this[i+p]=255&r;--p>=0&&(g*=256);)this[i+p]=r/g&255;return i+o},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,1,255,0),this[i]=255&r,i+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,2,65535,0),this[i]=255&r,this[i+1]=r>>>8,i+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,2,65535,0),this[i]=r>>>8,this[i+1]=255&r,i+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,4,4294967295,0),this[i+3]=r>>>24,this[i+2]=r>>>16,this[i+1]=r>>>8,this[i]=255&r,i+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,4,4294967295,0),this[i]=r>>>24,this[i+1]=r>>>16,this[i+2]=r>>>8,this[i+3]=255&r,i+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(r,i){return void 0===i&&(i=0),wrtBigUInt64LE(this,r,i,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(r,i){return void 0===i&&(i=0),wrtBigUInt64BE(this,r,i,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(r,i,o,u){if(r=+r,i>>>=0,!u){var p=Math.pow(2,8*o-1);checkInt(this,r,i,o,p-1,-p)}var g=0,y=1,w=0;for(this[i]=255&r;++g<o&&(y*=256);)r<0&&0===w&&0!==this[i+g-1]&&(w=1),this[i+g]=(r/y>>0)-w&255;return i+o},Buffer.prototype.writeIntBE=function writeIntBE(r,i,o,u){if(r=+r,i>>>=0,!u){var p=Math.pow(2,8*o-1);checkInt(this,r,i,o,p-1,-p)}var g=o-1,y=1,w=0;for(this[i+g]=255&r;--g>=0&&(y*=256);)r<0&&0===w&&0!==this[i+g+1]&&(w=1),this[i+g]=(r/y>>0)-w&255;return i+o},Buffer.prototype.writeInt8=function writeInt8(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,1,127,-128),r<0&&(r=255+r+1),this[i]=255&r,i+1},Buffer.prototype.writeInt16LE=function writeInt16LE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,2,32767,-32768),this[i]=255&r,this[i+1]=r>>>8,i+2},Buffer.prototype.writeInt16BE=function writeInt16BE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,2,32767,-32768),this[i]=r>>>8,this[i+1]=255&r,i+2},Buffer.prototype.writeInt32LE=function writeInt32LE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,4,2147483647,-2147483648),this[i]=255&r,this[i+1]=r>>>8,this[i+2]=r>>>16,this[i+3]=r>>>24,i+4},Buffer.prototype.writeInt32BE=function writeInt32BE(r,i,o){return r=+r,i>>>=0,o||checkInt(this,r,i,4,2147483647,-2147483648),r<0&&(r=4294967295+r+1),this[i]=r>>>24,this[i+1]=r>>>16,this[i+2]=r>>>8,this[i+3]=255&r,i+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(r,i){return void 0===i&&(i=0),wrtBigUInt64LE(this,r,i,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(r,i){return void 0===i&&(i=0),wrtBigUInt64BE(this,r,i,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(r,i,o){return writeFloat(this,r,i,!0,o)},Buffer.prototype.writeFloatBE=function writeFloatBE(r,i,o){return writeFloat(this,r,i,!1,o)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(r,i,o){return writeDouble(this,r,i,!0,o)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(r,i,o){return writeDouble(this,r,i,!1,o)},Buffer.prototype.copy=function copy(r,i,o,u){if(!Buffer.isBuffer(r))throw new TypeError("argument should be a Buffer");if(o||(o=0),u||0===u||(u=this.length),i>=r.length&&(i=r.length),i||(i=0),u>0&&u<o&&(u=o),u===o)return 0;if(0===r.length||0===this.length)return 0;if(i<0)throw new RangeError("targetStart out of bounds");if(o<0||o>=this.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("sourceEnd out of bounds");u>this.length&&(u=this.length),r.length-i<u-o&&(u=r.length-i+o);var p=u-o;return this===r&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(i,o,u):Uint8Array.prototype.set.call(r,this.subarray(o,u),i),p},Buffer.prototype.fill=function fill(r,i,o,u){if("string"==typeof r){if("string"==typeof i?(u=i,i=0,o=this.length):"string"==typeof o&&(u=o,o=this.length),void 0!==u&&"string"!=typeof u)throw new TypeError("encoding must be a string");if("string"==typeof u&&!Buffer.isEncoding(u))throw new TypeError("Unknown encoding: "+u);if(1===r.length){var p=r.charCodeAt(0);("utf8"===u&&p<128||"latin1"===u)&&(r=p)}}else"number"==typeof r?r&=255:"boolean"==typeof r&&(r=Number(r));if(i<0||this.length<i||this.length<o)throw new RangeError("Out of range index");if(o<=i)return this;var g;if(i>>>=0,o=void 0===o?this.length:o>>>0,r||(r=0),"number"==typeof r)for(g=i;g<o;++g)this[g]=r;else{var y=Buffer.isBuffer(r)?r:Buffer.from(r,u),w=y.length;if(0===w)throw new TypeError('The value "'+r+'" is invalid for argument "value"');for(g=0;g<o-i;++g)this[g+i]=y[g%w]}return this};var _={};function E(r,i,o){_[r]=function(o){function NodeError(){var u;return u=o.call(this)||this,Object.defineProperty(_assertThisInitialized(u),"message",{value:i.apply(_assertThisInitialized(u),arguments),writable:!0,configurable:!0}),u.name=u.name+" ["+r+"]",u.stack,delete u.name,u}return function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,_setPrototypeOf(r,i)}(NodeError,o),NodeError.prototype.toString=function toString(){return this.name+" ["+r+"]: "+this.message},function _createClass(r,i,o){return i&&_defineProperties(r.prototype,i),o&&_defineProperties(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r}(NodeError,[{key:"code",get:function get(){return r},set:function set(r){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:r,writable:!0})}}]),NodeError}(o)}function addNumericalSeparator(r){for(var i="",o=r.length,u="-"===r[0]?1:0;o>=u+4;o-=3)i="_"+r.slice(o-3,o)+i;return""+r.slice(0,o)+i}function checkIntBI(r,i,o,u,p,g){if(r>o||r<i){var y,w="bigint"==typeof i?"n":"";throw y=g>3?0===i||i===BigInt(0)?">= 0"+w+" and < 2"+w+" ** "+8*(g+1)+w:">= -(2"+w+" ** "+(8*(g+1)-1)+w+") and < 2 ** "+(8*(g+1)-1)+w:">= "+i+w+" and <= "+o+w,new _.ERR_OUT_OF_RANGE("value",y,r)}!function checkBounds(r,i,o){validateNumber(i,"offset"),void 0!==r[i]&&void 0!==r[i+o]||boundsError(i,r.length-(o+1))}(u,p,g)}function validateNumber(r,i){if("number"!=typeof r)throw new _.ERR_INVALID_ARG_TYPE(i,"number",r)}function boundsError(r,i,o){if(Math.floor(r)!==r)throw validateNumber(r,o),new _.ERR_OUT_OF_RANGE(o||"offset","an integer",r);if(i<0)throw new _.ERR_BUFFER_OUT_OF_BOUNDS;throw new _.ERR_OUT_OF_RANGE(o||"offset",">= "+(o?1:0)+" and <= "+i,r)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(r){return r?r+" is outside of buffer bounds":"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(r,i){return'The "'+r+'" argument must be of type number. Received type '+typeof i}),TypeError),E("ERR_OUT_OF_RANGE",(function(r,i,o){var u='The value of "'+r+'" is out of range.',p=o;return Number.isInteger(o)&&Math.abs(o)>Math.pow(2,32)?p=addNumericalSeparator(String(o)):"bigint"==typeof o&&(p=String(o),(o>Math.pow(BigInt(2),BigInt(32))||o<-Math.pow(BigInt(2),BigInt(32)))&&(p=addNumericalSeparator(p)),p+="n"),u+=" It must be "+i+". Received "+p}),RangeError);var x=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(r,i){var o;i=i||1/0;for(var u=r.length,p=null,g=[],y=0;y<u;++y){if((o=r.charCodeAt(y))>55295&&o<57344){if(!p){if(o>56319){(i-=3)>-1&&g.push(239,191,189);continue}if(y+1===u){(i-=3)>-1&&g.push(239,191,189);continue}p=o;continue}if(o<56320){(i-=3)>-1&&g.push(239,191,189),p=o;continue}o=65536+(p-55296<<10|o-56320)}else p&&(i-=3)>-1&&g.push(239,191,189);if(p=null,o<128){if((i-=1)<0)break;g.push(o)}else if(o<2048){if((i-=2)<0)break;g.push(o>>6|192,63&o|128)}else if(o<65536){if((i-=3)<0)break;g.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error("Invalid code point");if((i-=4)<0)break;g.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return g}function base64ToBytes(r){return u.toByteArray(function base64clean(r){if((r=(r=r.split("=")[0]).trim().replace(x,"")).length<2)return"";for(;r.length%4!=0;)r+="=";return r}(r))}function blitBuffer(r,i,o,u){var p;for(p=0;p<u&&!(p+o>=i.length||p>=r.length);++p)i[p+o]=r[p];return p}function isInstance(r,i){return r instanceof i||null!=r&&null!=r.constructor&&null!=r.constructor.name&&r.constructor.name===i.name}function numberIsNaN(r){return r!=r}var k=function(){for(var r="0123456789abcdef",i=new Array(256),o=0;o<16;++o)for(var u=16*o,p=0;p<16;++p)i[u+p]=r[o]+r[p];return i}();function defineBigIntMethod(r){return"undefined"==typeof BigInt?BufferBigIntNotDefined:r}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},477:function(r,i,o){"use strict";o(7803),o(1539),r.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},2094:function(r,i,o){"use strict";var u,p,g,y=o(477),w=o(9781),_=o(7854),x=o(614),k=o(111),P=o(2597),O=o(648),I=o(6330),B=o(8880),R=o(1320),D=o(3070).f,N=o(7976),W=o(9518),U=o(7674),j=o(5112),G=o(9711),X=_.Int8Array,K=X&&X.prototype,Y=_.Uint8ClampedArray,J=Y&&Y.prototype,$=X&&W(X),ee=K&&W(K),te=Object.prototype,re=_.TypeError,ne=j("toStringTag"),ie=G("TYPED_ARRAY_TAG"),oe=G("TYPED_ARRAY_CONSTRUCTOR"),ae=y&&!!U&&"Opera"!==O(_.opera),se=!1,ce={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},le={BigInt64Array:8,BigUint64Array:8},ue=function isTypedArray(r){if(!k(r))return!1;var i=O(r);return P(ce,i)||P(le,i)};for(u in ce)(g=(p=_[u])&&p.prototype)?B(g,oe,p):ae=!1;for(u in le)(g=(p=_[u])&&p.prototype)&&B(g,oe,p);if((!ae||!x($)||$===Function.prototype)&&($=function TypedArray(){throw re("Incorrect invocation")},ae))for(u in ce)_[u]&&U(_[u],$);if((!ae||!ee||ee===te)&&(ee=$.prototype,ae))for(u in ce)_[u]&&U(_[u].prototype,ee);if(ae&&W(J)!==ee&&U(J,ee),w&&!P(ee,ne))for(u in se=!0,D(ee,ne,{get:function get(){return k(this)?this[ie]:void 0}}),ce)_[u]&&B(_[u],ie,u);r.exports={NATIVE_ARRAY_BUFFER_VIEWS:ae,TYPED_ARRAY_CONSTRUCTOR:oe,TYPED_ARRAY_TAG:se&&ie,aTypedArray:function aTypedArray(r){if(ue(r))return r;throw re("Target is not a typed array")},aTypedArrayConstructor:function aTypedArrayConstructor(r){if(x(r)&&(!U||N($,r)))return r;throw re(I(r)+" is not a typed array constructor")},exportTypedArrayMethod:function exportTypedArrayMethod(r,i,o){if(w){if(o)for(var u in ce){var p=_[u];if(p&&P(p.prototype,r))try{delete p.prototype[r]}catch(r){}}ee[r]&&!o||R(ee,r,o?i:ae&&K[r]||i)}},exportTypedArrayStaticMethod:function exportTypedArrayStaticMethod(r,i,o){var u,p;if(w){if(U){if(o)for(u in ce)if((p=_[u])&&P(p,r))try{delete p[r]}catch(r){}if($[r]&&!o)return;try{return R($,r,o?i:ae&&$[r]||i)}catch(r){}}for(u in ce)!(p=_[u])||p[r]&&!o||R(p,r,i)}},isView:function isView(r){if(!k(r))return!1;var i=O(r);return"DataView"===i||P(ce,i)||P(le,i)},isTypedArray:ue,TypedArray:$,TypedArrayPrototype:ee}},2091:function(r,i,o){"use strict";o(8309);var u=o(7854),p=o(1702),g=o(9781),y=o(477),w=o(6530),_=o(8880),x=o(2248),k=o(7293),P=o(5787),O=o(9303),I=o(7466),B=o(7067),R=o(1179),D=o(9518),N=o(7674),W=o(8006).f,U=o(3070).f,j=o(1285),G=o(206),X=o(8003),K=o(9909),Y=w.PROPER,J=w.CONFIGURABLE,$=K.get,ee=K.set,te="ArrayBuffer",re="DataView",ne="prototype",ie="Wrong index",oe=u[te],ae=oe,se=ae&&ae[ne],ce=u[re],le=ce&&ce[ne],ue=Object.prototype,fe=u.Array,he=u.RangeError,de=p(j),pe=p([].reverse),ge=R.pack,ye=R.unpack,ve=function packInt8(r){return[255&r]},me=function packInt16(r){return[255&r,r>>8&255]},be=function packInt32(r){return[255&r,r>>8&255,r>>16&255,r>>24&255]},we=function unpackInt32(r){return r[3]<<24|r[2]<<16|r[1]<<8|r[0]},_e=function packFloat32(r){return ge(r,23,4)},Se=function packFloat64(r){return ge(r,52,8)},xe=function addGetter(r,i){U(r[ne],i,{get:function get(){return $(this)[i]}})},Ce=function get(r,i,o,u){var p=B(o),g=$(r);if(p+i>g.byteLength)throw he(ie);var y=$(g.buffer).bytes,w=p+g.byteOffset,_=G(y,w,w+i);return u?_:pe(_)},ke=function set(r,i,o,u,p,g){var y=B(o),w=$(r);if(y+i>w.byteLength)throw he(ie);for(var _=$(w.buffer).bytes,x=y+w.byteOffset,k=u(+p),P=0;P<i;P++)_[x+P]=k[g?P:i-P-1]};if(y){var Pe=Y&&oe.name!==te;if(k((function(){oe(1)}))&&k((function(){new oe(-1)}))&&!k((function(){return new oe,new oe(1.5),new oe(NaN),Pe&&!J})))Pe&&J&&_(oe,"name",te);else{(ae=function ArrayBuffer(r){return P(this,se),new oe(B(r))})[ne]=se;for(var Ae,Ee=W(oe),Te=0;Ee.length>Te;)(Ae=Ee[Te++])in ae||_(ae,Ae,oe[Ae]);se.constructor=ae}N&&D(le)!==ue&&N(le,ue);var Oe=new ce(new ae(2)),Ie=p(le.setInt8);Oe.setInt8(0,2147483648),Oe.setInt8(1,2147483649),!Oe.getInt8(0)&&Oe.getInt8(1)||x(le,{setInt8:function setInt8(r,i){Ie(this,r,i<<24>>24)},setUint8:function setUint8(r,i){Ie(this,r,i<<24>>24)}},{unsafe:!0})}else se=(ae=function ArrayBuffer(r){P(this,se);var i=B(r);ee(this,{bytes:de(fe(i),0),byteLength:i}),g||(this.byteLength=i)})[ne],le=(ce=function DataView(r,i,o){P(this,le),P(r,se);var u=$(r).byteLength,p=O(i);if(p<0||p>u)throw he("Wrong offset");if(p+(o=void 0===o?u-p:I(o))>u)throw he("Wrong length");ee(this,{buffer:r,byteLength:o,byteOffset:p}),g||(this.buffer=r,this.byteLength=o,this.byteOffset=p)})[ne],g&&(xe(ae,"byteLength"),xe(ce,"buffer"),xe(ce,"byteLength"),xe(ce,"byteOffset")),x(le,{getInt8:function getInt8(r){return Ce(this,1,r)[0]<<24>>24},getUint8:function getUint8(r){return Ce(this,1,r)[0]},getInt16:function getInt16(r){var i=Ce(this,2,r,arguments.length>1?arguments[1]:void 0);return(i[1]<<8|i[0])<<16>>16},getUint16:function getUint16(r){var i=Ce(this,2,r,arguments.length>1?arguments[1]:void 0);return i[1]<<8|i[0]},getInt32:function getInt32(r){return we(Ce(this,4,r,arguments.length>1?arguments[1]:void 0))},getUint32:function getUint32(r){return we(Ce(this,4,r,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function getFloat32(r){return ye(Ce(this,4,r,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function getFloat64(r){return ye(Ce(this,8,r,arguments.length>1?arguments[1]:void 0),52)},setInt8:function setInt8(r,i){ke(this,1,r,ve,i)},setUint8:function setUint8(r,i){ke(this,1,r,ve,i)},setInt16:function setInt16(r,i){ke(this,2,r,me,i,arguments.length>2?arguments[2]:void 0)},setUint16:function setUint16(r,i){ke(this,2,r,me,i,arguments.length>2?arguments[2]:void 0)},setInt32:function setInt32(r,i){ke(this,4,r,be,i,arguments.length>2?arguments[2]:void 0)},setUint32:function setUint32(r,i){ke(this,4,r,be,i,arguments.length>2?arguments[2]:void 0)},setFloat32:function setFloat32(r,i){ke(this,4,r,_e,i,arguments.length>2?arguments[2]:void 0)},setFloat64:function setFloat64(r,i){ke(this,8,r,Se,i,arguments.length>2?arguments[2]:void 0)}});X(ae,te),X(ce,re),r.exports={ArrayBuffer:ae,DataView:ce}},7803:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(2091),y=o(6340),w="ArrayBuffer",_=g[w];u({global:!0,forced:p[w]!==_},{ArrayBuffer:_}),y(w)},194:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(7508),o(3440),o(3839),o(1582),function(){var r=u,i=r.lib.BlockCipher,o=r.algo,p=[],g=[],y=[],w=[],_=[],x=[],k=[],P=[],O=[],I=[];!function(){for(var r=[],i=0;i<256;i++)r[i]=i<128?i<<1:i<<1^283;var o=0,u=0;for(i=0;i<256;i++){var B=u^u<<1^u<<2^u<<3^u<<4;B=B>>>8^255&B^99,p[o]=B,g[B]=o;var R=r[o],D=r[R],N=r[D],W=257*r[B]^16843008*B;y[o]=W<<24|W>>>8,w[o]=W<<16|W>>>16,_[o]=W<<8|W>>>24,x[o]=W,W=16843009*N^65537*D^257*R^16843008*o,k[B]=W<<24|W>>>8,P[B]=W<<16|W>>>16,O[B]=W<<8|W>>>24,I[B]=W,o?(o=R^r[r[r[N^R]]],u^=r[r[u]]):o=u=1}}();var B=[0,1,2,4,8,16,32,64,128,27,54],R=o.AES=i.extend({_doReset:function _doReset(){if(!this._nRounds||this._keyPriorReset!==this._key){for(var r=this._keyPriorReset=this._key,i=r.words,o=r.sigBytes/4,u=4*((this._nRounds=o+6)+1),g=this._keySchedule=[],y=0;y<u;y++)y<o?g[y]=i[y]:(x=g[y-1],y%o?o>6&&y%o==4&&(x=p[x>>>24]<<24|p[x>>>16&255]<<16|p[x>>>8&255]<<8|p[255&x]):(x=p[(x=x<<8|x>>>24)>>>24]<<24|p[x>>>16&255]<<16|p[x>>>8&255]<<8|p[255&x],x^=B[y/o|0]<<24),g[y]=g[y-o]^x);for(var w=this._invKeySchedule=[],_=0;_<u;_++){if(y=u-_,_%4)var x=g[y];else x=g[y-4];w[_]=_<4||y<=4?x:k[p[x>>>24]]^P[p[x>>>16&255]]^O[p[x>>>8&255]]^I[p[255&x]]}}},encryptBlock:function encryptBlock(r,i){this._doCryptBlock(r,i,this._keySchedule,y,w,_,x,p)},decryptBlock:function decryptBlock(r,i){var o=r[i+1];r[i+1]=r[i+3],r[i+3]=o,this._doCryptBlock(r,i,this._invKeySchedule,k,P,O,I,g),o=r[i+1],r[i+1]=r[i+3],r[i+3]=o},_doCryptBlock:function _doCryptBlock(r,i,o,u,p,g,y,w){for(var _=this._nRounds,x=r[i]^o[0],k=r[i+1]^o[1],P=r[i+2]^o[2],O=r[i+3]^o[3],I=4,B=1;B<_;B++){var R=u[x>>>24]^p[k>>>16&255]^g[P>>>8&255]^y[255&O]^o[I++],D=u[k>>>24]^p[P>>>16&255]^g[O>>>8&255]^y[255&x]^o[I++],N=u[P>>>24]^p[O>>>16&255]^g[x>>>8&255]^y[255&k]^o[I++],W=u[O>>>24]^p[x>>>16&255]^g[k>>>8&255]^y[255&P]^o[I++];x=R,k=D,P=N,O=W}R=(w[x>>>24]<<24|w[k>>>16&255]<<16|w[P>>>8&255]<<8|w[255&O])^o[I++],D=(w[k>>>24]<<24|w[P>>>16&255]<<16|w[O>>>8&255]<<8|w[255&x])^o[I++],N=(w[P>>>24]<<24|w[O>>>16&255]<<16|w[x>>>8&255]<<8|w[255&k])^o[I++],W=(w[O>>>24]<<24|w[x>>>16&255]<<16|w[k>>>8&255]<<8|w[255&P])^o[I++],r[i]=R,r[i+1]=D,r[i+2]=N,r[i+3]=W},keySize:8});r.AES=i._createHelper(R)}(),u.AES)},1582:function(r,i,o){"use strict";var u;o(7042),o(2222),o(1539),o(9714),o(561),r.exports=(u=o(757),o(3839),void(u.lib.Cipher||function(r){var i=u,o=i.lib,p=o.Base,g=o.WordArray,y=o.BufferedBlockAlgorithm,w=i.enc,_=(w.Utf8,w.Base64),x=i.algo.EvpKDF,k=o.Cipher=y.extend({cfg:p.extend(),createEncryptor:function createEncryptor(r,i){return this.create(this._ENC_XFORM_MODE,r,i)},createDecryptor:function createDecryptor(r,i){return this.create(this._DEC_XFORM_MODE,r,i)},init:function init(r,i,o){this.cfg=this.cfg.extend(o),this._xformMode=r,this._key=i,this.reset()},reset:function reset(){y.reset.call(this),this._doReset()},process:function process(r){return this._append(r),this._process()},finalize:function finalize(r){return r&&this._append(r),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function selectCipherStrategy(r){return"string"==typeof r?U:N}return function(r){return{encrypt:function encrypt(i,o,u){return selectCipherStrategy(o).encrypt(r,i,o,u)},decrypt:function decrypt(i,o,u){return selectCipherStrategy(o).decrypt(r,i,o,u)}}}}()}),P=(o.StreamCipher=k.extend({_doFinalize:function _doFinalize(){return this._process(!0)},blockSize:1}),i.mode={}),O=o.BlockCipherMode=p.extend({createEncryptor:function createEncryptor(r,i){return this.Encryptor.create(r,i)},createDecryptor:function createDecryptor(r,i){return this.Decryptor.create(r,i)},init:function init(r,i){this._cipher=r,this._iv=i}}),I=P.CBC=function(){var i=O.extend();function xorBlock(i,o,u){var p,g=this._iv;g?(p=g,this._iv=r):p=this._prevBlock;for(var y=0;y<u;y++)i[o+y]^=p[y]}return i.Encryptor=i.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize;xorBlock.call(this,r,i,u),o.encryptBlock(r,i),this._prevBlock=r.slice(i,i+u)}}),i.Decryptor=i.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize,p=r.slice(i,i+u);o.decryptBlock(r,i),xorBlock.call(this,r,i,u),this._prevBlock=p}}),i}(),B=(i.pad={}).Pkcs7={pad:function pad(r,i){for(var o=4*i,u=o-r.sigBytes%o,p=u<<24|u<<16|u<<8|u,y=[],w=0;w<u;w+=4)y.push(p);var _=g.create(y,u);r.concat(_)},unpad:function unpad(r){var i=255&r.words[r.sigBytes-1>>>2];r.sigBytes-=i}},R=(o.BlockCipher=k.extend({cfg:k.cfg.extend({mode:I,padding:B}),reset:function reset(){var r;k.reset.call(this);var i=this.cfg,o=i.iv,u=i.mode;this._xformMode==this._ENC_XFORM_MODE?r=u.createEncryptor:(r=u.createDecryptor,this._minBufferSize=1),this._mode&&this._mode.__creator==r?this._mode.init(this,o&&o.words):(this._mode=r.call(u,this,o&&o.words),this._mode.__creator=r)},_doProcessBlock:function _doProcessBlock(r,i){this._mode.processBlock(r,i)},_doFinalize:function _doFinalize(){var r,i=this.cfg.padding;return this._xformMode==this._ENC_XFORM_MODE?(i.pad(this._data,this.blockSize),r=this._process(!0)):(r=this._process(!0),i.unpad(r)),r},blockSize:4}),o.CipherParams=p.extend({init:function init(r){this.mixIn(r)},toString:function toString(r){return(r||this.formatter).stringify(this)}})),D=(i.format={}).OpenSSL={stringify:function stringify(r){var i=r.ciphertext,o=r.salt;return(o?g.create([1398893684,1701076831]).concat(o).concat(i):i).toString(_)},parse:function parse(r){var i,o=_.parse(r),u=o.words;return 1398893684==u[0]&&1701076831==u[1]&&(i=g.create(u.slice(2,4)),u.splice(0,4),o.sigBytes-=16),R.create({ciphertext:o,salt:i})}},N=o.SerializableCipher=p.extend({cfg:p.extend({format:D}),encrypt:function encrypt(r,i,o,u){u=this.cfg.extend(u);var p=r.createEncryptor(o,u),g=p.finalize(i),y=p.cfg;return R.create({ciphertext:g,key:o,iv:y.iv,algorithm:r,mode:y.mode,padding:y.padding,blockSize:r.blockSize,formatter:u.format})},decrypt:function decrypt(r,i,o,u){return u=this.cfg.extend(u),i=this._parse(i,u.format),r.createDecryptor(o,u).finalize(i.ciphertext)},_parse:function _parse(r,i){return"string"==typeof r?i.parse(r,this):r}}),W=(i.kdf={}).OpenSSL={execute:function execute(r,i,o,u){u||(u=g.random(8));var p=x.create({keySize:i+o}).compute(r,u),y=g.create(p.words.slice(i),4*o);return p.sigBytes=4*i,R.create({key:p,iv:y,salt:u})}},U=o.PasswordBasedCipher=N.extend({cfg:N.cfg.extend({kdf:W}),encrypt:function encrypt(r,i,o,u){var p=(u=this.cfg.extend(u)).kdf.execute(o,r.keySize,r.ivSize);u.iv=p.iv;var g=N.encrypt.call(this,r,i,p.key,u);return g.mixIn(p),g},decrypt:function decrypt(r,i,o,u){u=this.cfg.extend(u),i=this._parse(i,u.format);var p=u.kdf.execute(o,r.keySize,r.ivSize,i.salt);return u.iv=p.iv,N.decrypt.call(this,r,i,p.key,u)}})}()))},757:function(r,i,o){"use strict";var u;o(5743),o(6992),o(1539),o(9135),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(9714),o(7042),o(9600),o(2222),o(561),r.exports=(u=u||function(r,i){var u;if("undefined"!=typeof window&&window.crypto&&(u=window.crypto),"undefined"!=typeof self&&self.crypto&&(u=self.crypto),"undefined"!=typeof globalThis&&globalThis.crypto&&(u=globalThis.crypto),!u&&"undefined"!=typeof window&&window.msCrypto&&(u=window.msCrypto),!u&&void 0!==o.g&&o.g.crypto&&(u=o.g.crypto),!u)try{u=o(2480)}catch(r){}var p=function cryptoSecureRandomInt(){if(u){if("function"==typeof u.getRandomValues)try{return u.getRandomValues(new Uint32Array(1))[0]}catch(r){}if("function"==typeof u.randomBytes)try{return u.randomBytes(4).readInt32LE()}catch(r){}}throw new Error("Native crypto module could not be used to get secure random number.")},g=Object.create||function(){function F(){}return function(r){var i;return F.prototype=r,i=new F,F.prototype=null,i}}(),y={},w=y.lib={},_=w.Base={extend:function extend(r){var i=g(this);return r&&i.mixIn(r),i.hasOwnProperty("init")&&this.init!==i.init||(i.init=function(){i.$super.init.apply(this,arguments)}),i.init.prototype=i,i.$super=this,i},create:function create(){var r=this.extend();return r.init.apply(r,arguments),r},init:function init(){},mixIn:function mixIn(r){for(var i in r)r.hasOwnProperty(i)&&(this[i]=r[i]);r.hasOwnProperty("toString")&&(this.toString=r.toString)},clone:function clone(){return this.init.prototype.extend(this)}},x=w.WordArray=_.extend({init:function init(r,o){r=this.words=r||[],this.sigBytes=o!=i?o:4*r.length},toString:function toString(r){return(r||P).stringify(this)},concat:function concat(r){var i=this.words,o=r.words,u=this.sigBytes,p=r.sigBytes;if(this.clamp(),u%4)for(var g=0;g<p;g++){var y=o[g>>>2]>>>24-g%4*8&255;i[u+g>>>2]|=y<<24-(u+g)%4*8}else for(var w=0;w<p;w+=4)i[u+w>>>2]=o[w>>>2];return this.sigBytes+=p,this},clamp:function clamp(){var i=this.words,o=this.sigBytes;i[o>>>2]&=4294967295<<32-o%4*8,i.length=r.ceil(o/4)},clone:function clone(){var clone=_.clone.call(this);return clone.words=this.words.slice(0),clone},random:function random(r){for(var i=[],o=0;o<r;o+=4)i.push(p());return new x.init(i,r)}}),k=y.enc={},P=k.Hex={stringify:function stringify(r){for(var i=r.words,o=r.sigBytes,u=[],p=0;p<o;p++){var g=i[p>>>2]>>>24-p%4*8&255;u.push((g>>>4).toString(16)),u.push((15&g).toString(16))}return u.join("")},parse:function parse(r){for(var i=r.length,o=[],u=0;u<i;u+=2)o[u>>>3]|=parseInt(r.substr(u,2),16)<<24-u%8*4;return new x.init(o,i/2)}},O=k.Latin1={stringify:function stringify(r){for(var i=r.words,o=r.sigBytes,u=[],p=0;p<o;p++){var g=i[p>>>2]>>>24-p%4*8&255;u.push(String.fromCharCode(g))}return u.join("")},parse:function parse(r){for(var i=r.length,o=[],u=0;u<i;u++)o[u>>>2]|=(255&r.charCodeAt(u))<<24-u%4*8;return new x.init(o,i)}},I=k.Utf8={stringify:function stringify(r){try{return decodeURIComponent(escape(O.stringify(r)))}catch(r){throw new Error("Malformed UTF-8 data")}},parse:function parse(r){return O.parse(unescape(encodeURIComponent(r)))}},B=w.BufferedBlockAlgorithm=_.extend({reset:function reset(){this._data=new x.init,this._nDataBytes=0},_append:function _append(r){"string"==typeof r&&(r=I.parse(r)),this._data.concat(r),this._nDataBytes+=r.sigBytes},_process:function _process(i){var o,u=this._data,p=u.words,g=u.sigBytes,y=this.blockSize,w=g/(4*y),_=(w=i?r.ceil(w):r.max((0|w)-this._minBufferSize,0))*y,k=r.min(4*_,g);if(_){for(var P=0;P<_;P+=y)this._doProcessBlock(p,P);o=p.splice(0,_),u.sigBytes-=k}return new x.init(o,k)},clone:function clone(){var clone=_.clone.call(this);return clone._data=this._data.clone(),clone},_minBufferSize:0}),R=(w.Hasher=B.extend({cfg:_.extend(),init:function init(r){this.cfg=this.cfg.extend(r),this.reset()},reset:function reset(){B.reset.call(this),this._doReset()},update:function update(r){return this._append(r),this._process(),this},finalize:function finalize(r){return r&&this._append(r),this._doFinalize()},blockSize:16,_createHelper:function _createHelper(r){return function(i,o){return new r.init(o).finalize(i)}},_createHmacHelper:function _createHmacHelper(r){return function(i,o){return new R.HMAC.init(r,o).finalize(i)}}}),y.algo={});return y}(Math),u)},7508:function(r,i,o){"use strict";var u;o(9600),r.exports=(u=o(757),function(){var r=u,i=r.lib.WordArray;function parseLoop(r,o,u){for(var p=[],g=0,y=0;y<o;y++)if(y%4){var w=u[r.charCodeAt(y-1)]<<y%4*2|u[r.charCodeAt(y)]>>>6-y%4*2;p[g>>>2]|=w<<24-g%4*8,g++}return i.create(p,g)}r.enc.Base64={stringify:function stringify(r){var i=r.words,o=r.sigBytes,u=this._map;r.clamp();for(var p=[],g=0;g<o;g+=3)for(var y=(i[g>>>2]>>>24-g%4*8&255)<<16|(i[g+1>>>2]>>>24-(g+1)%4*8&255)<<8|i[g+2>>>2]>>>24-(g+2)%4*8&255,w=0;w<4&&g+.75*w<o;w++)p.push(u.charAt(y>>>6*(3-w)&63));var _=u.charAt(64);if(_)for(;p.length%4;)p.push(_);return p.join("")},parse:function parse(r){var i=r.length,o=this._map,u=this._reverseMap;if(!u){u=this._reverseMap=[];for(var p=0;p<o.length;p++)u[o.charCodeAt(p)]=p}var g=o.charAt(64);if(g){var y=r.indexOf(g);-1!==y&&(i=y)}return parseLoop(r,i,u)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}}(),u.enc.Base64)},7590:function(r,i,o){"use strict";var u;o(9600),r.exports=(u=o(757),function(){var r=u,i=r.lib.WordArray;function parseLoop(r,o,u){for(var p=[],g=0,y=0;y<o;y++)if(y%4){var w=u[r.charCodeAt(y-1)]<<y%4*2|u[r.charCodeAt(y)]>>>6-y%4*2;p[g>>>2]|=w<<24-g%4*8,g++}return i.create(p,g)}r.enc.Base64url={stringify:function stringify(r,i){void 0===i&&(i=!0);var o=r.words,u=r.sigBytes,p=i?this._safe_map:this._map;r.clamp();for(var g=[],y=0;y<u;y+=3)for(var w=(o[y>>>2]>>>24-y%4*8&255)<<16|(o[y+1>>>2]>>>24-(y+1)%4*8&255)<<8|o[y+2>>>2]>>>24-(y+2)%4*8&255,_=0;_<4&&y+.75*_<u;_++)g.push(p.charAt(w>>>6*(3-_)&63));var x=p.charAt(64);if(x)for(;g.length%4;)g.push(x);return g.join("")},parse:function parse(r,i){void 0===i&&(i=!0);var o=r.length,u=i?this._safe_map:this._map,p=this._reverseMap;if(!p){p=this._reverseMap=[];for(var g=0;g<u.length;g++)p[u.charCodeAt(g)]=g}var y=u.charAt(64);if(y){var w=r.indexOf(y);-1!==w&&(o=w)}return parseLoop(r,o,p)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",_safe_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"}}(),u.enc.Base64url)},4978:function(r,i,o){"use strict";var u;o(9600),r.exports=(u=o(757),function(){var r=u,i=r.lib.WordArray,o=r.enc;function swapEndian(r){return r<<8&4278255360|r>>>8&16711935}o.Utf16=o.Utf16BE={stringify:function stringify(r){for(var i=r.words,o=r.sigBytes,u=[],p=0;p<o;p+=2){var g=i[p>>>2]>>>16-p%4*8&65535;u.push(String.fromCharCode(g))}return u.join("")},parse:function parse(r){for(var o=r.length,u=[],p=0;p<o;p++)u[p>>>1]|=r.charCodeAt(p)<<16-p%2*16;return i.create(u,2*o)}},o.Utf16LE={stringify:function stringify(r){for(var i=r.words,o=r.sigBytes,u=[],p=0;p<o;p+=2){var g=swapEndian(i[p>>>2]>>>16-p%4*8&65535);u.push(String.fromCharCode(g))}return u.join("")},parse:function parse(r){for(var o=r.length,u=[],p=0;p<o;p++)u[p>>>1]|=swapEndian(r.charCodeAt(p)<<16-p%2*16);return i.create(u,2*o)}}}(),u.enc.Utf16)},3839:function(r,i,o){"use strict";var u,p,g,y,w,_,x,k;o(2222),r.exports=(k=o(757),o(9865),o(6727),p=(u=k).lib,g=p.Base,y=p.WordArray,w=u.algo,_=w.MD5,x=w.EvpKDF=g.extend({cfg:g.extend({keySize:4,hasher:_,iterations:1}),init:function init(r){this.cfg=this.cfg.extend(r)},compute:function compute(r,i){for(var o,u=this.cfg,p=u.hasher.create(),g=y.create(),w=g.words,_=u.keySize,x=u.iterations;w.length<_;){o&&p.update(o),o=p.update(r).finalize(i),p.reset();for(var k=1;k<x;k++)o=p.finalize(o),p.reset();g.concat(o)}return g.sigBytes=4*_,g}}),u.EvpKDF=function(r,i,o){return x.create(o).compute(r,i)},k.EvpKDF)},8942:function(r,i,o){"use strict";var u,p,g,y;o(1539),o(9714),r.exports=(y=o(757),o(1582),p=(u=y).lib.CipherParams,g=u.enc.Hex,u.format.Hex={stringify:function stringify(r){return r.ciphertext.toString(g)},parse:function parse(r){var i=g.parse(r);return p.create({ciphertext:i})}},y.format.Hex)},6727:function(r,i,o){"use strict";var u,p,g,y;o(2222),r.exports=(u=o(757),g=(p=u).lib.Base,y=p.enc.Utf8,void(p.algo.HMAC=g.extend({init:function init(r,i){r=this._hasher=new r.init,"string"==typeof i&&(i=y.parse(i));var o=r.blockSize,u=4*o;i.sigBytes>u&&(i=r.finalize(i)),i.clamp();for(var p=this._oKey=i.clone(),g=this._iKey=i.clone(),w=p.words,_=g.words,x=0;x<o;x++)w[x]^=1549556828,_[x]^=909522486;p.sigBytes=g.sigBytes=u,this.reset()},reset:function reset(){var r=this._hasher;r.reset(),r.update(this._iKey)},update:function update(r){return this._hasher.update(r),this},finalize:function finalize(r){var i=this._hasher,o=i.finalize(r);return i.reset(),i.finalize(this._oKey.clone().concat(o))}})))},5153:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(2601),o(1947),o(4978),o(7508),o(7590),o(3440),o(9865),o(8921),o(6876),o(7991),o(8122),o(8342),o(8714),o(6727),o(3486),o(3839),o(1582),o(702),o(2362),o(4412),o(5720),o(3518),o(6362),o(4431),o(8800),o(3992),o(649),o(8942),o(194),o(8437),o(4640),o(5323),o(4363),u)},1947:function(r,i,o){"use strict";var u;o(7803),o(1539),o(6992),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(7145),o(9743),o(5109),o(8255),o(5125),o(9135),o(4197),o(6495),r.exports=(u=o(757),function(){if("function"==typeof ArrayBuffer){var r=u.lib.WordArray,i=r.init,o=r.init=function(r){if(r instanceof ArrayBuffer&&(r=new Uint8Array(r)),(r instanceof Int8Array||"undefined"!=typeof Uint8ClampedArray&&r instanceof Uint8ClampedArray||r instanceof Int16Array||r instanceof Uint16Array||r instanceof Int32Array||r instanceof Uint32Array||r instanceof Float32Array||r instanceof Float64Array)&&(r=new Uint8Array(r.buffer,r.byteOffset,r.byteLength)),r instanceof Uint8Array){for(var o=r.byteLength,u=[],p=0;p<o;p++)u[p>>>2]|=r[p]<<24-p%4*8;i.call(this,u,o)}else i.apply(this,arguments)};o.prototype=r}}(),u.lib.WordArray)},3440:function(r,i,o){"use strict";var u;r.exports=(u=o(757),function(r){var i=u,o=i.lib,p=o.WordArray,g=o.Hasher,y=i.algo,w=[];!function(){for(var i=0;i<64;i++)w[i]=4294967296*r.abs(r.sin(i+1))|0}();var _=y.MD5=g.extend({_doReset:function _doReset(){this._hash=new p.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function _doProcessBlock(r,i){for(var o=0;o<16;o++){var u=i+o,p=r[u];r[u]=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8)}var g=this._hash.words,y=r[i+0],_=r[i+1],x=r[i+2],k=r[i+3],P=r[i+4],O=r[i+5],I=r[i+6],B=r[i+7],R=r[i+8],D=r[i+9],N=r[i+10],W=r[i+11],U=r[i+12],j=r[i+13],G=r[i+14],X=r[i+15],K=g[0],Y=g[1],J=g[2],$=g[3];K=FF(K,Y,J,$,y,7,w[0]),$=FF($,K,Y,J,_,12,w[1]),J=FF(J,$,K,Y,x,17,w[2]),Y=FF(Y,J,$,K,k,22,w[3]),K=FF(K,Y,J,$,P,7,w[4]),$=FF($,K,Y,J,O,12,w[5]),J=FF(J,$,K,Y,I,17,w[6]),Y=FF(Y,J,$,K,B,22,w[7]),K=FF(K,Y,J,$,R,7,w[8]),$=FF($,K,Y,J,D,12,w[9]),J=FF(J,$,K,Y,N,17,w[10]),Y=FF(Y,J,$,K,W,22,w[11]),K=FF(K,Y,J,$,U,7,w[12]),$=FF($,K,Y,J,j,12,w[13]),J=FF(J,$,K,Y,G,17,w[14]),K=GG(K,Y=FF(Y,J,$,K,X,22,w[15]),J,$,_,5,w[16]),$=GG($,K,Y,J,I,9,w[17]),J=GG(J,$,K,Y,W,14,w[18]),Y=GG(Y,J,$,K,y,20,w[19]),K=GG(K,Y,J,$,O,5,w[20]),$=GG($,K,Y,J,N,9,w[21]),J=GG(J,$,K,Y,X,14,w[22]),Y=GG(Y,J,$,K,P,20,w[23]),K=GG(K,Y,J,$,D,5,w[24]),$=GG($,K,Y,J,G,9,w[25]),J=GG(J,$,K,Y,k,14,w[26]),Y=GG(Y,J,$,K,R,20,w[27]),K=GG(K,Y,J,$,j,5,w[28]),$=GG($,K,Y,J,x,9,w[29]),J=GG(J,$,K,Y,B,14,w[30]),K=HH(K,Y=GG(Y,J,$,K,U,20,w[31]),J,$,O,4,w[32]),$=HH($,K,Y,J,R,11,w[33]),J=HH(J,$,K,Y,W,16,w[34]),Y=HH(Y,J,$,K,G,23,w[35]),K=HH(K,Y,J,$,_,4,w[36]),$=HH($,K,Y,J,P,11,w[37]),J=HH(J,$,K,Y,B,16,w[38]),Y=HH(Y,J,$,K,N,23,w[39]),K=HH(K,Y,J,$,j,4,w[40]),$=HH($,K,Y,J,y,11,w[41]),J=HH(J,$,K,Y,k,16,w[42]),Y=HH(Y,J,$,K,I,23,w[43]),K=HH(K,Y,J,$,D,4,w[44]),$=HH($,K,Y,J,U,11,w[45]),J=HH(J,$,K,Y,X,16,w[46]),K=II(K,Y=HH(Y,J,$,K,x,23,w[47]),J,$,y,6,w[48]),$=II($,K,Y,J,B,10,w[49]),J=II(J,$,K,Y,G,15,w[50]),Y=II(Y,J,$,K,O,21,w[51]),K=II(K,Y,J,$,U,6,w[52]),$=II($,K,Y,J,k,10,w[53]),J=II(J,$,K,Y,N,15,w[54]),Y=II(Y,J,$,K,_,21,w[55]),K=II(K,Y,J,$,R,6,w[56]),$=II($,K,Y,J,X,10,w[57]),J=II(J,$,K,Y,I,15,w[58]),Y=II(Y,J,$,K,j,21,w[59]),K=II(K,Y,J,$,P,6,w[60]),$=II($,K,Y,J,W,10,w[61]),J=II(J,$,K,Y,x,15,w[62]),Y=II(Y,J,$,K,D,21,w[63]),g[0]=g[0]+K|0,g[1]=g[1]+Y|0,g[2]=g[2]+J|0,g[3]=g[3]+$|0},_doFinalize:function _doFinalize(){var i=this._data,o=i.words,u=8*this._nDataBytes,p=8*i.sigBytes;o[p>>>5]|=128<<24-p%32;var g=r.floor(u/4294967296),y=u;o[15+(p+64>>>9<<4)]=16711935&(g<<8|g>>>24)|4278255360&(g<<24|g>>>8),o[14+(p+64>>>9<<4)]=16711935&(y<<8|y>>>24)|4278255360&(y<<24|y>>>8),i.sigBytes=4*(o.length+1),this._process();for(var w=this._hash,_=w.words,x=0;x<4;x++){var k=_[x];_[x]=16711935&(k<<8|k>>>24)|4278255360&(k<<24|k>>>8)}return w},clone:function clone(){var clone=g.clone.call(this);return clone._hash=this._hash.clone(),clone}});function FF(r,i,o,u,p,g,y){var w=r+(i&o|~i&u)+p+y;return(w<<g|w>>>32-g)+i}function GG(r,i,o,u,p,g,y){var w=r+(i&u|o&~u)+p+y;return(w<<g|w>>>32-g)+i}function HH(r,i,o,u,p,g,y){var w=r+(i^o^u)+p+y;return(w<<g|w>>>32-g)+i}function II(r,i,o,u,p,g,y){var w=r+(o^(i|~u))+p+y;return(w<<g|w>>>32-g)+i}i.MD5=g._createHelper(_),i.HmacMD5=g._createHmacHelper(_)}(Math),u.MD5)},702:function(r,i,o){"use strict";var u;o(7042),r.exports=(u=o(757),o(1582),u.mode.CFB=function(){var r=u.lib.BlockCipherMode.extend();function generateKeystreamAndEncrypt(r,i,o,u){var p,g=this._iv;g?(p=g.slice(0),this._iv=void 0):p=this._prevBlock,u.encryptBlock(p,0);for(var y=0;y<o;y++)r[i+y]^=p[y]}return r.Encryptor=r.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize;generateKeystreamAndEncrypt.call(this,r,i,u,o),this._prevBlock=r.slice(i,i+u)}}),r.Decryptor=r.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize,p=r.slice(i,i+u);generateKeystreamAndEncrypt.call(this,r,i,u,o),this._prevBlock=p}}),r}(),u.mode.CFB)},4412:function(r,i,o){"use strict";var u;o(7042),r.exports=(u=o(757),o(1582),u.mode.CTRGladman=function(){var r=u.lib.BlockCipherMode.extend();function incWord(r){if(255==(r>>24&255)){var i=r>>16&255,o=r>>8&255,u=255&r;255===i?(i=0,255===o?(o=0,255===u?u=0:++u):++o):++i,r=0,r+=i<<16,r+=o<<8,r+=u}else r+=1<<24;return r}function incCounter(r){return 0===(r[0]=incWord(r[0]))&&(r[1]=incWord(r[1])),r}var i=r.Encryptor=r.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize,p=this._iv,g=this._counter;p&&(g=this._counter=p.slice(0),this._iv=void 0),incCounter(g);var y=g.slice(0);o.encryptBlock(y,0);for(var w=0;w<u;w++)r[i+w]^=y[w]}});return r.Decryptor=i,r}(),u.mode.CTRGladman)},2362:function(r,i,o){"use strict";var u,p,g;o(7042),r.exports=(g=o(757),o(1582),g.mode.CTR=(u=g.lib.BlockCipherMode.extend(),p=u.Encryptor=u.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize,p=this._iv,g=this._counter;p&&(g=this._counter=p.slice(0),this._iv=void 0);var y=g.slice(0);o.encryptBlock(y,0),g[u-1]=g[u-1]+1|0;for(var w=0;w<u;w++)r[i+w]^=y[w]}}),u.Decryptor=p,u),g.mode.CTR)},3518:function(r,i,o){"use strict";var u,p;r.exports=(p=o(757),o(1582),p.mode.ECB=((u=p.lib.BlockCipherMode.extend()).Encryptor=u.extend({processBlock:function processBlock(r,i){this._cipher.encryptBlock(r,i)}}),u.Decryptor=u.extend({processBlock:function processBlock(r,i){this._cipher.decryptBlock(r,i)}}),u),p.mode.ECB)},5720:function(r,i,o){"use strict";var u,p,g;o(7042),r.exports=(g=o(757),o(1582),g.mode.OFB=(u=g.lib.BlockCipherMode.extend(),p=u.Encryptor=u.extend({processBlock:function processBlock(r,i){var o=this._cipher,u=o.blockSize,p=this._iv,g=this._keystream;p&&(g=this._keystream=p.slice(0),this._iv=void 0),o.encryptBlock(g,0);for(var y=0;y<u;y++)r[i+y]^=g[y]}}),u.Decryptor=p,u),g.mode.OFB)},6362:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(1582),u.pad.AnsiX923={pad:function pad(r,i){var o=r.sigBytes,u=4*i,p=u-o%u,g=o+p-1;r.clamp(),r.words[g>>>2]|=p<<24-g%4*8,r.sigBytes+=p},unpad:function unpad(r){var i=255&r.words[r.sigBytes-1>>>2];r.sigBytes-=i}},u.pad.Ansix923)},4431:function(r,i,o){"use strict";var u;o(2222),r.exports=(u=o(757),o(1582),u.pad.Iso10126={pad:function pad(r,i){var o=4*i,p=o-r.sigBytes%o;r.concat(u.lib.WordArray.random(p-1)).concat(u.lib.WordArray.create([p<<24],1))},unpad:function unpad(r){var i=255&r.words[r.sigBytes-1>>>2];r.sigBytes-=i}},u.pad.Iso10126)},8800:function(r,i,o){"use strict";var u;o(2222),r.exports=(u=o(757),o(1582),u.pad.Iso97971={pad:function pad(r,i){r.concat(u.lib.WordArray.create([2147483648],1)),u.pad.ZeroPadding.pad(r,i)},unpad:function unpad(r){u.pad.ZeroPadding.unpad(r),r.sigBytes--}},u.pad.Iso97971)},649:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(1582),u.pad.NoPadding={pad:function pad(){},unpad:function unpad(){}},u.pad.NoPadding)},3992:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(1582),u.pad.ZeroPadding={pad:function pad(r,i){var o=4*i;r.clamp(),r.sigBytes+=o-(r.sigBytes%o||o)},unpad:function unpad(r){var i=r.words,o=r.sigBytes-1;for(o=r.sigBytes-1;o>=0;o--)if(i[o>>>2]>>>24-o%4*8&255){r.sigBytes=o+1;break}}},u.pad.ZeroPadding)},3486:function(r,i,o){"use strict";var u,p,g,y,w,_,x,k,P;o(2222),r.exports=(P=o(757),o(9865),o(6727),p=(u=P).lib,g=p.Base,y=p.WordArray,w=u.algo,_=w.SHA1,x=w.HMAC,k=w.PBKDF2=g.extend({cfg:g.extend({keySize:4,hasher:_,iterations:1}),init:function init(r){this.cfg=this.cfg.extend(r)},compute:function compute(r,i){for(var o=this.cfg,u=x.create(o.hasher,r),p=y.create(),g=y.create([1]),w=p.words,_=g.words,k=o.keySize,P=o.iterations;w.length<k;){var O=u.update(i).finalize(g);u.reset();for(var I=O.words,B=I.length,R=O,D=1;D<P;D++){R=u.finalize(R),u.reset();for(var N=R.words,W=0;W<B;W++)I[W]^=N[W]}p.concat(O),_[0]++}return p.sigBytes=4*k,p}}),u.PBKDF2=function(r,i,o){return k.create(o).compute(r,i)},P.PBKDF2)},4363:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(7508),o(3440),o(3839),o(1582),function(){var r=u,i=r.lib.StreamCipher,o=r.algo,p=[],g=[],y=[],w=o.RabbitLegacy=i.extend({_doReset:function _doReset(){var r=this._key.words,i=this.cfg.iv,o=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],u=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];this._b=0;for(var p=0;p<4;p++)nextState.call(this);for(p=0;p<8;p++)u[p]^=o[p+4&7];if(i){var g=i.words,y=g[0],w=g[1],_=16711935&(y<<8|y>>>24)|4278255360&(y<<24|y>>>8),x=16711935&(w<<8|w>>>24)|4278255360&(w<<24|w>>>8),k=_>>>16|4294901760&x,P=x<<16|65535&_;for(u[0]^=_,u[1]^=k,u[2]^=x,u[3]^=P,u[4]^=_,u[5]^=k,u[6]^=x,u[7]^=P,p=0;p<4;p++)nextState.call(this)}},_doProcessBlock:function _doProcessBlock(r,i){var o=this._X;nextState.call(this),p[0]=o[0]^o[5]>>>16^o[3]<<16,p[1]=o[2]^o[7]>>>16^o[5]<<16,p[2]=o[4]^o[1]>>>16^o[7]<<16,p[3]=o[6]^o[3]>>>16^o[1]<<16;for(var u=0;u<4;u++)p[u]=16711935&(p[u]<<8|p[u]>>>24)|4278255360&(p[u]<<24|p[u]>>>8),r[i+u]^=p[u]},blockSize:4,ivSize:2});function nextState(){for(var r=this._X,i=this._C,o=0;o<8;o++)g[o]=i[o];for(i[0]=i[0]+1295307597+this._b|0,i[1]=i[1]+3545052371+(i[0]>>>0<g[0]>>>0?1:0)|0,i[2]=i[2]+886263092+(i[1]>>>0<g[1]>>>0?1:0)|0,i[3]=i[3]+1295307597+(i[2]>>>0<g[2]>>>0?1:0)|0,i[4]=i[4]+3545052371+(i[3]>>>0<g[3]>>>0?1:0)|0,i[5]=i[5]+886263092+(i[4]>>>0<g[4]>>>0?1:0)|0,i[6]=i[6]+1295307597+(i[5]>>>0<g[5]>>>0?1:0)|0,i[7]=i[7]+3545052371+(i[6]>>>0<g[6]>>>0?1:0)|0,this._b=i[7]>>>0<g[7]>>>0?1:0,o=0;o<8;o++){var u=r[o]+i[o],p=65535&u,w=u>>>16,_=((p*p>>>17)+p*w>>>15)+w*w,x=((4294901760&u)*u|0)+((65535&u)*u|0);y[o]=_^x}r[0]=y[0]+(y[7]<<16|y[7]>>>16)+(y[6]<<16|y[6]>>>16)|0,r[1]=y[1]+(y[0]<<8|y[0]>>>24)+y[7]|0,r[2]=y[2]+(y[1]<<16|y[1]>>>16)+(y[0]<<16|y[0]>>>16)|0,r[3]=y[3]+(y[2]<<8|y[2]>>>24)+y[1]|0,r[4]=y[4]+(y[3]<<16|y[3]>>>16)+(y[2]<<16|y[2]>>>16)|0,r[5]=y[5]+(y[4]<<8|y[4]>>>24)+y[3]|0,r[6]=y[6]+(y[5]<<16|y[5]>>>16)+(y[4]<<16|y[4]>>>16)|0,r[7]=y[7]+(y[6]<<8|y[6]>>>24)+y[5]|0}r.RabbitLegacy=i._createHelper(w)}(),u.RabbitLegacy)},5323:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(7508),o(3440),o(3839),o(1582),function(){var r=u,i=r.lib.StreamCipher,o=r.algo,p=[],g=[],y=[],w=o.Rabbit=i.extend({_doReset:function _doReset(){for(var r=this._key.words,i=this.cfg.iv,o=0;o<4;o++)r[o]=16711935&(r[o]<<8|r[o]>>>24)|4278255360&(r[o]<<24|r[o]>>>8);var u=this._X=[r[0],r[3]<<16|r[2]>>>16,r[1],r[0]<<16|r[3]>>>16,r[2],r[1]<<16|r[0]>>>16,r[3],r[2]<<16|r[1]>>>16],p=this._C=[r[2]<<16|r[2]>>>16,4294901760&r[0]|65535&r[1],r[3]<<16|r[3]>>>16,4294901760&r[1]|65535&r[2],r[0]<<16|r[0]>>>16,4294901760&r[2]|65535&r[3],r[1]<<16|r[1]>>>16,4294901760&r[3]|65535&r[0]];for(this._b=0,o=0;o<4;o++)nextState.call(this);for(o=0;o<8;o++)p[o]^=u[o+4&7];if(i){var g=i.words,y=g[0],w=g[1],_=16711935&(y<<8|y>>>24)|4278255360&(y<<24|y>>>8),x=16711935&(w<<8|w>>>24)|4278255360&(w<<24|w>>>8),k=_>>>16|4294901760&x,P=x<<16|65535&_;for(p[0]^=_,p[1]^=k,p[2]^=x,p[3]^=P,p[4]^=_,p[5]^=k,p[6]^=x,p[7]^=P,o=0;o<4;o++)nextState.call(this)}},_doProcessBlock:function _doProcessBlock(r,i){var o=this._X;nextState.call(this),p[0]=o[0]^o[5]>>>16^o[3]<<16,p[1]=o[2]^o[7]>>>16^o[5]<<16,p[2]=o[4]^o[1]>>>16^o[7]<<16,p[3]=o[6]^o[3]>>>16^o[1]<<16;for(var u=0;u<4;u++)p[u]=16711935&(p[u]<<8|p[u]>>>24)|4278255360&(p[u]<<24|p[u]>>>8),r[i+u]^=p[u]},blockSize:4,ivSize:2});function nextState(){for(var r=this._X,i=this._C,o=0;o<8;o++)g[o]=i[o];for(i[0]=i[0]+1295307597+this._b|0,i[1]=i[1]+3545052371+(i[0]>>>0<g[0]>>>0?1:0)|0,i[2]=i[2]+886263092+(i[1]>>>0<g[1]>>>0?1:0)|0,i[3]=i[3]+1295307597+(i[2]>>>0<g[2]>>>0?1:0)|0,i[4]=i[4]+3545052371+(i[3]>>>0<g[3]>>>0?1:0)|0,i[5]=i[5]+886263092+(i[4]>>>0<g[4]>>>0?1:0)|0,i[6]=i[6]+1295307597+(i[5]>>>0<g[5]>>>0?1:0)|0,i[7]=i[7]+3545052371+(i[6]>>>0<g[6]>>>0?1:0)|0,this._b=i[7]>>>0<g[7]>>>0?1:0,o=0;o<8;o++){var u=r[o]+i[o],p=65535&u,w=u>>>16,_=((p*p>>>17)+p*w>>>15)+w*w,x=((4294901760&u)*u|0)+((65535&u)*u|0);y[o]=_^x}r[0]=y[0]+(y[7]<<16|y[7]>>>16)+(y[6]<<16|y[6]>>>16)|0,r[1]=y[1]+(y[0]<<8|y[0]>>>24)+y[7]|0,r[2]=y[2]+(y[1]<<16|y[1]>>>16)+(y[0]<<16|y[0]>>>16)|0,r[3]=y[3]+(y[2]<<8|y[2]>>>24)+y[1]|0,r[4]=y[4]+(y[3]<<16|y[3]>>>16)+(y[2]<<16|y[2]>>>16)|0,r[5]=y[5]+(y[4]<<8|y[4]>>>24)+y[3]|0,r[6]=y[6]+(y[5]<<16|y[5]>>>16)+(y[4]<<16|y[4]>>>16)|0,r[7]=y[7]+(y[6]<<8|y[6]>>>24)+y[5]|0}r.Rabbit=i._createHelper(w)}(),u.Rabbit)},4640:function(r,i,o){"use strict";var u;o(1539),o(8674),r.exports=(u=o(757),o(7508),o(3440),o(3839),o(1582),function(){var r=u,i=r.lib.StreamCipher,o=r.algo,p=o.RC4=i.extend({_doReset:function _doReset(){for(var r=this._key,i=r.words,o=r.sigBytes,u=this._S=[],p=0;p<256;p++)u[p]=p;p=0;for(var g=0;p<256;p++){var y=p%o,w=i[y>>>2]>>>24-y%4*8&255;g=(g+u[p]+w)%256;var _=u[p];u[p]=u[g],u[g]=_}this._i=this._j=0},_doProcessBlock:function _doProcessBlock(r,i){r[i]^=generateKeystreamWord.call(this)},keySize:8,ivSize:0});function generateKeystreamWord(){for(var r=this._S,i=this._i,o=this._j,u=0,p=0;p<4;p++){o=(o+r[i=(i+1)%256])%256;var g=r[i];r[i]=r[o],r[o]=g,u|=r[(r[i]+r[o])%256]<<24-8*p}return this._i=i,this._j=o,u}r.RC4=i._createHelper(p);var g=o.RC4Drop=p.extend({cfg:p.cfg.extend({drop:192}),_doReset:function _doReset(){p._doReset.call(this);for(var r=this.cfg.drop;r>0;r--)generateKeystreamWord.call(this)}});r.RC4Drop=i._createHelper(g)}(),u.RC4)},8714:function(r,i,o){"use strict";var u;r.exports=(u=o(757),function(r){var i=u,o=i.lib,p=o.WordArray,g=o.Hasher,y=i.algo,w=p.create([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13]),_=p.create([5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11]),x=p.create([11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6]),k=p.create([8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]),P=p.create([0,1518500249,1859775393,2400959708,2840853838]),O=p.create([1352829926,1548603684,1836072691,2053994217,0]),I=y.RIPEMD160=g.extend({_doReset:function _doReset(){this._hash=p.create([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function _doProcessBlock(r,i){for(var o=0;o<16;o++){var u=i+o,p=r[u];r[u]=16711935&(p<<8|p>>>24)|4278255360&(p<<24|p>>>8)}var g,y,I,B,R,D,N,W,U,j,G,X=this._hash.words,K=P.words,Y=O.words,J=w.words,$=_.words,ee=x.words,te=k.words;for(D=g=X[0],N=y=X[1],W=I=X[2],U=B=X[3],j=R=X[4],o=0;o<80;o+=1)G=g+r[i+J[o]]|0,G+=o<16?f1(y,I,B)+K[0]:o<32?f2(y,I,B)+K[1]:o<48?f3(y,I,B)+K[2]:o<64?f4(y,I,B)+K[3]:f5(y,I,B)+K[4],G=(G=rotl(G|=0,ee[o]))+R|0,g=R,R=B,B=rotl(I,10),I=y,y=G,G=D+r[i+$[o]]|0,G+=o<16?f5(N,W,U)+Y[0]:o<32?f4(N,W,U)+Y[1]:o<48?f3(N,W,U)+Y[2]:o<64?f2(N,W,U)+Y[3]:f1(N,W,U)+Y[4],G=(G=rotl(G|=0,te[o]))+j|0,D=j,j=U,U=rotl(W,10),W=N,N=G;G=X[1]+I+U|0,X[1]=X[2]+B+j|0,X[2]=X[3]+R+D|0,X[3]=X[4]+g+N|0,X[4]=X[0]+y+W|0,X[0]=G},_doFinalize:function _doFinalize(){var r=this._data,i=r.words,o=8*this._nDataBytes,u=8*r.sigBytes;i[u>>>5]|=128<<24-u%32,i[14+(u+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),r.sigBytes=4*(i.length+1),this._process();for(var p=this._hash,g=p.words,y=0;y<5;y++){var w=g[y];g[y]=16711935&(w<<8|w>>>24)|4278255360&(w<<24|w>>>8)}return p},clone:function clone(){var clone=g.clone.call(this);return clone._hash=this._hash.clone(),clone}});function f1(r,i,o){return r^i^o}function f2(r,i,o){return r&i|~r&o}function f3(r,i,o){return(r|~i)^o}function f4(r,i,o){return r&o|i&~o}function f5(r,i,o){return r^(i|~o)}function rotl(r,i){return r<<i|r>>>32-i}i.RIPEMD160=g._createHelper(I),i.HmacRIPEMD160=g._createHmacHelper(I)}(Math),u.RIPEMD160)},9865:function(r,i,o){"use strict";var u,p,g,y,w,_,x,k;r.exports=(k=o(757),p=(u=k).lib,g=p.WordArray,y=p.Hasher,w=u.algo,_=[],x=w.SHA1=y.extend({_doReset:function _doReset(){this._hash=new g.init([1732584193,4023233417,2562383102,271733878,3285377520])},_doProcessBlock:function _doProcessBlock(r,i){for(var o=this._hash.words,u=o[0],p=o[1],g=o[2],y=o[3],w=o[4],x=0;x<80;x++){if(x<16)_[x]=0|r[i+x];else{var k=_[x-3]^_[x-8]^_[x-14]^_[x-16];_[x]=k<<1|k>>>31}var P=(u<<5|u>>>27)+w+_[x];P+=x<20?1518500249+(p&g|~p&y):x<40?1859775393+(p^g^y):x<60?(p&g|p&y|g&y)-1894007588:(p^g^y)-899497514,w=y,y=g,g=p<<30|p>>>2,p=u,u=P}o[0]=o[0]+u|0,o[1]=o[1]+p|0,o[2]=o[2]+g|0,o[3]=o[3]+y|0,o[4]=o[4]+w|0},_doFinalize:function _doFinalize(){var r=this._data,i=r.words,o=8*this._nDataBytes,u=8*r.sigBytes;return i[u>>>5]|=128<<24-u%32,i[14+(u+64>>>9<<4)]=Math.floor(o/4294967296),i[15+(u+64>>>9<<4)]=o,r.sigBytes=4*i.length,this._process(),this._hash},clone:function clone(){var clone=y.clone.call(this);return clone._hash=this._hash.clone(),clone}}),u.SHA1=y._createHelper(x),u.HmacSHA1=y._createHmacHelper(x),k.SHA1)},6876:function(r,i,o){"use strict";var u,p,g,y,w,_;r.exports=(_=o(757),o(8921),p=(u=_).lib.WordArray,g=u.algo,y=g.SHA256,w=g.SHA224=y.extend({_doReset:function _doReset(){this._hash=new p.init([3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428])},_doFinalize:function _doFinalize(){var r=y._doFinalize.call(this);return r.sigBytes-=4,r}}),u.SHA224=y._createHelper(w),u.HmacSHA224=y._createHmacHelper(w),_.SHA224)},8921:function(r,i,o){"use strict";var u;o(7042),r.exports=(u=o(757),function(r){var i=u,o=i.lib,p=o.WordArray,g=o.Hasher,y=i.algo,w=[],_=[];!function(){function isPrime(i){for(var o=r.sqrt(i),u=2;u<=o;u++)if(!(i%u))return!1;return!0}function getFractionalBits(r){return 4294967296*(r-(0|r))|0}for(var i=2,o=0;o<64;)isPrime(i)&&(o<8&&(w[o]=getFractionalBits(r.pow(i,.5))),_[o]=getFractionalBits(r.pow(i,1/3)),o++),i++}();var x=[],k=y.SHA256=g.extend({_doReset:function _doReset(){this._hash=new p.init(w.slice(0))},_doProcessBlock:function _doProcessBlock(r,i){for(var o=this._hash.words,u=o[0],p=o[1],g=o[2],y=o[3],w=o[4],k=o[5],P=o[6],O=o[7],I=0;I<64;I++){if(I<16)x[I]=0|r[i+I];else{var B=x[I-15],R=(B<<25|B>>>7)^(B<<14|B>>>18)^B>>>3,D=x[I-2],N=(D<<15|D>>>17)^(D<<13|D>>>19)^D>>>10;x[I]=R+x[I-7]+N+x[I-16]}var W=u&p^u&g^p&g,U=(u<<30|u>>>2)^(u<<19|u>>>13)^(u<<10|u>>>22),j=O+((w<<26|w>>>6)^(w<<21|w>>>11)^(w<<7|w>>>25))+(w&k^~w&P)+_[I]+x[I];O=P,P=k,k=w,w=y+j|0,y=g,g=p,p=u,u=j+(U+W)|0}o[0]=o[0]+u|0,o[1]=o[1]+p|0,o[2]=o[2]+g|0,o[3]=o[3]+y|0,o[4]=o[4]+w|0,o[5]=o[5]+k|0,o[6]=o[6]+P|0,o[7]=o[7]+O|0},_doFinalize:function _doFinalize(){var i=this._data,o=i.words,u=8*this._nDataBytes,p=8*i.sigBytes;return o[p>>>5]|=128<<24-p%32,o[14+(p+64>>>9<<4)]=r.floor(u/4294967296),o[15+(p+64>>>9<<4)]=u,i.sigBytes=4*o.length,this._process(),this._hash},clone:function clone(){var clone=g.clone.call(this);return clone._hash=this._hash.clone(),clone}});i.SHA256=g._createHelper(k),i.HmacSHA256=g._createHmacHelper(k)}(Math),u.SHA256)},8342:function(r,i,o){"use strict";var u;o(7042),r.exports=(u=o(757),o(2601),function(r){var i=u,o=i.lib,p=o.WordArray,g=o.Hasher,y=i.x64.Word,w=i.algo,_=[],x=[],k=[];!function(){for(var r=1,i=0,o=0;o<24;o++){_[r+5*i]=(o+1)*(o+2)/2%64;var u=(2*r+3*i)%5;r=i%5,i=u}for(r=0;r<5;r++)for(i=0;i<5;i++)x[r+5*i]=i+(2*r+3*i)%5*5;for(var p=1,g=0;g<24;g++){for(var w=0,P=0,O=0;O<7;O++){if(1&p){var I=(1<<O)-1;I<32?P^=1<<I:w^=1<<I-32}128&p?p=p<<1^113:p<<=1}k[g]=y.create(w,P)}}();var P=[];!function(){for(var r=0;r<25;r++)P[r]=y.create()}();var O=w.SHA3=g.extend({cfg:g.cfg.extend({outputLength:512}),_doReset:function _doReset(){for(var r=this._state=[],i=0;i<25;i++)r[i]=new y.init;this.blockSize=(1600-2*this.cfg.outputLength)/32},_doProcessBlock:function _doProcessBlock(r,i){for(var o=this._state,u=this.blockSize/2,p=0;p<u;p++){var g=r[i+2*p],y=r[i+2*p+1];g=16711935&(g<<8|g>>>24)|4278255360&(g<<24|g>>>8),y=16711935&(y<<8|y>>>24)|4278255360&(y<<24|y>>>8),(te=o[p]).high^=y,te.low^=g}for(var w=0;w<24;w++){for(var O=0;O<5;O++){for(var I=0,B=0,R=0;R<5;R++)I^=(te=o[O+5*R]).high,B^=te.low;var D=P[O];D.high=I,D.low=B}for(O=0;O<5;O++){var N=P[(O+4)%5],W=P[(O+1)%5],U=W.high,j=W.low;for(I=N.high^(U<<1|j>>>31),B=N.low^(j<<1|U>>>31),R=0;R<5;R++)(te=o[O+5*R]).high^=I,te.low^=B}for(var G=1;G<25;G++){var X=(te=o[G]).high,K=te.low,Y=_[G];Y<32?(I=X<<Y|K>>>32-Y,B=K<<Y|X>>>32-Y):(I=K<<Y-32|X>>>64-Y,B=X<<Y-32|K>>>64-Y);var J=P[x[G]];J.high=I,J.low=B}var $=P[0],ee=o[0];for($.high=ee.high,$.low=ee.low,O=0;O<5;O++)for(R=0;R<5;R++){var te=o[G=O+5*R],re=P[G],ne=P[(O+1)%5+5*R],ie=P[(O+2)%5+5*R];te.high=re.high^~ne.high&ie.high,te.low=re.low^~ne.low&ie.low}te=o[0];var oe=k[w];te.high^=oe.high,te.low^=oe.low}},_doFinalize:function _doFinalize(){var i=this._data,o=i.words,u=(this._nDataBytes,8*i.sigBytes),g=32*this.blockSize;o[u>>>5]|=1<<24-u%32,o[(r.ceil((u+1)/g)*g>>>5)-1]|=128,i.sigBytes=4*o.length,this._process();for(var y=this._state,w=this.cfg.outputLength/8,_=w/8,x=[],k=0;k<_;k++){var P=y[k],O=P.high,I=P.low;O=16711935&(O<<8|O>>>24)|4278255360&(O<<24|O>>>8),I=16711935&(I<<8|I>>>24)|4278255360&(I<<24|I>>>8),x.push(I),x.push(O)}return new p.init(x,w)},clone:function clone(){for(var clone=g.clone.call(this),r=clone._state=this._state.slice(0),i=0;i<25;i++)r[i]=r[i].clone();return clone}});i.SHA3=g._createHelper(O),i.HmacSHA3=g._createHmacHelper(O)}(Math),u.SHA3)},8122:function(r,i,o){"use strict";var u,p,g,y,w,_,x,k;r.exports=(k=o(757),o(2601),o(7991),p=(u=k).x64,g=p.Word,y=p.WordArray,w=u.algo,_=w.SHA512,x=w.SHA384=_.extend({_doReset:function _doReset(){this._hash=new y.init([new g.init(3418070365,3238371032),new g.init(1654270250,914150663),new g.init(2438529370,812702999),new g.init(355462360,4144912697),new g.init(1731405415,4290775857),new g.init(2394180231,1750603025),new g.init(3675008525,1694076839),new g.init(1203062813,3204075428)])},_doFinalize:function _doFinalize(){var r=_._doFinalize.call(this);return r.sigBytes-=16,r}}),u.SHA384=_._createHelper(x),u.HmacSHA384=_._createHmacHelper(x),k.SHA384)},7991:function(r,i,o){"use strict";var u;r.exports=(u=o(757),o(2601),function(){var r=u,i=r.lib.Hasher,o=r.x64,p=o.Word,g=o.WordArray,y=r.algo;function X64Word_create(){return p.create.apply(p,arguments)}var w=[X64Word_create(1116352408,3609767458),X64Word_create(1899447441,602891725),X64Word_create(3049323471,3964484399),X64Word_create(3921009573,2173295548),X64Word_create(961987163,4081628472),X64Word_create(1508970993,3053834265),X64Word_create(2453635748,2937671579),X64Word_create(2870763221,3664609560),X64Word_create(3624381080,2734883394),X64Word_create(310598401,1164996542),X64Word_create(607225278,1323610764),X64Word_create(1426881987,3590304994),X64Word_create(1925078388,4068182383),X64Word_create(2162078206,991336113),X64Word_create(2614888103,633803317),X64Word_create(3248222580,3479774868),X64Word_create(3835390401,2666613458),X64Word_create(4022224774,944711139),X64Word_create(264347078,2341262773),X64Word_create(604807628,2007800933),X64Word_create(770255983,1495990901),X64Word_create(1249150122,1856431235),X64Word_create(1555081692,3175218132),X64Word_create(1996064986,2198950837),X64Word_create(2554220882,3999719339),X64Word_create(2821834349,766784016),X64Word_create(2952996808,2566594879),X64Word_create(3210313671,3203337956),X64Word_create(3336571891,1034457026),X64Word_create(3584528711,2466948901),X64Word_create(113926993,3758326383),X64Word_create(338241895,168717936),X64Word_create(666307205,1188179964),X64Word_create(773529912,1546045734),X64Word_create(1294757372,1522805485),X64Word_create(1396182291,2643833823),X64Word_create(1695183700,2343527390),X64Word_create(1986661051,1014477480),X64Word_create(2177026350,1206759142),X64Word_create(2456956037,344077627),X64Word_create(2730485921,1290863460),X64Word_create(2820302411,3158454273),X64Word_create(3259730800,3505952657),X64Word_create(3345764771,106217008),X64Word_create(3516065817,3606008344),X64Word_create(3600352804,1432725776),X64Word_create(4094571909,1467031594),X64Word_create(275423344,851169720),X64Word_create(430227734,3100823752),X64Word_create(506948616,1363258195),X64Word_create(659060556,3750685593),X64Word_create(883997877,3785050280),X64Word_create(958139571,3318307427),X64Word_create(1322822218,3812723403),X64Word_create(1537002063,2003034995),X64Word_create(1747873779,3602036899),X64Word_create(1955562222,1575990012),X64Word_create(2024104815,1125592928),X64Word_create(2227730452,2716904306),X64Word_create(2361852424,442776044),X64Word_create(2428436474,593698344),X64Word_create(2756734187,3733110249),X64Word_create(3204031479,2999351573),X64Word_create(3329325298,3815920427),X64Word_create(3391569614,3928383900),X64Word_create(3515267271,566280711),X64Word_create(3940187606,3454069534),X64Word_create(4118630271,4000239992),X64Word_create(116418474,1914138554),X64Word_create(174292421,2731055270),X64Word_create(289380356,3203993006),X64Word_create(460393269,320620315),X64Word_create(685471733,587496836),X64Word_create(852142971,1086792851),X64Word_create(1017036298,365543100),X64Word_create(1126000580,2618297676),X64Word_create(1288033470,3409855158),X64Word_create(1501505948,4234509866),X64Word_create(1607167915,987167468),X64Word_create(1816402316,1246189591)],_=[];!function(){for(var r=0;r<80;r++)_[r]=X64Word_create()}();var x=y.SHA512=i.extend({_doReset:function _doReset(){this._hash=new g.init([new p.init(1779033703,4089235720),new p.init(3144134277,2227873595),new p.init(1013904242,4271175723),new p.init(2773480762,1595750129),new p.init(1359893119,2917565137),new p.init(2600822924,725511199),new p.init(528734635,4215389547),new p.init(1541459225,327033209)])},_doProcessBlock:function _doProcessBlock(r,i){for(var o=this._hash.words,u=o[0],p=o[1],g=o[2],y=o[3],x=o[4],k=o[5],P=o[6],O=o[7],I=u.high,B=u.low,R=p.high,D=p.low,N=g.high,W=g.low,U=y.high,j=y.low,G=x.high,X=x.low,K=k.high,Y=k.low,J=P.high,$=P.low,ee=O.high,te=O.low,re=I,ne=B,ie=R,oe=D,ae=N,se=W,ce=U,le=j,ue=G,fe=X,he=K,de=Y,pe=J,ge=$,ye=ee,ve=te,me=0;me<80;me++){var be,we,_e=_[me];if(me<16)we=_e.high=0|r[i+2*me],be=_e.low=0|r[i+2*me+1];else{var Se=_[me-15],xe=Se.high,Ce=Se.low,ke=(xe>>>1|Ce<<31)^(xe>>>8|Ce<<24)^xe>>>7,Pe=(Ce>>>1|xe<<31)^(Ce>>>8|xe<<24)^(Ce>>>7|xe<<25),Ae=_[me-2],Ee=Ae.high,Te=Ae.low,Oe=(Ee>>>19|Te<<13)^(Ee<<3|Te>>>29)^Ee>>>6,Ie=(Te>>>19|Ee<<13)^(Te<<3|Ee>>>29)^(Te>>>6|Ee<<26),Be=_[me-7],Fe=Be.high,Le=Be.low,Re=_[me-16],De=Re.high,Me=Re.low;we=(we=(we=ke+Fe+((be=Pe+Le)>>>0<Pe>>>0?1:0))+Oe+((be+=Ie)>>>0<Ie>>>0?1:0))+De+((be+=Me)>>>0<Me>>>0?1:0),_e.high=we,_e.low=be}var Ne,We=ue&he^~ue&pe,ze=fe&de^~fe&ge,Ue=re&ie^re&ae^ie&ae,je=ne&oe^ne&se^oe&se,Ge=(re>>>28|ne<<4)^(re<<30|ne>>>2)^(re<<25|ne>>>7),Ve=(ne>>>28|re<<4)^(ne<<30|re>>>2)^(ne<<25|re>>>7),He=(ue>>>14|fe<<18)^(ue>>>18|fe<<14)^(ue<<23|fe>>>9),qe=(fe>>>14|ue<<18)^(fe>>>18|ue<<14)^(fe<<23|ue>>>9),Xe=w[me],Ze=Xe.high,Ke=Xe.low,Ye=ye+He+((Ne=ve+qe)>>>0<ve>>>0?1:0),Je=Ve+je;ye=pe,ve=ge,pe=he,ge=de,he=ue,de=fe,ue=ce+(Ye=(Ye=(Ye=Ye+We+((Ne+=ze)>>>0<ze>>>0?1:0))+Ze+((Ne+=Ke)>>>0<Ke>>>0?1:0))+we+((Ne+=be)>>>0<be>>>0?1:0))+((fe=le+Ne|0)>>>0<le>>>0?1:0)|0,ce=ae,le=se,ae=ie,se=oe,ie=re,oe=ne,re=Ye+(Ge+Ue+(Je>>>0<Ve>>>0?1:0))+((ne=Ne+Je|0)>>>0<Ne>>>0?1:0)|0}B=u.low=B+ne,u.high=I+re+(B>>>0<ne>>>0?1:0),D=p.low=D+oe,p.high=R+ie+(D>>>0<oe>>>0?1:0),W=g.low=W+se,g.high=N+ae+(W>>>0<se>>>0?1:0),j=y.low=j+le,y.high=U+ce+(j>>>0<le>>>0?1:0),X=x.low=X+fe,x.high=G+ue+(X>>>0<fe>>>0?1:0),Y=k.low=Y+de,k.high=K+he+(Y>>>0<de>>>0?1:0),$=P.low=$+ge,P.high=J+pe+($>>>0<ge>>>0?1:0),te=O.low=te+ve,O.high=ee+ye+(te>>>0<ve>>>0?1:0)},_doFinalize:function _doFinalize(){var r=this._data,i=r.words,o=8*this._nDataBytes,u=8*r.sigBytes;return i[u>>>5]|=128<<24-u%32,i[30+(u+128>>>10<<5)]=Math.floor(o/4294967296),i[31+(u+128>>>10<<5)]=o,r.sigBytes=4*i.length,this._process(),this._hash.toX32()},clone:function clone(){var clone=i.clone.call(this);return clone._hash=this._hash.clone(),clone},blockSize:32});r.SHA512=i._createHelper(x),r.HmacSHA512=i._createHmacHelper(x)}(),u.SHA512)},8437:function(r,i,o){"use strict";var u;o(7042),r.exports=(u=o(757),o(7508),o(3440),o(3839),o(1582),function(){var r=u,i=r.lib,o=i.WordArray,p=i.BlockCipher,g=r.algo,y=[57,49,41,33,25,17,9,1,58,50,42,34,26,18,10,2,59,51,43,35,27,19,11,3,60,52,44,36,63,55,47,39,31,23,15,7,62,54,46,38,30,22,14,6,61,53,45,37,29,21,13,5,28,20,12,4],w=[14,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,13,2,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32],_=[1,2,4,6,8,10,12,14,15,17,19,21,23,25,27,28],x=[{0:8421888,268435456:32768,536870912:8421378,805306368:2,1073741824:512,1342177280:8421890,1610612736:8389122,1879048192:8388608,2147483648:514,2415919104:8389120,2684354560:33280,2952790016:8421376,3221225472:32770,3489660928:8388610,3758096384:0,4026531840:33282,134217728:0,402653184:8421890,671088640:33282,939524096:32768,1207959552:8421888,1476395008:512,1744830464:8421378,2013265920:2,2281701376:8389120,2550136832:33280,2818572288:8421376,3087007744:8389122,3355443200:8388610,3623878656:32770,3892314112:514,4160749568:8388608,1:32768,268435457:2,536870913:8421888,805306369:8388608,1073741825:8421378,1342177281:33280,1610612737:512,1879048193:8389122,2147483649:8421890,2415919105:8421376,2684354561:8388610,2952790017:33282,3221225473:514,3489660929:8389120,3758096385:32770,4026531841:0,134217729:8421890,402653185:8421376,671088641:8388608,939524097:512,1207959553:32768,1476395009:8388610,1744830465:2,2013265921:33282,2281701377:32770,2550136833:8389122,2818572289:514,3087007745:8421888,3355443201:8389120,3623878657:0,3892314113:33280,4160749569:8421378},{0:1074282512,16777216:16384,33554432:524288,50331648:1074266128,67108864:1073741840,83886080:1074282496,100663296:1073758208,117440512:16,134217728:540672,150994944:1073758224,167772160:1073741824,184549376:540688,201326592:524304,218103808:0,234881024:16400,251658240:1074266112,8388608:1073758208,25165824:540688,41943040:16,58720256:1073758224,75497472:1074282512,92274688:1073741824,109051904:524288,125829120:1074266128,142606336:524304,159383552:0,176160768:16384,192937984:1074266112,209715200:1073741840,226492416:540672,243269632:1074282496,260046848:16400,268435456:0,285212672:1074266128,301989888:1073758224,318767104:1074282496,335544320:1074266112,352321536:16,369098752:540688,385875968:16384,402653184:16400,419430400:524288,436207616:524304,452984832:1073741840,469762048:540672,486539264:1073758208,503316480:1073741824,520093696:1074282512,276824064:540688,293601280:524288,310378496:1074266112,327155712:16384,343932928:1073758208,360710144:1074282512,377487360:16,394264576:1073741824,411041792:1074282496,427819008:1073741840,444596224:1073758224,461373440:524304,478150656:0,494927872:16400,511705088:1074266128,528482304:540672},{0:260,1048576:0,2097152:67109120,3145728:65796,4194304:65540,5242880:67108868,6291456:67174660,7340032:67174400,8388608:67108864,9437184:67174656,10485760:65792,11534336:67174404,12582912:67109124,13631488:65536,14680064:4,15728640:256,524288:67174656,1572864:67174404,2621440:0,3670016:67109120,4718592:67108868,5767168:65536,6815744:65540,7864320:260,8912896:4,9961472:256,11010048:67174400,12058624:65796,13107200:65792,14155776:67109124,15204352:67174660,16252928:67108864,16777216:67174656,17825792:65540,18874368:65536,19922944:67109120,20971520:256,22020096:67174660,23068672:67108868,24117248:0,25165824:67109124,26214400:67108864,27262976:4,28311552:65792,29360128:67174400,30408704:260,31457280:65796,32505856:67174404,17301504:67108864,18350080:260,19398656:67174656,20447232:0,21495808:65540,22544384:67109120,23592960:256,24641536:67174404,25690112:65536,26738688:67174660,27787264:65796,28835840:67108868,29884416:67109124,30932992:67174400,31981568:4,33030144:65792},{0:2151682048,65536:2147487808,131072:4198464,196608:2151677952,262144:0,327680:4198400,393216:2147483712,458752:4194368,524288:2147483648,589824:4194304,655360:64,720896:2147487744,786432:2151678016,851968:4160,917504:4096,983040:2151682112,32768:2147487808,98304:64,163840:2151678016,229376:2147487744,294912:4198400,360448:2151682112,425984:0,491520:2151677952,557056:4096,622592:2151682048,688128:4194304,753664:4160,819200:2147483648,884736:4194368,950272:4198464,1015808:2147483712,1048576:4194368,1114112:4198400,1179648:2147483712,1245184:0,1310720:4160,1376256:2151678016,1441792:2151682048,1507328:2147487808,1572864:2151682112,1638400:2147483648,1703936:2151677952,1769472:4198464,1835008:2147487744,1900544:4194304,1966080:64,2031616:4096,1081344:2151677952,1146880:2151682112,1212416:0,1277952:4198400,1343488:4194368,1409024:2147483648,1474560:2147487808,1540096:64,1605632:2147483712,1671168:4096,1736704:2147487744,1802240:2151678016,1867776:4160,1933312:2151682048,1998848:4194304,2064384:4198464},{0:128,4096:17039360,8192:262144,12288:536870912,16384:537133184,20480:16777344,24576:553648256,28672:262272,32768:16777216,36864:537133056,40960:536871040,45056:553910400,49152:553910272,53248:0,57344:17039488,61440:553648128,2048:17039488,6144:553648256,10240:128,14336:17039360,18432:262144,22528:537133184,26624:553910272,30720:536870912,34816:537133056,38912:0,43008:553910400,47104:16777344,51200:536871040,55296:553648128,59392:16777216,63488:262272,65536:262144,69632:128,73728:536870912,77824:553648256,81920:16777344,86016:553910272,90112:537133184,94208:16777216,98304:553910400,102400:553648128,106496:17039360,110592:537133056,114688:262272,118784:536871040,122880:0,126976:17039488,67584:553648256,71680:16777216,75776:17039360,79872:537133184,83968:536870912,88064:17039488,92160:128,96256:553910272,100352:262272,104448:553910400,108544:0,112640:553648128,116736:16777344,120832:262144,124928:537133056,129024:536871040},{0:268435464,256:8192,512:270532608,768:270540808,1024:268443648,1280:2097152,1536:2097160,1792:268435456,2048:0,2304:268443656,2560:2105344,2816:8,3072:270532616,3328:2105352,3584:8200,3840:270540800,128:270532608,384:270540808,640:8,896:2097152,1152:2105352,1408:268435464,1664:268443648,1920:8200,2176:2097160,2432:8192,2688:268443656,2944:270532616,3200:0,3456:270540800,3712:2105344,3968:268435456,4096:268443648,4352:270532616,4608:270540808,4864:8200,5120:2097152,5376:268435456,5632:268435464,5888:2105344,6144:2105352,6400:0,6656:8,6912:270532608,7168:8192,7424:268443656,7680:270540800,7936:2097160,4224:8,4480:2105344,4736:2097152,4992:268435464,5248:268443648,5504:8200,5760:270540808,6016:270532608,6272:270540800,6528:270532616,6784:8192,7040:2105352,7296:2097160,7552:0,7808:268435456,8064:268443656},{0:1048576,16:33555457,32:1024,48:1049601,64:34604033,80:0,96:1,112:34603009,128:33555456,144:1048577,160:33554433,176:34604032,192:34603008,208:1025,224:1049600,240:33554432,8:34603009,24:0,40:33555457,56:34604032,72:1048576,88:33554433,104:33554432,120:1025,136:1049601,152:33555456,168:34603008,184:1048577,200:1024,216:34604033,232:1,248:1049600,256:33554432,272:1048576,288:33555457,304:34603009,320:1048577,336:33555456,352:34604032,368:1049601,384:1025,400:34604033,416:1049600,432:1,448:0,464:34603008,480:33554433,496:1024,264:1049600,280:33555457,296:34603009,312:1,328:33554432,344:1048576,360:1025,376:34604032,392:33554433,408:34603008,424:0,440:34604033,456:1049601,472:1024,488:33555456,504:1048577},{0:134219808,1:131072,2:134217728,3:32,4:131104,5:134350880,6:134350848,7:2048,8:134348800,9:134219776,10:133120,11:134348832,12:2080,13:0,14:134217760,15:133152,2147483648:2048,2147483649:134350880,2147483650:134219808,2147483651:134217728,2147483652:134348800,2147483653:133120,2147483654:133152,2147483655:32,2147483656:134217760,2147483657:2080,2147483658:131104,2147483659:134350848,2147483660:0,2147483661:134348832,2147483662:134219776,2147483663:131072,16:133152,17:134350848,18:32,19:2048,20:134219776,21:134217760,22:134348832,23:131072,24:0,25:131104,26:134348800,27:134219808,28:134350880,29:133120,30:2080,31:134217728,2147483664:131072,2147483665:2048,2147483666:134348832,2147483667:133152,2147483668:32,2147483669:134348800,2147483670:134217728,2147483671:134219808,2147483672:134350880,2147483673:134217760,2147483674:134219776,2147483675:0,2147483676:133120,2147483677:2080,2147483678:131104,2147483679:134350848}],k=[4160749569,528482304,33030144,2064384,129024,8064,504,2147483679],P=g.DES=p.extend({_doReset:function _doReset(){for(var r=this._key.words,i=[],o=0;o<56;o++){var u=y[o]-1;i[o]=r[u>>>5]>>>31-u%32&1}for(var p=this._subKeys=[],g=0;g<16;g++){var x=p[g]=[],k=_[g];for(o=0;o<24;o++)x[o/6|0]|=i[(w[o]-1+k)%28]<<31-o%6,x[4+(o/6|0)]|=i[28+(w[o+24]-1+k)%28]<<31-o%6;for(x[0]=x[0]<<1|x[0]>>>31,o=1;o<7;o++)x[o]=x[o]>>>4*(o-1)+3;x[7]=x[7]<<5|x[7]>>>27}var P=this._invSubKeys=[];for(o=0;o<16;o++)P[o]=p[15-o]},encryptBlock:function encryptBlock(r,i){this._doCryptBlock(r,i,this._subKeys)},decryptBlock:function decryptBlock(r,i){this._doCryptBlock(r,i,this._invSubKeys)},_doCryptBlock:function _doCryptBlock(r,i,o){this._lBlock=r[i],this._rBlock=r[i+1],exchangeLR.call(this,4,252645135),exchangeLR.call(this,16,65535),exchangeRL.call(this,2,858993459),exchangeRL.call(this,8,16711935),exchangeLR.call(this,1,1431655765);for(var u=0;u<16;u++){for(var p=o[u],g=this._lBlock,y=this._rBlock,w=0,_=0;_<8;_++)w|=x[_][((y^p[_])&k[_])>>>0];this._lBlock=y,this._rBlock=g^w}var P=this._lBlock;this._lBlock=this._rBlock,this._rBlock=P,exchangeLR.call(this,1,1431655765),exchangeRL.call(this,8,16711935),exchangeRL.call(this,2,858993459),exchangeLR.call(this,16,65535),exchangeLR.call(this,4,252645135),r[i]=this._lBlock,r[i+1]=this._rBlock},keySize:2,ivSize:2,blockSize:2});function exchangeLR(r,i){var o=(this._lBlock>>>r^this._rBlock)&i;this._rBlock^=o,this._lBlock^=o<<r}function exchangeRL(r,i){var o=(this._rBlock>>>r^this._lBlock)&i;this._lBlock^=o,this._rBlock^=o<<r}r.DES=p._createHelper(P);var O=g.TripleDES=p.extend({_doReset:function _doReset(){var r=this._key.words;if(2!==r.length&&4!==r.length&&r.length<6)throw new Error("Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.");var i=r.slice(0,2),u=r.length<4?r.slice(0,2):r.slice(2,4),p=r.length<6?r.slice(0,2):r.slice(4,6);this._des1=P.createEncryptor(o.create(i)),this._des2=P.createEncryptor(o.create(u)),this._des3=P.createEncryptor(o.create(p))},encryptBlock:function encryptBlock(r,i){this._des1.encryptBlock(r,i),this._des2.decryptBlock(r,i),this._des3.encryptBlock(r,i)},decryptBlock:function decryptBlock(r,i){this._des3.decryptBlock(r,i),this._des2.encryptBlock(r,i),this._des1.decryptBlock(r,i)},keySize:6,ivSize:2,blockSize:2});r.TripleDES=p._createHelper(O)}(),u.TripleDES)},2601:function(r,i,o){"use strict";var u;o(7042),r.exports=(u=o(757),function(r){var i=u,o=i.lib,p=o.Base,g=o.WordArray,y=i.x64={};y.Word=p.extend({init:function init(r,i){this.high=r,this.low=i}}),y.WordArray=p.extend({init:function init(i,o){i=this.words=i||[],this.sigBytes=o!=r?o:8*i.length},toX32:function toX32(){for(var r=this.words,i=r.length,o=[],u=0;u<i;u++){var p=r[u];o.push(p.high),o.push(p.low)}return g.create(o,this.sigBytes)},clone:function clone(){for(var clone=p.clone.call(this),r=clone.words=this.words.slice(0),i=r.length,o=0;o<i;o++)r[o]=r[o].clone();return clone}})}(),u)},9811:function(r,i,o){"use strict";function _createForOfIteratorHelperLoose(r,i){var o="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(o)return(o=o.call(r)).next.bind(o);if(Array.isArray(r)||(o=function _unsupportedIterableToArray(r,i){if(!r)return;if("string"==typeof r)return _arrayLikeToArray(r,i);var o=Object.prototype.toString.call(r).slice(8,-1);"Object"===o&&r.constructor&&(o=r.constructor.name);if("Map"===o||"Set"===o)return Array.from(r);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return _arrayLikeToArray(r,i)}(r))||i&&r&&"number"==typeof r.length){o&&(r=o);var u=0;return function(){return u>=r.length?{done:!0}:{done:!1,value:r[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayLikeToArray(r,i){(null==i||i>r.length)&&(i=r.length);for(var o=0,u=new Array(i);o<i;o++)u[o]=r[o];return u}function _regeneratorRuntime(){_regeneratorRuntime=function _regeneratorRuntime(){return r};var r={},i=Object.prototype,o=i.hasOwnProperty,u=Object.defineProperty||function(r,i,o){r[i]=o.value},p="function"==typeof Symbol?Symbol:{},g=p.iterator||"@@iterator",y=p.asyncIterator||"@@asyncIterator",w=p.toStringTag||"@@toStringTag";function define(r,i,o){return Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}),r[i]}try{define({},"")}catch(r){define=function define(r,i,o){return r[i]=o}}function wrap(r,i,o,p){var g=i&&i.prototype instanceof Generator?i:Generator,y=Object.create(g.prototype),w=new Context(p||[]);return u(y,"_invoke",{value:makeInvokeMethod(r,o,w)}),y}function tryCatch(r,i,o){try{return{type:"normal",arg:r.call(i,o)}}catch(r){return{type:"throw",arg:r}}}r.wrap=wrap;var _={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var x={};define(x,g,(function(){return this}));var k=Object.getPrototypeOf,P=k&&k(k(values([])));P&&P!==i&&o.call(P,g)&&(x=P);var O=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(x);function defineIteratorMethods(r){["next","throw","return"].forEach((function(i){define(r,i,(function(r){return this._invoke(i,r)}))}))}function AsyncIterator(r,i){function invoke(u,p,g,y){var w=tryCatch(r[u],r,p);if("throw"!==w.type){var _=w.arg,x=_.value;return x&&"object"==typeof x&&o.call(x,"__await")?i.resolve(x.__await).then((function(r){invoke("next",r,g,y)}),(function(r){invoke("throw",r,g,y)})):i.resolve(x).then((function(r){_.value=r,g(_)}),(function(r){return invoke("throw",r,g,y)}))}y(w.arg)}var p;u(this,"_invoke",{value:function value(r,o){function callInvokeWithMethodAndArg(){return new i((function(i,u){invoke(r,o,i,u)}))}return p=p?p.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg()}})}function makeInvokeMethod(r,i,o){var u="suspendedStart";return function(p,g){if("executing"===u)throw new Error("Generator is already running");if("completed"===u){if("throw"===p)throw g;return doneResult()}for(o.method=p,o.arg=g;;){var y=o.delegate;if(y){var w=maybeInvokeDelegate(y,o);if(w){if(w===_)continue;return w}}if("next"===o.method)o.sent=o._sent=o.arg;else if("throw"===o.method){if("suspendedStart"===u)throw u="completed",o.arg;o.dispatchException(o.arg)}else"return"===o.method&&o.abrupt("return",o.arg);u="executing";var x=tryCatch(r,i,o);if("normal"===x.type){if(u=o.done?"completed":"suspendedYield",x.arg===_)continue;return{value:x.arg,done:o.done}}"throw"===x.type&&(u="completed",o.method="throw",o.arg=x.arg)}}}function maybeInvokeDelegate(r,i){var o=i.method,u=r.iterator[o];if(void 0===u)return i.delegate=null,"throw"===o&&r.iterator.return&&(i.method="return",i.arg=void 0,maybeInvokeDelegate(r,i),"throw"===i.method)||"return"!==o&&(i.method="throw",i.arg=new TypeError("The iterator does not provide a '"+o+"' method")),_;var p=tryCatch(u,r.iterator,i.arg);if("throw"===p.type)return i.method="throw",i.arg=p.arg,i.delegate=null,_;var g=p.arg;return g?g.done?(i[r.resultName]=g.value,i.next=r.nextLoc,"return"!==i.method&&(i.method="next",i.arg=void 0),i.delegate=null,_):g:(i.method="throw",i.arg=new TypeError("iterator result is not an object"),i.delegate=null,_)}function pushTryEntry(r){var i={tryLoc:r[0]};1 in r&&(i.catchLoc=r[1]),2 in r&&(i.finallyLoc=r[2],i.afterLoc=r[3]),this.tryEntries.push(i)}function resetTryEntry(r){var i=r.completion||{};i.type="normal",delete i.arg,r.completion=i}function Context(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(pushTryEntry,this),this.reset(!0)}function values(r){if(r){var i=r[g];if(i)return i.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var u=-1,p=function next(){for(;++u<r.length;)if(o.call(r,u))return next.value=r[u],next.done=!1,next;return next.value=void 0,next.done=!0,next};return p.next=p}}return{next:doneResult}}function doneResult(){return{value:void 0,done:!0}}return GeneratorFunction.prototype=GeneratorFunctionPrototype,u(O,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),u(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,w,"GeneratorFunction"),r.isGeneratorFunction=function(r){var i="function"==typeof r&&r.constructor;return!!i&&(i===GeneratorFunction||"GeneratorFunction"===(i.displayName||i.name))},r.mark=function(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,GeneratorFunctionPrototype):(r.__proto__=GeneratorFunctionPrototype,define(r,w,"GeneratorFunction")),r.prototype=Object.create(O),r},r.awrap=function(r){return{__await:r}},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,y,(function(){return this})),r.AsyncIterator=AsyncIterator,r.async=function(i,o,u,p,g){void 0===g&&(g=Promise);var y=new AsyncIterator(wrap(i,o,u,p),g);return r.isGeneratorFunction(o)?y:y.next().then((function(r){return r.done?r.value:y.next()}))},defineIteratorMethods(O),define(O,w,"Generator"),define(O,g,(function(){return this})),define(O,"toString",(function(){return"[object Generator]"})),r.keys=function(r){var i=Object(r),o=[];for(var u in i)o.push(u);return o.reverse(),function next(){for(;o.length;){var r=o.pop();if(r in i)return next.value=r,next.done=!1,next}return next.done=!0,next}},r.values=values,Context.prototype={constructor:Context,reset:function reset(r){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(resetTryEntry),!r)for(var i in this)"t"===i.charAt(0)&&o.call(this,i)&&!isNaN(+i.slice(1))&&(this[i]=void 0)},stop:function stop(){this.done=!0;var r=this.tryEntries[0].completion;if("throw"===r.type)throw r.arg;return this.rval},dispatchException:function dispatchException(r){if(this.done)throw r;var i=this;function handle(o,u){return g.type="throw",g.arg=r,i.next=o,u&&(i.method="next",i.arg=void 0),!!u}for(var u=this.tryEntries.length-1;u>=0;--u){var p=this.tryEntries[u],g=p.completion;if("root"===p.tryLoc)return handle("end");if(p.tryLoc<=this.prev){var y=o.call(p,"catchLoc"),w=o.call(p,"finallyLoc");if(y&&w){if(this.prev<p.catchLoc)return handle(p.catchLoc,!0);if(this.prev<p.finallyLoc)return handle(p.finallyLoc)}else if(y){if(this.prev<p.catchLoc)return handle(p.catchLoc,!0)}else{if(!w)throw new Error("try statement without catch or finally");if(this.prev<p.finallyLoc)return handle(p.finallyLoc)}}}},abrupt:function abrupt(r,i){for(var u=this.tryEntries.length-1;u>=0;--u){var p=this.tryEntries[u];if(p.tryLoc<=this.prev&&o.call(p,"finallyLoc")&&this.prev<p.finallyLoc){var g=p;break}}g&&("break"===r||"continue"===r)&&g.tryLoc<=i&&i<=g.finallyLoc&&(g=null);var y=g?g.completion:{};return y.type=r,y.arg=i,g?(this.method="next",this.next=g.finallyLoc,_):this.complete(y)},complete:function complete(r,i){if("throw"===r.type)throw r.arg;return"break"===r.type||"continue"===r.type?this.next=r.arg:"return"===r.type?(this.rval=this.arg=r.arg,this.method="return",this.next="end"):"normal"===r.type&&i&&(this.next=i),_},finish:function finish(r){for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i];if(o.finallyLoc===r)return this.complete(o.completion,o.afterLoc),resetTryEntry(o),_}},catch:function _catch(r){for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i];if(o.tryLoc===r){var u=o.completion;if("throw"===u.type){var p=u.arg;resetTryEntry(o)}return p}}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(r,i,o){return this.delegate={iterator:values(r),resultName:i,nextLoc:o},"next"===this.method&&(this.arg=void 0),_}},r}o(2443),o(3680),o(3706),o(2703),o(489),o(4747),o(8309),o(8674),o(1038),o(4916),o(4723),o(2165),o(6992),o(1539),o(8783),o(3948),o(2526),o(1817),o(7042);var u=function(){function StateMachine(r){this.stateTable=r.stateTable,this.accepting=r.accepting,this.tags=r.tags}var r=StateMachine.prototype;return r.match=function match(r){var i,o=this;return(i={})[Symbol.iterator]=_regeneratorRuntime().mark((function _callee(){var i,u,p,g,y,w;return _regeneratorRuntime().wrap((function _callee$(_){for(;;)switch(_.prev=_.next){case 0:i=1,u=null,p=null,g=null,y=0;case 5:if(!(y<r.length)){_.next=21;break}if(w=r[y],g=i,0!==(i=o.stateTable[i][w])){_.next=15;break}if(!(null!=u&&null!=p&&p>=u)){_.next=13;break}return _.next=13,[u,p,o.tags[g]];case 13:i=o.stateTable[1][w],u=null;case 15:0!==i&&null==u&&(u=y),o.accepting[i]&&(p=y),0===i&&(i=1);case 18:y++,_.next=5;break;case 21:if(!(null!=u&&null!=p&&p>=u)){_.next=24;break}return _.next=24,[u,p,o.tags[i]];case 24:case"end":return _.stop()}}),_callee)})),i},r.apply=function apply(r,i){for(var o,u=_createForOfIteratorHelperLoose(this.match(r));!(o=u()).done;)for(var p,g=o.value,y=g[0],w=g[1],_=_createForOfIteratorHelperLoose(g[2]);!(p=_()).done;){var x=p.value;"function"==typeof i[x]&&i[x](y,w,r.slice(y,w+1))}},StateMachine}();r.exports=u},8478:function(r,i,o){"use strict";var u=o(8823).Buffer;o(1539),o(8674),o(7042),o(6699);var p=o(3857),g=o(2635);r.exports=function(){function PNG(r){var i;for(this.data=r,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.text={};;){var o=this.readUInt32(),p="";for(i=0;i<4;i++)p+=String.fromCharCode(this.data[this.pos++]);switch(p){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"PLTE":this.palette=this.read(o);break;case"IDAT":for(i=0;i<o;i++)this.imgData.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:this.transparency.indexed=this.read(o);var g=255-this.transparency.indexed.length;if(g>0)for(i=0;i<g;i++)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(o)[0];break;case 2:this.transparency.rgb=this.read(o)}break;case"tEXt":var y=this.read(o),w=y.indexOf(0),_=String.fromCharCode.apply(String,y.slice(0,w));this.text[_]=String.fromCharCode.apply(String,y.slice(w+1));break;case"IEND":switch(this.colorType){case 0:case 3:case 4:this.colors=1;break;case 2:case 6:this.colors=3}this.hasAlphaChannel=[4,6].includes(this.colorType);var x=this.colors+(this.hasAlphaChannel?1:0);switch(this.pixelBitlength=this.bits*x,this.colors){case 1:this.colorSpace="DeviceGray";break;case 3:this.colorSpace="DeviceRGB"}return void(this.imgData=new u(this.imgData));default:this.pos+=o}if(this.pos+=4,this.pos>this.data.length)throw new Error("Incomplete or corrupt PNG file")}}PNG.decode=function decode(r,i){return p.readFile(r,(function(r,o){return new PNG(o).decode((function(r){return i(r)}))}))},PNG.load=function load(r){return new PNG(p.readFileSync(r))};var r=PNG.prototype;return r.read=function read(r){for(var i=new Array(r),o=0;o<r;o++)i[o]=this.data[this.pos++];return i},r.readUInt32=function readUInt32(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},r.readUInt16=function readUInt16(){return this.data[this.pos++]<<8|this.data[this.pos++]},r.decodePixels=function decodePixels(r){var i=this;return g.inflate(this.imgData,(function(o,p){if(o)throw o;var g=i.width,y=i.height,w=i.pixelBitlength/8,_=new u(g*y*w),x=p.length,k=0;function pass(r,i,o,P,O){void 0===O&&(O=!1);for(var I=Math.ceil((g-r)/o),B=Math.ceil((y-i)/P),R=w*I,D=O?_:new u(R*B),N=0,W=0;N<B&&k<x;){var U,j,G,X,K;switch(p[k++]){case 0:for(G=0;G<R;G++)D[W++]=p[k++];break;case 1:for(G=0;G<R;G++)U=p[k++],X=G<w?0:D[W-w],D[W++]=(U+X)%256;break;case 2:for(G=0;G<R;G++)U=p[k++],j=(G-G%w)/w,K=N&&D[(N-1)*R+j*w+G%w],D[W++]=(K+U)%256;break;case 3:for(G=0;G<R;G++)U=p[k++],j=(G-G%w)/w,X=G<w?0:D[W-w],K=N&&D[(N-1)*R+j*w+G%w],D[W++]=(U+Math.floor((X+K)/2))%256;break;case 4:for(G=0;G<R;G++){var Y,J;U=p[k++],j=(G-G%w)/w,X=G<w?0:D[W-w],0===N?K=J=0:(K=D[(N-1)*R+j*w+G%w],J=j&&D[(N-1)*R+(j-1)*w+G%w]);var $=X+K-J,ee=Math.abs($-X),te=Math.abs($-K),re=Math.abs($-J);Y=ee<=te&&ee<=re?X:te<=re?K:J,D[W++]=(U+Y)%256}break;default:throw new Error("Invalid filter algorithm: "+p[k-1])}if(!O){var ne=((i+N*P)*g+r)*w,ie=N*R;for(G=0;G<I;G++){for(var oe=0;oe<w;oe++)_[ne++]=D[ie++];ne+=(o-1)*w}}N++}}return 1===i.interlaceMethod?(pass(0,0,8,8),pass(4,0,8,8),pass(0,4,4,8),pass(2,0,4,4),pass(0,2,2,4),pass(1,0,2,2),pass(0,1,1,2)):pass(0,0,1,1,!0),r(_)}))},r.decodePalette=function decodePalette(){for(var r=this.palette,i=r.length,o=this.transparency.indexed||[],p=new u(o.length+i),g=0,y=0,w=0;w<i;w+=3){var _;p[g++]=r[w],p[g++]=r[w+1],p[g++]=r[w+2],p[g++]=null!=(_=o[y++])?_:255}return p},r.copyToImageData=function copyToImageData(r,i){var o,u,p=this.colors,g=null,y=this.hasAlphaChannel;this.palette.length&&(g=this._decodedPalette||(this._decodedPalette=this.decodePalette()),p=4,y=!0);var w=r.data||r,_=w.length,x=g||i,k=o=0;if(1===p)for(;k<_;){u=g?4*i[k/4]:o;var P=x[u++];w[k++]=P,w[k++]=P,w[k++]=P,w[k++]=y?x[u++]:255,o=u}else for(;k<_;)u=g?4*i[k/4]:o,w[k++]=x[u++],w[k++]=x[u++],w[k++]=x[u++],w[k++]=y?x[u++]:255,o=u},r.decode=function decode(r){var i=this,o=new u(this.width*this.height*4);return this.decodePixels((function(u){return i.copyToImageData(o,u),r(o)}))},PNG}()},7103:function(r,i,o){"use strict";var u=o(4155);o(8145),o(6992),o(1539),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(3290);var p,g=o(8823),y=g.Buffer,w={};for(p in g)g.hasOwnProperty(p)&&"SlowBuffer"!==p&&"Buffer"!==p&&(w[p]=g[p]);var _=w.Buffer={};for(p in y)y.hasOwnProperty(p)&&"allocUnsafe"!==p&&"allocUnsafeSlow"!==p&&(_[p]=y[p]);if(w.Buffer.prototype=y.prototype,_.from&&_.from!==Uint8Array.from||(_.from=function(r,i,o){if("number"==typeof r)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof r);if(r&&void 0===r.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof r);return y(r,i,o)}),_.alloc||(_.alloc=function(r,i,o){if("number"!=typeof r)throw new TypeError('The "size" argument must be of type number. Received type '+typeof r);if(r<0||r>=2*(1<<30))throw new RangeError('The value "'+r+'" is invalid for option "size"');var u=y(r);return i&&0!==i.length?"string"==typeof o?u.fill(i,o):u.fill(i):u.fill(0),u}),!w.kStringMaxLength)try{w.kStringMaxLength=u.binding("buffer").kStringMaxLength}catch(r){}w.constants||(w.constants={MAX_LENGTH:w.kMaxLength},w.kStringMaxLength&&(w.constants.MAX_STRING_LENGTH=w.kStringMaxLength)),r.exports=w},3361:function(r,i,o){"use strict";function ownKeys(r,i){var o=Object.keys(r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(r);i&&(u=u.filter((function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),o.push.apply(o,u)}return o}function _defineProperty(r,i,o){return i in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r}function _defineProperties(r,i){for(var o=0;o<i.length;o++){var u=i[o];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(r,u.key,u)}}o(7941),o(2526),o(7327),o(1539),o(5003),o(4747),o(9337),o(7042);var u=o(8823).Buffer,p=o(9862).inspect,g=p&&p.custom||"inspect";r.exports=function(){function BufferList(){!function _classCallCheck(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")}(this,BufferList),this.head=null,this.tail=null,this.length=0}return function _createClass(r,i,o){return i&&_defineProperties(r.prototype,i),o&&_defineProperties(r,o),r}(BufferList,[{key:"push",value:function push(r){var i={data:r,next:null};this.length>0?this.tail.next=i:this.head=i,this.tail=i,++this.length}},{key:"unshift",value:function unshift(r){var i={data:r,next:this.head};0===this.length&&(this.tail=i),this.head=i,++this.length}},{key:"shift",value:function shift(){if(0!==this.length){var r=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function clear(){this.head=this.tail=null,this.length=0}},{key:"join",value:function join(r){if(0===this.length)return"";for(var i=this.head,o=""+i.data;i=i.next;)o+=r+i.data;return o}},{key:"concat",value:function concat(r){if(0===this.length)return u.alloc(0);for(var i,o,p,g=u.allocUnsafe(r>>>0),y=this.head,w=0;y;)i=y.data,o=g,p=w,u.prototype.copy.call(i,o,p),w+=y.data.length,y=y.next;return g}},{key:"consume",value:function consume(r,i){var o;return r<this.head.data.length?(o=this.head.data.slice(0,r),this.head.data=this.head.data.slice(r)):o=r===this.head.data.length?this.shift():i?this._getString(r):this._getBuffer(r),o}},{key:"first",value:function first(){return this.head.data}},{key:"_getString",value:function _getString(r){var i=this.head,o=1,u=i.data;for(r-=u.length;i=i.next;){var p=i.data,g=r>p.length?p.length:r;if(g===p.length?u+=p:u+=p.slice(0,r),0===(r-=g)){g===p.length?(++o,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=p.slice(g));break}++o}return this.length-=o,u}},{key:"_getBuffer",value:function _getBuffer(r){var i=u.allocUnsafe(r),o=this.head,p=1;for(o.data.copy(i),r-=o.data.length;o=o.next;){var g=o.data,y=r>g.length?g.length:r;if(g.copy(i,i.length-r,0,y),0===(r-=y)){y===g.length?(++p,o.next?this.head=o.next:this.head=this.tail=null):(this.head=o,o.data=g.slice(y));break}++p}return this.length-=p,i}},{key:g,value:function value(r,i){return p(this,function _objectSpread(r){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(o),!0).forEach((function(i){_defineProperty(r,i,o[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach((function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(o,i))}))}return r}({},i,{depth:0,customInspect:!1}))}}]),BufferList}()},5219:function(r,i,o){"use strict";var u=o(8823).Buffer;Object.defineProperty(i,"__esModule",{value:!0}),i.default=void 0,o(7941),o(2526),o(7327),o(1539),o(5003),o(4747),o(9337),o(489),o(2419),o(1817),o(2165),o(6992),o(8783),o(3948),o(1038),o(7042),o(8309),o(4916),o(2707),o(2222),o(9600),o(9714),o(5306),o(1249),o(9841),o(4953),o(6977),o(6699),o(5192),o(9653),o(3123),o(4723),o(8734),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(7803),o(3290),o(9601),o(3210),o(9254),o(7397),o(8674);var p=_interopRequireDefault(o(2830)),g=_interopRequireDefault(o(2635)),y=_interopRequireDefault(o(5153)),w=_interopRequireDefault(o(1917)),_=o(7187),x=_interopRequireDefault(o(7337)),k=_interopRequireDefault(o(8478));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}var P=o(3857);function _classCallCheck(r,i){if(!(r instanceof i))throw new TypeError("Cannot call a class as a function")}function _defineProperties(r,i){for(var o=0;o<i.length;o++){var u=i[o];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(r,u.key,u)}}function _createClass(r,i,o){return i&&_defineProperties(r.prototype,i),o&&_defineProperties(r,o),r}function _defineProperty(r,i,o){return i in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r}function ownKeys(r,i){var o=Object.keys(r);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(r);i&&(u=u.filter((function(i){return Object.getOwnPropertyDescriptor(r,i).enumerable}))),o.push.apply(o,u)}return o}function _objectSpread2(r){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(o),!0).forEach((function(i){_defineProperty(r,i,o[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach((function(i){Object.defineProperty(r,i,Object.getOwnPropertyDescriptor(o,i))}))}return r}function _inherits(r,i){if("function"!=typeof i&&null!==i)throw new TypeError("Super expression must either be null or a function");r.prototype=Object.create(i&&i.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),i&&_setPrototypeOf(r,i)}function _getPrototypeOf(r){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function _getPrototypeOf(r){return r.__proto__||Object.getPrototypeOf(r)},_getPrototypeOf(r)}function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf||function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}function _assertThisInitialized(r){if(void 0===r)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function _possibleConstructorReturn(r,i){return!i||"object"!=typeof i&&"function"!=typeof i?_assertThisInitialized(r):i}function _createSuper(r){var i=function _isNativeReflectConstruct(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(r){return!1}}();return function _createSuperInternal(){var o,u=_getPrototypeOf(r);if(i){var p=_getPrototypeOf(this).constructor;o=Reflect.construct(u,arguments,p)}else o=u.apply(this,arguments);return _possibleConstructorReturn(this,o)}}function _slicedToArray(r,i){return function _arrayWithHoles(r){if(Array.isArray(r))return r}(r)||function _iterableToArrayLimit(r,i){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(r)))return;var o=[],u=!0,p=!1,g=void 0;try{for(var y,w=r[Symbol.iterator]();!(u=(y=w.next()).done)&&(o.push(y.value),!i||o.length!==i);u=!0);}catch(r){p=!0,g=r}finally{try{u||null==w.return||w.return()}finally{if(p)throw g}}return o}(r,i)||_unsupportedIterableToArray(r,i)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _toConsumableArray(r){return function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}(r)||function _iterableToArray(r){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(r))return Array.from(r)}(r)||_unsupportedIterableToArray(r)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(r,i){if(r){if("string"==typeof r)return _arrayLikeToArray(r,i);var o=Object.prototype.toString.call(r).slice(8,-1);return"Object"===o&&r.constructor&&(o=r.constructor.name),"Map"===o||"Set"===o?Array.from(r):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(r,i):void 0}}function _arrayLikeToArray(r,i){(null==i||i>r.length)&&(i=r.length);for(var o=0,u=new Array(i);o<i;o++)u[o]=r[o];return u}function _createForOfIteratorHelper(r,i){var o;if("undefined"==typeof Symbol||null==r[Symbol.iterator]){if(Array.isArray(r)||(o=_unsupportedIterableToArray(r))||i&&r&&"number"==typeof r.length){o&&(r=o);var u=0,p=function F(){};return{s:p,n:function n(){return u>=r.length?{done:!0}:{done:!1,value:r[u++]}},e:function e(r){throw r},f:p}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var g,y=!0,w=!1;return{s:function s(){o=r[Symbol.iterator]()},n:function n(){var r=o.next();return y=r.done,r},e:function e(r){w=!0,g=r},f:function f(){try{y||null==o.return||o.return()}finally{if(w)throw g}}}}var O=function(){function PDFAbstractReference(){_classCallCheck(this,PDFAbstractReference)}return _createClass(PDFAbstractReference,[{key:"toString",value:function toString(){throw new Error("Must be implemented by subclasses")}}]),PDFAbstractReference}(),I=function(){function PDFTree(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};_classCallCheck(this,PDFTree),this._items={},this.limits="boolean"!=typeof r.limits||r.limits}return _createClass(PDFTree,[{key:"add",value:function add(r,i){return this._items[r]=i}},{key:"get",value:function get(r){return this._items[r]}},{key:"toString",value:function toString(){var r=this,i=Object.keys(this._items).sort((function(i,o){return r._compareKeys(i,o)})),o=["<<"];if(this.limits&&i.length>1){var u=i[0],p=i[i.length-1];o.push("  /Limits ".concat(W.convert([this._dataForKey(u),this._dataForKey(p)])))}o.push("  /".concat(this._keysName()," ["));var g,y=_createForOfIteratorHelper(i);try{for(y.s();!(g=y.n()).done;){var w=g.value;o.push("    ".concat(W.convert(this._dataForKey(w))," ").concat(W.convert(this._items[w])))}}catch(r){y.e(r)}finally{y.f()}return o.push("]"),o.push(">>"),o.join("\n")}},{key:"_compareKeys",value:function _compareKeys(){throw new Error("Must be implemented by subclasses")}},{key:"_keysName",value:function _keysName(){throw new Error("Must be implemented by subclasses")}},{key:"_dataForKey",value:function _dataForKey(){throw new Error("Must be implemented by subclasses")}}]),PDFTree}(),B=function pad(r,i){return(Array(i+1).join("0")+r).slice(-i)},R=/[\n\r\t\b\f()\\]/g,D={"\n":"\\n","\r":"\\r","\t":"\\t","\b":"\\b","\f":"\\f","\\":"\\\\","(":"\\(",")":"\\)"},N=function swapBytes(r){var i=r.length;if(1&i)throw new Error("Buffer length must be even");for(var o=0,u=i-1;o<u;o+=2){var p=r[o];r[o]=r[o+1],r[o+1]=p}return r},W=function(){function PDFObject(){_classCallCheck(this,PDFObject)}return _createClass(PDFObject,null,[{key:"convert",value:function convert(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof r)return"/".concat(r);if(r instanceof String){for(var o,p=r,g=!1,y=0,w=p.length;y<w;y++)if(p.charCodeAt(y)>127){g=!0;break}return o=g?N(u.from("\ufeff".concat(p),"utf16le")):u.from(p.valueOf(),"ascii"),p=(p=i?i(o).toString("binary"):o.toString("binary")).replace(R,(function(r){return D[r]})),"(".concat(p,")")}if(u.isBuffer(r))return"<".concat(r.toString("hex"),">");if(r instanceof O||r instanceof I)return r.toString();if(r instanceof Date){var _="D:".concat(B(r.getUTCFullYear(),4))+B(r.getUTCMonth()+1,2)+B(r.getUTCDate(),2)+B(r.getUTCHours(),2)+B(r.getUTCMinutes(),2)+B(r.getUTCSeconds(),2)+"Z";return i&&(_=(_=i(u.from(_,"ascii")).toString("binary")).replace(R,(function(r){return D[r]}))),"(".concat(_,")")}if(Array.isArray(r)){var x=r.map((function(r){return PDFObject.convert(r,i)})).join(" ");return"[".concat(x,"]")}if("[object Object]"==={}.toString.call(r)){var k=["<<"];for(var P in r){var W=r[P];k.push("/".concat(P," ").concat(PDFObject.convert(W,i)))}return k.push(">>"),k.join("\n")}return"number"==typeof r?PDFObject.number(r):"".concat(r)}},{key:"number",value:function number(r){if(r>-1e21&&r<1e21)return Math.round(1e6*r)/1e6;throw new Error("unsupported number: ".concat(r))}}]),PDFObject}(),U=function(r){_inherits(PDFReference,r);var i=_createSuper(PDFReference);function PDFReference(r,o){var u,p=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return _classCallCheck(this,PDFReference),(u=i.call(this)).document=r,u.id=o,u.data=p,u.gen=0,u.compress=u.document.compress&&!u.data.Filter,u.uncompressedLength=0,u.buffer=[],u}return _createClass(PDFReference,[{key:"write",value:function write(r){if(u.isBuffer(r)||(r=u.from(r+"\n","binary")),this.uncompressedLength+=r.length,null==this.data.Length&&(this.data.Length=0),this.buffer.push(r),this.data.Length+=r.length,this.compress)return this.data.Filter="FlateDecode"}},{key:"end",value:function end(r){return r&&this.write(r),this.finalize()}},{key:"finalize",value:function finalize(){this.offset=this.document._offset;var r=this.document._security?this.document._security.getEncryptFn(this.id,this.gen):null;this.buffer.length&&(this.buffer=u.concat(this.buffer),this.compress&&(this.buffer=g.default.deflateSync(this.buffer)),r&&(this.buffer=r(this.buffer)),this.data.Length=this.buffer.length),this.document._write("".concat(this.id," ").concat(this.gen," obj")),this.document._write(W.convert(this.data,r)),this.buffer.length&&(this.document._write("stream"),this.document._write(this.buffer),this.buffer=[],this.document._write("\nendstream")),this.document._write("endobj"),this.document._refEnd(this)}},{key:"toString",value:function toString(){return"".concat(this.id," ").concat(this.gen," R")}}]),PDFReference}(O),j={top:72,left:72,bottom:72,right:72},G={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]},X=function(){function PDFPage(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,PDFPage),this.document=r,this.size=i.size||"letter",this.layout=i.layout||"portrait","number"==typeof i.margin?this.margins={top:i.margin,left:i.margin,bottom:i.margin,right:i.margin}:this.margins=i.margins||j;var o=Array.isArray(this.size)?this.size:G[this.size.toUpperCase()];this.width=o["portrait"===this.layout?0:1],this.height=o["portrait"===this.layout?1:0],this.content=this.document.ref(),this.resources=this.document.ref({ProcSet:["PDF","Text","ImageB","ImageC","ImageI"]}),this.dictionary=this.document.ref({Type:"Page",Parent:this.document._root.data.Pages,MediaBox:[0,0,this.width,this.height],Contents:this.content,Resources:this.resources}),this.markings=[]}return _createClass(PDFPage,[{key:"maxY",value:function maxY(){return this.height-this.margins.bottom}},{key:"write",value:function write(r){return this.content.write(r)}},{key:"end",value:function end(){return this.dictionary.end(),this.resources.end(),this.content.end()}},{key:"fonts",get:function get(){var r=this.resources.data;return null!=r.Font?r.Font:r.Font={}}},{key:"xobjects",get:function get(){var r=this.resources.data;return null!=r.XObject?r.XObject:r.XObject={}}},{key:"ext_gstates",get:function get(){var r=this.resources.data;return null!=r.ExtGState?r.ExtGState:r.ExtGState={}}},{key:"patterns",get:function get(){var r=this.resources.data;return null!=r.Pattern?r.Pattern:r.Pattern={}}},{key:"colorSpaces",get:function get(){var r=this.resources.data;return r.ColorSpace||(r.ColorSpace={})}},{key:"annotations",get:function get(){var r=this.dictionary.data;return null!=r.Annots?r.Annots:r.Annots=[]}},{key:"structParentTreeKey",get:function get(){var r=this.dictionary.data;return null!=r.StructParents?r.StructParents:r.StructParents=this.document.createStructParentTreeNextKey()}}]),PDFPage}(),K=function(r){_inherits(PDFNameTree,r);var i=_createSuper(PDFNameTree);function PDFNameTree(){return _classCallCheck(this,PDFNameTree),i.apply(this,arguments)}return _createClass(PDFNameTree,[{key:"_compareKeys",value:function _compareKeys(r,i){return r.localeCompare(i)}},{key:"_keysName",value:function _keysName(){return"Names"}},{key:"_dataForKey",value:function _dataForKey(r){return new String(r)}}]),PDFNameTree}(I);function inRange(r,i){if(r<i[0])return!1;for(var o=0,u=i.length/2;o<=u;){var p=Math.floor((o+u)/2),g=2*p;if(r>=i[g]&&r<=i[g+1])return!0;r>i[g+1]?o=p+1:u=p-1}return!1}var Y=[545,545,564,591,686,687,751,767,848,863,880,883,886,889,891,893,895,899,907,907,909,909,930,930,975,975,1015,1023,1159,1159,1231,1231,1270,1271,1274,1279,1296,1328,1367,1368,1376,1376,1416,1416,1419,1424,1442,1442,1466,1466,1477,1487,1515,1519,1525,1547,1549,1562,1564,1566,1568,1568,1595,1599,1622,1631,1774,1775,1791,1791,1806,1806,1837,1839,1867,1919,1970,2304,2308,2308,2362,2363,2382,2383,2389,2391,2417,2432,2436,2436,2445,2446,2449,2450,2473,2473,2481,2481,2483,2485,2490,2491,2493,2493,2501,2502,2505,2506,2510,2518,2520,2523,2526,2526,2532,2533,2555,2561,2563,2564,2571,2574,2577,2578,2601,2601,2609,2609,2612,2612,2615,2615,2618,2619,2621,2621,2627,2630,2633,2634,2638,2648,2653,2653,2655,2661,2677,2688,2692,2692,2700,2700,2702,2702,2706,2706,2729,2729,2737,2737,2740,2740,2746,2747,2758,2758,2762,2762,2766,2767,2769,2783,2785,2789,2800,2816,2820,2820,2829,2830,2833,2834,2857,2857,2865,2865,2868,2869,2874,2875,2884,2886,2889,2890,2894,2901,2904,2907,2910,2910,2914,2917,2929,2945,2948,2948,2955,2957,2961,2961,2966,2968,2971,2971,2973,2973,2976,2978,2981,2983,2987,2989,2998,2998,3002,3005,3011,3013,3017,3017,3022,3030,3032,3046,3059,3072,3076,3076,3085,3085,3089,3089,3113,3113,3124,3124,3130,3133,3141,3141,3145,3145,3150,3156,3159,3167,3170,3173,3184,3201,3204,3204,3213,3213,3217,3217,3241,3241,3252,3252,3258,3261,3269,3269,3273,3273,3278,3284,3287,3293,3295,3295,3298,3301,3312,3329,3332,3332,3341,3341,3345,3345,3369,3369,3386,3389,3396,3397,3401,3401,3406,3414,3416,3423,3426,3429,3440,3457,3460,3460,3479,3481,3506,3506,3516,3516,3518,3519,3527,3529,3531,3534,3541,3541,3543,3543,3552,3569,3573,3584,3643,3646,3676,3712,3715,3715,3717,3718,3721,3721,3723,3724,3726,3731,3736,3736,3744,3744,3748,3748,3750,3750,3752,3753,3756,3756,3770,3770,3774,3775,3781,3781,3783,3783,3790,3791,3802,3803,3806,3839,3912,3912,3947,3952,3980,3983,3992,3992,4029,4029,4045,4046,4048,4095,4130,4130,4136,4136,4139,4139,4147,4149,4154,4159,4186,4255,4294,4303,4345,4346,4348,4351,4442,4446,4515,4519,4602,4607,4615,4615,4679,4679,4681,4681,4686,4687,4695,4695,4697,4697,4702,4703,4743,4743,4745,4745,4750,4751,4783,4783,4785,4785,4790,4791,4799,4799,4801,4801,4806,4807,4815,4815,4823,4823,4847,4847,4879,4879,4881,4881,4886,4887,4895,4895,4935,4935,4955,4960,4989,5023,5109,5120,5751,5759,5789,5791,5873,5887,5901,5901,5909,5919,5943,5951,5972,5983,5997,5997,6001,6001,6004,6015,6109,6111,6122,6143,6159,6159,6170,6175,6264,6271,6314,7679,7836,7839,7930,7935,7958,7959,7966,7967,8006,8007,8014,8015,8024,8024,8026,8026,8028,8028,8030,8030,8062,8063,8117,8117,8133,8133,8148,8149,8156,8156,8176,8177,8181,8181,8191,8191,8275,8278,8280,8286,8292,8297,8306,8307,8335,8351,8370,8399,8427,8447,8507,8508,8524,8530,8580,8591,9167,9215,9255,9279,9291,9311,9471,9471,9748,9749,9752,9752,9854,9855,9866,9984,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10079,10080,10133,10135,10160,10160,10175,10191,10220,10223,11008,11903,11930,11930,12020,12031,12246,12271,12284,12287,12352,12352,12439,12440,12544,12548,12589,12592,12687,12687,12728,12783,12829,12831,12868,12880,12924,12926,13004,13007,13055,13055,13175,13178,13278,13279,13311,13311,19894,19967,40870,40959,42125,42127,42183,44031,55204,55295,64046,64047,64107,64255,64263,64274,64280,64284,64311,64311,64317,64317,64319,64319,64322,64322,64325,64325,64434,64466,64832,64847,64912,64913,64968,64975,65021,65023,65040,65055,65060,65071,65095,65096,65107,65107,65127,65127,65132,65135,65141,65141,65277,65278,65280,65280,65471,65473,65480,65481,65488,65489,65496,65497,65501,65503,65511,65511,65519,65528,65536,66303,66335,66335,66340,66351,66379,66559,66598,66599,66638,118783,119030,119039,119079,119081,119262,119807,119893,119893,119965,119965,119968,119969,119971,119972,119975,119976,119981,119981,119994,119994,119996,119996,120001,120001,120004,120004,120070,120070,120075,120076,120085,120085,120093,120093,120122,120122,120127,120127,120133,120133,120135,120137,120145,120145,120484,120487,120778,120781,120832,131069,173783,194559,195102,196605,196608,262141,262144,327677,327680,393213,393216,458749,458752,524285,524288,589821,589824,655357,655360,720893,720896,786429,786432,851965,851968,917501,917504,917504,917506,917535,917632,983037],J=function isUnassignedCodePoint(r){return inRange(r,Y)},$=[173,173,847,847,6150,6150,6155,6155,6156,6156,6157,6157,8203,8203,8204,8204,8205,8205,8288,8288,65024,65024,65025,65025,65026,65026,65027,65027,65028,65028,65029,65029,65030,65030,65031,65031,65032,65032,65033,65033,65034,65034,65035,65035,65036,65036,65037,65037,65038,65038,65039,65039,65279,65279],ee=[160,160,5760,5760,8192,8192,8193,8193,8194,8194,8195,8195,8196,8196,8197,8197,8198,8198,8199,8199,8200,8200,8201,8201,8202,8202,8203,8203,8239,8239,8287,8287,12288,12288],te=[128,159,1757,1757,1807,1807,6158,6158,8204,8204,8205,8205,8232,8232,8233,8233,8288,8288,8289,8289,8290,8290,8291,8291,8298,8303,65279,65279,65529,65532,119155,119162],re=[64976,65007,65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1114110,1114111],ne=[0,31,127,127,832,832,833,833,8206,8206,8207,8207,8234,8234,8235,8235,8236,8236,8237,8237,8238,8238,8298,8298,8299,8299,8300,8300,8301,8301,8302,8302,8303,8303,12272,12283,55296,57343,57344,63743,65529,65529,65530,65530,65531,65531,65532,65532,65533,65533,917505,917505,917536,917631,983040,1048573,1048576,1114109],ie=function isProhibitedCharacter(r){return inRange(r,ee)||inRange(r,ne)||inRange(r,te)||inRange(r,re)},oe=[1470,1470,1472,1472,1475,1475,1488,1514,1520,1524,1563,1563,1567,1567,1569,1594,1600,1610,1645,1647,1649,1749,1757,1757,1765,1766,1786,1790,1792,1805,1808,1808,1810,1836,1920,1957,1969,1969,8207,8207,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65020,65136,65140,65142,65276],ae=function isBidirectionalRAL(r){return inRange(r,oe)},se=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,544,546,563,592,685,688,696,699,705,720,721,736,740,750,750,890,890,902,902,904,906,908,908,910,929,931,974,976,1013,1024,1154,1162,1230,1232,1269,1272,1273,1280,1295,1329,1366,1369,1375,1377,1415,1417,1417,2307,2307,2309,2361,2365,2368,2377,2380,2384,2384,2392,2401,2404,2416,2434,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2494,2496,2503,2504,2507,2508,2519,2519,2524,2525,2527,2529,2534,2545,2548,2554,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2622,2624,2649,2652,2654,2654,2662,2671,2674,2676,2691,2691,2693,2699,2701,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2752,2761,2761,2763,2764,2768,2768,2784,2784,2790,2799,2818,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2870,2873,2877,2878,2880,2880,2887,2888,2891,2892,2903,2903,2908,2909,2911,2913,2918,2928,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,2997,2999,3001,3006,3007,3009,3010,3014,3016,3018,3020,3031,3031,3047,3058,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3137,3140,3168,3169,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3262,3262,3264,3268,3271,3272,3274,3275,3285,3286,3294,3294,3296,3297,3302,3311,3330,3331,3333,3340,3342,3344,3346,3368,3370,3385,3390,3392,3398,3400,3402,3404,3415,3415,3424,3425,3430,3439,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3535,3537,3544,3551,3570,3572,3585,3632,3634,3635,3648,3654,3663,3675,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3792,3801,3804,3805,3840,3863,3866,3892,3894,3894,3896,3896,3902,3911,3913,3946,3967,3967,3973,3973,3976,3979,4030,4037,4039,4044,4047,4047,4096,4129,4131,4135,4137,4138,4140,4140,4145,4145,4152,4152,4160,4183,4256,4293,4304,4344,4347,4347,4352,4441,4447,4514,4520,4601,4608,4614,4616,4678,4680,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4742,4744,4744,4746,4749,4752,4782,4784,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4814,4816,4822,4824,4846,4848,4878,4880,4880,4882,4885,4888,4894,4896,4934,4936,4954,4961,4988,5024,5108,5121,5750,5761,5786,5792,5872,5888,5900,5902,5905,5920,5937,5941,5942,5952,5969,5984,5996,5998,6e3,6016,6070,6078,6085,6087,6088,6100,6106,6108,6108,6112,6121,6160,6169,6176,6263,6272,6312,7680,7835,7840,7929,7936,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8206,8206,8305,8305,8319,8319,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8497,8499,8505,8509,8511,8517,8521,8544,8579,9014,9082,9109,9109,9372,9449,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12588,12593,12686,12688,12727,12784,12828,12832,12867,12896,12923,12927,12976,12992,13003,13008,13054,13056,13174,13179,13277,13280,13310,13312,19893,19968,40869,40960,42124,44032,55203,55296,64045,64048,64106,64256,64262,64275,64279,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,66304,66334,66336,66339,66352,66378,66560,66597,66600,66637,118784,119029,119040,119078,119082,119142,119146,119154,119171,119172,119180,119209,119214,119261,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,12e4,120002,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120483,120488,120777,131072,173782,194560,195101,983040,1048573,1048576,1114109],ce=function isBidirectionalL(r){return inRange(r,se)},le=function isNonASCIISpaceCharacter(r){return inRange(r,ee)},ue=function isCommonlyMappedToNothing(r){return inRange(r,$)},fe=function getCodePoint(r){return r.codePointAt(0)},he=function first(r){return r[0]},de=function last(r){return r[r.length-1]};function toCodePoints(r){for(var i=[],o=r.length,u=0;u<o;u+=1){var p=r.charCodeAt(u);if(p>=55296&&p<=56319&&o>u+1){var g=r.charCodeAt(u+1);if(g>=56320&&g<=57343){i.push(1024*(p-55296)+g-56320+65536),u+=1;continue}}i.push(p)}return i}function saslprep(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("string"!=typeof r)throw new TypeError("Expected string.");if(0===r.length)return"";var o=toCodePoints(r).map((function(r){return le(r)?32:r})).filter((function(r){return!ue(r)})),u=String.fromCodePoint.apply(null,o).normalize("NFKC"),p=toCodePoints(u),g=p.some(ie);if(g)throw new Error("Prohibited character, see https://tools.ietf.org/html/rfc4013#section-2.3");if(!0!==i.allowUnassigned){var y=p.some(J);if(y)throw new Error("Unassigned code point, see https://tools.ietf.org/html/rfc4013#section-2.5")}var w=p.some(ae),_=p.some(ce);if(w&&_)throw new Error("String must not contain RandALCat and LCat at the same time, see https://tools.ietf.org/html/rfc3454#section-6");var x=ae(fe(he(u))),k=ae(fe(de(u)));if(w&&(!x||!k))throw new Error("Bidirectional RandALCat character must be the first and the last character of the string, see https://tools.ietf.org/html/rfc3454#section-6");return u}var pe=function(){function PDFSecurity(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(_classCallCheck(this,PDFSecurity),!i.ownerPassword&&!i.userPassword)throw new Error("None of owner password and user password is defined.");this.document=r,this._setupEncryption(i)}return _createClass(PDFSecurity,null,[{key:"generateFileID",value:function generateFileID(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i="".concat(r.CreationDate.getTime(),"\n");for(var o in r)r.hasOwnProperty(o)&&(i+="".concat(o,": ").concat(r[o].valueOf(),"\n"));return wordArrayToBuffer(y.default.MD5(i))}},{key:"generateRandomWordArray",value:function generateRandomWordArray(r){return y.default.lib.WordArray.random(r)}},{key:"create",value:function create(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i.ownerPassword||i.userPassword?new PDFSecurity(r,i):null}}]),_createClass(PDFSecurity,[{key:"_setupEncryption",value:function _setupEncryption(r){switch(r.pdfVersion){case"1.4":case"1.5":this.version=2;break;case"1.6":case"1.7":this.version=4;break;case"1.7ext3":this.version=5;break;default:this.version=1}var i={Filter:"Standard"};switch(this.version){case 1:case 2:case 4:this._setupEncryptionV1V2V4(this.version,i,r);break;case 5:this._setupEncryptionV5(i,r)}this.dictionary=this.document.ref(i)}},{key:"_setupEncryptionV1V2V4",value:function _setupEncryptionV1V2V4(r,i,o){var u,p;switch(r){case 1:u=2,this.keyBits=40,p=function getPermissionsR2(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=-64;r.printing&&(i|=4);r.modifying&&(i|=8);r.copying&&(i|=16);r.annotating&&(i|=32);return i}(o.permissions);break;case 2:u=3,this.keyBits=128,p=getPermissionsR3(o.permissions);break;case 4:u=4,this.keyBits=128,p=getPermissionsR3(o.permissions)}var g,w=processPasswordR2R3R4(o.userPassword),_=o.ownerPassword?processPasswordR2R3R4(o.ownerPassword):w,x=function getOwnerPasswordR2R3R4(r,i,o,u){for(var p=u,g=r>=3?51:1,w=0;w<g;w++)p=y.default.MD5(p);var _=p.clone();_.sigBytes=i/8;var x=o;g=r>=3?20:1;for(var k=0;k<g;k++){for(var P=Math.ceil(_.sigBytes/4),O=0;O<P;O++)_.words[O]=p.words[O]^(k|k<<8|k<<16|k<<24);x=y.default.RC4.encrypt(x,_).ciphertext}return x}(u,this.keyBits,w,_);this.encryptionKey=function getEncryptionKeyR2R3R4(r,i,o,u,p,g){for(var w=u.clone().concat(p).concat(y.default.lib.WordArray.create([lsbFirstWord(g)],4)).concat(y.default.lib.WordArray.create(o)),_=r>=3?51:1,x=0;x<_;x++)(w=y.default.MD5(w)).sigBytes=i/8;return w}(u,this.keyBits,this.document._id,w,x,p),g=2===u?function getUserPasswordR2(r){return y.default.RC4.encrypt(processPasswordR2R3R4(),r).ciphertext}(this.encryptionKey):function getUserPasswordR3R4(r,i){for(var o=i.clone(),u=y.default.MD5(processPasswordR2R3R4().concat(y.default.lib.WordArray.create(r))),p=0;p<20;p++){for(var g=Math.ceil(o.sigBytes/4),w=0;w<g;w++)o.words[w]=i.words[w]^(p|p<<8|p<<16|p<<24);u=y.default.RC4.encrypt(u,o).ciphertext}return u.concat(y.default.lib.WordArray.create(null,16))}(this.document._id,this.encryptionKey),i.V=r,r>=2&&(i.Length=this.keyBits),4===r&&(i.CF={StdCF:{AuthEvent:"DocOpen",CFM:"AESV2",Length:this.keyBits/8}},i.StmF="StdCF",i.StrF="StdCF"),i.R=u,i.O=wordArrayToBuffer(x),i.U=wordArrayToBuffer(g),i.P=p}},{key:"_setupEncryptionV5",value:function _setupEncryptionV5(r,i){this.keyBits=256;var o=getPermissionsR3(i.permissions),u=processPasswordR5(i.userPassword),p=i.ownerPassword?processPasswordR5(i.ownerPassword):u;this.encryptionKey=function getEncryptionKeyR5(r){return r(32)}(PDFSecurity.generateRandomWordArray);var g=function getUserPasswordR5(r,i){var o=i(8),u=i(8);return y.default.SHA256(r.clone().concat(o)).concat(o).concat(u)}(u,PDFSecurity.generateRandomWordArray),w=function getUserEncryptionKeyR5(r,i,o){var u=y.default.SHA256(r.clone().concat(i)),p={mode:y.default.mode.CBC,padding:y.default.pad.NoPadding,iv:y.default.lib.WordArray.create(null,16)};return y.default.AES.encrypt(o,u,p).ciphertext}(u,y.default.lib.WordArray.create(g.words.slice(10,12),8),this.encryptionKey),_=function getOwnerPasswordR5(r,i,o){var u=o(8),p=o(8);return y.default.SHA256(r.clone().concat(u).concat(i)).concat(u).concat(p)}(p,g,PDFSecurity.generateRandomWordArray),x=function getOwnerEncryptionKeyR5(r,i,o,u){var p=y.default.SHA256(r.clone().concat(i).concat(o)),g={mode:y.default.mode.CBC,padding:y.default.pad.NoPadding,iv:y.default.lib.WordArray.create(null,16)};return y.default.AES.encrypt(u,p,g).ciphertext}(p,y.default.lib.WordArray.create(_.words.slice(10,12),8),g,this.encryptionKey),k=function getEncryptedPermissionsR5(r,i,o){var u=y.default.lib.WordArray.create([lsbFirstWord(r),4294967295,1415668834],12).concat(o(4)),p={mode:y.default.mode.ECB,padding:y.default.pad.NoPadding};return y.default.AES.encrypt(u,i,p).ciphertext}(o,this.encryptionKey,PDFSecurity.generateRandomWordArray);r.V=5,r.Length=this.keyBits,r.CF={StdCF:{AuthEvent:"DocOpen",CFM:"AESV3",Length:this.keyBits/8}},r.StmF="StdCF",r.StrF="StdCF",r.R=5,r.O=wordArrayToBuffer(_),r.OE=wordArrayToBuffer(x),r.U=wordArrayToBuffer(g),r.UE=wordArrayToBuffer(w),r.P=o,r.Perms=wordArrayToBuffer(k)}},{key:"getEncryptFn",value:function getEncryptFn(r,i){var o,u;if(this.version<5&&(o=this.encryptionKey.clone().concat(y.default.lib.WordArray.create([(255&r)<<24|(65280&r)<<8|r>>8&65280|255&i,(65280&i)<<16],5))),1===this.version||2===this.version){var p=y.default.MD5(o);return p.sigBytes=Math.min(16,this.keyBits/8+5),function(r){return wordArrayToBuffer(y.default.RC4.encrypt(y.default.lib.WordArray.create(r),p).ciphertext)}}u=4===this.version?y.default.MD5(o.concat(y.default.lib.WordArray.create([1933667412],4))):this.encryptionKey;var g=PDFSecurity.generateRandomWordArray(16),w={mode:y.default.mode.CBC,padding:y.default.pad.Pkcs7,iv:g};return function(r){return wordArrayToBuffer(g.clone().concat(y.default.AES.encrypt(y.default.lib.WordArray.create(r),u,w).ciphertext))}}},{key:"end",value:function end(){this.dictionary.end()}}]),PDFSecurity}();function getPermissionsR3(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=-3904;return"lowResolution"===r.printing&&(i|=4),"highResolution"===r.printing&&(i|=2052),r.modifying&&(i|=8),r.copying&&(i|=16),r.annotating&&(i|=32),r.fillingForms&&(i|=256),r.contentAccessibility&&(i|=512),r.documentAssembly&&(i|=1024),i}function processPasswordR2R3R4(){for(var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=u.alloc(32),o=r.length,p=0;p<o&&p<32;){var g=r.charCodeAt(p);if(g>255)throw new Error("Password contains one or more invalid characters.");i[p]=g,p++}for(;p<32;)i[p]=_e[p-o],p++;return y.default.lib.WordArray.create(i)}function processPasswordR5(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";r=unescape(encodeURIComponent(saslprep(r)));for(var i=Math.min(127,r.length),o=u.alloc(i),p=0;p<i;p++)o[p]=r.charCodeAt(p);return y.default.lib.WordArray.create(o)}function lsbFirstWord(r){return(255&r)<<24|(65280&r)<<8|r>>8&65280|r>>24&255}function wordArrayToBuffer(r){for(var i=[],o=0;o<r.sigBytes;o++)i.push(r.words[Math.floor(o/4)]>>8*(3-o%4)&255);return u.from(i)}var ge,ye,ve,me,be,we,_e=[40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122],Se=W.number,xe=function(){function PDFGradient(r){_classCallCheck(this,PDFGradient),this.doc=r,this.stops=[],this.embedded=!1,this.transform=[1,0,0,1,0,0]}return _createClass(PDFGradient,[{key:"stop",value:function stop(r,i,o){if(null==o&&(o=1),i=this.doc._normalizeColor(i),0===this.stops.length)if(3===i.length)this._colorSpace="DeviceRGB";else if(4===i.length)this._colorSpace="DeviceCMYK";else{if(1!==i.length)throw new Error("Unknown color space");this._colorSpace="DeviceGray"}else if("DeviceRGB"===this._colorSpace&&3!==i.length||"DeviceCMYK"===this._colorSpace&&4!==i.length||"DeviceGray"===this._colorSpace&&1!==i.length)throw new Error("All gradient stops must use the same color space");return o=Math.max(0,Math.min(1,o)),this.stops.push([r,i,o]),this}},{key:"setTransform",value:function setTransform(r,i,o,u,p,g){return this.transform=[r,i,o,u,p,g],this}},{key:"embed",value:function embed(r){var i,o=this.stops.length;if(0!==o){this.embedded=!0,this.matrix=r;var u=this.stops[o-1];u[0]<1&&this.stops.push([1,u[1],u[2]]);for(var p=[],g=[],y=[],w=0;w<o-1;w++)g.push(0,1),w+2!==o&&p.push(this.stops[w+1][0]),i=this.doc.ref({FunctionType:2,Domain:[0,1],C0:this.stops[w+0][1],C1:this.stops[w+1][1],N:1}),y.push(i),i.end();1===o?i=y[0]:(i=this.doc.ref({FunctionType:3,Domain:[0,1],Functions:y,Bounds:p,Encode:g})).end(),this.id="Sh".concat(++this.doc._gradCount);var _=this.shader(i);_.end();var x=this.doc.ref({Type:"Pattern",PatternType:2,Shading:_,Matrix:this.matrix.map(Se)});if(x.end(),this.stops.some((function(r){return r[2]<1}))){var k=this.opacityGradient();k._colorSpace="DeviceGray";var P,O=_createForOfIteratorHelper(this.stops);try{for(O.s();!(P=O.n()).done;){var I=P.value;k.stop(I[0],[I[2]])}}catch(r){O.e(r)}finally{O.f()}k=k.embed(this.matrix);var B=[0,0,this.doc.page.width,this.doc.page.height],R=this.doc.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:B,Group:{Type:"Group",S:"Transparency",CS:"DeviceGray"},Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:k}}});R.write("/Pattern cs /Sh1 scn"),R.end("".concat(B.join(" ")," re f"));var D=this.doc.ref({Type:"ExtGState",SMask:{Type:"Mask",S:"Luminosity",G:R}});D.end();var N=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:1,TilingType:2,BBox:B,XStep:B[2],YStep:B[3],Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],Pattern:{Sh1:x},ExtGState:{Gs1:D}}});N.write("/Gs1 gs /Pattern cs /Sh1 scn"),N.end("".concat(B.join(" ")," re f")),this.doc.page.patterns[this.id]=N}else this.doc.page.patterns[this.id]=x;return x}}},{key:"apply",value:function apply(r){var i=_slicedToArray(this.doc._ctm,6),o=i[0],u=i[1],p=i[2],g=i[3],y=i[4],w=i[5],_=_slicedToArray(this.transform,6),x=_[0],k=_[1],P=_[2],O=_[3],I=_[4],B=_[5],R=[o*x+p*k,u*x+g*k,o*P+p*O,u*P+g*O,o*I+p*B+y,u*I+g*B+w];this.embedded&&R.join(" ")===this.matrix.join(" ")||this.embed(R),this.doc._setColorSpace("Pattern",r);var D=r?"SCN":"scn";return this.doc.addContent("/".concat(this.id," ").concat(D))}}]),PDFGradient}(),Ce={PDFGradient:xe,PDFLinearGradient:function(r){_inherits(PDFLinearGradient,r);var i=_createSuper(PDFLinearGradient);function PDFLinearGradient(r,o,u,p,g){var y;return _classCallCheck(this,PDFLinearGradient),(y=i.call(this,r)).x1=o,y.y1=u,y.x2=p,y.y2=g,y}return _createClass(PDFLinearGradient,[{key:"shader",value:function shader(r){return this.doc.ref({ShadingType:2,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.x2,this.y2],Function:r,Extend:[!0,!0]})}},{key:"opacityGradient",value:function opacityGradient(){return new PDFLinearGradient(this.doc,this.x1,this.y1,this.x2,this.y2)}}]),PDFLinearGradient}(xe),PDFRadialGradient:function(r){_inherits(PDFRadialGradient,r);var i=_createSuper(PDFRadialGradient);function PDFRadialGradient(r,o,u,p,g,y,w){var _;return _classCallCheck(this,PDFRadialGradient),(_=i.call(this,r)).doc=r,_.x1=o,_.y1=u,_.r1=p,_.x2=g,_.y2=y,_.r2=w,_}return _createClass(PDFRadialGradient,[{key:"shader",value:function shader(r){return this.doc.ref({ShadingType:3,ColorSpace:this._colorSpace,Coords:[this.x1,this.y1,this.r1,this.x2,this.y2,this.r2],Function:r,Extend:[!0,!0]})}},{key:"opacityGradient",value:function opacityGradient(){return new PDFRadialGradient(this.doc,this.x1,this.y1,this.r1,this.x2,this.y2,this.r2)}}]),PDFRadialGradient}(xe)},ke=["DeviceCMYK","DeviceRGB"],Pe=function(){function PDFTilingPattern(r,i,o,u,p){_classCallCheck(this,PDFTilingPattern),this.doc=r,this.bBox=i,this.xStep=o,this.yStep=u,this.stream=p}return _createClass(PDFTilingPattern,[{key:"createPattern",value:function createPattern(){var r=this.doc.ref();r.end();var i=_slicedToArray(this.doc._ctm,6),o=i[0],u=i[1],p=i[2],g=i[3],y=[1*o+0*p,1*u+0*g,0*o+1*p,0*u+1*g,0*o+0*p+i[4],0*u+0*g+i[5]],w=this.doc.ref({Type:"Pattern",PatternType:1,PaintType:2,TilingType:2,BBox:this.bBox,XStep:this.xStep,YStep:this.yStep,Matrix:y.map((function(r){return+r.toFixed(5)})),Resources:r});return w.end(this.stream),w}},{key:"embedPatternColorSpaces",value:function embedPatternColorSpaces(){var r=this;ke.forEach((function(i){var o=r.getPatternColorSpaceId(i);if(!r.doc.page.colorSpaces[o]){var u=r.doc.ref(["Pattern",i]);u.end(),r.doc.page.colorSpaces[o]=u}}))}},{key:"getPatternColorSpaceId",value:function getPatternColorSpaceId(r){return"CsP".concat(r)}},{key:"embed",value:function embed(){this.id||(this.doc._patternCount=this.doc._patternCount+1,this.id="P"+this.doc._patternCount,this.pattern=this.createPattern()),this.doc.page.patterns[this.id]||(this.doc.page.patterns[this.id]=this.pattern)}},{key:"apply",value:function apply(r,i){this.embedPatternColorSpaces(),this.embed();var o=this.doc._normalizeColor(i);if(!o)throw Error("invalid pattern color. (value: ".concat(i,")"));var u=this.getPatternColorSpaceId(this.doc._getColorSpace(o));this.doc._setColorSpace(u,r);var p=r?"SCN":"scn";return this.doc.addContent("".concat(o.join(" ")," /").concat(this.id," ").concat(p))}}]),PDFTilingPattern}(),Ae=Ce.PDFGradient,Ee=Ce.PDFLinearGradient,Te=Ce.PDFRadialGradient,Oe={PDFTilingPattern:Pe}.PDFTilingPattern,Ie={initColor:function initColor(){return this._opacityRegistry={},this._opacityCount=0,this._patternCount=0,this._gradCount=0},_normalizeColor:function _normalizeColor(r){if("string"==typeof r)if("#"===r.charAt(0)){4===r.length&&(r=r.replace(/#([0-9A-F])([0-9A-F])([0-9A-F])/i,"#$1$1$2$2$3$3"));var i=parseInt(r.slice(1),16);r=[i>>16,i>>8&255,255&i]}else Be[r]&&(r=Be[r]);return Array.isArray(r)?(3===r.length?r=r.map((function(r){return r/255})):4===r.length&&(r=r.map((function(r){return r/100}))),r):null},_setColor:function _setColor(r,i){return r instanceof Ae?(r.apply(i),!0):Array.isArray(r)&&r[0]instanceof Oe?(r[0].apply(i,r[1]),!0):this._setColorCore(r,i)},_setColorCore:function _setColorCore(r,i){if(!(r=this._normalizeColor(r)))return!1;var o=i?"SCN":"scn",u=this._getColorSpace(r);return this._setColorSpace(u,i),r=r.join(" "),this.addContent("".concat(r," ").concat(o)),!0},_setColorSpace:function _setColorSpace(r,i){var o=i?"CS":"cs";return this.addContent("/".concat(r," ").concat(o))},_getColorSpace:function _getColorSpace(r){return 4===r.length?"DeviceCMYK":"DeviceRGB"},fillColor:function fillColor(r,i){return this._setColor(r,!1)&&this.fillOpacity(i),this._fillColor=[r,i],this},strokeColor:function strokeColor(r,i){return this._setColor(r,!0)&&this.strokeOpacity(i),this},opacity:function opacity(r){return this._doOpacity(r,r),this},fillOpacity:function fillOpacity(r){return this._doOpacity(r,null),this},strokeOpacity:function strokeOpacity(r){return this._doOpacity(null,r),this},_doOpacity:function _doOpacity(r,i){var o,u;if(null!=r||null!=i){null!=r&&(r=Math.max(0,Math.min(1,r))),null!=i&&(i=Math.max(0,Math.min(1,i)));var p="".concat(r,"_").concat(i);if(this._opacityRegistry[p]){var g=_slicedToArray(this._opacityRegistry[p],2);o=g[0],u=g[1]}else{o={Type:"ExtGState"},null!=r&&(o.ca=r),null!=i&&(o.CA=i),(o=this.ref(o)).end();var y=++this._opacityCount;u="Gs".concat(y),this._opacityRegistry[p]=[o,u]}return this.page.ext_gstates[u]=o,this.addContent("/".concat(u," gs"))}},linearGradient:function linearGradient(r,i,o,u){return new Ee(this,r,i,o,u)},radialGradient:function radialGradient(r,i,o,u,p,g){return new Te(this,r,i,o,u,p,g)},pattern:function pattern(r,i,o,u){return new Oe(this,r,i,o,u)}},Be={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};ge=ye=ve=me=be=we=0;var Fe={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0},Le={M:function M(r,i){return ge=i[0],ye=i[1],ve=me=null,be=ge,we=ye,r.moveTo(ge,ye)},m:function m(r,i){return ge+=i[0],ye+=i[1],ve=me=null,be=ge,we=ye,r.moveTo(ge,ye)},C:function C(r,i){return ge=i[4],ye=i[5],ve=i[2],me=i[3],r.bezierCurveTo.apply(r,_toConsumableArray(i))},c:function c(r,i){return r.bezierCurveTo(i[0]+ge,i[1]+ye,i[2]+ge,i[3]+ye,i[4]+ge,i[5]+ye),ve=ge+i[2],me=ye+i[3],ge+=i[4],ye+=i[5]},S:function S(r,i){return null===ve&&(ve=ge,me=ye),r.bezierCurveTo(ge-(ve-ge),ye-(me-ye),i[0],i[1],i[2],i[3]),ve=i[0],me=i[1],ge=i[2],ye=i[3]},s:function s(r,i){return null===ve&&(ve=ge,me=ye),r.bezierCurveTo(ge-(ve-ge),ye-(me-ye),ge+i[0],ye+i[1],ge+i[2],ye+i[3]),ve=ge+i[0],me=ye+i[1],ge+=i[2],ye+=i[3]},Q:function Q(r,i){return ve=i[0],me=i[1],ge=i[2],ye=i[3],r.quadraticCurveTo(i[0],i[1],ge,ye)},q:function q(r,i){return r.quadraticCurveTo(i[0]+ge,i[1]+ye,i[2]+ge,i[3]+ye),ve=ge+i[0],me=ye+i[1],ge+=i[2],ye+=i[3]},T:function T(r,i){return null===ve?(ve=ge,me=ye):(ve=ge-(ve-ge),me=ye-(me-ye)),r.quadraticCurveTo(ve,me,i[0],i[1]),ve=ge-(ve-ge),me=ye-(me-ye),ge=i[0],ye=i[1]},t:function t(r,i){return null===ve?(ve=ge,me=ye):(ve=ge-(ve-ge),me=ye-(me-ye)),r.quadraticCurveTo(ve,me,ge+i[0],ye+i[1]),ge+=i[0],ye+=i[1]},A:function A(r,i){return Re(r,ge,ye,i),ge=i[5],ye=i[6]},a:function a(r,i){return i[5]+=ge,i[6]+=ye,Re(r,ge,ye,i),ge=i[5],ye=i[6]},L:function L(r,i){return ge=i[0],ye=i[1],ve=me=null,r.lineTo(ge,ye)},l:function l(r,i){return ge+=i[0],ye+=i[1],ve=me=null,r.lineTo(ge,ye)},H:function H(r,i){return ge=i[0],ve=me=null,r.lineTo(ge,ye)},h:function h(r,i){return ge+=i[0],ve=me=null,r.lineTo(ge,ye)},V:function V(r,i){return ye=i[0],ve=me=null,r.lineTo(ge,ye)},v:function v(r,i){return ye+=i[0],ve=me=null,r.lineTo(ge,ye)},Z:function Z(r){return r.closePath(),ge=be,ye=we},z:function z(r){return r.closePath(),ge=be,ye=we}},Re=function solveArc(r,i,o,u){var p,g=_slicedToArray(u,7),y=g[0],w=g[1],_=g[2],x=g[3],k=g[4],P=g[5],O=g[6],I=_createForOfIteratorHelper(De(P,O,y,w,x,k,_,i,o));try{for(I.s();!(p=I.n()).done;){var B=p.value,R=Me.apply(void 0,_toConsumableArray(B));r.bezierCurveTo.apply(r,_toConsumableArray(R))}}catch(r){I.e(r)}finally{I.f()}},De=function arcToSegments(r,i,o,u,p,g,y,w,_){var x=y*(Math.PI/180),k=Math.sin(x),P=Math.cos(x);o=Math.abs(o),u=Math.abs(u);var O=(ve=P*(w-r)*.5+k*(_-i)*.5)*ve/(o*o)+(me=P*(_-i)*.5-k*(w-r)*.5)*me/(u*u);O>1&&(o*=O=Math.sqrt(O),u*=O);var I=P/o,B=k/o,R=-k/u,D=P/u,N=I*w+B*_,W=R*w+D*_,U=I*r+B*i,j=R*r+D*i,G=1/((U-N)*(U-N)+(j-W)*(j-W))-.25;G<0&&(G=0);var X=Math.sqrt(G);g===p&&(X=-X);var K=.5*(N+U)-X*(j-W),Y=.5*(W+j)+X*(U-N),J=Math.atan2(W-Y,N-K),$=Math.atan2(j-Y,U-K)-J;$<0&&1===g?$+=2*Math.PI:$>0&&0===g&&($-=2*Math.PI);for(var ee=Math.ceil(Math.abs($/(.5*Math.PI+.001))),te=[],re=0;re<ee;re++){var ne=J+re*$/ee,ie=J+(re+1)*$/ee;te[re]=[K,Y,ne,ie,o,u,k,P]}return te},Me=function segmentToBezier(r,i,o,u,p,g,y,w){var _=w*p,x=-y*g,k=y*p,P=w*g,O=.5*(u-o),I=8/3*Math.sin(.5*O)*Math.sin(.5*O)/Math.sin(O),B=r+Math.cos(o)-I*Math.sin(o),R=i+Math.sin(o)+I*Math.cos(o),D=r+Math.cos(u),N=i+Math.sin(u),W=D+I*Math.sin(u),U=N-I*Math.cos(u);return[_*B+x*R,k*B+P*R,_*W+x*U,k*W+P*U,_*D+x*N,k*D+P*N]},Ne=function(){function SVGPath(){_classCallCheck(this,SVGPath)}return _createClass(SVGPath,null,[{key:"apply",value:function apply(r,i){var o=function parse(r){var i,o,u=[],p=[],g="",y=!1,w=0,_=_createForOfIteratorHelper(r);try{for(_.s();!(o=_.n()).done;){var x=o.value;if(null!=Fe[x])w=Fe[x],i&&(g.length>0&&(p[p.length]=+g),u[u.length]={cmd:i,args:p},p=[],g="",y=!1),i=x;else if([" ",","].includes(x)||"-"===x&&g.length>0&&"e"!==g[g.length-1]||"."===x&&y){if(0===g.length)continue;p.length===w?(u[u.length]={cmd:i,args:p},p=[+g],"M"===i&&(i="L"),"m"===i&&(i="l")):p[p.length]=+g,y="."===x,g=["-","."].includes(x)?x:""}else g+=x,"."===x&&(y=!0)}}catch(r){_.e(r)}finally{_.f()}return g.length>0&&(p.length===w?(u[u.length]={cmd:i,args:p},p=[+g],"M"===i&&(i="L"),"m"===i&&(i="l")):p[p.length]=+g),u[u.length]={cmd:i,args:p},u}(i);!function apply(r,i){ge=ye=ve=me=be=we=0;for(var o=0;o<r.length;o++){var u=r[o];"function"==typeof Le[u.cmd]&&Le[u.cmd](i,u.args)}}(o,r)}}]),SVGPath}(),We=W.number,ze=(Math.sqrt(2)-1)/3*4,Ue={initVector:function initVector(){return this._ctm=[1,0,0,1,0,0],this._ctmStack=[]},save:function save(){return this._ctmStack.push(this._ctm.slice()),this.addContent("q")},restore:function restore(){return this._ctm=this._ctmStack.pop()||[1,0,0,1,0,0],this.addContent("Q")},closePath:function closePath(){return this.addContent("h")},lineWidth:function lineWidth(r){return this.addContent("".concat(We(r)," w"))},_CAP_STYLES:{BUTT:0,ROUND:1,SQUARE:2},lineCap:function lineCap(r){return"string"==typeof r&&(r=this._CAP_STYLES[r.toUpperCase()]),this.addContent("".concat(r," J"))},_JOIN_STYLES:{MITER:0,ROUND:1,BEVEL:2},lineJoin:function lineJoin(r){return"string"==typeof r&&(r=this._JOIN_STYLES[r.toUpperCase()]),this.addContent("".concat(r," j"))},miterLimit:function miterLimit(r){return this.addContent("".concat(We(r)," M"))},dash:function dash(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=r;Array.isArray(r)||(r=[r,i.space||r]);var u=r.every((function(r){return Number.isFinite(r)&&r>0}));if(!u)throw new Error("dash(".concat(JSON.stringify(o),", ").concat(JSON.stringify(i),") invalid, lengths must be numeric and greater than zero"));return r=r.map(We).join(" "),this.addContent("[".concat(r,"] ").concat(We(i.phase||0)," d"))},undash:function undash(){return this.addContent("[] 0 d")},moveTo:function moveTo(r,i){return this.addContent("".concat(We(r)," ").concat(We(i)," m"))},lineTo:function lineTo(r,i){return this.addContent("".concat(We(r)," ").concat(We(i)," l"))},bezierCurveTo:function bezierCurveTo(r,i,o,u,p,g){return this.addContent("".concat(We(r)," ").concat(We(i)," ").concat(We(o)," ").concat(We(u)," ").concat(We(p)," ").concat(We(g)," c"))},quadraticCurveTo:function quadraticCurveTo(r,i,o,u){return this.addContent("".concat(We(r)," ").concat(We(i)," ").concat(We(o)," ").concat(We(u)," v"))},rect:function rect(r,i,o,u){return this.addContent("".concat(We(r)," ").concat(We(i)," ").concat(We(o)," ").concat(We(u)," re"))},roundedRect:function roundedRect(r,i,o,u,p){null==p&&(p=0);var g=(p=Math.min(p,.5*o,.5*u))*(1-ze);return this.moveTo(r+p,i),this.lineTo(r+o-p,i),this.bezierCurveTo(r+o-g,i,r+o,i+g,r+o,i+p),this.lineTo(r+o,i+u-p),this.bezierCurveTo(r+o,i+u-g,r+o-g,i+u,r+o-p,i+u),this.lineTo(r+p,i+u),this.bezierCurveTo(r+g,i+u,r,i+u-g,r,i+u-p),this.lineTo(r,i+p),this.bezierCurveTo(r,i+g,r+g,i,r+p,i),this.closePath()},ellipse:function ellipse(r,i,o,u){null==u&&(u=o);var p=o*ze,g=u*ze,y=(r-=o)+2*o,w=(i-=u)+2*u,_=r+o,x=i+u;return this.moveTo(r,x),this.bezierCurveTo(r,x-g,_-p,i,_,i),this.bezierCurveTo(_+p,i,y,x-g,y,x),this.bezierCurveTo(y,x+g,_+p,w,_,w),this.bezierCurveTo(_-p,w,r,x+g,r,x),this.closePath()},circle:function circle(r,i,o){return this.ellipse(r,i,o)},arc:function arc(r,i,o,u,p,g){null==g&&(g=!1);var y=2*Math.PI,w=.5*Math.PI,_=p-u;if(Math.abs(_)>y)_=y;else if(0!==_&&g!==_<0){_=(g?-1:1)*y+_}var x=Math.ceil(Math.abs(_)/w),k=_/x,P=k/w*ze*o,O=u,I=-Math.sin(O)*P,B=Math.cos(O)*P,R=r+Math.cos(O)*o,D=i+Math.sin(O)*o;this.moveTo(R,D);for(var N=0;N<x;N++){var W=R+I,U=D+B;O+=k,R=r+Math.cos(O)*o,D=i+Math.sin(O)*o;var j=R-(I=-Math.sin(O)*P),G=D-(B=Math.cos(O)*P);this.bezierCurveTo(W,U,j,G,R,D)}return this},polygon:function polygon(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];this.moveTo.apply(this,_toConsumableArray(i.shift()||[]));for(var u=0,p=i;u<p.length;u++){var g=p[u];this.lineTo.apply(this,_toConsumableArray(g||[]))}return this.closePath()},path:function path(r){return Ne.apply(this,r),this},_windingRule:function _windingRule(r){return/even-?odd/.test(r)?"*":""},fill:function fill(r,i){return/(even-?odd)|(non-?zero)/.test(r)&&(i=r,r=null),r&&this.fillColor(r),this.addContent("f".concat(this._windingRule(i)))},stroke:function stroke(r){return r&&this.strokeColor(r),this.addContent("S")},fillAndStroke:function fillAndStroke(r,i,o){null==i&&(i=r);var u=/(even-?odd)|(non-?zero)/;return u.test(r)&&(o=r,r=null),u.test(i)&&(o=i,i=r),r&&(this.fillColor(r),this.strokeColor(i)),this.addContent("B".concat(this._windingRule(o)))},clip:function clip(r){return this.addContent("W".concat(this._windingRule(r)," n"))},transform:function transform(r,i,o,u,p,g){var y=this._ctm,w=_slicedToArray(y,6),_=w[0],x=w[1],k=w[2],P=w[3],O=w[4],I=w[5];y[0]=_*r+k*i,y[1]=x*r+P*i,y[2]=_*o+k*u,y[3]=x*o+P*u,y[4]=_*p+k*g+O,y[5]=x*p+P*g+I;var B=[r,i,o,u,p,g].map((function(r){return We(r)})).join(" ");return this.addContent("".concat(B," cm"))},translate:function translate(r,i){return this.transform(1,0,0,1,r,i)},rotate:function rotate(r){var i,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},u=r*Math.PI/180,p=Math.cos(u),g=Math.sin(u),y=i=0;if(null!=o.origin){var w=_slicedToArray(o.origin,2),_=(y=w[0])*p-(i=w[1])*g,x=y*g+i*p;y-=_,i-=x}return this.transform(p,g,-g,p,y,i)},scale:function scale(r,i){var o,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};null==i&&(i=r),"object"==typeof i&&(u=i,i=r);var p=o=0;if(null!=u.origin){var g=_slicedToArray(u.origin,2);p=g[0],o=g[1],p-=r*p,o-=i*o}return this.transform(r,0,0,i,p,o)}},je={402:131,8211:150,8212:151,8216:145,8217:146,8218:130,8220:147,8221:148,8222:132,8224:134,8225:135,8226:149,8230:133,8364:128,8240:137,8249:139,8250:155,710:136,8482:153,338:140,339:156,732:152,352:138,353:154,376:159,381:142,382:158},Ge=".notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n.notdef       .notdef        .notdef        .notdef\n  \nspace         exclam         quotedbl       numbersign\ndollar        percent        ampersand      quotesingle\nparenleft     parenright     asterisk       plus\ncomma         hyphen         period         slash\nzero          one            two            three\nfour          five           six            seven\neight         nine           colon          semicolon\nless          equal          greater        question\n  \nat            A              B              C\nD             E              F              G\nH             I              J              K\nL             M              N              O\nP             Q              R              S\nT             U              V              W\nX             Y              Z              bracketleft\nbackslash     bracketright   asciicircum    underscore\n  \ngrave         a              b              c\nd             e              f              g\nh             i              j              k\nl             m              n              o\np             q              r              s\nt             u              v              w\nx             y              z              braceleft\nbar           braceright     asciitilde     .notdef\n  \nEuro          .notdef        quotesinglbase florin\nquotedblbase  ellipsis       dagger         daggerdbl\ncircumflex    perthousand    Scaron         guilsinglleft\nOE            .notdef        Zcaron         .notdef\n.notdef       quoteleft      quoteright     quotedblleft\nquotedblright bullet         endash         emdash\ntilde         trademark      scaron         guilsinglright\noe            .notdef        zcaron         ydieresis\n  \nspace         exclamdown     cent           sterling\ncurrency      yen            brokenbar      section\ndieresis      copyright      ordfeminine    guillemotleft\nlogicalnot    hyphen         registered     macron\ndegree        plusminus      twosuperior    threesuperior\nacute         mu             paragraph      periodcentered\ncedilla       onesuperior    ordmasculine   guillemotright\nonequarter    onehalf        threequarters  questiondown\n  \nAgrave        Aacute         Acircumflex    Atilde\nAdieresis     Aring          AE             Ccedilla\nEgrave        Eacute         Ecircumflex    Edieresis\nIgrave        Iacute         Icircumflex    Idieresis\nEth           Ntilde         Ograve         Oacute\nOcircumflex   Otilde         Odieresis      multiply\nOslash        Ugrave         Uacute         Ucircumflex\nUdieresis     Yacute         Thorn          germandbls\n  \nagrave        aacute         acircumflex    atilde\nadieresis     aring          ae             ccedilla\negrave        eacute         ecircumflex    edieresis\nigrave        iacute         icircumflex    idieresis\neth           ntilde         ograve         oacute\nocircumflex   otilde         odieresis      divide\noslash        ugrave         uacute         ucircumflex\nudieresis     yacute         thorn          ydieresis".split(/\s+/),Ve=function(){function AFMFont(r){_classCallCheck(this,AFMFont),this.contents=r,this.attributes={},this.glyphWidths={},this.boundingBoxes={},this.kernPairs={},this.parse(),this.charWidths=new Array(256);for(var i=0;i<=255;i++)this.charWidths[i]=this.glyphWidths[Ge[i]];this.bbox=this.attributes.FontBBox.split(/\s+/).map((function(r){return+r})),this.ascender=+(this.attributes.Ascender||0),this.descender=+(this.attributes.Descender||0),this.xHeight=+(this.attributes.XHeight||0),this.capHeight=+(this.attributes.CapHeight||0),this.lineGap=this.bbox[3]-this.bbox[1]-(this.ascender-this.descender)}return _createClass(AFMFont,null,[{key:"open",value:function open(r){return new AFMFont(P.readFileSync(r,"utf8"))}}]),_createClass(AFMFont,[{key:"parse",value:function parse(){var r,i="",o=_createForOfIteratorHelper(this.contents.split("\n"));try{for(o.s();!(r=o.n()).done;){var u,p,g=r.value;if(u=g.match(/^Start(\w+)/))i=u[1];else if(u=g.match(/^End(\w+)/))i="";else switch(i){case"FontMetrics":var y=(u=g.match(/(^\w+)\s+(.*)/))[1],w=u[2];(p=this.attributes[y])?(Array.isArray(p)||(p=this.attributes[y]=[p]),p.push(w)):this.attributes[y]=w;break;case"CharMetrics":if(!/^CH?\s/.test(g))continue;var _=g.match(/\bN\s+(\.?\w+)\s*;/)[1];this.glyphWidths[_]=+g.match(/\bWX\s+(\d+)\s*;/)[1];break;case"KernPairs":(u=g.match(/^KPX\s+(\.?\w+)\s+(\.?\w+)\s+(-?\d+)/))&&(this.kernPairs[u[1]+"\0"+u[2]]=parseInt(u[3]))}}}catch(r){o.e(r)}finally{o.f()}}},{key:"encodeText",value:function encodeText(r){for(var i=[],o=0,u=r.length;o<u;o++){var p=r.charCodeAt(o);p=je[p]||p,i.push(p.toString(16))}return i}},{key:"glyphsForString",value:function glyphsForString(r){for(var i=[],o=0,u=r.length;o<u;o++){var p=r.charCodeAt(o);i.push(this.characterToGlyph(p))}return i}},{key:"characterToGlyph",value:function characterToGlyph(r){return Ge[je[r]||r]||".notdef"}},{key:"widthOfGlyph",value:function widthOfGlyph(r){return this.glyphWidths[r]||0}},{key:"getKernPair",value:function getKernPair(r,i){return this.kernPairs[r+"\0"+i]||0}},{key:"advancesForGlyphs",value:function advancesForGlyphs(r){for(var i=[],o=0;o<r.length;o++){var u=r[o],p=r[o+1];i.push(this.widthOfGlyph(u)+this.getKernPair(u,p))}return i}}]),AFMFont}(),He=function(){function PDFFont(){_classCallCheck(this,PDFFont)}return _createClass(PDFFont,[{key:"encode",value:function encode(){throw new Error("Must be implemented by subclasses")}},{key:"widthOfString",value:function widthOfString(){throw new Error("Must be implemented by subclasses")}},{key:"ref",value:function ref(){return null!=this.dictionary?this.dictionary:this.dictionary=this.document.ref()}},{key:"finalize",value:function finalize(){if(!this.embedded&&null!=this.dictionary)return this.embed(),this.embedded=!0}},{key:"embed",value:function embed(){throw new Error("Must be implemented by subclasses")}},{key:"lineHeight",value:function lineHeight(r,i){null==i&&(i=!1);var o=i?this.lineGap:0;return(this.ascender+o-this.descender)/1e3*r}}]),PDFFont}(),qe={Courier:function Courier(){return P.readFileSync("//data/Courier.afm","utf8")},"Courier-Bold":function CourierBold(){return P.readFileSync("//data/Courier-Bold.afm","utf8")},"Courier-Oblique":function CourierOblique(){return P.readFileSync("//data/Courier-Oblique.afm","utf8")},"Courier-BoldOblique":function CourierBoldOblique(){return P.readFileSync("//data/Courier-BoldOblique.afm","utf8")},Helvetica:function Helvetica(){return P.readFileSync("//data/Helvetica.afm","utf8")},"Helvetica-Bold":function HelveticaBold(){return P.readFileSync("//data/Helvetica-Bold.afm","utf8")},"Helvetica-Oblique":function HelveticaOblique(){return P.readFileSync("//data/Helvetica-Oblique.afm","utf8")},"Helvetica-BoldOblique":function HelveticaBoldOblique(){return P.readFileSync("//data/Helvetica-BoldOblique.afm","utf8")},"Times-Roman":function TimesRoman(){return P.readFileSync("//data/Times-Roman.afm","utf8")},"Times-Bold":function TimesBold(){return P.readFileSync("//data/Times-Bold.afm","utf8")},"Times-Italic":function TimesItalic(){return P.readFileSync("//data/Times-Italic.afm","utf8")},"Times-BoldItalic":function TimesBoldItalic(){return P.readFileSync("//data/Times-BoldItalic.afm","utf8")},Symbol:function Symbol(){return P.readFileSync("//data/Symbol.afm","utf8")},ZapfDingbats:function ZapfDingbats(){return P.readFileSync("//data/ZapfDingbats.afm","utf8")}},Xe=function(r){_inherits(StandardFont,r);var i=_createSuper(StandardFont);function StandardFont(r,o,u){var p;_classCallCheck(this,StandardFont),(p=i.call(this)).document=r,p.name=o,p.id=u,p.font=new Ve(qe[p.name]());var g=p.font;return p.ascender=g.ascender,p.descender=g.descender,p.bbox=g.bbox,p.lineGap=g.lineGap,p.xHeight=g.xHeight,p.capHeight=g.capHeight,p}return _createClass(StandardFont,[{key:"embed",value:function embed(){return this.dictionary.data={Type:"Font",BaseFont:this.name,Subtype:"Type1",Encoding:"WinAnsiEncoding"},this.dictionary.end()}},{key:"encode",value:function encode(r){for(var i=this.font.encodeText(r),o=this.font.glyphsForString("".concat(r)),u=this.font.advancesForGlyphs(o),p=[],g=0;g<o.length;g++){var y=o[g];p.push({xAdvance:u[g],yAdvance:0,xOffset:0,yOffset:0,advanceWidth:this.font.widthOfGlyph(y)})}return[i,p]}},{key:"widthOfString",value:function widthOfString(r,i){var o,u=this.font.glyphsForString("".concat(r)),p=0,g=_createForOfIteratorHelper(this.font.advancesForGlyphs(u));try{for(g.s();!(o=g.n()).done;){p+=o.value}}catch(r){g.e(r)}finally{g.f()}return p*(i/1e3)}}],[{key:"isStandardFont",value:function isStandardFont(r){return r in qe}}]),StandardFont}(He),Ze=function toHex(r){return"0000".concat(r.toString(16)).slice(-4)},Ke=function(r){_inherits(EmbeddedFont,r);var i=_createSuper(EmbeddedFont);function EmbeddedFont(r,o,u){var p;return _classCallCheck(this,EmbeddedFont),(p=i.call(this)).document=r,p.font=o,p.id=u,p.subset=p.font.createSubset(),p.unicode=[[0]],p.widths=[p.font.getGlyph(0).advanceWidth],p.name=p.font.postscriptName,p.scale=1e3/p.font.unitsPerEm,p.ascender=p.font.ascent*p.scale,p.descender=p.font.descent*p.scale,p.xHeight=p.font.xHeight*p.scale,p.capHeight=p.font.capHeight*p.scale,p.lineGap=p.font.lineGap*p.scale,p.bbox=p.font.bbox,!1!==r.options.fontLayoutCache&&(p.layoutCache=Object.create(null)),p}return _createClass(EmbeddedFont,[{key:"layoutRun",value:function layoutRun(r,i){for(var o=this.font.layout(r,i),u=0;u<o.positions.length;u++){var p=o.positions[u];for(var g in p)p[g]*=this.scale;p.advanceWidth=o.glyphs[u].advanceWidth*this.scale}return o}},{key:"layoutCached",value:function layoutCached(r){if(!this.layoutCache)return this.layoutRun(r);var i;if(i=this.layoutCache[r])return i;var o=this.layoutRun(r);return this.layoutCache[r]=o,o}},{key:"layout",value:function layout(r,i,o){if(i)return this.layoutRun(r,i);for(var u=o?null:[],p=o?null:[],g=0,y=0,w=0;w<=r.length;){var _;if(w===r.length&&y<w||(_=r.charAt(w),[" ","\t"].includes(_))){var x=this.layoutCached(r.slice(y,++w));o||(u=u.concat(x.glyphs),p=p.concat(x.positions)),g+=x.advanceWidth,y=w}else w++}return{glyphs:u,positions:p,advanceWidth:g}}},{key:"encode",value:function encode(r,i){for(var o=this.layout(r,i),u=o.glyphs,p=o.positions,g=[],y=0;y<u.length;y++){var w=u[y],_=this.subset.includeGlyph(w.id);g.push("0000".concat(_.toString(16)).slice(-4)),null==this.widths[_]&&(this.widths[_]=w.advanceWidth*this.scale),null==this.unicode[_]&&(this.unicode[_]=w.codePoints)}return[g,p]}},{key:"widthOfString",value:function widthOfString(r,i,o){return this.layout(r,o,!0).advanceWidth*(i/1e3)}},{key:"embed",value:function embed(){var r=this,i=null!=this.subset.cff,o=this.document.ref();i&&(o.data.Subtype="CIDFontType0C"),this.subset.encodeStream().on("data",(function(r){return o.write(r)})).on("end",(function(){return o.end()}));var u=((null!=this.font["OS/2"]?this.font["OS/2"].sFamilyClass:void 0)||0)>>8,p=0;this.font.post.isFixedPitch&&(p|=1),1<=u&&u<=7&&(p|=2),p|=4,10===u&&(p|=8),this.font.head.macStyle.italic&&(p|=64);var g=[1,2,3,4,5,6].map((function(i){return String.fromCharCode((r.id.charCodeAt(i)||73)+17)})).join("")+"+"+this.font.postscriptName,y=this.font.bbox,w=this.document.ref({Type:"FontDescriptor",FontName:g,Flags:p,FontBBox:[y.minX*this.scale,y.minY*this.scale,y.maxX*this.scale,y.maxY*this.scale],ItalicAngle:this.font.italicAngle,Ascent:this.ascender,Descent:this.descender,CapHeight:(this.font.capHeight||this.font.ascent)*this.scale,XHeight:(this.font.xHeight||0)*this.scale,StemV:0});i?w.data.FontFile3=o:w.data.FontFile2=o,w.end();var _={Type:"Font",Subtype:"CIDFontType0",BaseFont:g,CIDSystemInfo:{Registry:new String("Adobe"),Ordering:new String("Identity"),Supplement:0},FontDescriptor:w,W:[0,this.widths]};i||(_.Subtype="CIDFontType2",_.CIDToGIDMap="Identity");var x=this.document.ref(_);return x.end(),this.dictionary.data={Type:"Font",Subtype:"Type0",BaseFont:g,Encoding:"Identity-H",DescendantFonts:[x],ToUnicode:this.toUnicodeCmap()},this.dictionary.end()}},{key:"toUnicodeCmap",value:function toUnicodeCmap(){var r,i=this.document.ref(),o=[],u=_createForOfIteratorHelper(this.unicode);try{for(u.s();!(r=u.n()).done;){var p,g=r.value,y=[],w=_createForOfIteratorHelper(g);try{for(w.s();!(p=w.n()).done;){var _=p.value;_>65535&&(_-=65536,y.push(Ze(_>>>10&1023|55296)),_=56320|1023&_),y.push(Ze(_))}}catch(r){w.e(r)}finally{w.f()}o.push("<".concat(y.join(" "),">"))}}catch(r){u.e(r)}finally{u.f()}return i.end("/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n  /Registry (Adobe)\n  /Ordering (UCS)\n  /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000><ffff>\nendcodespacerange\n1 beginbfrange\n<0000> <".concat(Ze(o.length-1),"> [").concat(o.join(" "),"]\nendbfrange\nendcmap\nCMapName currentdict /CMap defineresource pop\nend\nend")),i}}]),EmbeddedFont}(He),Ye=function(){function PDFFontFactory(){_classCallCheck(this,PDFFontFactory)}return _createClass(PDFFontFactory,null,[{key:"open",value:function open(r,i,o,p){var g;if("string"==typeof i){if(Xe.isStandardFont(i))return new Xe(r,i,p);i=P.readFileSync(i)}if(u.isBuffer(i)?g=w.default.create(i,o):i instanceof Uint8Array?g=w.default.create(u.from(i),o):i instanceof ArrayBuffer&&(g=w.default.create(u.from(new Uint8Array(i)),o)),null==g)throw new Error("Not a supported font format or standard PDF font.");return new Ke(r,g,p)}}]),PDFFontFactory}(),Je={initFonts:function initFonts(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Helvetica";this._fontFamilies={},this._fontCount=0,this._fontSize=12,this._font=null,this._registeredFonts={},r&&this.font(r)},font:function font(r,i,o){var u,font;if("number"==typeof i&&(o=i,i=null),"string"==typeof r&&this._registeredFonts[r]){u=r;var p=this._registeredFonts[r];r=p.src,i=p.family}else"string"!=typeof(u=i||r)&&(u=null);if(null!=o&&this.fontSize(o),font=this._fontFamilies[u])return this._font=font,this;var g="F".concat(++this._fontCount);return this._font=Ye.open(this,r,i,g),(font=this._fontFamilies[this._font.name])?(this._font=font,this):(u&&(this._fontFamilies[u]=this._font),this._font.name&&(this._fontFamilies[this._font.name]=this._font),this)},fontSize:function fontSize(r){return this._fontSize=r,this},currentLineHeight:function currentLineHeight(r){return null==r&&(r=!1),this._font.lineHeight(this._fontSize,r)},registerFont:function registerFont(r,i,o){return this._registeredFonts[r]={src:i,family:o},this}},Qe=function(r){_inherits(LineWrapper,r);var i=_createSuper(LineWrapper);function LineWrapper(r,o){var u;return _classCallCheck(this,LineWrapper),(u=i.call(this)).document=r,u.indent=o.indent||0,u.characterSpacing=o.characterSpacing||0,u.wordSpacing=0===o.wordSpacing,u.columns=o.columns||1,u.columnGap=null!=o.columnGap?o.columnGap:18,u.lineWidth=(o.width-u.columnGap*(u.columns-1))/u.columns,u.spaceLeft=u.lineWidth,u.startX=u.document.x,u.startY=u.document.y,u.column=1,u.ellipsis=o.ellipsis,u.continuedX=0,u.features=o.features,null!=o.height?(u.height=o.height,u.maxY=u.startY+o.height):u.maxY=u.document.page.maxY(),u.on("firstLine",(function(r){var i=u.continuedX||u.indent;return u.document.x+=i,u.lineWidth-=i,u.once("line",(function(){if(u.document.x-=i,u.lineWidth+=i,r.continued&&!u.continuedX&&(u.continuedX=u.indent),!r.continued)return u.continuedX=0}))})),u.on("lastLine",(function(r){var i=r.align;return"justify"===i&&(r.align="left"),u.lastLine=!0,u.once("line",(function(){return u.document.y+=r.paragraphGap||0,r.align=i,u.lastLine=!1}))})),u}return _createClass(LineWrapper,[{key:"wordWidth",value:function wordWidth(r){return this.document.widthOfString(r,this)+this.characterSpacing+this.wordSpacing}},{key:"eachWord",value:function eachWord(r,i){for(var o,u=new x.default(r),p=null,g=Object.create(null);o=u.nextBreak();){var y,w=r.slice((null!=p?p.position:void 0)||0,o.position),_=null!=g[w]?g[w]:g[w]=this.wordWidth(w);if(_>this.lineWidth+this.continuedX)for(var k=p,P={};w.length;){var O,I;_>this.spaceLeft?(O=Math.ceil(this.spaceLeft/(_/w.length)),I=(_=this.wordWidth(w.slice(0,O)))<=this.spaceLeft&&O<w.length):O=w.length;for(var B=_>this.spaceLeft&&O>0;B||I;)B?B=(_=this.wordWidth(w.slice(0,--O)))>this.spaceLeft&&O>0:(B=(_=this.wordWidth(w.slice(0,++O)))>this.spaceLeft&&O>0,I=_<=this.spaceLeft&&O<w.length);if(0===O&&this.spaceLeft===this.lineWidth&&(O=1),P.required=o.required||O<w.length,y=i(w.slice(0,O),_,P,k),k={required:!1},w=w.slice(O),_=this.wordWidth(w),!1===y)break}else y=i(w,_,o,p);if(!1===y)break;p=o}}},{key:"wrap",value:function wrap(r,i){var o=this;null!=i.indent&&(this.indent=i.indent),null!=i.characterSpacing&&(this.characterSpacing=i.characterSpacing),null!=i.wordSpacing&&(this.wordSpacing=i.wordSpacing),null!=i.ellipsis&&(this.ellipsis=i.ellipsis);var u=this.document.y+this.document.currentLineHeight(!0);(this.document.y>this.maxY||u>this.maxY)&&this.nextSection();var p="",g=0,y=0,w=0,_=this.document.y,x=function emitLine(){return i.textWidth=g+o.wordSpacing*(y-1),i.wordCount=y,i.lineWidth=o.lineWidth,_=o.document.y,o.emit("line",p,i,o),w++};return this.emit("sectionStart",i,this),this.eachWord(r,(function(r,u,w,_){if((null==_||_.required)&&(o.emit("firstLine",i,o),o.spaceLeft=o.lineWidth),u<=o.spaceLeft&&(p+=r,g+=u,y++),w.required||u>o.spaceLeft){var k=o.document.currentLineHeight(!0);if(null!=o.height&&o.ellipsis&&o.document.y+2*k>o.maxY&&o.column>=o.columns){for(!0===o.ellipsis&&(o.ellipsis="…"),p=p.replace(/\s+$/,""),g=o.wordWidth(p+o.ellipsis);p&&g>o.lineWidth;)p=p.slice(0,-1).replace(/\s+$/,""),g=o.wordWidth(p+o.ellipsis);g<=o.lineWidth&&(p+=o.ellipsis),g=o.wordWidth(p)}if(w.required&&(u>o.spaceLeft&&(x(),p=r,g=u,y=1),o.emit("lastLine",i,o)),x(),o.document.y+k>o.maxY)if(!o.nextSection())return y=0,p="",!1;return w.required?(o.spaceLeft=o.lineWidth,p="",g=0,y=0):(o.spaceLeft=o.lineWidth-u,p=r,g=u,y=1)}return o.spaceLeft-=u})),y>0&&(this.emit("lastLine",i,this),x()),this.emit("sectionEnd",i,this),!0===i.continued?(w>1&&(this.continuedX=0),this.continuedX+=i.textWidth||0,this.document.y=_):this.document.x=this.startX}},{key:"nextSection",value:function nextSection(r){if(this.emit("sectionEnd",r,this),++this.column>this.columns){if(null!=this.height)return!1;var i;if(this.document.continueOnNewPage(),this.column=1,this.startY=this.document.page.margins.top,this.maxY=this.document.page.maxY(),this.document.x=this.startX,this.document._fillColor)(i=this.document).fillColor.apply(i,_toConsumableArray(this.document._fillColor));this.emit("pageBreak",r,this)}else this.document.x+=this.lineWidth+this.columnGap,this.document.y=this.startY,this.emit("columnBreak",r,this);return this.emit("sectionStart",r,this),!0}}]),LineWrapper}(_.EventEmitter),$e=W.number,et={initText:function initText(){return this._line=this._line.bind(this),this.x=0,this.y=0,this._lineGap=0},lineGap:function lineGap(r){return this._lineGap=r,this},moveDown:function moveDown(r){return null==r&&(r=1),this.y+=this.currentLineHeight(!0)*r+this._lineGap,this},moveUp:function moveUp(r){return null==r&&(r=1),this.y-=this.currentLineHeight(!0)*r+this._lineGap,this},_text:function _text(r,i,o,u,p){var g=this;u=this._initOptions(i,o,u),r=null==r?"":"".concat(r),u.wordSpacing&&(r=r.replace(/\s{2,}/g," "));var y=function addStructure(){u.structParent&&u.structParent.add(g.struct(u.structType||"P",[g.markStructureContent(u.structType||"P")]))};if(u.width){var w=this._wrapper;w||((w=new Qe(this,u)).on("line",p),w.on("firstLine",y)),this._wrapper=u.continued?w:null,this._textOptions=u.continued?u:null,w.wrap(r,u)}else{var _,x=_createForOfIteratorHelper(r.split("\n"));try{for(x.s();!(_=x.n()).done;){var k=_.value;y(),p(k,u)}}catch(r){x.e(r)}finally{x.f()}}return this},text:function text(r,i,o,u){return this._text(r,i,o,u,this._line)},widthOfString:function widthOfString(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._font.widthOfString(r,this._fontSize,i.features)+(i.characterSpacing||0)*(r.length-1)},heightOfString:function heightOfString(r,i){var o=this,u=this.x,p=this.y;(i=this._initOptions(i)).height=1/0;var g=i.lineGap||this._lineGap||0;this._text(r,this.x,this.y,i,(function(){return o.y+=o.currentLineHeight(!0)+g}));var y=this.y-p;return this.x=u,this.y=p,y},list:function list(r,i,o,u,p){var g=this,y=(u=this._initOptions(i,o,u)).listType||"bullet",w=Math.round(this._font.ascender/1e3*this._fontSize),_=w/2,x=u.bulletRadius||w/3,k=u.textIndent||("bullet"===y?5*x:2*w),P=u.bulletIndent||("bullet"===y?8*x:2*w),O=1,I=[],B=[],R=[];!function flatten(r){for(var i=1,o=0;o<r.length;o++){var u=r[o];Array.isArray(u)?(O++,flatten(u),O--):(I.push(u),B.push(O),"bullet"!==y&&R.push(i++))}}(r);(p=new Qe(this,u)).on("line",this._line),O=1;var D=0;return p.on("firstLine",(function(){var r,i,o,w,I;if(u.structParent)if(u.structTypes){var N=_slicedToArray(u.structTypes,3);i=N[0],o=N[1],w=N[2]}else i="LI",o="Lbl",w="LBody";if(i?(r=g.struct(i),u.structParent.add(r)):u.structParent&&(r=u.structParent),(I=B[D++])!==O){var W=P*(I-O);g.x+=W,p.lineWidth-=W,O=I}switch(r&&(o||w)&&r.add(g.struct(o||w,[g.markStructureContent(o||w)])),y){case"bullet":g.circle(g.x-k+x,g.y+_,x),g.fill();break;case"numbered":case"lettered":var U=function label(r){switch(y){case"numbered":return"".concat(r,".");case"lettered":var i=String.fromCharCode((r-1)%26+65),o=Math.floor((r-1)/26+1),u=Array(o+1).join(i);return"".concat(u,".")}}(R[D-1]);g._fragment(U,g.x-k,g.y,u)}r&&o&&w&&r.add(g.struct(w,[g.markStructureContent(w)])),r&&r!==u.structParent&&r.end()})),p.on("sectionStart",(function(){var r=k+P*(O-1);return g.x+=r,p.lineWidth-=r})),p.on("sectionEnd",(function(){var r=k+P*(O-1);return g.x-=r,p.lineWidth+=r})),p.wrap(I.join("\n"),u),this},_initOptions:function _initOptions(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1?arguments[1]:void 0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};"object"==typeof r&&(o=r,r=null);var u=Object.assign({},o);if(this._textOptions)for(var p in this._textOptions){var g=this._textOptions[p];"continued"!==p&&void 0===u[p]&&(u[p]=g)}return null!=r&&(this.x=r),null!=i&&(this.y=i),!1!==u.lineBreak&&(null==u.width&&(u.width=this.page.width-this.x-this.page.margins.right),u.width=Math.max(u.width,0)),u.columns||(u.columns=0),null==u.columnGap&&(u.columnGap=18),u},_line:function _line(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;this._fragment(r,this.x,this.y,i);var u=i.lineGap||this._lineGap||0;return o?this.y+=this.currentLineHeight(!0)+u:this.x+=this.widthOfString(r)},_fragment:function _fragment(r,i,o,u){var p,g,y,w,_,x,k=this;if(0!==(r="".concat(r).replace(/\n/g,"")).length){var P=u.align||"left",O=u.wordSpacing||0,I=u.characterSpacing||0;if(u.width)switch(P){case"right":_=this.widthOfString(r.replace(/\s+$/,""),u),i+=u.lineWidth-_;break;case"center":i+=u.lineWidth/2-u.textWidth/2;break;case"justify":x=r.trim().split(/\s+/),_=this.widthOfString(r.replace(/\s+/g,""),u);var B=this.widthOfString(" ")+I;O=Math.max(0,(u.lineWidth-_)/Math.max(1,x.length-1)-B)}if("number"==typeof u.baseline)p=-u.baseline;else{switch(u.baseline){case"svg-middle":p=.5*this._font.xHeight;break;case"middle":case"svg-central":p=.5*(this._font.descender+this._font.ascender);break;case"bottom":case"ideographic":p=this._font.descender;break;case"alphabetic":p=0;break;case"mathematical":p=.5*this._font.ascender;break;case"hanging":p=.8*this._font.ascender;break;default:p=this._font.ascender}p=p/1e3*this._fontSize}var R,D=u.textWidth+O*(u.wordCount-1)+I*(r.length-1);if(null!=u.link&&this.link(i,o,D,this.currentLineHeight(),u.link),null!=u.goTo&&this.goTo(i,o,D,this.currentLineHeight(),u.goTo),null!=u.destination&&this.addNamedDestination(u.destination,"XYZ",i,o,null),u.underline){this.save(),u.stroke||this.strokeColor.apply(this,_toConsumableArray(this._fillColor||[]));var N=this._fontSize<10?.5:Math.floor(this._fontSize/10);this.lineWidth(N);var W=o+this.currentLineHeight()-N;this.moveTo(i,W),this.lineTo(i+D,W),this.stroke(),this.restore()}if(u.strike){this.save(),u.stroke||this.strokeColor.apply(this,_toConsumableArray(this._fillColor||[]));var U=this._fontSize<10?.5:Math.floor(this._fontSize/10);this.lineWidth(U);var j=o+this.currentLineHeight()/2;this.moveTo(i,j),this.lineTo(i+D,j),this.stroke(),this.restore()}if(this.save(),u.oblique)R="number"==typeof u.oblique?-Math.tan(u.oblique*Math.PI/180):-.25,this.transform(1,0,0,1,i,o),this.transform(1,0,R,1,-R*p,0),this.transform(1,0,0,1,-i,-o);this.transform(1,0,0,-1,0,this.page.height),o=this.page.height-o-p,null==this.page.fonts[this._font.id]&&(this.page.fonts[this._font.id]=this._font.ref()),this.addContent("BT"),this.addContent("1 0 0 1 ".concat($e(i)," ").concat($e(o)," Tm")),this.addContent("/".concat(this._font.id," ").concat($e(this._fontSize)," Tf"));var G=u.fill&&u.stroke?2:u.stroke?1:0;if(G&&this.addContent("".concat(G," Tr")),I&&this.addContent("".concat($e(I)," Tc")),O){x=r.trim().split(/\s+/),O+=this.widthOfString(" ")+I,O*=1e3/this._fontSize,g=[],w=[];var X,K=_createForOfIteratorHelper(x);try{for(K.s();!(X=K.n()).done;){var Y=X.value,J=_slicedToArray(this._font.encode(Y,u.features),2),$=J[0],ee=J[1];g=g.concat($),w=w.concat(ee);var te={},re=w[w.length-1];for(var ne in re){var ie=re[ne];te[ne]=ie}te.xAdvance+=O,w[w.length-1]=te}}catch(r){K.e(r)}finally{K.f()}}else{var oe=_slicedToArray(this._font.encode(r,u.features),2);g=oe[0],w=oe[1]}var ae=this._fontSize/1e3,se=[],ce=0,le=!1,ue=function addSegment(r){if(ce<r){var i=g.slice(ce,r).join(""),o=w[r-1].xAdvance-w[r-1].advanceWidth;se.push("<".concat(i,"> ").concat($e(-o)))}return ce=r},fe=function flush(r){if(ue(r),se.length>0)return k.addContent("[".concat(se.join(" "),"] TJ")),se.length=0};for(y=0;y<w.length;y++){var he=w[y];he.xOffset||he.yOffset?(fe(y),this.addContent("1 0 0 1 ".concat($e(i+he.xOffset*ae)," ").concat($e(o+he.yOffset*ae)," Tm")),fe(y+1),le=!0):(le&&(this.addContent("1 0 0 1 ".concat($e(i)," ").concat($e(o)," Tm")),le=!1),he.xAdvance-he.advanceWidth!=0&&ue(y+1)),i+=he.xAdvance*ae}return fe(y),this.addContent("ET"),this.restore()}}},tt=[65472,65473,65474,65475,65477,65478,65479,65480,65481,65482,65483,65484,65485,65486,65487],rt={1:"DeviceGray",3:"DeviceRGB",4:"DeviceCMYK"},nt=function(){function JPEG(r,i){var o;if(_classCallCheck(this,JPEG),this.data=r,this.label=i,65496!==this.data.readUInt16BE(0))throw"SOI not found in JPEG";for(var u=2;u<this.data.length&&(o=this.data.readUInt16BE(u),u+=2,!tt.includes(o));)u+=this.data.readUInt16BE(u);if(!tt.includes(o))throw"Invalid JPEG.";u+=2,this.bits=this.data[u++],this.height=this.data.readUInt16BE(u),u+=2,this.width=this.data.readUInt16BE(u),u+=2;var p=this.data[u++];this.colorSpace=rt[p],this.obj=null}return _createClass(JPEG,[{key:"embed",value:function embed(r){if(!this.obj)return this.obj=r.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:this.bits,Width:this.width,Height:this.height,ColorSpace:this.colorSpace,Filter:"DCTDecode"}),"DeviceCMYK"===this.colorSpace&&(this.obj.data.Decode=[1,0,1,0,1,0,1,0]),this.obj.end(this.data),this.data=null}}]),JPEG}(),it=function(){function PNGImage(r,i){_classCallCheck(this,PNGImage),this.label=i,this.image=new k.default(r),this.width=this.image.width,this.height=this.image.height,this.imgData=this.image.imgData,this.obj=null}return _createClass(PNGImage,[{key:"embed",value:function embed(r){var i=!1;if(this.document=r,!this.obj){var o=this.image.hasAlphaChannel,p=1===this.image.interlaceMethod;if(this.obj=this.document.ref({Type:"XObject",Subtype:"Image",BitsPerComponent:o?8:this.image.bits,Width:this.width,Height:this.height,Filter:"FlateDecode"}),!o){var g=this.document.ref({Predictor:p?1:15,Colors:this.image.colors,BitsPerComponent:this.image.bits,Columns:this.width});this.obj.data.DecodeParms=g,g.end()}if(0===this.image.palette.length)this.obj.data.ColorSpace=this.image.colorSpace;else{var y=this.document.ref();y.end(u.from(this.image.palette)),this.obj.data.ColorSpace=["Indexed","DeviceRGB",this.image.palette.length/3-1,y]}if(null!=this.image.transparency.grayscale){var w=this.image.transparency.grayscale;this.obj.data.Mask=[w,w]}else if(this.image.transparency.rgb){var _,x=[],k=_createForOfIteratorHelper(this.image.transparency.rgb);try{for(k.s();!(_=k.n()).done;){var P=_.value;x.push(P,P)}}catch(r){k.e(r)}finally{k.f()}this.obj.data.Mask=x}else{if(this.image.transparency.indexed)return i=!0,this.loadIndexedAlphaChannel();if(o)return i=!0,this.splitAlphaChannel()}if(p&&!i)return this.decodeData();this.finalize()}}},{key:"finalize",value:function finalize(){if(this.alphaChannel){var r=this.document.ref({Type:"XObject",Subtype:"Image",Height:this.height,Width:this.width,BitsPerComponent:8,Filter:"FlateDecode",ColorSpace:"DeviceGray",Decode:[0,1]});r.end(this.alphaChannel),this.obj.data.SMask=r}return this.obj.end(this.imgData),this.image=null,this.imgData=null}},{key:"splitAlphaChannel",value:function splitAlphaChannel(){var r=this;return this.image.decodePixels((function(i){for(var o,p,y=r.image.colors,w=r.width*r.height,_=u.alloc(w*y),x=u.alloc(w),k=p=o=0,P=i.length,O=16===r.image.bits?1:0;k<P;){for(var I=0;I<y;I++)_[p++]=i[k++],k+=O;x[o++]=i[k++],k+=O}return r.imgData=g.default.deflateSync(_),r.alphaChannel=g.default.deflateSync(x),r.finalize()}))}},{key:"loadIndexedAlphaChannel",value:function loadIndexedAlphaChannel(){var r=this,i=this.image.transparency.indexed;return this.image.decodePixels((function(o){for(var p=u.alloc(r.width*r.height),y=0,w=0,_=o.length;w<_;w++)p[y++]=i[o[w]];return r.alphaChannel=g.default.deflateSync(p),r.finalize()}))}},{key:"decodeData",value:function decodeData(){var r=this;this.image.decodePixels((function(i){r.imgData=g.default.deflateSync(i),r.finalize()}))}}]),PNGImage}(),ot=function(){function PDFImage(){_classCallCheck(this,PDFImage)}return _createClass(PDFImage,null,[{key:"open",value:function open(r,i){var o;if(u.isBuffer(r))o=r;else if(r instanceof ArrayBuffer)o=u.from(new Uint8Array(r));else{var p;if(p=/^data:.+;base64,(.*)$/.exec(r))o=u.from(p[1],"base64");else if(!(o=P.readFileSync(r)))return}if(255===o[0]&&216===o[1])return new nt(o,i);if(137===o[0]&&"PNG"===o.toString("ascii",1,4))return new it(o,i);throw new Error("Unknown image format.")}}]),PDFImage}(),at={initImages:function initImages(){return this._imageRegistry={},this._imageCount=0},image:function image(r,i,o){var u,p,g,image,y,w,_,x=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};"object"==typeof i&&(x=i,i=null),i=null!=(w=null!=i?i:x.x)?w:this.x,o=null!=(_=null!=o?o:x.y)?_:this.y,"string"==typeof r&&(image=this._imageRegistry[r]),image||(image=r.width&&r.height?r:this.openImage(r)),image.obj||image.embed(this),null==this.page.xobjects[image.label]&&(this.page.xobjects[image.label]=image.obj);var k=x.width||image.width,P=x.height||image.height;if(x.width&&!x.height){var O=k/image.width;k=image.width*O,P=image.height*O}else if(x.height&&!x.width){var I=P/image.height;k=image.width*I,P=image.height*I}else if(x.scale)k=image.width*x.scale,P=image.height*x.scale;else if(x.fit){var B=_slicedToArray(x.fit,2);p=(g=B[0])/(u=B[1]),(y=image.width/image.height)>p?(k=g,P=g/y):(P=u,k=u*y)}else if(x.cover){var R=_slicedToArray(x.cover,2);p=(g=R[0])/(u=R[1]),(y=image.width/image.height)>p?(P=u,k=u*y):(k=g,P=g/y)}return(x.fit||x.cover)&&("center"===x.align?i=i+g/2-k/2:"right"===x.align&&(i=i+g-k),"center"===x.valign?o=o+u/2-P/2:"bottom"===x.valign&&(o=o+u-P)),null!=x.link&&this.link(i,o,k,P,x.link),null!=x.goTo&&this.goTo(i,o,k,P,x.goTo),null!=x.destination&&this.addNamedDestination(x.destination,"XYZ",i,o,null),this.y===o&&(this.y+=P),this.save(),this.transform(k,0,0,-P,i,o+P),this.addContent("/".concat(image.label," Do")),this.restore(),this},openImage:function openImage(r){var i;return"string"==typeof r&&(i=this._imageRegistry[r]),i||(i=ot.open(r,"I".concat(++this._imageCount)),"string"==typeof r&&(this._imageRegistry[r]=i)),i}},st={annotate:function annotate(r,i,o,u,p){for(var g in p.Type="Annot",p.Rect=this._convertRect(r,i,o,u),p.Border=[0,0,0],"Link"===p.Subtype&&void 0===p.F&&(p.F=4),"Link"!==p.Subtype&&null==p.C&&(p.C=this._normalizeColor(p.color||[0,0,0])),delete p.color,"string"==typeof p.Dest&&(p.Dest=new String(p.Dest)),p){var y=p[g];p[g[0].toUpperCase()+g.slice(1)]=y}var w=this.ref(p);return this.page.annotations.push(w),w.end(),this},note:function note(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return g.Subtype="Text",g.Contents=new String(p),g.Name="Comment",null==g.color&&(g.color=[243,223,92]),this.annotate(r,i,o,u,g)},goTo:function goTo(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return g.Subtype="Link",g.A=this.ref({S:"GoTo",D:new String(p)}),g.A.end(),this.annotate(r,i,o,u,g)},link:function link(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};if(g.Subtype="Link","number"==typeof p){var y=this._root.data.Pages.data;if(!(p>=0&&p<y.Kids.length))throw new Error("The document has no page ".concat(p));g.A=this.ref({S:"GoTo",D:[y.Kids[p],"XYZ",null,null,null]}),g.A.end()}else g.A=this.ref({S:"URI",URI:new String(p)}),g.A.end();return this.annotate(r,i,o,u,g)},_markup:function _markup(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},g=this._convertRect(r,i,o,u),y=_slicedToArray(g,4),w=y[0],_=y[1],x=y[2],k=y[3];return p.QuadPoints=[w,k,x,k,w,_,x,_],p.Contents=new String,this.annotate(r,i,o,u,p)},highlight:function highlight(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return p.Subtype="Highlight",null==p.color&&(p.color=[241,238,148]),this._markup(r,i,o,u,p)},underline:function underline(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return p.Subtype="Underline",this._markup(r,i,o,u,p)},strike:function strike(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return p.Subtype="StrikeOut",this._markup(r,i,o,u,p)},lineAnnotation:function lineAnnotation(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return p.Subtype="Line",p.Contents=new String,p.L=[r,this.page.height-i,o,this.page.height-u],this.annotate(r,i,o,u,p)},rectAnnotation:function rectAnnotation(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return p.Subtype="Square",p.Contents=new String,this.annotate(r,i,o,u,p)},ellipseAnnotation:function ellipseAnnotation(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return p.Subtype="Circle",p.Contents=new String,this.annotate(r,i,o,u,p)},textAnnotation:function textAnnotation(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return g.Subtype="FreeText",g.Contents=new String(p),g.DA=new String,this.annotate(r,i,o,u,g)},fileAnnotation:function fileAnnotation(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},y=this.file(p.src,Object.assign({hidden:!0},p));return g.Subtype="FileAttachment",g.FS=y,g.Contents?g.Contents=new String(g.Contents):y.data.Desc&&(g.Contents=y.data.Desc),this.annotate(r,i,o,u,g)},_convertRect:function _convertRect(r,i,o,u){var p=i;i+=u;var g=r+o,y=_slicedToArray(this._ctm,6),w=y[0],_=y[1],x=y[2],k=y[3],P=y[4],O=y[5];return[r=w*r+x*i+P,i=_*r+k*i+O,g=w*g+x*p+P,p=_*g+k*p+O]}},ct=function(){function PDFOutline(r,i,o,u){var p=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{expanded:!1};_classCallCheck(this,PDFOutline),this.document=r,this.options=p,this.outlineData={},null!==u&&(this.outlineData.Dest=[u.dictionary,"Fit"]),null!==i&&(this.outlineData.Parent=i),null!==o&&(this.outlineData.Title=new String(o)),this.dictionary=this.document.ref(this.outlineData),this.children=[]}return _createClass(PDFOutline,[{key:"addItem",value:function addItem(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{expanded:!1},o=new PDFOutline(this.document,this.dictionary,r,this.document.page,i);return this.children.push(o),o}},{key:"endOutline",value:function endOutline(){if(this.children.length>0){this.options.expanded&&(this.outlineData.Count=this.children.length);var r=this.children[0],i=this.children[this.children.length-1];this.outlineData.First=r.dictionary,this.outlineData.Last=i.dictionary;for(var o=0,u=this.children.length;o<u;o++){var p=this.children[o];o>0&&(p.outlineData.Prev=this.children[o-1].dictionary),o<this.children.length-1&&(p.outlineData.Next=this.children[o+1].dictionary),p.endOutline()}}return this.dictionary.end()}}]),PDFOutline}(),lt={initOutline:function initOutline(){return this.outline=new ct(this,null,null,null)},endOutline:function endOutline(){if(this.outline.endOutline(),this.outline.children.length>0)return this._root.data.Outlines=this.outline.dictionary,this._root.data.PageMode="UseOutlines"}},ut=function(){function PDFStructureContent(r,i){_classCallCheck(this,PDFStructureContent),this.refs=[{pageRef:r,mcid:i}]}return _createClass(PDFStructureContent,[{key:"push",value:function push(r){var i=this;r.refs.forEach((function(r){return i.refs.push(r)}))}}]),PDFStructureContent}(),ft=function(){function PDFStructureElement(r,i){var o=this,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;_classCallCheck(this,PDFStructureElement),this.document=r,this._attached=!1,this._ended=!1,this._flushed=!1,this.dictionary=r.ref({S:i});var g=this.dictionary.data;(Array.isArray(u)||this._isValidChild(u))&&(p=u,u={}),void 0!==u.title&&(g.T=new String(u.title)),void 0!==u.lang&&(g.Lang=new String(u.lang)),void 0!==u.alt&&(g.Alt=new String(u.alt)),void 0!==u.expanded&&(g.E=new String(u.expanded)),void 0!==u.actual&&(g.ActualText=new String(u.actual)),this._children=[],p&&(Array.isArray(p)||(p=[p]),p.forEach((function(r){return o.add(r)})),this.end())}return _createClass(PDFStructureElement,[{key:"add",value:function add(r){if(this._ended)throw new Error("Cannot add child to already-ended structure element");if(!this._isValidChild(r))throw new Error("Invalid structure element child");return r instanceof PDFStructureElement&&(r.setParent(this.dictionary),this._attached&&r.setAttached()),r instanceof ut&&this._addContentToParentTree(r),"function"==typeof r&&this._attached&&(r=this._contentForClosure(r)),this._children.push(r),this}},{key:"_addContentToParentTree",value:function _addContentToParentTree(r){var i=this;r.refs.forEach((function(r){var o=r.pageRef,u=r.mcid;i.document.getStructParentTree().get(o.data.StructParents)[u]=i.dictionary}))}},{key:"setParent",value:function setParent(r){if(this.dictionary.data.P)throw new Error("Structure element added to more than one parent");this.dictionary.data.P=r,this._flush()}},{key:"setAttached",value:function setAttached(){var r=this;this._attached||(this._children.forEach((function(i,o){i instanceof PDFStructureElement&&i.setAttached(),"function"==typeof i&&(r._children[o]=r._contentForClosure(i))})),this._attached=!0,this._flush())}},{key:"end",value:function end(){this._ended||(this._children.filter((function(r){return r instanceof PDFStructureElement})).forEach((function(r){return r.end()})),this._ended=!0,this._flush())}},{key:"_isValidChild",value:function _isValidChild(r){return r instanceof PDFStructureElement||r instanceof ut||"function"==typeof r}},{key:"_contentForClosure",value:function _contentForClosure(r){var i=this.document.markStructureContent(this.dictionary.data.S);return r(),this.document.endMarkedContent(),this._addContentToParentTree(i),i}},{key:"_isFlushable",value:function _isFlushable(){return!(!this.dictionary.data.P||!this._ended)&&this._children.every((function(r){return"function"!=typeof r&&(!(r instanceof PDFStructureElement)||r._isFlushable())}))}},{key:"_flush",value:function _flush(){var r=this;!this._flushed&&this._isFlushable()&&(this.dictionary.data.K=[],this._children.forEach((function(i){return r._flushChild(i)})),this.dictionary.end(),this._children=[],this.dictionary.data.K=null,this._flushed=!0)}},{key:"_flushChild",value:function _flushChild(r){var i=this;r instanceof PDFStructureElement&&this.dictionary.data.K.push(r.dictionary),r instanceof ut&&r.refs.forEach((function(r){var o=r.pageRef,u=r.mcid;i.dictionary.data.Pg||(i.dictionary.data.Pg=o),i.dictionary.data.Pg===o?i.dictionary.data.K.push(u):i.dictionary.data.K.push({Type:"MCR",Pg:o,MCID:u})}))}}]),PDFStructureElement}(),ht=function(r){_inherits(PDFNumberTree,r);var i=_createSuper(PDFNumberTree);function PDFNumberTree(){return _classCallCheck(this,PDFNumberTree),i.apply(this,arguments)}return _createClass(PDFNumberTree,[{key:"_compareKeys",value:function _compareKeys(r,i){return parseInt(r)-parseInt(i)}},{key:"_keysName",value:function _keysName(){return"Nums"}},{key:"_dataForKey",value:function _dataForKey(r){return parseInt(r)}}]),PDFNumberTree}(I),dt={initMarkings:function initMarkings(r){this.structChildren=[],r.tagged&&(this.getMarkInfoDictionary().data.Marked=!0,this.getStructTreeRoot())},markContent:function markContent(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("Artifact"===r||i&&i.mcid){var o=0;for(this.page.markings.forEach((function(r){(o||r.structContent||"Artifact"===r.tag)&&o++}));o--;)this.endMarkedContent()}if(!i)return this.page.markings.push({tag:r}),this.addContent("/".concat(r," BMC")),this;this.page.markings.push({tag:r,options:i});var u={};return void 0!==i.mcid&&(u.MCID=i.mcid),"Artifact"===r&&("string"==typeof i.type&&(u.Type=i.type),Array.isArray(i.bbox)&&(u.BBox=[i.bbox[0],this.page.height-i.bbox[3],i.bbox[2],this.page.height-i.bbox[1]]),Array.isArray(i.attached)&&i.attached.every((function(r){return"string"==typeof r}))&&(u.Attached=i.attached)),"Span"===r&&(i.lang&&(u.Lang=new String(i.lang)),i.alt&&(u.Alt=new String(i.alt)),i.expanded&&(u.E=new String(i.expanded)),i.actual&&(u.ActualText=new String(i.actual))),this.addContent("/".concat(r," ").concat(W.convert(u)," BDC")),this},markStructureContent:function markStructureContent(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this.getStructParentTree().get(this.page.structParentTreeKey),u=o.length;o.push(null),this.markContent(r,_objectSpread2(_objectSpread2({},i),{},{mcid:u}));var p=new ut(this.page.dictionary,u);return this.page.markings.slice(-1)[0].structContent=p,p},endMarkedContent:function endMarkedContent(){return this.page.markings.pop(),this.addContent("EMC"),this},struct:function struct(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return new ft(this,r,i,o)},addStructure:function addStructure(r){var i=this.getStructTreeRoot();return r.setParent(i),r.setAttached(),this.structChildren.push(r),i.data.K||(i.data.K=[]),i.data.K.push(r.dictionary),this},initPageMarkings:function initPageMarkings(r){var i=this;r.forEach((function(r){if(r.structContent){var o=r.structContent,u=i.markStructureContent(r.tag,r.options);o.push(u),i.page.markings.slice(-1)[0].structContent=o}else i.markContent(r.tag,r.options)}))},endPageMarkings:function endPageMarkings(r){var i=r.markings;return i.forEach((function(){return r.write("EMC")})),r.markings=[],i},getMarkInfoDictionary:function getMarkInfoDictionary(){return this._root.data.MarkInfo||(this._root.data.MarkInfo=this.ref({})),this._root.data.MarkInfo},getStructTreeRoot:function getStructTreeRoot(){return this._root.data.StructTreeRoot||(this._root.data.StructTreeRoot=this.ref({Type:"StructTreeRoot",ParentTree:new ht,ParentTreeNextKey:0})),this._root.data.StructTreeRoot},getStructParentTree:function getStructParentTree(){return this.getStructTreeRoot().data.ParentTree},createStructParentTreeNextKey:function createStructParentTreeNextKey(){this.getMarkInfoDictionary();var r=this.getStructTreeRoot(),i=r.data.ParentTreeNextKey++;return r.data.ParentTree.add(i,[]),i},endMarkings:function endMarkings(){var r=this._root.data.StructTreeRoot;r&&(r.end(),this.structChildren.forEach((function(r){return r.end()}))),this._root.data.MarkInfo&&this._root.data.MarkInfo.end()}},pt={readOnly:1,required:2,noExport:4,multiline:4096,password:8192,toggleToOffButton:16384,radioButton:32768,pushButton:65536,combo:131072,edit:262144,sort:524288,multiSelect:2097152,noSpell:4194304},gt={left:0,center:1,right:2},yt={value:"V",defaultValue:"DV"},vt={zip:"0",zipPlus4:"1",zip4:"1",phone:"2",ssn:"3"},mt={nDec:0,sepComma:!1,negStyle:"MinusBlack",currency:"",currencyPrepend:!0},bt={nDec:0,sepComma:!1},wt={initForm:function initForm(){if(!this._font)throw new Error("Must set a font before calling initForm method");this._acroform={fonts:{},defaultFont:this._font.name},this._acroform.fonts[this._font.id]=this._font.ref();var r={Fields:[],NeedAppearances:!0,DA:new String("/".concat(this._font.id," 0 Tf 0 g")),DR:{Font:{}}};r.DR.Font[this._font.id]=this._font.ref();var i=this.ref(r);return this._root.data.AcroForm=i,this},endAcroForm:function endAcroForm(){var r=this;if(this._root.data.AcroForm){if(!Object.keys(this._acroform.fonts).length&&!this._acroform.defaultFont)throw new Error("No fonts specified for PDF form");var i=this._root.data.AcroForm.data.DR.Font;Object.keys(this._acroform.fonts).forEach((function(o){i[o]=r._acroform.fonts[o]})),this._root.data.AcroForm.data.Fields.forEach((function(i){r._endChild(i)})),this._root.data.AcroForm.end()}return this},_endChild:function _endChild(r){var i=this;return Array.isArray(r.data.Kids)&&(r.data.Kids.forEach((function(r){i._endChild(r)})),r.end()),this},formField:function formField(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=this._fieldDict(r,null,i),u=this.ref(o);return this._addToParent(u),u},formAnnotation:function formAnnotation(r,i,o,u,p,g){var y=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},w=this._fieldDict(r,i,y);w.Subtype="Widget",void 0===w.F&&(w.F=4),this.annotate(o,u,p,g,w);var _=this.page.annotations[this.page.annotations.length-1];return this._addToParent(_)},formText:function formText(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(r,"text",i,o,u,p,g)},formPushButton:function formPushButton(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(r,"pushButton",i,o,u,p,g)},formCombo:function formCombo(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(r,"combo",i,o,u,p,g)},formList:function formList(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(r,"list",i,o,u,p,g)},formRadioButton:function formRadioButton(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(r,"radioButton",i,o,u,p,g)},formCheckbox:function formCheckbox(r,i,o,u,p){var g=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};return this.formAnnotation(r,"checkbox",i,o,u,p,g)},_addToParent:function _addToParent(r){var i=r.data.Parent;return i?(i.data.Kids||(i.data.Kids=[]),i.data.Kids.push(r)):this._root.data.AcroForm.data.Fields.push(r),this},_fieldDict:function _fieldDict(r,i){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!this._acroform)throw new Error("Call document.initForms() method before adding form elements to document");var u=Object.assign({},o);return null!==i&&(u=this._resolveType(i,o)),u=this._resolveFlags(u),u=this._resolveJustify(u),u=this._resolveFont(u),u=this._resolveStrings(u),u=this._resolveColors(u),(u=this._resolveFormat(u)).T=new String(r),u.parent&&(u.Parent=u.parent,delete u.parent),u},_resolveType:function _resolveType(r,i){if("text"===r)i.FT="Tx";else if("pushButton"===r)i.FT="Btn",i.pushButton=!0;else if("radioButton"===r)i.FT="Btn",i.radioButton=!0;else if("checkbox"===r)i.FT="Btn";else if("combo"===r)i.FT="Ch",i.combo=!0;else{if("list"!==r)throw new Error("Invalid form annotation type '".concat(r,"'"));i.FT="Ch"}return i},_resolveFormat:function _resolveFormat(r){var i=r.format;if(i&&i.type){var o,u,p="";if(void 0!==vt[i.type])o="AFSpecial_Keystroke",u="AFSpecial_Format",p=vt[i.type];else{var g=i.type.charAt(0).toUpperCase()+i.type.slice(1);if(o="AF".concat(g,"_Keystroke"),u="AF".concat(g,"_Format"),"date"===i.type)o+="Ex",p=String(i.param);else if("time"===i.type)p=String(i.param);else if("number"===i.type){var y=Object.assign({},mt,i);p=String([String(y.nDec),y.sepComma?"0":"1",'"'+y.negStyle+'"',"null",'"'+y.currency+'"',String(y.currencyPrepend)].join(","))}else if("percent"===i.type){var w=Object.assign({},bt,i);p=String([String(w.nDec),w.sepComma?"0":"1"].join(","))}}r.AA=r.AA?r.AA:{},r.AA.K={S:"JavaScript",JS:new String("".concat(o,"(").concat(p,");"))},r.AA.F={S:"JavaScript",JS:new String("".concat(u,"(").concat(p,");"))}}return delete r.format,r},_resolveColors:function _resolveColors(r){var i=this._normalizeColor(r.backgroundColor);return i&&(r.MK||(r.MK={}),r.MK.BG=i),(i=this._normalizeColor(r.borderColor))&&(r.MK||(r.MK={}),r.MK.BC=i),delete r.backgroundColor,delete r.borderColor,r},_resolveFlags:function _resolveFlags(r){var i=0;return Object.keys(r).forEach((function(o){pt[o]&&(i|=pt[o],delete r[o])})),0!==i&&(r.Ff=r.Ff?r.Ff:0,r.Ff|=i),r},_resolveJustify:function _resolveJustify(r){var i=0;return void 0!==r.align&&("number"==typeof gt[r.align]&&(i=gt[r.align]),delete r.align),0!==i&&(r.Q=i),r},_resolveFont:function _resolveFont(r){if(null===this._acroform.fonts[this._font.id]&&(this._acroform.fonts[this._font.id]=this._font.ref()),this._acroform.defaultFont!==this._font.name){r.DR={Font:{}};var i=r.fontSize||0;r.DR.Font[this._font.id]=this._font.ref(),r.DA=new String("/".concat(this._font.id," ").concat(i," Tf 0 g"))}return r},_resolveStrings:function _resolveStrings(r){var i=[];function appendChoices(r){if(Array.isArray(r))for(var o=0;o<r.length;o++)"string"==typeof r[o]?i.push(new String(r[o])):i.push(r[o])}return appendChoices(r.Opt),r.select&&(appendChoices(r.select),delete r.select),i.length&&(r.Opt=i),Object.keys(yt).forEach((function(i){void 0!==r[i]&&(r[yt[i]]=r[i],delete r[i])})),["V","DV"].forEach((function(i){"string"==typeof r[i]&&(r[i]=new String(r[i]))})),r.MK&&r.MK.CA&&(r.MK.CA=new String(r.MK.CA)),r.label&&(r.MK=r.MK?r.MK:{},r.MK.CA=new String(r.label),delete r.label),r}},_t={file:function file(r){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i.name=i.name||r;var o,p={Type:"EmbeddedFile",Params:{}};if(!r)throw new Error("No src specified");if(u.isBuffer(r))o=r;else if(r instanceof ArrayBuffer)o=u.from(new Uint8Array(r));else{var g;if(g=/^data:(.*);base64,(.*)$/.exec(r))g[1]&&(p.Subtype=g[1].replace("/","#2F")),o=u.from(g[2],"base64");else{if(!(o=P.readFileSync(r)))throw new Error("Could not read contents of file at filepath ".concat(r));var w=P.statSync(r),_=w.birthtime,x=w.ctime;p.Params.CreationDate=_,p.Params.ModDate=x}}i.creationDate instanceof Date&&(p.Params.CreationDate=i.creationDate),i.modifiedDate instanceof Date&&(p.Params.ModDate=i.modifiedDate),i.type&&(p.Subtype=i.type.replace("/","#2F"));var k,O=y.default.MD5(y.default.lib.WordArray.create(new Uint8Array(o)));p.Params.CheckSum=new String(O),p.Params.Size=o.byteLength,this._fileRegistry||(this._fileRegistry={});var file=this._fileRegistry[i.name];file&&isEqual(p,file)?k=file.ref:((k=this.ref(p)).end(o),this._fileRegistry[i.name]=_objectSpread2(_objectSpread2({},p),{},{ref:k}));var I={Type:"Filespec",F:new String(i.name),EF:{F:k},UF:new String(i.name)};i.description&&(I.Desc=new String(i.description));var B=this.ref(I);return B.end(),i.hidden||this.addNamedEmbeddedFile(i.name,B),B}};function isEqual(r,i){return r.Subtype===i.Subtype&&r.Params.CheckSum.toString()===i.Params.CheckSum.toString()&&r.Params.Size===i.Params.Size&&r.Params.CreationDate===i.Params.CreationDate&&r.Params.ModDate===i.Params.ModDate}var St=function(r){_inherits(PDFDocument,r);var i=_createSuper(PDFDocument);function PDFDocument(){var r,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};switch(_classCallCheck(this,PDFDocument),(r=i.call(this,o)).options=o,o.pdfVersion){case"1.4":r.version=1.4;break;case"1.5":r.version=1.5;break;case"1.6":r.version=1.6;break;case"1.7":case"1.7ext3":r.version=1.7;break;default:r.version=1.3}r.compress=null==r.options.compress||r.options.compress,r._pageBuffer=[],r._pageBufferStart=0,r._offsets=[],r._waiting=0,r._ended=!1,r._offset=0;var u=r.ref({Type:"Pages",Count:0,Kids:[]}),p=r.ref({Dests:new K});if(r._root=r.ref({Type:"Catalog",Pages:u,Names:p}),r.options.lang&&(r._root.data.Lang=new String(r.options.lang)),r.page=null,r.initColor(),r.initVector(),r.initFonts(o.font),r.initText(),r.initImages(),r.initOutline(),r.initMarkings(o),r.info={Producer:"PDFKit",Creator:"PDFKit",CreationDate:new Date},r.options.info)for(var g in r.options.info){var y=r.options.info[g];r.info[g]=y}return r.options.displayTitle&&(r._root.data.ViewerPreferences=r.ref({DisplayDocTitle:!0})),r._id=pe.generateFileID(r.info),r._security=pe.create(_assertThisInitialized(r),o),r._write("%PDF-".concat(r.version)),r._write("%ÿÿÿÿ"),!1!==r.options.autoFirstPage&&r.addPage(),r}return _createClass(PDFDocument,[{key:"addPage",value:function addPage(r){null==r&&(r=this.options),this.options.bufferPages||this.flushPages(),this.page=new X(this,r),this._pageBuffer.push(this.page);var i=this._root.data.Pages.data;return i.Kids.push(this.page.dictionary),i.Count++,this.x=this.page.margins.left,this.y=this.page.margins.top,this._ctm=[1,0,0,1,0,0],this.transform(1,0,0,-1,0,this.page.height),this.emit("pageAdded"),this}},{key:"continueOnNewPage",value:function continueOnNewPage(r){var i=this.endPageMarkings(this.page);return this.addPage(r),this.initPageMarkings(i),this}},{key:"bufferedPageRange",value:function bufferedPageRange(){return{start:this._pageBufferStart,count:this._pageBuffer.length}}},{key:"switchToPage",value:function switchToPage(r){var i;if(!(i=this._pageBuffer[r-this._pageBufferStart]))throw new Error("switchToPage(".concat(r,") out of bounds, current buffer covers pages ").concat(this._pageBufferStart," to ").concat(this._pageBufferStart+this._pageBuffer.length-1));return this.page=i}},{key:"flushPages",value:function flushPages(){var r=this._pageBuffer;this._pageBuffer=[],this._pageBufferStart+=r.length;var i,o=_createForOfIteratorHelper(r);try{for(o.s();!(i=o.n()).done;){var u=i.value;this.endPageMarkings(u),u.end()}}catch(r){o.e(r)}finally{o.f()}}},{key:"addNamedDestination",value:function addNamedDestination(r){for(var i=arguments.length,o=new Array(i>1?i-1:0),u=1;u<i;u++)o[u-1]=arguments[u];0===o.length&&(o=["XYZ",null,null,null]),"XYZ"===o[0]&&null!==o[2]&&(o[2]=this.page.height-o[2]),o.unshift(this.page.dictionary),this._root.data.Names.data.Dests.add(r,o)}},{key:"addNamedEmbeddedFile",value:function addNamedEmbeddedFile(r,i){this._root.data.Names.data.EmbeddedFiles||(this._root.data.Names.data.EmbeddedFiles=new K({limits:!1})),this._root.data.Names.data.EmbeddedFiles.add(r,i)}},{key:"addNamedJavaScript",value:function addNamedJavaScript(r,i){this._root.data.Names.data.JavaScript||(this._root.data.Names.data.JavaScript=new K);var o={JS:new String(i),S:"JavaScript"};this._root.data.Names.data.JavaScript.add(r,o)}},{key:"ref",value:function ref(r){var ref=new U(this,this._offsets.length+1,r);return this._offsets.push(null),this._waiting++,ref}},{key:"_read",value:function _read(){}},{key:"_write",value:function _write(r){return u.isBuffer(r)||(r=u.from(r+"\n","binary")),this.push(r),this._offset+=r.length}},{key:"addContent",value:function addContent(r){return this.page.write(r),this}},{key:"_refEnd",value:function _refEnd(r){if(this._offsets[r.id-1]=r.offset,0==--this._waiting&&this._ended)return this._finalize(),this._ended=!1}},{key:"write",value:function write(r,i){new Error("PDFDocument#write is deprecated, and will be removed in a future version of PDFKit. Please pipe the document into a Node stream.");return this.pipe(P.createWriteStream(r)),this.end(),this.once("end",i)}},{key:"end",value:function end(){for(var r in this.flushPages(),this._info=this.ref(),this.info){var i=this.info[r];"string"==typeof i&&(i=new String(i));var o=this.ref(i);o.end(),this._info.data[r]=o}for(var u in this._info.end(),this._fontFamilies){this._fontFamilies[u].finalize()}return this.endOutline(),this.endMarkings(),this._root.end(),this._root.data.Pages.end(),this._root.data.Names.end(),this.endAcroForm(),this._root.data.ViewerPreferences&&this._root.data.ViewerPreferences.end(),this._security&&this._security.end(),0===this._waiting?this._finalize():this._ended=!0}},{key:"_finalize",value:function _finalize(){var r=this._offset;this._write("xref"),this._write("0 ".concat(this._offsets.length+1)),this._write("0000000000 65535 f ");var i,o=_createForOfIteratorHelper(this._offsets);try{for(o.s();!(i=o.n()).done;){var u=i.value;u="0000000000".concat(u).slice(-10),this._write(u+" 00000 n ")}}catch(r){o.e(r)}finally{o.f()}var p={Size:this._offsets.length+1,Root:this._root,Info:this._info,ID:[this._id,this._id]};return this._security&&(p.Encrypt=this._security.dictionary),this._write("trailer"),this._write(W.convert(p)),this._write("startxref"),this._write("".concat(r)),this._write("%%EOF"),this.push(null)}},{key:"toString",value:function toString(){return"[object PDFDocument]"}}]),PDFDocument}(p.default.Readable),xt=function mixin(r){Object.assign(St.prototype,r)};xt(Ie),xt(Ue),xt(Je),xt(et),xt(at),xt(st),xt(lt),xt(dt),xt(wt),xt(_t),St.LineWrapper=Qe;var Ct=St;i.default=Ct},4559:function(r,i,o){"use strict";o(3290);var u=o(8823),p=u.Buffer;function copyProps(r,i){for(var o in r)i[o]=r[o]}function SafeBuffer(r,i,o){return p(r,i,o)}p.from&&p.alloc&&p.allocUnsafe&&p.allocUnsafeSlow?r.exports=u:(copyProps(u,i),i.Buffer=SafeBuffer),copyProps(p,SafeBuffer),SafeBuffer.from=function(r,i,o){if("number"==typeof r)throw new TypeError("Argument must not be a number");return p(r,i,o)},SafeBuffer.alloc=function(r,i,o){if("number"!=typeof r)throw new TypeError("Argument must be a number");var u=p(r);return void 0!==i?"string"==typeof o?u.fill(i,o):u.fill(i):u.fill(0),u},SafeBuffer.allocUnsafe=function(r){if("number"!=typeof r)throw new TypeError("Argument must be a number");return p(r)},SafeBuffer.allocUnsafeSlow=function(r){if("number"!=typeof r)throw new TypeError("Argument must be a number");return u.SlowBuffer(r)}},4781:function(r,i,o){"use strict";o(7042),o(6992),o(1539),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(9135);var u=o(311),p=o(1753).swap32LE,g=function(){function UnicodeTrie(r){var i="function"==typeof r.readUInt32BE&&"function"==typeof r.slice;if(i||r instanceof Uint8Array){var o;if(i)this.highStart=r.readUInt32LE(0),this.errorValue=r.readUInt32LE(4),o=r.readUInt32LE(8),r=r.slice(12);else{var g=new DataView(r.buffer);this.highStart=g.getUint32(0,!0),this.errorValue=g.getUint32(4,!0),o=g.getUint32(8,!0),r=r.subarray(12)}r=u(r,new Uint8Array(o)),r=u(r,new Uint8Array(o)),p(r),this.data=new Uint32Array(r.buffer)}else{var y=r;this.data=y.data,this.highStart=y.highStart,this.errorValue=y.errorValue}}return UnicodeTrie.prototype.get=function get(r){var i;return r<0||r>1114111?this.errorValue:r<55296||r>56319&&r<=65535?(i=(this.data[r>>5]<<2)+(31&r),this.data[i]):r<=65535?(i=(this.data[2048+(r-55296>>5)]<<2)+(31&r),this.data[i]):r<this.highStart?(i=this.data[2080+(r>>11)],i=((i=this.data[i+(r>>5&63)])<<2)+(31&r),this.data[i]):this.data[this.data.length-4]},UnicodeTrie}();r.exports=g},1753:function(r,i,o){"use strict";o(6992),o(1539),o(2472),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(9135);var u=18===new Uint8Array(new Uint32Array([305419896]).buffer)[0],p=function swap(r,i,o){var u=r[i];r[i]=r[o],r[o]=u};r.exports={swap32LE:function swap32LE(r){u&&function swap32(r){for(var i=r.length,o=0;o<i;o+=4)p(r,o,o+3),p(r,o+1,o+2)}(r)}}},8071:function(r,i,o){"use strict";var u=o(8519);r.exports=u},8519:function(r,i,o){"use strict";r=o.nmd(r),o(8309),o(7941),o(3210),o(4916),o(4723),o(3728),o(5306),o(7042),o(9653),o(3123),o(2222),o(6992),o(1539),o(3948),o(9254),o(3290);r&&void 0!==r.exports&&(r.exports=function SVGtoPDF(r,i,o,u,p){var g={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],grey:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgrey:[211,211,211],lightgreen:[144,238,144],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0]},y={black:[g.black,1],white:[g.white,1],transparent:[g.black,0]},w={quot:34,amp:38,lt:60,gt:62,apos:39,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,circ:710,tilde:732,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,permil:8240,lsaquo:8249,rsaquo:8250,euro:8364,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,copy:169,ordf:170,laquo:171,not:172,shy:173,reg:174,macr:175,deg:176,plusmn:177,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,sup1:185,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,Agrave:192,Aacute:193,Acirc:194,Atilde:195,Auml:196,Aring:197,AElig:198,Ccedil:199,Egrave:200,Eacute:201,Ecirc:202,Euml:203,Igrave:204,Iacute:205,Icirc:206,Iuml:207,ETH:208,Ntilde:209,Ograve:210,Oacute:211,Ocirc:212,Otilde:213,Ouml:214,times:215,Oslash:216,Ugrave:217,Uacute:218,Ucirc:219,Uuml:220,Yacute:221,THORN:222,szlig:223,agrave:224,aacute:225,acirc:226,atilde:227,auml:228,aring:229,aelig:230,ccedil:231,egrave:232,eacute:233,ecirc:234,euml:235,igrave:236,iacute:237,icirc:238,iuml:239,eth:240,ntilde:241,ograve:242,oacute:243,ocirc:244,otilde:245,ouml:246,divide:247,oslash:248,ugrave:249,uacute:250,ucirc:251,uuml:252,yacute:253,thorn:254,yuml:255,fnof:402,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,bull:8226,hellip:8230,prime:8242,Prime:8243,oline:8254,frasl:8260,weierp:8472,image:8465,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},_={A:7,a:7,C:6,c:6,H:1,h:1,L:2,l:2,M:2,m:2,Q:4,q:4,S:4,s:4,T:2,t:2,V:1,v:1,Z:0,z:0},x={A3:!0,A4:!0,a3:!0,a4:!0},k={color:{inherit:!0,initial:void 0},visibility:{inherit:!0,initial:"visible",values:{hidden:"hidden",collapse:"hidden",visible:"visible"}},fill:{inherit:!0,initial:y.black},stroke:{inherit:!0,initial:"none"},"stop-color":{inherit:!1,initial:y.black},"fill-opacity":{inherit:!0,initial:1},"stroke-opacity":{inherit:!0,initial:1},"stop-opacity":{inherit:!1,initial:1},"fill-rule":{inherit:!0,initial:"nonzero",values:{nonzero:"nonzero",evenodd:"evenodd"}},"clip-rule":{inherit:!0,initial:"nonzero",values:{nonzero:"nonzero",evenodd:"evenodd"}},"stroke-width":{inherit:!0,initial:1},"stroke-dasharray":{inherit:!0,initial:[]},"stroke-dashoffset":{inherit:!0,initial:0},"stroke-miterlimit":{inherit:!0,initial:4},"stroke-linejoin":{inherit:!0,initial:"miter",values:{miter:"miter",round:"round",bevel:"bevel"}},"stroke-linecap":{inherit:!0,initial:"butt",values:{butt:"butt",round:"round",square:"square"}},"font-size":{inherit:!0,initial:16,values:{"xx-small":9,"x-small":10,small:13,medium:16,large:18,"x-large":24,"xx-large":32}},"font-family":{inherit:!0,initial:"sans-serif"},"font-weight":{inherit:!0,initial:"normal",values:{600:"bold",700:"bold",800:"bold",900:"bold",bold:"bold",bolder:"bold",500:"normal",400:"normal",300:"normal",200:"normal",100:"normal",normal:"normal",lighter:"normal"}},"font-style":{inherit:!0,initial:"normal",values:{italic:"italic",oblique:"italic",normal:"normal"}},"text-anchor":{inherit:!0,initial:"start",values:{start:"start",middle:"middle",end:"end"}},direction:{inherit:!0,initial:"ltr",values:{ltr:"ltr",rtl:"rtl"}},"dominant-baseline":{inherit:!0,initial:"baseline",values:{auto:"baseline",baseline:"baseline","before-edge":"before-edge","text-before-edge":"before-edge",middle:"middle",central:"central","after-edge":"after-edge","text-after-edge":"after-edge",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"mathematical"}},"alignment-baseline":{inherit:!1,initial:void 0,values:{auto:"baseline",baseline:"baseline","before-edge":"before-edge","text-before-edge":"before-edge",middle:"middle",central:"central","after-edge":"after-edge","text-after-edge":"after-edge",ideographic:"ideographic",alphabetic:"alphabetic",hanging:"hanging",mathematical:"mathematical"}},"baseline-shift":{inherit:!0,initial:"baseline",values:{baseline:"baseline",sub:"sub",super:"super"}},"word-spacing":{inherit:!0,initial:0,values:{normal:0}},"letter-spacing":{inherit:!0,initial:0,values:{normal:0}},"text-decoration":{inherit:!1,initial:"none",values:{none:"none",underline:"underline",overline:"overline","line-through":"line-through"}},"xml:space":{inherit:!0,initial:"default",css:"white-space",values:{preserve:"preserve",default:"default",pre:"preserve","pre-line":"preserve","pre-wrap":"preserve",nowrap:"default"}},"marker-start":{inherit:!0,initial:"none"},"marker-mid":{inherit:!0,initial:"none"},"marker-end":{inherit:!0,initial:"none"},opacity:{inherit:!1,initial:1},transform:{inherit:!1,initial:[1,0,0,1,0,0]},display:{inherit:!1,initial:"inline",values:{none:"none",inline:"inline",block:"inline"}},"clip-path":{inherit:!1,initial:"none"},mask:{inherit:!1,initial:"none"},overflow:{inherit:!1,initial:"hidden",values:{hidden:"hidden",scroll:"hidden",visible:"visible"}}};function docBeginGroup(i){var o=new function PDFGroup(){};return o.name="G"+(r._groupCount=(r._groupCount||0)+1),o.resources=r.ref(),o.xobj=r.ref({Type:"XObject",Subtype:"Form",FormType:1,BBox:i,Group:{S:"Transparency",CS:"DeviceRGB",I:!0,K:!1},Resources:o.resources}),o.xobj.write(""),o.savedMatrix=r._ctm,o.savedPage=r.page,Ae.push(o),r._ctm=[1,0,0,1,0,0],r.page={width:r.page.width,height:r.page.height,write:function write(r){o.xobj.write(r)},fonts:{},xobjects:{},ext_gstates:{},patterns:{}},o}function docEndGroup(i){if(i!==Ae.pop())throw"Group not matching";Object.keys(r.page.fonts).length&&(i.resources.data.Font=r.page.fonts),Object.keys(r.page.xobjects).length&&(i.resources.data.XObject=r.page.xobjects),Object.keys(r.page.ext_gstates).length&&(i.resources.data.ExtGState=r.page.ext_gstates),Object.keys(r.page.patterns).length&&(i.resources.data.Pattern=r.page.patterns),i.resources.end(),i.xobj.end(),r._ctm=i.savedMatrix,r.page=i.savedPage}function docInsertGroup(i){r.page.xobjects[i.name]=i.xobj,r.addContent("/"+i.name+" Do")}function docApplyMask(i,o){var u="M"+(r._maskCount=(r._maskCount||0)+1),p=r.ref({Type:"ExtGState",CA:1,ca:1,BM:"Normal",SMask:{S:"Luminosity",G:i.xobj,BC:o?[0,0,0]:[1,1,1]}});p.end(),r.page.ext_gstates[u]=p,r.addContent("/"+u+" gs")}function docCreatePattern(r,i,o,u){var p=new function PDFPattern(){};return p.group=r,p.dx=i,p.dy=o,p.matrix=u||[1,0,0,1,0,0],p}function docUsePattern(i,o){var u,p="P"+(r._patternCount=(r._patternCount||0)+1),g=r.ref({Type:"Pattern",PatternType:1,PaintType:1,TilingType:2,BBox:[0,0,i.dx,i.dy],XStep:i.dx,YStep:i.dy,Matrix:multiplyMatrix(r._ctm,i.matrix),Resources:{ProcSet:["PDF","Text","ImageB","ImageC","ImageI"],XObject:(u={},u[i.group.name]=i.group.xobj,u)}});g.write("/"+i.group.name+" Do"),g.end(),r.page.patterns[p]=g,o?(r.addContent("/Pattern CS"),r.addContent("/"+p+" SCN")):(r.addContent("/Pattern cs"),r.addContent("/"+p+" scn"))}function docSetTextMode(i,o){var u=i&&o?2:o?1:i?0:3;r.addContent(u+" Tr")}function docFillColor(i){"PDFPattern"===i[0].constructor.name?(r.fillOpacity(i[1]),docUsePattern(i[0],!1)):r.fillColor(i[0],i[1])}function docStrokeColor(i){"PDFPattern"===i[0].constructor.name?(r.strokeOpacity(i[1]),docUsePattern(i[0],!0)):r.strokeColor(i[0],i[1])}function parseXml(r){var i=function SvgNode(r,i,o,u){this.error=u,this.nodeName=r,this.nodeValue=o,this.nodeType=i,this.attributes=Object.create(null),this.childNodes=[],this.parentNode=null,this.id="",this.textContent="",this.classList=[]};i.prototype.getAttribute=function(r){return null!=this.attributes[r]?this.attributes[r]:null},i.prototype.getElementById=function(r){var i=null;return function recursive(o){if(!i&&1===o.nodeType){o.id===r&&(i=o);for(var u=0;u<o.childNodes.length;u++)recursive(o.childNodes[u])}}(this),i},i.prototype.getElementsByTagName=function(r){var i=[];return function recursive(o){if(1===o.nodeType){o.nodeName===r&&i.push(o);for(var u=0;u<o.childNodes.length;u++)recursive(o.childNodes[u])}}(this),i};for(var o,u,p=new P(r.trim()),g=!1,y=function recursive(){var r,o;if(r=p.match(/^<([\w:.-]+)\s*/,!0)){for(var u=new i(r[1],1,null,g);r=p.match(/^([\w:.-]+)(?:\s*=\s*"([^"]*)"|\s*=\s*'([^']*)')?\s*/,!0);){var y=r[1],w=decodeEntities(r[2]||r[3]||"");u.attributes[y]?(_e('parseXml: duplicate attribute "'+y+'"'),g=!0):(u.attributes[y]=w,"id"===y&&(u.id=w),"class"===y&&(u.classList=w.split(" ")))}if(p.match(/^>/)){for(;o=recursive();)u.childNodes.push(o),o.parentNode=u,u.textContent+=3===o.nodeType||4===o.nodeType?o.nodeValue:o.textContent;return(r=p.match(/^<\/([\w:.-]+)\s*>/,!0))?(r[1]===u.nodeName||(_e('parseXml: tag not matching, opening "'+u.nodeName+'" & closing "'+r[1]+'"'),g=!0),u):(_e('parseXml: tag not matching, opening "'+u.nodeName+'" & not closing'),g=!0,u)}if(p.match(/^\/>/))return u;_e('parseXml: tag could not be parsed "'+u.nodeName+'"'),g=!0}else{if(r=p.match(/^<!--[\s\S]*?-->/))return new i(null,8,r,g);if(r=p.match(/^<\?[\s\S]*?\?>/))return new i(null,7,r,g);if(r=p.match(/^<!DOCTYPE\s*([\s\S]*?)>/))return new i(null,10,r,g);if(r=p.match(/^<!\[CDATA\[([\s\S]*?)\]\]>/,!0))return new i("#cdata-section",4,r[1],g);if(r=p.match(/^([^<]+)/,!0))return new i("#text",3,decodeEntities(r[1]),g)}};u=y();)1!==u.nodeType||o?(1===u.nodeType||3===u.nodeType&&""!==u.nodeValue.trim())&&_e("parseXml: data after document end has been discarded"):o=u;return p.matchAll()&&_e("parseXml: parsing error"),o}function decodeEntities(r){return r.replace(/&(?:#([0-9]+)|#[xX]([0-9A-Fa-f]+)|([0-9A-Za-z]+));/g,(function(r,i,o,u){return i?String.fromCharCode(parseInt(i,10)):o?String.fromCharCode(parseInt(o,16)):u&&w[u]?String.fromCharCode(w[u]):r}))}function parseColor(r){var i,o;return r=(r||"").trim(),(i=g[r])?o=[i.slice(),1]:(i=r.match(/^rgba\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9.]+)\s*\)$/i))?(i[1]=parseInt(i[1]),i[2]=parseInt(i[2]),i[3]=parseInt(i[3]),i[4]=parseFloat(i[4]),i[1]<256&&i[2]<256&&i[3]<256&&i[4]<=1&&(o=[i.slice(1,4),i[4]])):(i=r.match(/^rgb\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)$/i))?(i[1]=parseInt(i[1]),i[2]=parseInt(i[2]),i[3]=parseInt(i[3]),i[1]<256&&i[2]<256&&i[3]<256&&(o=[i.slice(1,4),1])):(i=r.match(/^rgb\(\s*([0-9.]+)%\s*,\s*([0-9.]+)%\s*,\s*([0-9.]+)%\s*\)$/i))?(i[1]=2.55*parseFloat(i[1]),i[2]=2.55*parseFloat(i[2]),i[3]=2.55*parseFloat(i[3]),i[1]<256&&i[2]<256&&i[3]<256&&(o=[i.slice(1,4),1])):(i=r.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i))?o=[[parseInt(i[1],16),parseInt(i[2],16),parseInt(i[3],16)],1]:(i=r.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i))&&(o=[[17*parseInt(i[1],16),17*parseInt(i[2],16),17*parseInt(i[3],16)],1]),Ce?Ce(o,r):o}function opacityToColor(r,i,o){var u=r[0].slice(),p=r[1]*i;if(o){for(var g=0;g<r.length;g++)u[g]*=p;return[u,1]}return[u,p]}function multiplyMatrix(){function multiply(r,i){return[r[0]*i[0]+r[2]*i[1],r[1]*i[0]+r[3]*i[1],r[0]*i[2]+r[2]*i[3],r[1]*i[2]+r[3]*i[3],r[0]*i[4]+r[2]*i[5]+r[4],r[1]*i[4]+r[3]*i[5]+r[5]]}for(var r=arguments[0],i=1;i<arguments.length;i++)r=multiply(r,arguments[i]);return r}function transformPoint(r,i){return[i[0]*r[0]+i[2]*r[1]+i[4],i[1]*r[0]+i[3]*r[1]+i[5]]}function getGlobalMatrix(){for(var i=r._ctm,o=Ae.length-1;o>=0;o--)i=multiplyMatrix(Ae[o].savedMatrix,i);return i}function getPageBBox(){return(new B).M(0,0).L(r.page.width,0).L(r.page.width,r.page.height).L(0,r.page.height).transform(inverseMatrix(getGlobalMatrix())).getBoundingBox()}function inverseMatrix(r){var i=r[0]*r[3]-r[1]*r[2];return[r[3]/i,-r[1]/i,-r[2]/i,r[0]/i,(r[2]*r[5]-r[3]*r[4])/i,(r[1]*r[4]-r[0]*r[5])/i]}function validateMatrix(r){var i=validateNumber(r[0]),o=validateNumber(r[1]),u=validateNumber(r[2]),p=validateNumber(r[3]),g=validateNumber(r[4]),y=validateNumber(r[5]);if(isNotEqual(i*p-o*u,0))return[i,o,u,p,g,y]}function solveEquation(r){var i=r[2]||0,o=r[1]||0,u=r[0]||0;if(isEqual(i,0)&&isEqual(o,0))return[];if(isEqual(i,0))return[-u/o];var p=o*o-4*i*u;return isNotEqual(p,0)&&p>0?[(-o+Math.sqrt(p))/(2*i),(-o-Math.sqrt(p))/(2*i)]:isEqual(p,0)?[-o/(2*i)]:[]}function getCurveValue(r,i){return(i[0]||0)+(i[1]||0)*r+(i[2]||0)*r*r+(i[3]||0)*r*r*r}function isEqual(r,i){return Math.abs(r-i)<1e-10}function isNotEqual(r,i){return Math.abs(r-i)>=1e-10}function validateNumber(r){return r>-1e21&&r<1e21?Math.round(1e6*r)/1e6:0}function parseTranform(r){for(var i,o=new P((r||"").trim()),u=[1,0,0,1,0,0];i=o.match(/^([A-Za-z]+)\s*[(]([^(]+)[)]/,!0);){for(var p=i[1],g=[],y=new P(i[2].trim()),w=void 0;w=y.matchNumber();)g.push(Number(w)),y.matchSeparator();if("matrix"===p&&6===g.length)u=multiplyMatrix(u,[g[0],g[1],g[2],g[3],g[4],g[5]]);else if("translate"===p&&2===g.length)u=multiplyMatrix(u,[1,0,0,1,g[0],g[1]]);else if("translate"===p&&1===g.length)u=multiplyMatrix(u,[1,0,0,1,g[0],0]);else if("scale"===p&&2===g.length)u=multiplyMatrix(u,[g[0],0,0,g[1],0,0]);else if("scale"===p&&1===g.length)u=multiplyMatrix(u,[g[0],0,0,g[0],0,0]);else if("rotate"===p&&3===g.length){var _=g[0]*Math.PI/180;u=multiplyMatrix(u,[1,0,0,1,g[1],g[2]],[Math.cos(_),Math.sin(_),-Math.sin(_),Math.cos(_),0,0],[1,0,0,1,-g[1],-g[2]])}else if("rotate"===p&&1===g.length){var x=g[0]*Math.PI/180;u=multiplyMatrix(u,[Math.cos(x),Math.sin(x),-Math.sin(x),Math.cos(x),0,0])}else if("skewX"===p&&1===g.length){var k=g[0]*Math.PI/180;u=multiplyMatrix(u,[1,0,Math.tan(k),1,0,0])}else{if("skewY"!==p||1!==g.length)return;var O=g[0]*Math.PI/180;u=multiplyMatrix(u,[1,Math.tan(O),0,1,0,0])}o.matchSeparator()}if(!o.matchAll())return u}function parseAspectRatio(r,i,o,u,p,g){var y=(r||"").trim().match(/^(none)$|^x(Min|Mid|Max)Y(Min|Mid|Max)(?:\s+(meet|slice))?$/)||[],w=y[1]||y[4]||"meet",_=y[2]||"Mid",x=y[3]||"Mid",k=i/u,P=o/p,O={Min:0,Mid:.5,Max:1}[_]-(g||0),I={Min:0,Mid:.5,Max:1}[x]-(g||0);return"slice"===w?P=k=Math.max(k,P):"meet"===w&&(P=k=Math.min(k,P)),[k,0,0,P,O*(i-u*k),I*(o-p*P)]}function parseStyleAttr(r){var i=Object.create(null);r=(r||"").trim().split(/;/);for(var o=0;o<r.length;o++){var u=(r[o].split(":")[0]||"").trim(),p=(r[o].split(":")[1]||"").trim();u&&(i[u]=p)}if(i.marker&&(i["marker-start"]||(i["marker-start"]=i.marker),i["marker-mid"]||(i["marker-mid"]=i.marker),i["marker-end"]||(i["marker-end"]=i.marker)),i.font){for(var g=null,y=null,w="normal",_="normal",x="normal",k=i.font.split(/\s+/),P=0;P<k.length;P++)switch(k[P]){case"normal":break;case"italic":case"oblique":w=k[P];break;case"small-caps":x=k[P];break;case"bold":case"bolder":case"lighter":case"100":case"200":case"300":case"400":case"500":case"600":case"700":case"800":case"900":_=k[P];break;default:y?g?g+=" "+k[P]:g=k[P]:y=k[P].split("/")[0]}i["font-style"]||(i["font-style"]=w),i["font-variant"]||(i["font-variant"]=x),i["font-weight"]||(i["font-weight"]=_),i["font-size"]||(i["font-size"]=y),i["font-family"]||(i["font-family"]=g)}return i}function parseSelector(r){for(var i,o=r.split(/(?=[.#])/g),u=[],p=[],g=[],y=0;y<o.length;y++)if(i=o[y].match(/^[#]([_A-Za-z0-9-]+)$/))u.push(i[1]);else if(i=o[y].match(/^[.]([_A-Za-z0-9-]+)$/))p.push(i[1]);else if(i=o[y].match(/^([_A-Za-z0-9-]+)$/))g.push(i[1]);else if("*"!==o[y])return;return{tags:g,ids:u,classes:p,specificity:1e4*u.length+100*p.length+g.length}}function parseStyleSheet(r){for(var i,o=new P(r.trim()),u=[];i=o.match(/^\s*([^\{\}]*?)\s*\{([^\{\}]*?)\}/,!0);)for(var p=i[1].split(/\s*,\s*/g),g=parseStyleAttr(i[2]),y=0;y<p.length;y++){var w=parseSelector(p[y]);w&&u.push({selector:w,css:g})}return u}function matchesSelector(r,i){if(1!==r.nodeType)return!1;for(var o=0;o<i.tags.length;o++)if(i.tags[o]!==r.nodeName)return!1;for(var u=0;u<i.ids.length;u++)if(i.ids[u]!==r.id)return!1;for(var p=0;p<i.classes.length;p++)if(-1===r.classList.indexOf(i.classes[p]))return!1;return!0}function combineArrays(r,i){return r.concat(i.slice(r.length))}function getAscent(r,i){return Math.max(r.ascender,(r.bbox[3]||r.bbox.maxY)*(r.scale||1))*i/1e3}function getDescent(r,i){return Math.min(r.descender,(r.bbox[1]||r.bbox.minY)*(r.scale||1))*i/1e3}function getTextPos(r,i,o){for(var u=r.encode(""+o),p=u[0],g=u[1],y=[],w=0;w<p.length;w++){var _=r.unicode?r.unicode[parseInt(p[w],16)]:[o.charCodeAt(w)];y.push({glyph:p[w],unicode:_,width:g[w].advanceWidth*i/1e3,xOffset:g[w].xOffset*i/1e3,yOffset:g[w].yOffset*i/1e3,xAdvance:g[w].xAdvance*i/1e3,yAdvance:g[w].yAdvance*i/1e3})}return y}function createSVGElement(r,i){switch(r.nodeName){case"use":return new U(r,i);case"symbol":return new j(r,i);case"g":return new G(r,i);case"a":return new X(r,i);case"svg":return new K(r,i);case"image":return new Y(r,i);case"rect":return new te(r,i);case"circle":return new re(r,i);case"ellipse":return new ne(r,i);case"line":return new ie(r,i);case"polyline":return new oe(r,i);case"polygon":return new ae(r,i);case"path":return new se(r,i);case"text":return new ge(r,i);case"tspan":return new de(r,i);case"textPath":return new pe(r,i);case"#text":case"#cdata-section":return new he(r,i);default:return new R(r,i)}}var P=function StringParser(r){this.match=function(i,o){var u=r.match(i);if(u&&0===u.index)return r=r.substring(u[0].length),o?u:u[0]},this.matchSeparator=function(){return this.match(/^(?:\s*,\s*|\s*|)/)},this.matchSpace=function(){return this.match(/^(?:\s*)/)},this.matchLengthUnit=function(){return this.match(/^(?:px|pt|cm|mm|in|pc|em|ex|%|)/)},this.matchNumber=function(){return this.match(/^(?:[-+]?(?:[0-9]+[.][0-9]+|[0-9]+[.]|[.][0-9]+|[0-9]+)(?:[eE][-+]?[0-9]+)?)/)},this.matchAll=function(){return this.match(/^[\s\S]+/)}},O=function BezierSegment(r,i,o,u,p,g,y,w){for(var _=6*Pe,x=[r,-3*r+3*o,3*r-6*o+3*p,3*o-r-3*p+y],k=[i,-3*i+3*u,3*i-6*u+3*g,3*u-i-3*g+w],P=[-3*r+3*o,6*r-12*o+6*p,-3*r+9*o-9*p+3*y],O=[-3*i+3*u,6*i-12*u+6*g,-3*i+9*u-9*g+3*w],I=[0],B=1;B<=_;B++){var R=(B-.5)/_,D=getCurveValue(R,P)/_,N=getCurveValue(R,O)/_,W=Math.sqrt(D*D+N*N);I[B]=I[B-1]+W}this.totalLength=I[_],this.startPoint=[r,i,isEqual(r,o)&&isEqual(i,u)?Math.atan2(g-u,p-o):Math.atan2(u-i,o-r)],this.endPoint=[y,w,isEqual(p,y)&&isEqual(g,w)?Math.atan2(g-u,p-o):Math.atan2(w-g,y-p)],this.getBoundingBox=function(){var r,i=getCurveValue(0,x),o=getCurveValue(0,k),u=getCurveValue(1,x),p=getCurveValue(1,k);i>u&&(r=u,u=i,i=r),o>p&&(r=p,p=o,o=r);for(var g=solveEquation(P),y=0;y<g.length;y++)if(g[y]>=0&&g[y]<=1){var w=getCurveValue(g[y],x);w<i&&(i=w),w>u&&(u=w)}for(var _=solveEquation(O),I=0;I<_.length;I++)if(_[I]>=0&&_[I]<=1){var B=getCurveValue(_[I],k);B<o&&(o=B),B>p&&(p=B)}return[i,o,u,p]},this.getPointAtLength=function(r){if(isEqual(r,0))return this.startPoint;if(isEqual(r,this.totalLength))return this.endPoint;if(!(r<0||r>this.totalLength))for(var i=1;i<=_;i++){var o=I[i-1],u=I[i];if(o<=r&&r<=u){var p=(i-(u-r)/(u-o))/_,g=getCurveValue(p,x),y=getCurveValue(p,k),w=getCurveValue(p,P),B=getCurveValue(p,O);return[g,y,Math.atan2(B,w)]}}}},I=function LineSegment(r,i,o,u){this.totalLength=Math.sqrt((o-r)*(o-r)+(u-i)*(u-i)),this.startPoint=[r,i,Math.atan2(u-i,o-r)],this.endPoint=[o,u,Math.atan2(u-i,o-r)],this.getBoundingBox=function(){return[Math.min(this.startPoint[0],this.endPoint[0]),Math.min(this.startPoint[1],this.endPoint[1]),Math.max(this.startPoint[0],this.endPoint[0]),Math.max(this.startPoint[1],this.endPoint[1])]},this.getPointAtLength=function(r){if(r>=0&&r<=this.totalLength){var i=r/this.totalLength||0;return[this.startPoint[0]+i*(this.endPoint[0]-this.startPoint[0]),this.startPoint[1]+i*(this.endPoint[1]-this.startPoint[1]),this.startPoint[2]]}}},B=function SvgShape(){this.pathCommands=[],this.pathSegments=[],this.startPoint=null,this.endPoint=null,this.totalLength=0;var i,o,u,p=0,g=0,y=0,w=0;this.move=function(r,i){return p=y=r,g=w=i,null},this.line=function(r,i){var o=new I(y,w,r,i);return y=r,w=i,o},this.curve=function(r,i,o,u,p,g){var _=new O(y,w,r,i,o,u,p,g);return y=p,w=g,_},this.close=function(){var r=new I(y,w,p,g);return y=p,w=g,r},this.addCommand=function(r){this.pathCommands.push(r);var i=this[r[0]].apply(this,r.slice(3));i&&(i.hasStart=r[1],i.hasEnd=r[2],this.startPoint=this.startPoint||i.startPoint,this.endPoint=i.endPoint,this.pathSegments.push(i),this.totalLength+=i.totalLength)},this.M=function(r,o){return this.addCommand(["move",!0,!0,r,o]),i="M",this},this.m=function(r,i){return this.M(y+r,w+i)},this.Z=this.z=function(){return this.addCommand(["close",!0,!0]),i="Z",this},this.L=function(r,o){return this.addCommand(["line",!0,!0,r,o]),i="L",this},this.l=function(r,i){return this.L(y+r,w+i)},this.H=function(r){return this.L(r,w)},this.h=function(r){return this.L(y+r,w)},this.V=function(r){return this.L(y,r)},this.v=function(r){return this.L(y,w+r)},this.C=function(r,p,g,y,w,_){return this.addCommand(["curve",!0,!0,r,p,g,y,w,_]),i="C",o=g,u=y,this},this.c=function(r,i,o,u,p,g){return this.C(y+r,w+i,y+o,w+u,y+p,w+g)},this.S=function(r,p,g,_){return this.C(y+("C"===i?y-o:0),w+("C"===i?w-u:0),r,p,g,_)},this.s=function(r,p,g,_){return this.C(y+("C"===i?y-o:0),w+("C"===i?w-u:0),y+r,w+p,y+g,w+_)},this.Q=function(r,p,g,_){var x=y+2/3*(r-y),k=w+2/3*(p-w),P=g+2/3*(r-g),O=_+2/3*(p-_);return this.addCommand(["curve",!0,!0,x,k,P,O,g,_]),i="Q",o=r,u=p,this},this.q=function(r,i,o,u){return this.Q(y+r,w+i,y+o,w+u)},this.T=function(r,p){return this.Q(y+("Q"===i?y-o:0),w+("Q"===i?w-u:0),r,p)},this.t=function(r,p){return this.Q(y+("Q"===i?y-o:0),w+("Q"===i?w-u:0),y+r,w+p)},this.A=function(r,o,u,p,g,_,x){if(isEqual(r,0)||isEqual(o,0))this.addCommand(["line",!0,!0,_,x]);else{u*=Math.PI/180,r=Math.abs(r),o=Math.abs(o),p=1*!!p,g=1*!!g;var k=Math.cos(u)*(y-_)/2+Math.sin(u)*(w-x)/2,P=Math.cos(u)*(w-x)/2-Math.sin(u)*(y-_)/2,O=k*k/(r*r)+P*P/(o*o);O>1&&(r*=Math.sqrt(O),o*=Math.sqrt(O));var I=Math.sqrt(Math.max(0,r*r*o*o-r*r*P*P-o*o*k*k)/(r*r*P*P+o*o*k*k)),B=(p===g?-1:1)*I*r*P/o,R=(p===g?1:-1)*I*o*k/r,D=Math.cos(u)*B-Math.sin(u)*R+(y+_)/2,N=Math.sin(u)*B+Math.cos(u)*R+(w+x)/2,W=Math.atan2((P-R)/o,(k-B)/r),U=Math.atan2((-P-R)/o,(-k-B)/r);0===g&&U-W>0?U-=2*Math.PI:1===g&&U-W<0&&(U+=2*Math.PI);for(var j=Math.ceil(Math.abs(U-W)/(Math.PI/Pe)),G=0;G<j;G++){var X=W+G*(U-W)/j,K=W+(G+1)*(U-W)/j,Y=4/3*Math.tan((K-X)/4),J=D+Math.cos(u)*r*(Math.cos(X)-Y*Math.sin(X))-Math.sin(u)*o*(Math.sin(X)+Y*Math.cos(X)),$=N+Math.sin(u)*r*(Math.cos(X)-Y*Math.sin(X))+Math.cos(u)*o*(Math.sin(X)+Y*Math.cos(X)),ee=D+Math.cos(u)*r*(Math.cos(K)+Y*Math.sin(K))-Math.sin(u)*o*(Math.sin(K)-Y*Math.cos(K)),te=N+Math.sin(u)*r*(Math.cos(K)+Y*Math.sin(K))+Math.cos(u)*o*(Math.sin(K)-Y*Math.cos(K)),re=D+Math.cos(u)*r*Math.cos(K)-Math.sin(u)*o*Math.sin(K),ne=N+Math.sin(u)*r*Math.cos(K)+Math.cos(u)*o*Math.sin(K);this.addCommand(["curve",0===G,G===j-1,J,$,ee,te,re,ne])}}return i="A",this},this.a=function(r,i,o,u,p,g,_){return this.A(r,i,o,u,p,y+g,w+_)},this.path=function(r){for(var i,o,u,p=new P((r||"").trim());i=p.match(/^[astvzqmhlcASTVZQMHLC]/);){p.matchSeparator();for(var g=[];o=x[i+g.length]?p.match(/^[01]/):p.matchNumber();)p.matchSeparator(),g.length===_[i]&&(this[i].apply(this,g),g=[],"M"===i?i="L":"m"===i&&(i="l")),g.push(Number(o));if(g.length!==_[i])return void _e("SvgPath: command "+i+" with "+g.length+" numbers");this[i].apply(this,g)}return(u=p.matchAll())&&_e("SvgPath: unexpected string "+u),this},this.getBoundingBox=function(){for(var r,i=[1/0,1/0,-1/0,-1/0],o=0;o<this.pathSegments.length;o++)(r=this.pathSegments[o].getBoundingBox())[0]<i[0]&&(i[0]=r[0]),r[2]>i[2]&&(i[2]=r[2]),r[1]<i[1]&&(i[1]=r[1]),r[3]>i[3]&&(i[3]=r[3]);return i[0]===1/0&&(i[0]=0),i[1]===1/0&&(i[1]=0),i[2]===-1/0&&(i[2]=0),i[3]===-1/0&&(i[3]=0),i},this.getPointAtLength=function(r){if(r>=0&&r<=this.totalLength){for(var i,o=0;o<this.pathSegments.length;o++){if(i=this.pathSegments[o].getPointAtLength(r))return i;r-=this.pathSegments[o].totalLength}return this.endPoint}},this.transform=function(r){this.pathSegments=[],this.startPoint=null,this.endPoint=null,this.totalLength=0;for(var i=0;i<this.pathCommands.length;i++){for(var o=this.pathCommands.shift(),u=3;u<o.length;u+=2){var p=transformPoint([o[u],o[u+1]],r);o[u]=p[0],o[u+1]=p[1]}this.addCommand(o)}return this},this.mergeShape=function(r){for(var i=0;i<r.pathCommands.length;i++)this.addCommand(r.pathCommands[i].slice());return this},this.clone=function(){return(new SvgShape).mergeShape(this)},this.insertInDocument=function(){for(var i=0;i<this.pathCommands.length;i++){var o=this.pathCommands[i][0],u=this.pathCommands[i].slice(3);switch(o){case"move":r.moveTo(u[0],u[1]);break;case"line":r.lineTo(u[0],u[1]);break;case"curve":r.bezierCurveTo(u[0],u[1],u[2],u[3],u[4],u[5]);break;case"close":r.closePath()}}},this.getSubPaths=function(){for(var r=[],i=new SvgShape,o=0;o<this.pathCommands.length;o++){var u=this.pathCommands[o];"move"===this.pathCommands[o][0]&&0!==o&&(r.push(i),i=new SvgShape),i.addCommand(u)}return r.push(i),r},this.getMarkers=function(){for(var r=[],i=this.getSubPaths(),o=0;o<i.length;o++){for(var u=i[o],p=[],g=0;g<u.pathSegments.length;g++){var y=u.pathSegments[g];if(isNotEqual(y.totalLength,0)||0===g||g===u.pathSegments.length-1){if(y.hasStart){var w=y.getPointAtLength(0),_=p.pop();_&&(w[2]=.5*(_[2]+w[2])),p.push(w)}if(y.hasEnd){var x=y.getPointAtLength(y.totalLength);p.push(x)}}}r=r.concat(p)}return r}},R=function SvgElem(r,o){var u=Object.create(null),p=null;this.name=r.nodeName,this.isOuterElement=r===i||!r.parentNode,this.inherits=o||(this.isOuterElement?null:createSVGElement(r.parentNode,null)),this.stack=this.inherits?this.inherits.stack.concat(r):[r],this.style=parseStyleAttr("function"==typeof r.getAttribute&&r.getAttribute("style")),this.css=we?getComputedStyle(r):function getStyle(r){for(var i=Object.create(null),o=Object.create(null),u=0;u<Oe.length;u++){var p=Oe[u];if(matchesSelector(r,p.selector))for(var g in p.css)o[g]>p.selector.specificity||(i[g]=p.css[g],o[g]=p.selector.specificity)}return i}(r),this.allowedChildren=[],this.attr=function(i){if("function"==typeof r.getAttribute)return r.getAttribute(i)},this.resolveUrl=function(r){var o=(r||"").match(/^\s*(?:url\("(.*)#(.*)"\)|url\('(.*)#(.*)'\)|url\((.*)#(.*)\)|(.*)#(.*))\s*$/)||[],u=o[1]||o[3]||o[5]||o[7],p=o[2]||o[4]||o[6]||o[8];if(p){if(!u){var g=i.getElementById(p);if(g)return-1===this.stack.indexOf(g)?g:void _e('SVGtoPDF: loop of circular references for id "'+p+'"')}if(ke){var y=Ee[u];if(!y){(function isArrayLike(r){return"object"==typeof r&&null!==r&&"number"==typeof r.length})(y=ke(u))||(y=[y]);for(var w=0;w<y.length;w++)"string"==typeof y[w]&&(y[w]=parseXml(y[w]));Ee[u]=y}for(var _=0;_<y.length;_++){var x=y[_].getElementById(p);if(x)return-1===this.stack.indexOf(x)?x:void _e('SVGtoPDF: loop of circular references for id "'+u+"#"+p+'"')}}}},this.computeUnits=function(r,i,o,u){return"%"===i?parseFloat(r)/100*(u||null!=o?o:this.getViewport()):"ex"===i||"em"===i?r*{em:1,ex:.5}[i]*(u?o:this.get("font-size")):r*{"":1,px:1,pt:96/72,cm:96/2.54,mm:96/25.4,in:96,pc:16}[i]},this.computeLength=function(r,i,o,u){var p,g,y=new P((r||"").trim());return"string"!=typeof(p=y.matchNumber())||"string"!=typeof(g=y.matchLengthUnit())||y.matchAll()?o:this.computeUnits(p,g,i,u)},this.computeLengthList=function(r,i,o){for(var u,p,g=new P((r||"").trim()),y=[];"string"==typeof(u=g.matchNumber())&&"string"==typeof(p=g.matchLengthUnit());)y.push(this.computeUnits(u,p,i)),g.matchSeparator();if(!o||!g.matchAll())return y},this.getLength=function(r,i,o){return this.computeLength(this.attr(r),i,o)},this.getLengthList=function(r,i){return this.computeLengthList(this.attr(r),i)},this.getUrl=function(r){return this.resolveUrl(this.attr(r))},this.getNumberList=function(r){for(var i,o=new P((this.attr(r)||"").trim()),u=[];i=o.matchNumber();)u.push(Number(i)),o.matchSeparator();return u.error=o.matchAll(),u},this.getViewbox=function(r,i){var o=this.getNumberList(r);return 4===o.length&&o[2]>=0&&o[3]>=0?o:i},this.getPercent=function(r,i){var o=this.attr(r),u=new P((o||"").trim()),p=u.matchNumber();return p?(u.match("%")&&(p*=.01),u.matchAll()?i:Math.max(0,Math.min(1,p))):i},this.chooseValue=function(r){for(var i=0;i<arguments.length;i++)if(null!=arguments[i]&&arguments[i]==arguments[i])return arguments[i];return arguments[arguments.length-1]},this.get=function(r){if(void 0!==u[r])return u[r];for(var i,o,p=k[r]||{},g=0;g<3;g++){switch(g){case 0:"transform"!==r&&(i=this.css[p.css||r]);break;case 1:i=this.style[r];break;case 2:i=this.attr(r)}if("inherit"===i&&null!=(o=this.inherits?this.inherits.get(r):p.initial))return u[r]=o;if(null!=p.values&&null!=(o=p.values[i]))return u[r]=o;if(null!=i){var y=void 0;switch(r){case"font-size":o=this.computeLength(i,this.inherits?this.inherits.get(r):p.initial,void 0,!0);break;case"baseline-shift":o=this.computeLength(i,this.get("font-size"));break;case"font-family":o=i||void 0;break;case"opacity":case"stroke-opacity":case"fill-opacity":case"stop-opacity":y=parseFloat(i),isNaN(y)||(o=Math.max(0,Math.min(1,y)));break;case"transform":o=parseTranform(i);break;case"stroke-dasharray":if("none"===i)o=[];else if(y=this.computeLengthList(i,this.getViewport(),!0)){for(var w=0,_=!1,x=0;x<y.length;x++)y[x]<0&&(_=!0),w+=y[x];_||(y.length%2==1&&(y=y.concat(y)),o=0===w?[]:y)}break;case"color":o="none"===i||"transparent"===i?"none":parseColor(i);break;case"fill":case"stroke":if("none"===i||"transparent"===i)o="none";else if("currentColor"===i)o=this.get("color");else{if(y=parseColor(i))return y;if(y=(i||"").split(" ")){var P=this.resolveUrl(y[0]),O=parseColor(y[1]);o=null==P?O:"linearGradient"===P.nodeName||"radialGradient"===P.nodeName?new $(P,null,O):"pattern"===P.nodeName?new J(P,null,O):O}}break;case"stop-color":o="none"===i||"transparent"===i?"none":"currentColor"===i?this.get("color"):parseColor(i);break;case"marker-start":case"marker-mid":case"marker-end":case"clip-path":case"mask":o="none"===i?"none":this.resolveUrl(i);break;case"stroke-width":null!=(y=this.computeLength(i,this.getViewport()))&&y>=0&&(o=y);break;case"stroke-miterlimit":null!=(y=parseFloat(i))&&y>=1&&(o=y);break;case"word-spacing":case"letter-spacing":o=this.computeLength(i,this.getViewport());break;case"stroke-dashoffset":if(null!=(o=this.computeLength(i,this.getViewport()))&&o<0)for(var I=this.get("stroke-dasharray"),B=0;B<I.length;B++)o+=I[B]}if(null!=o)return u[r]=o}}return u[r]=p.inherit&&this.inherits?this.inherits.get(r):p.initial},this.getChildren=function(){if(null!=p)return p;for(var i=[],o=0;o<r.childNodes.length;o++){var u=r.childNodes[o];u.error||-1===this.allowedChildren.indexOf(u.nodeName)||i.push(createSVGElement(u,this))}return p=i},this.getParentVWidth=function(){return this.inherits?this.inherits.getVWidth():ve},this.getParentVHeight=function(){return this.inherits?this.inherits.getVHeight():me},this.getParentViewport=function(){return Math.sqrt(.5*this.getParentVWidth()*this.getParentVWidth()+.5*this.getParentVHeight()*this.getParentVHeight())},this.getVWidth=function(){return this.getParentVWidth()},this.getVHeight=function(){return this.getParentVHeight()},this.getViewport=function(){return Math.sqrt(.5*this.getVWidth()*this.getVWidth()+.5*this.getVHeight()*this.getVHeight())},this.getBoundingBox=function(){return this.getBoundingShape().getBoundingBox()}},D=function SvgElemStylable(i,o){R.call(this,i,o),this.transform=function(){r.transform.apply(r,this.getTransformation())},this.clip=function(){if("none"!==this.get("clip-path"))return new le(this.get("clip-path"),null).useMask(this.getBoundingBox()),!0},this.mask=function(){if("none"!==this.get("mask"))return new ue(this.get("mask"),null).useMask(this.getBoundingBox()),!0},this.getFill=function(r,i){var o=this.get("opacity"),u=this.get("fill"),p=this.get("fill-opacity");return r?y.white:"none"!==u&&o&&p?u instanceof $||u instanceof J?u.getPaint(this.getBoundingBox(),p*o,r,i):opacityToColor(u,p*o,i):void 0},this.getStroke=function(r,i){var o=this.get("opacity"),u=this.get("stroke"),p=this.get("stroke-opacity");if(!r&&!isEqual(this.get("stroke-width"),0))return"none"!==u&&o&&p?u instanceof $||u instanceof J?u.getPaint(this.getBoundingBox(),p*o,r,i):opacityToColor(u,p*o,i):void 0}},N=function SvgElemHasChildren(r,i){D.call(this,r,i),this.allowedChildren=["use","g","a","svg","image","rect","circle","ellipse","line","polyline","polygon","path","text"],this.getBoundingShape=function(){for(var r=new B,i=this.getChildren(),o=0;o<i.length;o++)if("none"!==i[o].get("display")&&"function"==typeof i[o].getBoundingShape){var u=i[o].getBoundingShape().clone();"function"==typeof i[o].getTransformation&&u.transform(i[o].getTransformation()),r.mergeShape(u)}return r},this.drawChildren=function(r,i){for(var o=this.getChildren(),u=0;u<o.length;u++)"none"!==o[u].get("display")&&"function"==typeof o[u].drawInDocument&&o[u].drawInDocument(r,i)}},W=function SvgElemContainer(i,o){N.call(this,i,o),this.drawContent=function(i,o){this.transform();var u,p=this.clip(),g=this.mask();(this.get("opacity")<1||p||g)&&!i&&(u=docBeginGroup(getPageBBox())),this.drawChildren(i,o),u&&(docEndGroup(u),r.fillOpacity(this.get("opacity")),docInsertGroup(u))}},U=function SvgElemUse(i,o){W.call(this,i,o);var u=this.getLength("x",this.getVWidth(),0),p=this.getLength("y",this.getVHeight(),0),g=this.getUrl("href")||this.getUrl("xlink:href");g&&(g=createSVGElement(g,this)),this.getChildren=function(){return g?[g]:[]},this.drawInDocument=function(i,o){r.save(),this.drawContent(i,o),r.restore()},this.getTransformation=function(){return multiplyMatrix(this.get("transform"),[1,0,0,1,u,p])}},j=function SvgElemSymbol(i,o){W.call(this,i,o);var u=this.getLength("width",this.getParentVWidth(),this.getParentVWidth()),p=this.getLength("height",this.getParentVHeight(),this.getParentVHeight());o instanceof U&&(u=o.getLength("width",o.getParentVWidth(),u),p=o.getLength("height",o.getParentVHeight(),p));var g=(this.attr("preserveAspectRatio")||"").trim(),y=this.getViewbox("viewBox",[0,0,u,p]);this.getVWidth=function(){return y[2]},this.getVHeight=function(){return y[3]},this.drawInDocument=function(i,o){r.save(),this.drawContent(i,o),r.restore()},this.getTransformation=function(){return multiplyMatrix(parseAspectRatio(g,u,p,y[2],y[3]),[1,0,0,1,-y[0],-y[1]])}},G=function SvgElemGroup(i,o){W.call(this,i,o),this.drawInDocument=function(i,o){r.save(),!this.link||i||o||this.addLink(),this.drawContent(i,o),r.restore()},this.getTransformation=function(){return this.get("transform")}},X=function SvgElemLink(i,o){o&&o.isText?(de.call(this,i,o),this.allowedChildren=["textPath","tspan","#text","#cdata-section","a"]):G.call(this,i,o),this.link=this.attr("href")||this.attr("xlink:href"),this.addLink=function(){if(this.link.match(/^(?:[a-z][a-z0-9+.-]*:|\/\/)?/i)&&this.getChildren().length){var i=this.getBoundingShape().transform(getGlobalMatrix()).getBoundingBox();!function docInsertLink(i,o,u,p,g){var y=r.ref({Type:"Annot",Subtype:"Link",Rect:[i,o,u,p],Border:[0,0,0],A:{S:"URI",URI:new String(g)}});y.end(),Te.push(y)}(i[0],i[1],i[2],i[3],this.link)}}},K=function SvgElemSvg(i,o){W.call(this,i,o);var u=this.getLength("width",this.getParentVWidth(),this.getParentVWidth()),p=this.getLength("height",this.getParentVHeight(),this.getParentVHeight()),g=this.getLength("x",this.getParentVWidth(),0),y=this.getLength("y",this.getParentVHeight(),0);o instanceof U&&(u=o.getLength("width",o.getParentVWidth(),u),p=o.getLength("height",o.getParentVHeight(),p));var w=this.attr("preserveAspectRatio"),_=this.getViewbox("viewBox",[0,0,u,p]);this.isOuterElement&&be&&(g=y=0,u=ve,p=me,w=be),this.getVWidth=function(){return _[2]},this.getVHeight=function(){return _[3]},this.drawInDocument=function(i,o){r.save(),"hidden"===this.get("overflow")&&((new B).M(g,y).L(g+u,y).L(g+u,y+p).L(g,y+p).Z().transform(this.get("transform")).insertInDocument(),r.clip()),this.drawContent(i,o),r.restore()},this.getTransformation=function(){return multiplyMatrix(this.get("transform"),[1,0,0,1,g,y],parseAspectRatio(w,u,p,_[2],_[3]),[1,0,0,1,-_[0],-_[1]])}},Y=function SVGElemImage(i,o){D.call(this,i,o);var u,p=xe(this.attr("href")||this.attr("xlink:href")||""),g=this.getLength("x",this.getVWidth(),0),w=this.getLength("y",this.getVHeight(),0),_=this.getLength("width",this.getVWidth(),"auto"),x=this.getLength("height",this.getVHeight(),"auto");try{u=r.openImage(p)}catch(r){_e('SVGElemImage: failed to open image "'+p+'" in PDFKit')}u&&("auto"===_&&"auto"!==x?_=x*u.width/u.height:"auto"===x&&"auto"!==_?x=_*u.height/u.width:"auto"===_&&"auto"===x&&(_=u.width,x=u.height)),("auto"===_||_<0)&&(_=0),("auto"===x||x<0)&&(x=0),this.getTransformation=function(){return this.get("transform")},this.getBoundingShape=function(){return(new B).M(g,w).L(g+_,w).M(g+_,w+x).L(g,w+x)},this.drawInDocument=function(i,o){"hidden"!==this.get("visibility")&&u&&(r.save(),this.transform(),"hidden"===this.get("overflow")&&r.rect(g,w,_,x).clip(),this.clip(),this.mask(),r.translate(g,w),r.transform.apply(r,parseAspectRatio(this.attr("preserveAspectRatio"),_,x,u?u.width:_,u?u.height:x)),i?(r.rect(0,0,u.width,u.height),docFillColor(y.white).fill()):(r.fillOpacity(this.get("opacity")),r.image(u,0,0)),r.restore())}},J=function SvgElemPattern(i,o,u){N.call(this,i,o),this.ref=function(){var r=this.getUrl("href")||this.getUrl("xlink:href");if(r&&r.nodeName===i.nodeName)return new SvgElemPattern(r,o,u)}.call(this);var p=this.attr;this.attr=function(r){var i=p.call(this,r);return null!=i||"href"===r||"xlink:href"===r?i:this.ref?this.ref.attr(r):null};var g=this.getChildren;this.getChildren=function(){var r=g.call(this);return r.length>0?r:this.ref?this.ref.getChildren():[]},this.getPaint=function(i,o,p,g){var y="userSpaceOnUse"!==this.attr("patternUnits"),w="objectBoundingBox"===this.attr("patternContentUnits"),_=this.getLength("x",y?1:this.getParentVWidth(),0),x=this.getLength("y",y?1:this.getParentVHeight(),0),k=this.getLength("width",y?1:this.getParentVWidth(),0),P=this.getLength("height",y?1:this.getParentVHeight(),0);w&&!y?(_=(_-i[0])/(i[2]-i[0])||0,x=(x-i[1])/(i[3]-i[1])||0,k=k/(i[2]-i[0])||0,P=P/(i[3]-i[1])||0):!w&&y&&(_=i[0]+_*(i[2]-i[0]),x=i[1]+x*(i[3]-i[1]),k*=i[2]-i[0],P*=i[3]-i[1]);var O=this.getViewbox("viewBox",[0,0,k,P]),I=multiplyMatrix(parseAspectRatio((this.attr("preserveAspectRatio")||"").trim(),k,P,O[2],O[3],0),[1,0,0,1,-O[0],-O[1]]),B=parseTranform(this.attr("patternTransform"));if(w&&(B=multiplyMatrix([i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]],B)),(B=validateMatrix(B=multiplyMatrix(B,[1,0,0,1,_,x])))&&(I=validateMatrix(I))&&(k=validateNumber(k))&&(P=validateNumber(P))){var R=docBeginGroup([0,0,k,P]);return r.transform.apply(r,I),this.drawChildren(p,g),docEndGroup(R),[docCreatePattern(R,k,P,B),o]}return u?[u[0],u[1]*o]:void 0},this.getVWidth=function(){var r="userSpaceOnUse"!==this.attr("patternUnits"),i=this.getLength("width",r?1:this.getParentVWidth(),0);return this.getViewbox("viewBox",[0,0,i,0])[2]},this.getVHeight=function(){var r="userSpaceOnUse"!==this.attr("patternUnits"),i=this.getLength("height",r?1:this.getParentVHeight(),0);return this.getViewbox("viewBox",[0,0,0,i])[3]}},$=function SvgElemGradient(i,o,u){R.call(this,i,o),this.allowedChildren=["stop"],this.ref=function(){var r=this.getUrl("href")||this.getUrl("xlink:href");if(r&&r.nodeName===i.nodeName)return new SvgElemGradient(r,o,u)}.call(this);var p=this.attr;this.attr=function(r){var i=p.call(this,r);return null!=i||"href"===r||"xlink:href"===r?i:this.ref?this.ref.attr(r):null};var g=this.getChildren;this.getChildren=function(){var r=g.call(this);return r.length>0?r:this.ref?this.ref.getChildren():[]},this.getPaint=function(i,o,p,g){var w=this.getChildren();if(0!==w.length){if(1===w.length){var _=w[0],x=_.get("stop-color");if("none"===x)return;return opacityToColor(x,_.get("stop-opacity")*o,g)}var k,P,O,I,B,R,D="userSpaceOnUse"!==this.attr("gradientUnits"),N=parseTranform(this.attr("gradientTransform")),W=this.attr("spreadMethod"),U=0,j=0,G=1;if(D&&(N=multiplyMatrix([i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]],N)),N=validateMatrix(N)){if("linearGradient"===this.name)P=this.getLength("x1",D?1:this.getVWidth(),0),O=this.getLength("x2",D?1:this.getVWidth(),D?1:this.getVWidth()),I=this.getLength("y1",D?1:this.getVHeight(),0),B=this.getLength("y2",D?1:this.getVHeight(),0);else{O=this.getLength("cx",D?1:this.getVWidth(),D?.5:.5*this.getVWidth()),B=this.getLength("cy",D?1:this.getVHeight(),D?.5:.5*this.getVHeight()),R=this.getLength("r",D?1:this.getViewport(),D?.5:.5*this.getViewport()),P=this.getLength("fx",D?1:this.getVWidth(),O),I=this.getLength("fy",D?1:this.getVHeight(),B),R<0&&_e("SvgElemGradient: negative r value");var X=Math.sqrt(Math.pow(O-P,2)+Math.pow(B-I,2)),K=1;X>R&&(P=O+(P-O)*(K=R/X),I=B+(I-B)*K),R=Math.max(R,X*K*1.000001)}if("reflect"===W||"repeat"===W){var Y=inverseMatrix(N),J=transformPoint([i[0],i[1]],Y),$=transformPoint([i[2],i[1]],Y),ee=transformPoint([i[2],i[3]],Y),te=transformPoint([i[0],i[3]],Y);"linearGradient"===this.name?(U=Math.max((J[0]-O)*(O-P)+(J[1]-B)*(B-I),($[0]-O)*(O-P)+($[1]-B)*(B-I),(ee[0]-O)*(O-P)+(ee[1]-B)*(B-I),(te[0]-O)*(O-P)+(te[1]-B)*(B-I))/(Math.pow(O-P,2)+Math.pow(B-I,2)),j=Math.max((J[0]-P)*(P-O)+(J[1]-I)*(I-B),($[0]-P)*(P-O)+($[1]-I)*(I-B),(ee[0]-P)*(P-O)+(ee[1]-I)*(I-B),(te[0]-P)*(P-O)+(te[1]-I)*(I-B))/(Math.pow(O-P,2)+Math.pow(B-I,2))):U=Math.sqrt(Math.max(Math.pow(J[0]-O,2)+Math.pow(J[1]-B,2),Math.pow($[0]-O,2)+Math.pow($[1]-B,2),Math.pow(ee[0]-O,2)+Math.pow(ee[1]-B,2),Math.pow(te[0]-O,2)+Math.pow(te[1]-B,2)))/R-1,U=Math.ceil(U+.5),G=(j=Math.ceil(j+.5))+1+U}k="linearGradient"===this.name?r.linearGradient(P-j*(O-P),I-j*(B-I),O+U*(O-P),B+U*(B-I)):r.radialGradient(P,I,0,O,B,R+U*R);for(var re=0;re<G;re++)for(var ne=0,ie="reflect"!==W||(re-j)%2==0,oe=0;oe<w.length;oe++){var ae=w[ie?oe:w.length-1-oe],se=ae.get("stop-color");"none"===se&&(se=y.transparent),se=opacityToColor(se,ae.get("stop-opacity")*o,g),ne=Math.max(ne,ie?ae.getPercent("offset",0):1-ae.getPercent("offset",0)),0===oe&&4===se[0].length&&(k._colorSpace="DeviceCMYK"),0===oe&&ne>0&&k.stop((re+0)/G,se[0],se[1]),k.stop((re+ne)/(U+j+1),se[0],se[1]),oe===w.length-1&&ne<1&&k.stop((re+1)/G,se[0],se[1])}return k.setTransform.apply(k,N),[k,1]}return u?[u[0],u[1]*o]:void 0}}},ee=function SvgElemBasicShape(i,o){D.call(this,i,o),this.dashScale=1,this.getBoundingShape=function(){return this.shape},this.getTransformation=function(){return this.get("transform")},this.drawInDocument=function(i,o){if("hidden"!==this.get("visibility")&&this.shape){if(r.save(),this.transform(),this.clip(),i)this.shape.insertInDocument(),docFillColor(y.white),r.fill(this.get("clip-rule"));else{var u;this.mask()&&(u=docBeginGroup(getPageBBox()));var p=this.shape.getSubPaths(),g=this.getFill(i,o),w=this.getStroke(i,o),_=this.get("stroke-width"),x=this.get("stroke-linecap");if(g||w){if(g&&docFillColor(g),w){for(var k=0;k<p.length;k++)if(isEqual(p[k].totalLength,0)&&("square"===x||"round"===x)&&_>0&&p[k].startPoint&&p[k].startPoint.length>1){var P=p[k].startPoint[0],O=p[k].startPoint[1];docFillColor(w),"square"===x?r.rect(P-.5*_,O-.5*_,_,_):"round"===x&&r.circle(P,O,.5*_),r.fill()}var I=this.get("stroke-dasharray"),B=this.get("stroke-dashoffset");if(isNotEqual(this.dashScale,1)){for(var R=0;R<I.length;R++)I[R]*=this.dashScale;B*=this.dashScale}docStrokeColor(w),r.lineWidth(_).miterLimit(this.get("stroke-miterlimit")).lineJoin(this.get("stroke-linejoin")).lineCap(x).dash(I,{phase:B})}for(var D=0;D<p.length;D++)p[D].totalLength>0&&p[D].insertInDocument();g&&w?r.fillAndStroke(this.get("fill-rule")):g?r.fill(this.get("fill-rule")):w&&r.stroke()}var N=this.get("marker-start"),W=this.get("marker-mid"),U=this.get("marker-end");if("none"!==N||"none"!==W||"none"!==U){var j=this.shape.getMarkers();if("none"!==N&&new ce(N,null).drawMarker(!1,o,j[0],_),"none"!==W)for(var G=1;G<j.length-1;G++)new ce(W,null).drawMarker(!1,o,j[G],_);"none"!==U&&new ce(U,null).drawMarker(!1,o,j[j.length-1],_)}u&&(docEndGroup(u),docInsertGroup(u))}r.restore()}}},te=function SvgElemRect(r,i){ee.call(this,r,i);var o=this.getLength("x",this.getVWidth(),0),u=this.getLength("y",this.getVHeight(),0),p=this.getLength("width",this.getVWidth(),0),g=this.getLength("height",this.getVHeight(),0),y=this.getLength("rx",this.getVWidth()),w=this.getLength("ry",this.getVHeight());void 0===y&&void 0===w?y=w=0:void 0===y&&void 0!==w?y=w:void 0!==y&&void 0===w&&(w=y),p>0&&g>0?y&&w?(y=Math.min(y,.5*p),w=Math.min(w,.5*g),this.shape=(new B).M(o+y,u).L(o+p-y,u).A(y,w,0,0,1,o+p,u+w).L(o+p,u+g-w).A(y,w,0,0,1,o+p-y,u+g).L(o+y,u+g).A(y,w,0,0,1,o,u+g-w).L(o,u+w).A(y,w,0,0,1,o+y,u).Z()):this.shape=(new B).M(o,u).L(o+p,u).L(o+p,u+g).L(o,u+g).Z():this.shape=new B},re=function SvgElemCircle(r,i){ee.call(this,r,i);var o=this.getLength("cx",this.getVWidth(),0),u=this.getLength("cy",this.getVHeight(),0),p=this.getLength("r",this.getViewport(),0);this.shape=p>0?(new B).M(o+p,u).A(p,p,0,0,1,o-p,u).A(p,p,0,0,1,o+p,u).Z():new B},ne=function SvgElemEllipse(r,i){ee.call(this,r,i);var o=this.getLength("cx",this.getVWidth(),0),u=this.getLength("cy",this.getVHeight(),0),p=this.getLength("rx",this.getVWidth(),0),g=this.getLength("ry",this.getVHeight(),0);this.shape=p>0&&g>0?(new B).M(o+p,u).A(p,g,0,0,1,o-p,u).A(p,g,0,0,1,o+p,u).Z():new B},ie=function SvgElemLine(r,i){ee.call(this,r,i);var o=this.getLength("x1",this.getVWidth(),0),u=this.getLength("y1",this.getVHeight(),0),p=this.getLength("x2",this.getVWidth(),0),g=this.getLength("y2",this.getVHeight(),0);this.shape=(new B).M(o,u).L(p,g)},oe=function SvgElemPolyline(r,i){ee.call(this,r,i);var o=this.getNumberList("points");this.shape=new B;for(var u=0;u<o.length-1;u+=2)0===u?this.shape.M(o[u],o[u+1]):this.shape.L(o[u],o[u+1]);o.error&&_e("SvgElemPolygon: unexpected string "+o.error),o.length%2==1&&_e("SvgElemPolyline: uneven number of coordinates")},ae=function SvgElemPolygon(r,i){ee.call(this,r,i);var o=this.getNumberList("points");this.shape=new B;for(var u=0;u<o.length-1;u+=2)0===u?this.shape.M(o[u],o[u+1]):this.shape.L(o[u],o[u+1]);this.shape.Z(),o.error&&_e("SvgElemPolygon: unexpected string "+o.error),o.length%2==1&&_e("SvgElemPolygon: uneven number of coordinates")},se=function SvgElemPath(r,i){ee.call(this,r,i),this.shape=(new B).path(this.attr("d"));var o=this.getLength("pathLength",this.getViewport());this.pathLength=o>0?o:void 0,this.dashScale=void 0!==this.pathLength?this.shape.totalLength/this.pathLength:1},ce=function SvgElemMarker(i,o){N.call(this,i,o);var u=this.getLength("markerWidth",this.getParentVWidth(),3),p=this.getLength("markerHeight",this.getParentVHeight(),3),g=this.getViewbox("viewBox",[0,0,u,p]);this.getVWidth=function(){return g[2]},this.getVHeight=function(){return g[3]},this.drawMarker=function(i,o,y,w){r.save();var _=this.attr("orient"),x=this.attr("markerUnits"),k="auto"===_?y[2]:(parseFloat(_)||0)*Math.PI/180,P="userSpaceOnUse"===x?1:w;r.transform(Math.cos(k)*P,Math.sin(k)*P,-Math.sin(k)*P,Math.cos(k)*P,y[0],y[1]);var O,I=this.getLength("refX",this.getVWidth(),0),B=this.getLength("refY",this.getVHeight(),0),R=parseAspectRatio(this.attr("preserveAspectRatio"),u,p,g[2],g[3],.5);"hidden"===this.get("overflow")&&r.rect(R[0]*(g[0]+g[2]/2-I)-u/2,R[3]*(g[1]+g[3]/2-B)-p/2,u,p).clip(),r.transform.apply(r,R),r.translate(-I,-B),this.get("opacity")<1&&!i&&(O=docBeginGroup(getPageBBox())),this.drawChildren(i,o),O&&(docEndGroup(O),r.fillOpacity(this.get("opacity")),docInsertGroup(O)),r.restore()}},le=function SvgElemClipPath(i,o){N.call(this,i,o),this.useMask=function(i){var o=docBeginGroup(getPageBBox());r.save(),"objectBoundingBox"===this.attr("clipPathUnits")&&r.transform(i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]),this.clip(),this.drawChildren(!0,!1),r.restore(),docEndGroup(o),docApplyMask(o,!0)}},ue=function SvgElemMask(i,o){N.call(this,i,o),this.useMask=function(i){var o,u,p,g,y=docBeginGroup(getPageBBox());r.save(),"userSpaceOnUse"===this.attr("maskUnits")?(o=this.getLength("x",this.getVWidth(),-.1*(i[2]-i[0])+i[0]),u=this.getLength("y",this.getVHeight(),-.1*(i[3]-i[1])+i[1]),p=this.getLength("width",this.getVWidth(),1.2*(i[2]-i[0])),g=this.getLength("height",this.getVHeight(),1.2*(i[3]-i[1]))):(o=this.getLength("x",this.getVWidth(),-.1)*(i[2]-i[0])+i[0],u=this.getLength("y",this.getVHeight(),-.1)*(i[3]-i[1])+i[1],p=this.getLength("width",this.getVWidth(),1.2)*(i[2]-i[0]),g=this.getLength("height",this.getVHeight(),1.2)*(i[3]-i[1])),r.rect(o,u,p,g).clip(),"objectBoundingBox"===this.attr("maskContentUnits")&&r.transform(i[2]-i[0],0,0,i[3]-i[1],i[0],i[1]),this.clip(),this.drawChildren(!1,!0),r.restore(),docEndGroup(y),docApplyMask(y,!0)}},fe=function SvgElemTextContainer(i,o){D.call(this,i,o),this.allowedChildren=["tspan","#text","#cdata-section","a"],this.isText=!0,this.getBoundingShape=function(){for(var r=new B,i=0;i<this._pos.length;i++){var o=this._pos[i];if(!o.hidden){var u=o.ascent*Math.sin(o.rotate),p=-o.ascent*Math.cos(o.rotate),g=o.descent*Math.sin(o.rotate),y=-o.descent*Math.cos(o.rotate),w=o.width*Math.cos(o.rotate),_=o.width*Math.sin(o.rotate);r.M(o.x+u,o.y+p).L(o.x+u+w,o.y+p+_).M(o.x+g+w,o.y+y+_).L(o.x+g,o.y+y)}}return r},this.drawTextInDocument=function(i,o){!this.link||i||o||this.addLink(),"underline"===this.get("text-decoration")&&this.decorate(.05*this._font.size,-.075*this._font.size,i,o),"overline"===this.get("text-decoration")&&this.decorate(.05*this._font.size,getAscent(this._font.font,this._font.size)+.075*this._font.size,i,o);var u=this.getFill(i,o),p=this.getStroke(i,o),g=this.get("stroke-width");this._font.fauxBold&&(p?g+=.03*this._font.size:(p=u,g=.03*this._font.size));for(var y,w,_,x,k,P,O,I,B,R=this.getChildren(),D=0;D<R.length;D++){var N=R[D];switch(N.name){case"tspan":case"textPath":case"a":"none"!==N.get("display")&&N.drawTextInDocument(i,o);break;case"#text":case"#cdata-section":if("hidden"===this.get("visibility"))continue;if(u||p||i){u&&docFillColor(u),p&&g&&(docStrokeColor(p),r.lineWidth(g).miterLimit(this.get("stroke-miterlimit")).lineJoin(this.get("stroke-linejoin")).lineCap(this.get("stroke-linecap")).dash(this.get("stroke-dasharray"),{phase:this.get("stroke-dashoffset")})),I=this._font.font,B=this._font.size,r.page.fonts[I.id]||(r.page.fonts[I.id]=I.ref()),r.addContent("BT").addContent("/"+I.id+" "+B+" Tf"),docSetTextMode(!!u,!!p);for(var W=0,U=N._pos;W<U.length;W++)if(!U[W].hidden&&isNotEqual(U[W].width,0)){var j=Math.cos(U[W].rotate),G=Math.sin(U[W].rotate),X=this._font.fauxItalic?-.25:0;w=j*U[W].scale,_=G*U[W].scale,x=j*X-G,k=G*X+j,P=U[W].x,O=U[W].y,r.addContent(validateNumber(w)+" "+validateNumber(_)+" "+validateNumber(-x)+" "+validateNumber(-k)+" "+validateNumber(P)+" "+validateNumber(O)+" Tm"),y=U[W].glyph,r.addContent("<"+y+"> Tj")}r.addContent("ET")}}}"line-through"===this.get("text-decoration")&&this.decorate(.05*this._font.size,.5*(getAscent(this._font.font,this._font.size)+getDescent(this._font.font,this._font.size)),i,o)},this.decorate=function(i,o,u,p){var g=this.getFill(u,p),y=this.getStroke(u,p);g&&docFillColor(g),y&&(docStrokeColor(y),r.lineWidth(this.get("stroke-width")).miterLimit(this.get("stroke-miterlimit")).lineJoin(this.get("stroke-linejoin")).lineCap(this.get("stroke-linecap")).dash(this.get("stroke-dasharray"),{phase:this.get("stroke-dashoffset")}));for(var w=0,_=this._pos;w<_.length;w++)if(!_[w].hidden&&isNotEqual(_[w].width,0)){var x=(o+i/2)*Math.sin(_[w].rotate),k=-(o+i/2)*Math.cos(_[w].rotate),P=(o-i/2)*Math.sin(_[w].rotate),O=-(o-i/2)*Math.cos(_[w].rotate),I=_[w].width*Math.cos(_[w].rotate),R=_[w].width*Math.sin(_[w].rotate);(new B).M(_[w].x+x,_[w].y+k).L(_[w].x+x+I,_[w].y+k+R).L(_[w].x+P+I,_[w].y+O+R).L(_[w].x+P,_[w].y+O).Z().insertInDocument(),g&&y?r.fillAndStroke():g?r.fill():y&&r.stroke()}}},he=function SvgElemTextNode(r,i){this.name=r.nodeName,this.textContent=r.nodeValue},de=function SvgElemTspan(r,i){fe.call(this,r,i)},pe=function SvgElemTextPath(r,i){var o;if(fe.call(this,r,i),(o=this.attr("path"))&&""!==o.trim()){var u=this.getLength("pathLength",this.getViewport());this.pathObject=(new B).path(o),this.pathLength=u>0?u:this.pathObject.totalLength,this.pathScale=this.pathObject.totalLength/this.pathLength}else if((o=this.getUrl("href")||this.getUrl("xlink:href"))&&"path"===o.nodeName){var p=new se(o,this);this.pathObject=p.shape.clone().transform(p.get("transform")),this.pathLength=this.chooseValue(p.pathLength,this.pathObject.totalLength),this.pathScale=this.pathObject.totalLength/this.pathLength}},ge=function SvgElemText(i,o){fe.call(this,i,o),this.allowedChildren=["textPath","tspan","#text","#cdata-section","a"],function(o){var u,p,g="",y=i.textContent,w=[],_=[],x=0,k=0;function doAnchoring(){if(_.length)for(var r=_[_.length-1],i=_[0],o=r.x+r.width-i.x,g={startltr:0,middleltr:.5,endltr:1,startrtl:1,middlertl:.5,endrtl:0}[u+p]*o||0,y=0;y<_.length;y++)_[y].x-=g;_=[]}function textOnPath(r){var i=r.pathObject,o=r.pathLength,u=r.pathScale;if(i)for(var p=r.getLength("startOffset",o,0),g=0;g<r._pos.length;g++){var y=p+r._pos[g].x+.5*r._pos[g].width;if(y>o||y<0)r._pos[g].hidden=!0;else{var w=i.getPointAtLength(y*u);isNotEqual(u,1)&&(r._pos[g].scale*=u,r._pos[g].width*=u),r._pos[g].x=w[0]-.5*r._pos[g].width*Math.cos(w[2])-r._pos[g].y*Math.sin(w[2]),r._pos[g].y=w[1]-.5*r._pos[g].width*Math.sin(w[2])+r._pos[g].y*Math.cos(w[2]),r._pos[g].rotate=w[2]+r._pos[g].rotate,r._pos[g].continuous=!1}}else for(var _=0;_<r._pos.length;_++)r._pos[_].hidden=!0}!function recursive(i,o){i._x=combineArrays(i.getLengthList("x",i.getVWidth()),o?o._x.slice(o._pos.length):[]),i._y=combineArrays(i.getLengthList("y",i.getVHeight()),o?o._y.slice(o._pos.length):[]),i._dx=combineArrays(i.getLengthList("dx",i.getVWidth()),o?o._dx.slice(o._pos.length):[]),i._dy=combineArrays(i.getLengthList("dy",i.getVHeight()),o?o._dy.slice(o._pos.length):[]),i._rot=combineArrays(i.getNumberList("rotate"),o?o._rot.slice(o._pos.length):[]),i._defRot=i.chooseValue(i._rot[i._rot.length-1],o&&o._defRot,0),"textPath"===i.name&&(i._y=[]);var P={fauxItalic:!1,fauxBold:!1},O=Se(i.get("font-family"),"bold"===i.get("font-weight"),"italic"===i.get("font-style"),P);try{r.font(O)}catch(r){_e('SVGElemText: failed to open font "'+O+'" in PDFKit')}i._pos=[],i._index=0,i._font={font:r._font,size:i.get("font-size"),fauxItalic:P.fauxItalic,fauxBold:P.fauxBold};var I=i.getLength("textLength",i.getVWidth(),void 0),B="spacingAndGlyphs"===i.attr("lengthAdjust"),R=i.get("word-spacing"),D=i.get("letter-spacing"),N=i.get("text-anchor"),W=i.get("direction"),U=function getBaseline(r,i,o,u){var p,g;switch(o){case"middle":p=.5*function getXHeight(r,i){return(r.xHeight||.5*(r.ascender-r.descender))*i/1e3}(r,i);break;case"central":p=.5*(getDescent(r,i)+getAscent(r,i));break;case"after-edge":case"text-after-edge":p=getDescent(r,i);break;case"alphabetic":case"auto":case"baseline":default:p=0;break;case"mathematical":p=.5*getAscent(r,i);break;case"hanging":p=.8*getAscent(r,i);break;case"before-edge":case"text-before-edge":p=getAscent(r,i)}switch(u){case"baseline":g=0;break;case"super":g=.6*i;break;case"sub":g=-.6*i;break;default:g=u}return p-g}(i._font.font,i._font.size,i.get("alignment-baseline")||i.get("dominant-baseline"),i.get("baseline-shift"));"textPath"===i.name&&(doAnchoring(),x=k=0);for(var j=i.getChildren(),G=0;G<j.length;G++){var X=j[G];switch(X.name){case"tspan":case"textPath":case"a":recursive(X,i);break;case"#text":case"#cdata-section":var K=X.textContent,Y=K,J=void 0;X._font=i._font,X._pos=[],y=y.substring(K.length),"preserve"===i.get("xml:space")?Y=Y.replace(/[\s]/g," "):(Y=Y.replace(/[\s]+/g," "),g.match(/[\s]$|^$/)&&(Y=Y.replace(/^[\s]/,"")),y.match(/^[\s]*$/)&&(Y=Y.replace(/[\s]$/,""))),g+=K,J=0===R?[Y]:Y.split(/(\s)/);for(var $=0;$<J.length;$++){for(var ee=getTextPos(i._font.font,i._font.size,J[$]),te=0;te<ee.length;te++){var re=i._index,ne=i._x[re],ie=i._y[re],oe=i._dx[re],ae=i._dy[re],se=i._rot[re],ce=!(0===$&&0===te);void 0!==ne&&(ce=!1,doAnchoring(),x=ne),void 0!==ie&&(ce=!1,doAnchoring(),k=ie),void 0!==oe&&(ce=!1,x+=oe),void 0!==ae&&(ce=!1,k+=ae),void 0===se&&0===i._defRot||(ce=!1);var le={glyph:ee[te].glyph,rotate:Math.PI/180*i.chooseValue(se,i._defRot),x:x+ee[te].xOffset,y:k+U+ee[te].yOffset,width:ee[te].width,ascent:getAscent(i._font.font,i._font.size),descent:getDescent(i._font.font,i._font.size),scale:1,hidden:!1,continuous:ce};_.push(le),X._pos.push(le),i._pos.push(le),i._index+=ee[te].unicode.length,1===_.length&&(u=N,p=W),x+=ee[te].xAdvance+D,k+=ee[te].yAdvance}" "===J[$]&&(x+=R)}break;default:y=y.substring(X.textContent.length)}}if(I&&i._pos.length&&function adjustLength(r,i,o){var u=r[0],p=r[r.length-1],g=u.x,y=p.x+p.width;if(o){var w=i/(y-g);if(w>0&&w<1/0)for(var _=0;_<r.length;_++)r[_].x=g+w*(r[_].x-g),r[_].scale*=w,r[_].width*=w}else if(r.length>=2)for(var k=(i-(y-g))/(r.length-1),P=0;P<r.length;P++)r[P].x+=P*k;x+=i-(y-g)}(i._pos,I,B),"textPath"!==i.name&&"text"!==i.name||doAnchoring(),"textPath"===i.name){w.push(i);var ue=i.pathObject;ue&&(x=ue.endPoint[0],k=ue.endPoint[1])}o&&(o._pos=o._pos.concat(i._pos),o._index+=i._index)}(o,null);for(var P=0;P<w.length;P++)textOnPath(w[P])}(this),this.getTransformation=function(){return this.get("transform")},this.drawInDocument=function(i,o){var u;r.save(),this.transform(),this.clip(),this.mask()&&(u=docBeginGroup(getPageBBox())),this.drawTextInDocument(i,o),u&&(docEndGroup(u),docInsertGroup(u)),r.restore()}},ye=(p=p||{}).assumePt?1:.75,ve=(p.width||r.page.width)/ye,me=(p.height||r.page.height)/ye,be=p.preserveAspectRatio||null,we=p.useCSS&&"undefined"!=typeof SVGElement&&i instanceof SVGElement&&"function"==typeof getComputedStyle,_e=p.warningCallback,Se=p.fontCallback,xe=p.imageCallback,Ce=p.colorCallback,ke=p.documentCallback,Pe=Math.ceil(Math.max(1,p.precision))||3,Ae=[],Ee={},Te=[],Oe=[];if("function"!=typeof _e&&(_e=function warningCallback(r){void 0!==typeof console&&console.warn}),"function"!=typeof Se&&(Se=function fontCallback(i,o,u,p){if(o&&u){if(r._registeredFonts.hasOwnProperty(i+"-BoldItalic"))return i+"-BoldItalic";if(r._registeredFonts.hasOwnProperty(i+"-Italic"))return p.fauxBold=!0,i+"-Italic";if(r._registeredFonts.hasOwnProperty(i+"-Bold"))return p.fauxItalic=!0,i+"-Bold";if(r._registeredFonts.hasOwnProperty(i))return p.fauxBold=!0,p.fauxItalic=!0,i}if(o&&!u){if(r._registeredFonts.hasOwnProperty(i+"-Bold"))return i+"-Bold";if(r._registeredFonts.hasOwnProperty(i))return p.fauxBold=!0,i}if(!o&&u){if(r._registeredFonts.hasOwnProperty(i+"-Italic"))return i+"-Italic";if(r._registeredFonts.hasOwnProperty(i))return p.fauxItalic=!0,i}if(!o&&!u&&r._registeredFonts.hasOwnProperty(i))return i;if(i.match(/(?:^|,)\s*serif\s*$/)){if(o&&u)return"Times-BoldItalic";if(o&&!u)return"Times-Bold";if(!o&&u)return"Times-Italic";if(!o&&!u)return"Times-Roman"}else if(i.match(/(?:^|,)\s*monospace\s*$/)){if(o&&u)return"Courier-BoldOblique";if(o&&!u)return"Courier-Bold";if(!o&&u)return"Courier-Oblique";if(!o&&!u)return"Courier"}else{if(i.match(/(?:^|,)\s*sans-serif\s*$/),o&&u)return"Helvetica-BoldOblique";if(o&&!u)return"Helvetica-Bold";if(!o&&u)return"Helvetica-Oblique";if(!o&&!u)return"Helvetica"}}),"function"!=typeof xe&&(xe=function imageCallback(r){return r.replace(/\s+/g,"")}),"function"!=typeof Ce)Ce=null;else for(var Ie in y){var Be=Ce(y[Ie]);y[Ie][0]=Be[0],y[Ie][1]=Be[1]}if("function"!=typeof ke&&(ke=null),"string"==typeof i&&(i=parseXml(i)),i){for(var Fe=i.getElementsByTagName("style"),Le=0;Le<Fe.length;Le++)Oe=Oe.concat(parseStyleSheet(Fe[Le].textContent));var Re=createSVGElement(i,null);if("function"==typeof Re.drawInDocument){p.useCSS&&!we&&_e("SVGtoPDF: useCSS option can only be used for SVG *elements* in compatible browsers");var De=r._fillColor;r.save().translate(o||0,u||0).scale(ye),Re.drawInDocument();for(var Me=0;Me<Te.length;Me++)r.page.annotations.push(Te[Me]);r.restore(),r._fillColor=De}else _e("SVGtoPDF: this element can't be rendered directly: "+i.nodeName)}else _e("SVGtoPDF: the input does not look like a valid SVG")})},9742:function(r,i){"use strict";i.byteLength=function byteLength(r){var i=getLens(r),o=i[0],u=i[1];return 3*(o+u)/4-u},i.toByteArray=function toByteArray(r){var i,o,g=getLens(r),y=g[0],w=g[1],_=new p(function _byteLength(r,i,o){return 3*(i+o)/4-o}(0,y,w)),x=0,k=w>0?y-4:y;for(o=0;o<k;o+=4)i=u[r.charCodeAt(o)]<<18|u[r.charCodeAt(o+1)]<<12|u[r.charCodeAt(o+2)]<<6|u[r.charCodeAt(o+3)],_[x++]=i>>16&255,_[x++]=i>>8&255,_[x++]=255&i;2===w&&(i=u[r.charCodeAt(o)]<<2|u[r.charCodeAt(o+1)]>>4,_[x++]=255&i);1===w&&(i=u[r.charCodeAt(o)]<<10|u[r.charCodeAt(o+1)]<<4|u[r.charCodeAt(o+2)]>>2,_[x++]=i>>8&255,_[x++]=255&i);return _},i.fromByteArray=function fromByteArray(r){for(var i,u=r.length,p=u%3,g=[],y=16383,w=0,_=u-p;w<_;w+=y)g.push(encodeChunk(r,w,w+y>_?_:w+y));1===p?(i=r[u-1],g.push(o[i>>2]+o[i<<4&63]+"==")):2===p&&(i=(r[u-2]<<8)+r[u-1],g.push(o[i>>10]+o[i>>4&63]+o[i<<2&63]+"="));return g.join("")};for(var o=[],u=[],p="undefined"!=typeof Uint8Array?Uint8Array:Array,g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",y=0,w=g.length;y<w;++y)o[y]=g[y],u[g.charCodeAt(y)]=y;function getLens(r){var i=r.length;if(i%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var o=r.indexOf("=");return-1===o&&(o=i),[o,o===i?0:4-o%4]}function encodeChunk(r,i,u){for(var p,g,y=[],w=i;w<u;w+=3)p=(r[w]<<16&16711680)+(r[w+1]<<8&65280)+(255&r[w+2]),y.push(o[(g=p)>>18&63]+o[g>>12&63]+o[g>>6&63]+o[63&g]);return y.join("")}u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},4181:function(r){var i=4096,o=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function BrotliBitReader(r){this.buf_=new Uint8Array(8224),this.input_=r,this.reset()}BrotliBitReader.READ_SIZE=i,BrotliBitReader.IBUF_MASK=8191,BrotliBitReader.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var r=0;r<4;r++)this.val_|=this.buf_[this.pos_]<<8*r,++this.pos_;return this.bit_end_pos_>0},BrotliBitReader.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var r=this.buf_ptr_,o=this.input_.read(this.buf_,r,i);if(o<0)throw new Error("Unexpected end of input");if(o<i){this.eos_=1;for(var u=0;u<32;u++)this.buf_[r+o+u]=0}if(0===r){for(u=0;u<32;u++)this.buf_[8192+u]=this.buf_[u];this.buf_ptr_=i}else this.buf_ptr_=0;this.bit_end_pos_+=o<<3}},BrotliBitReader.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},BrotliBitReader.prototype.readBits=function(r){32-this.bit_pos_<r&&this.fillBitWindow();var i=this.val_>>>this.bit_pos_&o[r];return this.bit_pos_+=r,i},r.exports=BrotliBitReader},7080:function(r,i){i.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),i.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},6450:function(r,i,o){var u=o(6154).g,p=o(6154).j,g=o(4181),y=o(5139),w=o(966).h,_=o(966).g,x=o(7080),k=o(8435),P=o(2973),O=1080,I=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),B=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),R=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),D=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function DecodeWindowBits(r){var i;return 0===r.readBits(1)?16:(i=r.readBits(3))>0?17+i:(i=r.readBits(3))>0?8+i:17}function DecodeVarLenUint8(r){if(r.readBits(1)){var i=r.readBits(3);return 0===i?1:r.readBits(i)+(1<<i)}return 0}function MetaBlockLength(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function DecodeMetaBlockLength(r){var i,o,u,p=new MetaBlockLength;if(p.input_end=r.readBits(1),p.input_end&&r.readBits(1))return p;if(7===(i=r.readBits(2)+4)){if(p.is_metadata=!0,0!==r.readBits(1))throw new Error("Invalid reserved bit");if(0===(o=r.readBits(2)))return p;for(u=0;u<o;u++){var g=r.readBits(8);if(u+1===o&&o>1&&0===g)throw new Error("Invalid size byte");p.meta_block_length|=g<<8*u}}else for(u=0;u<i;++u){var y=r.readBits(4);if(u+1===i&&i>4&&0===y)throw new Error("Invalid size nibble");p.meta_block_length|=y<<4*u}return++p.meta_block_length,p.input_end||p.is_metadata||(p.is_uncompressed=r.readBits(1)),p}function ReadSymbol(r,i,o){var u;return o.fillBitWindow(),(u=r[i+=o.val_>>>o.bit_pos_&255].bits-8)>0&&(o.bit_pos_+=8,i+=r[i].value,i+=o.val_>>>o.bit_pos_&(1<<u)-1),o.bit_pos_+=r[i].bits,r[i].value}function ReadHuffmanCode(r,i,o,u){var p,g,y=new Uint8Array(r);if(u.readMoreInput(),1===(g=u.readBits(2))){for(var x=r-1,k=0,P=new Int32Array(4),O=u.readBits(2)+1;x;)x>>=1,++k;for(B=0;B<O;++B)P[B]=u.readBits(k)%r,y[P[B]]=2;switch(y[P[0]]=1,O){case 1:break;case 3:if(P[0]===P[1]||P[0]===P[2]||P[1]===P[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(P[0]===P[1])throw new Error("[ReadHuffmanCode] invalid symbols");y[P[1]]=1;break;case 4:if(P[0]===P[1]||P[0]===P[2]||P[0]===P[3]||P[1]===P[2]||P[1]===P[3]||P[2]===P[3])throw new Error("[ReadHuffmanCode] invalid symbols");u.readBits(1)?(y[P[2]]=3,y[P[3]]=3):y[P[0]]=2}}else{var B,R=new Uint8Array(18),D=32,N=0,W=[new w(2,0),new w(2,4),new w(2,3),new w(3,2),new w(2,0),new w(2,4),new w(2,3),new w(4,1),new w(2,0),new w(2,4),new w(2,3),new w(3,2),new w(2,0),new w(2,4),new w(2,3),new w(4,5)];for(B=g;B<18&&D>0;++B){var U,j=I[B],G=0;u.fillBitWindow(),G+=u.val_>>>u.bit_pos_&15,u.bit_pos_+=W[G].bits,U=W[G].value,R[j]=U,0!==U&&(D-=32>>U,++N)}if(1!==N&&0!==D)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function ReadHuffmanCodeLengths(r,i,o,u){for(var p=0,g=8,y=0,x=0,k=32768,P=[],O=0;O<32;O++)P.push(new w(0,0));for(_(P,0,5,r,18);p<i&&k>0;){var I,B=0;if(u.readMoreInput(),u.fillBitWindow(),B+=u.val_>>>u.bit_pos_&31,u.bit_pos_+=P[B].bits,(I=255&P[B].value)<16)y=0,o[p++]=I,0!==I&&(g=I,k-=32768>>I);else{var R,D,N=I-14,W=0;if(16===I&&(W=g),x!==W&&(y=0,x=W),R=y,y>0&&(y-=2,y<<=N),p+(D=(y+=u.readBits(N)+3)-R)>i)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var U=0;U<D;U++)o[p+U]=x;p+=D,0!==x&&(k-=D<<15-x)}}if(0!==k)throw new Error("[ReadHuffmanCodeLengths] space = "+k);for(;p<i;p++)o[p]=0}(R,r,y,u)}if(0===(p=_(i,o,8,y,r)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return p}function ReadBlockLength(r,i,o){var u,p;return u=ReadSymbol(r,i,o),p=k.kBlockLengthPrefixCode[u].nbits,k.kBlockLengthPrefixCode[u].offset+o.readBits(p)}function TranslateShortCodes(r,i,o){var u;return r<16?(o+=B[r],u=i[o&=3]+R[r]):u=r-16+1,u}function MoveToFront(r,i){for(var o=r[i],u=i;u;--u)r[u]=r[u-1];r[0]=o}function HuffmanTreeGroup(r,i){this.alphabet_size=r,this.num_htrees=i,this.codes=new Array(i+i*D[r+31>>>5]),this.htrees=new Uint32Array(i)}function DecodeContextMap(r,i){var o,u,p={num_htrees:null,context_map:null},g=0;i.readMoreInput();var y=p.num_htrees=DecodeVarLenUint8(i)+1,_=p.context_map=new Uint8Array(r);if(y<=1)return p;for(i.readBits(1)&&(g=i.readBits(4)+1),o=[],u=0;u<O;u++)o[u]=new w(0,0);for(ReadHuffmanCode(y+g,o,0,i),u=0;u<r;){var x;if(i.readMoreInput(),0===(x=ReadSymbol(o,0,i)))_[u]=0,++u;else if(x<=g)for(var k=1+(1<<x)+i.readBits(x);--k;){if(u>=r)throw new Error("[DecodeContextMap] i >= context_map_size");_[u]=0,++u}else _[u]=x-g,++u}return i.readBits(1)&&function InverseMoveToFrontTransform(r,i){var o,u=new Uint8Array(256);for(o=0;o<256;++o)u[o]=o;for(o=0;o<i;++o){var p=r[o];r[o]=u[p],p&&MoveToFront(u,p)}}(_,r),p}function DecodeBlockType(r,i,o,u,p,g,y){var w,_=2*o,x=o,k=ReadSymbol(i,o*O,y);(w=0===k?p[_+(1&g[x])]:1===k?p[_+(g[x]-1&1)]+1:k-2)>=r&&(w-=r),u[o]=w,p[_+(1&g[x])]=w,++g[x]}function CopyUncompressedBlockToOutput(r,i,o,u,p,y){var w,_=p+1,x=o&p,k=y.pos_&g.IBUF_MASK;if(i<8||y.bit_pos_+(i<<3)<y.bit_end_pos_)for(;i-- >0;)y.readMoreInput(),u[x++]=y.readBits(8),x===_&&(r.write(u,_),x=0);else{if(y.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;y.bit_pos_<32;)u[x]=y.val_>>>y.bit_pos_,y.bit_pos_+=8,++x,--i;if(k+(w=y.bit_end_pos_-y.bit_pos_>>3)>g.IBUF_MASK){for(var P=g.IBUF_MASK+1-k,O=0;O<P;O++)u[x+O]=y.buf_[k+O];w-=P,x+=P,i-=P,k=0}for(O=0;O<w;O++)u[x+O]=y.buf_[k+O];if(i-=w,(x+=w)>=_){r.write(u,_),x-=_;for(O=0;O<x;O++)u[O]=u[_+O]}for(;x+i>=_;){if(w=_-x,y.input_.read(u,x,w)<w)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");r.write(u,_),i-=w,x=0}if(y.input_.read(u,x,i)<i)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");y.reset()}}function JumpToByteBoundary(r){var i=r.bit_pos_+7&-8;return 0==r.readBits(i-r.bit_pos_)}function BrotliDecompressedSize(r){var i=new u(r),o=new g(i);return DecodeWindowBits(o),DecodeMetaBlockLength(o).meta_block_length}function BrotliDecompress(r,i){var o,u,p,_,I,B,R,D,N,W,U=0,j=0,G=0,X=[16,15,11,4],K=0,Y=0,J=0,$=[new HuffmanTreeGroup(0,0),new HuffmanTreeGroup(0,0),new HuffmanTreeGroup(0,0)],ee=128+g.READ_SIZE;p=(1<<(u=DecodeWindowBits(W=new g(r))))-16,I=(_=1<<u)-1,B=new Uint8Array(_+ee+y.maxDictionaryWordLength),R=_,D=[],N=[];for(var te=0;te<3240;te++)D[te]=new w(0,0),N[te]=new w(0,0);for(;!j;){var re,ne,ie,oe,ae,se,ce,le,ue,fe,he,de=0,pe=[1<<28,1<<28,1<<28],ge=[0],ye=[1,1,1],ve=[0,1,0,1,0,1],me=[0],be=null,we=null,_e=0,Se=null,xe=0,Ce=0,ke=0;for(o=0;o<3;++o)$[o].codes=null,$[o].htrees=null;W.readMoreInput();var Pe=DecodeMetaBlockLength(W);if(U+(de=Pe.meta_block_length)>i.buffer.length){var Ae=new Uint8Array(U+de);Ae.set(i.buffer),i.buffer=Ae}if(j=Pe.input_end,re=Pe.is_uncompressed,Pe.is_metadata)for(JumpToByteBoundary(W);de>0;--de)W.readMoreInput(),W.readBits(8);else if(0!==de)if(re)W.bit_pos_=W.bit_pos_+7&-8,CopyUncompressedBlockToOutput(i,de,U,B,I,W),U+=de;else{for(o=0;o<3;++o)ye[o]=DecodeVarLenUint8(W)+1,ye[o]>=2&&(ReadHuffmanCode(ye[o]+2,D,o*O,W),ReadHuffmanCode(26,N,o*O,W),pe[o]=ReadBlockLength(N,o*O,W),me[o]=1);for(W.readMoreInput(),oe=(1<<(ne=W.readBits(2)))-1,ae=(ie=16+(W.readBits(4)<<ne))+(48<<ne),be=new Uint8Array(ye[0]),o=0;o<ye[0];++o)W.readMoreInput(),be[o]=W.readBits(2)<<1;var Ee=DecodeContextMap(ye[0]<<6,W);ce=Ee.num_htrees,se=Ee.context_map;var Te=DecodeContextMap(ye[2]<<2,W);for(ue=Te.num_htrees,le=Te.context_map,$[0]=new HuffmanTreeGroup(256,ce),$[1]=new HuffmanTreeGroup(704,ye[1]),$[2]=new HuffmanTreeGroup(ae,ue),o=0;o<3;++o)$[o].decode(W);for(we=0,Se=0,fe=be[ge[0]],Ce=x.lookupOffsets[fe],ke=x.lookupOffsets[fe+1],he=$[1].htrees[0];de>0;){var Oe,Ie,Be,Fe,Le,Re,De,Me,Ne,We,ze,Ue;for(W.readMoreInput(),0===pe[1]&&(DecodeBlockType(ye[1],D,1,ge,ve,me,W),pe[1]=ReadBlockLength(N,O,W),he=$[1].htrees[ge[1]]),--pe[1],(Ie=(Oe=ReadSymbol($[1].codes,he,W))>>6)>=2?(Ie-=2,De=-1):De=0,Be=k.kInsertRangeLut[Ie]+(Oe>>3&7),Fe=k.kCopyRangeLut[Ie]+(7&Oe),Le=k.kInsertLengthPrefixCode[Be].offset+W.readBits(k.kInsertLengthPrefixCode[Be].nbits),Re=k.kCopyLengthPrefixCode[Fe].offset+W.readBits(k.kCopyLengthPrefixCode[Fe].nbits),Y=B[U-1&I],J=B[U-2&I],Ne=0;Ne<Le;++Ne)W.readMoreInput(),0===pe[0]&&(DecodeBlockType(ye[0],D,0,ge,ve,me,W),pe[0]=ReadBlockLength(N,0,W),we=ge[0]<<6,fe=be[ge[0]],Ce=x.lookupOffsets[fe],ke=x.lookupOffsets[fe+1]),_e=se[we+(x.lookup[Ce+Y]|x.lookup[ke+J])],--pe[0],J=Y,Y=ReadSymbol($[0].codes,$[0].htrees[_e],W),B[U&I]=Y,(U&I)===I&&i.write(B,_),++U;if((de-=Le)<=0)break;if(De<0)if(W.readMoreInput(),0===pe[2]&&(DecodeBlockType(ye[2],D,2,ge,ve,me,W),pe[2]=ReadBlockLength(N,2160,W),Se=ge[2]<<2),--pe[2],xe=le[Se+(255&(Re>4?3:Re-2))],(De=ReadSymbol($[2].codes,$[2].htrees[xe],W))>=ie)Ue=(De-=ie)&oe,De=ie+((je=(2+(1&(De>>=ne))<<(ze=1+(De>>1)))-4)+W.readBits(ze)<<ne)+Ue;if((Me=TranslateShortCodes(De,X,K))<0)throw new Error("[BrotliDecompress] invalid distance");if(We=U&I,Me>(G=U<p&&G!==p?U:p)){if(!(Re>=y.minDictionaryWordLength&&Re<=y.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+U+" distance: "+Me+" len: "+Re+" bytes left: "+de);var je=y.offsetsByLength[Re],Ge=Me-G-1,Ve=y.sizeBitsByLength[Re],He=Ge>>Ve;if(je+=(Ge&(1<<Ve)-1)*Re,!(He<P.kNumTransforms))throw new Error("Invalid backward reference. pos: "+U+" distance: "+Me+" len: "+Re+" bytes left: "+de);var qe=P.transformDictionaryWord(B,We,je,Re,He);if(U+=qe,de-=qe,(We+=qe)>=R){i.write(B,_);for(var Xe=0;Xe<We-R;Xe++)B[Xe]=B[R+Xe]}}else{if(De>0&&(X[3&K]=Me,++K),Re>de)throw new Error("Invalid backward reference. pos: "+U+" distance: "+Me+" len: "+Re+" bytes left: "+de);for(Ne=0;Ne<Re;++Ne)B[U&I]=B[U-Me&I],(U&I)===I&&i.write(B,_),++U,--de}Y=B[U-1&I],J=B[U-2&I]}U&=1073741823}}i.write(B,U&I)}HuffmanTreeGroup.prototype.decode=function(r){var i,o=0;for(i=0;i<this.num_htrees;++i)this.htrees[i]=o,o+=ReadHuffmanCode(this.alphabet_size,this.codes,o,r)},i.BrotliDecompressBuffer=function BrotliDecompressBuffer(r,i){var o=new u(r);null==i&&(i=BrotliDecompressedSize(r));var g=new Uint8Array(i),y=new p(g);return BrotliDecompress(o,y),y.pos<y.buffer.length&&(y.buffer=y.buffer.subarray(0,y.pos)),y.buffer},y.init()},5340:function(r,i,o){var u=o(9742);i.init=function(){return(0,o(6450).BrotliDecompressBuffer)(u.toByteArray(o(2722)))}},2722:function(r){r.exports="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"},5139:function(r,i,o){var u=o(5340);i.init=function(){i.dictionary=u.init()},i.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),i.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),i.minDictionaryWordLength=4,i.maxDictionaryWordLength=24},966:function(r,i){function HuffmanCode(r,i){this.bits=r,this.value=i}i.h=HuffmanCode;var o=15;function GetNextKey(r,i){for(var o=1<<i-1;r&o;)o>>=1;return(r&o-1)+o}function ReplicateValue(r,i,o,u,p){do{r[i+(u-=o)]=new HuffmanCode(p.bits,p.value)}while(u>0)}function NextTableBitSize(r,i,u){for(var p=1<<i-u;i<o&&!((p-=r[i])<=0);)++i,p<<=1;return i-u}i.g=function(r,i,u,p,g){var y,w,_,x,k,P,O,I,B,R,D=i,N=new Int32Array(16),W=new Int32Array(16);for(R=new Int32Array(g),w=0;w<g;w++)N[p[w]]++;for(W[1]=0,y=1;y<o;y++)W[y+1]=W[y]+N[y];for(w=0;w<g;w++)0!==p[w]&&(R[W[p[w]]++]=w);if(B=I=1<<(O=u),1===W[15]){for(_=0;_<B;++_)r[i+_]=new HuffmanCode(0,65535&R[0]);return B}for(_=0,w=0,y=1,x=2;y<=u;++y,x<<=1)for(;N[y]>0;--N[y])ReplicateValue(r,i+_,x,I,new HuffmanCode(255&y,65535&R[w++])),_=GetNextKey(_,y);for(P=B-1,k=-1,y=u+1,x=2;y<=o;++y,x<<=1)for(;N[y]>0;--N[y])(_&P)!==k&&(i+=I,B+=I=1<<(O=NextTableBitSize(N,y,u)),r[D+(k=_&P)]=new HuffmanCode(O+u&255,i-D-k&65535)),ReplicateValue(r,i+(_>>u),x,I,new HuffmanCode(y-u&255,65535&R[w++])),_=GetNextKey(_,y);return B}},8435:function(r,i){function PrefixCodeRange(r,i){this.offset=r,this.nbits=i}i.kBlockLengthPrefixCode=[new PrefixCodeRange(1,2),new PrefixCodeRange(5,2),new PrefixCodeRange(9,2),new PrefixCodeRange(13,2),new PrefixCodeRange(17,3),new PrefixCodeRange(25,3),new PrefixCodeRange(33,3),new PrefixCodeRange(41,3),new PrefixCodeRange(49,4),new PrefixCodeRange(65,4),new PrefixCodeRange(81,4),new PrefixCodeRange(97,4),new PrefixCodeRange(113,5),new PrefixCodeRange(145,5),new PrefixCodeRange(177,5),new PrefixCodeRange(209,5),new PrefixCodeRange(241,6),new PrefixCodeRange(305,6),new PrefixCodeRange(369,7),new PrefixCodeRange(497,8),new PrefixCodeRange(753,9),new PrefixCodeRange(1265,10),new PrefixCodeRange(2289,11),new PrefixCodeRange(4337,12),new PrefixCodeRange(8433,13),new PrefixCodeRange(16625,24)],i.kInsertLengthPrefixCode=[new PrefixCodeRange(0,0),new PrefixCodeRange(1,0),new PrefixCodeRange(2,0),new PrefixCodeRange(3,0),new PrefixCodeRange(4,0),new PrefixCodeRange(5,0),new PrefixCodeRange(6,1),new PrefixCodeRange(8,1),new PrefixCodeRange(10,2),new PrefixCodeRange(14,2),new PrefixCodeRange(18,3),new PrefixCodeRange(26,3),new PrefixCodeRange(34,4),new PrefixCodeRange(50,4),new PrefixCodeRange(66,5),new PrefixCodeRange(98,5),new PrefixCodeRange(130,6),new PrefixCodeRange(194,7),new PrefixCodeRange(322,8),new PrefixCodeRange(578,9),new PrefixCodeRange(1090,10),new PrefixCodeRange(2114,12),new PrefixCodeRange(6210,14),new PrefixCodeRange(22594,24)],i.kCopyLengthPrefixCode=[new PrefixCodeRange(2,0),new PrefixCodeRange(3,0),new PrefixCodeRange(4,0),new PrefixCodeRange(5,0),new PrefixCodeRange(6,0),new PrefixCodeRange(7,0),new PrefixCodeRange(8,0),new PrefixCodeRange(9,0),new PrefixCodeRange(10,1),new PrefixCodeRange(12,1),new PrefixCodeRange(14,2),new PrefixCodeRange(18,2),new PrefixCodeRange(22,3),new PrefixCodeRange(30,3),new PrefixCodeRange(38,4),new PrefixCodeRange(54,4),new PrefixCodeRange(70,5),new PrefixCodeRange(102,5),new PrefixCodeRange(134,6),new PrefixCodeRange(198,7),new PrefixCodeRange(326,8),new PrefixCodeRange(582,9),new PrefixCodeRange(1094,10),new PrefixCodeRange(2118,24)],i.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],i.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},6154:function(r,i){function BrotliInput(r){this.buffer=r,this.pos=0}function BrotliOutput(r){this.buffer=r,this.pos=0}BrotliInput.prototype.read=function(r,i,o){this.pos+o>this.buffer.length&&(o=this.buffer.length-this.pos);for(var u=0;u<o;u++)r[i+u]=this.buffer[this.pos+u];return this.pos+=o,o},i.g=BrotliInput,BrotliOutput.prototype.write=function(r,i){if(this.pos+i>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(r.subarray(0,i),this.pos),this.pos+=i,i},i.j=BrotliOutput},2973:function(r,i,o){var u=o(5139),p=10,g=11;function Transform(r,i,o){this.prefix=new Uint8Array(r.length),this.transform=i,this.suffix=new Uint8Array(o.length);for(var u=0;u<r.length;u++)this.prefix[u]=r.charCodeAt(u);for(u=0;u<o.length;u++)this.suffix[u]=o.charCodeAt(u)}var y=[new Transform("",0,""),new Transform("",0," "),new Transform(" ",0," "),new Transform("",12,""),new Transform("",p," "),new Transform("",0," the "),new Transform(" ",0,""),new Transform("s ",0," "),new Transform("",0," of "),new Transform("",p,""),new Transform("",0," and "),new Transform("",13,""),new Transform("",1,""),new Transform(", ",0," "),new Transform("",0,", "),new Transform(" ",p," "),new Transform("",0," in "),new Transform("",0," to "),new Transform("e ",0," "),new Transform("",0,'"'),new Transform("",0,"."),new Transform("",0,'">'),new Transform("",0,"\n"),new Transform("",3,""),new Transform("",0,"]"),new Transform("",0," for "),new Transform("",14,""),new Transform("",2,""),new Transform("",0," a "),new Transform("",0," that "),new Transform(" ",p,""),new Transform("",0,". "),new Transform(".",0,""),new Transform(" ",0,", "),new Transform("",15,""),new Transform("",0," with "),new Transform("",0,"'"),new Transform("",0," from "),new Transform("",0," by "),new Transform("",16,""),new Transform("",17,""),new Transform(" the ",0,""),new Transform("",4,""),new Transform("",0,". The "),new Transform("",g,""),new Transform("",0," on "),new Transform("",0," as "),new Transform("",0," is "),new Transform("",7,""),new Transform("",1,"ing "),new Transform("",0,"\n\t"),new Transform("",0,":"),new Transform(" ",0,". "),new Transform("",0,"ed "),new Transform("",20,""),new Transform("",18,""),new Transform("",6,""),new Transform("",0,"("),new Transform("",p,", "),new Transform("",8,""),new Transform("",0," at "),new Transform("",0,"ly "),new Transform(" the ",0," of "),new Transform("",5,""),new Transform("",9,""),new Transform(" ",p,", "),new Transform("",p,'"'),new Transform(".",0,"("),new Transform("",g," "),new Transform("",p,'">'),new Transform("",0,'="'),new Transform(" ",0,"."),new Transform(".com/",0,""),new Transform(" the ",0," of the "),new Transform("",p,"'"),new Transform("",0,". This "),new Transform("",0,","),new Transform(".",0," "),new Transform("",p,"("),new Transform("",p,"."),new Transform("",0," not "),new Transform(" ",0,'="'),new Transform("",0,"er "),new Transform(" ",g," "),new Transform("",0,"al "),new Transform(" ",g,""),new Transform("",0,"='"),new Transform("",g,'"'),new Transform("",p,". "),new Transform(" ",0,"("),new Transform("",0,"ful "),new Transform(" ",p,". "),new Transform("",0,"ive "),new Transform("",0,"less "),new Transform("",g,"'"),new Transform("",0,"est "),new Transform(" ",p,"."),new Transform("",g,'">'),new Transform(" ",0,"='"),new Transform("",p,","),new Transform("",0,"ize "),new Transform("",g,"."),new Transform(" ",0,""),new Transform(" ",0,","),new Transform("",p,'="'),new Transform("",g,'="'),new Transform("",0,"ous "),new Transform("",g,", "),new Transform("",p,"='"),new Transform(" ",p,","),new Transform(" ",g,'="'),new Transform(" ",g,", "),new Transform("",g,","),new Transform("",g,"("),new Transform("",g,". "),new Transform(" ",g,"."),new Transform("",g,"='"),new Transform(" ",g,". "),new Transform(" ",p,'="'),new Transform(" ",g,"='"),new Transform(" ",p,"='")];function ToUpperCase(r,i){return r[i]<192?(r[i]>=97&&r[i]<=122&&(r[i]^=32),1):r[i]<224?(r[i+1]^=32,2):(r[i+2]^=5,3)}i.kTransforms=y,i.kNumTransforms=y.length,i.transformDictionaryWord=function(r,i,o,w,_){var x,k=y[_].prefix,P=y[_].suffix,O=y[_].transform,I=O<12?0:O-11,B=0,R=i;I>w&&(I=w);for(var D=0;D<k.length;)r[i++]=k[D++];for(o+=I,w-=I,O<=9&&(w-=O),B=0;B<w;B++)r[i++]=u.dictionary[o+B];if(x=i-w,O===p)ToUpperCase(r,x);else if(O===g)for(;w>0;){var N=ToUpperCase(r,x);x+=N,w-=N}for(var W=0;W<P.length;)r[i++]=P[W++];return i-R}},7709:function(r,i,o){r.exports=o(6450).BrotliDecompressBuffer},4505:function(r,i,o){"use strict";var u=o(8823).Buffer,p=o(4155),g=o(9282),y=o(2292),w=o(405),_=o(7948),x=o(1619);for(var k in x)i[k]=x[k];i.NONE=0,i.DEFLATE=1,i.INFLATE=2,i.GZIP=3,i.GUNZIP=4,i.DEFLATERAW=5,i.INFLATERAW=6,i.UNZIP=7;function Zlib(r){if("number"!=typeof r||r<i.DEFLATE||r>i.UNZIP)throw new TypeError("Bad argument");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=r,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype.close=function(){this.write_in_progress?this.pending_close=!0:(this.pending_close=!1,g(this.init_done,"close before init"),g(this.mode<=i.UNZIP),this.mode===i.DEFLATE||this.mode===i.GZIP||this.mode===i.DEFLATERAW?w.deflateEnd(this.strm):this.mode!==i.INFLATE&&this.mode!==i.GUNZIP&&this.mode!==i.INFLATERAW&&this.mode!==i.UNZIP||_.inflateEnd(this.strm),this.mode=i.NONE,this.dictionary=null)},Zlib.prototype.write=function(r,i,o,u,p,g,y){return this._write(!0,r,i,o,u,p,g,y)},Zlib.prototype.writeSync=function(r,i,o,u,p,g,y){return this._write(!1,r,i,o,u,p,g,y)},Zlib.prototype._write=function(r,o,y,w,_,x,k,P){if(g.equal(arguments.length,8),g(this.init_done,"write before init"),g(this.mode!==i.NONE,"already finalized"),g.equal(!1,this.write_in_progress,"write already in progress"),g.equal(!1,this.pending_close,"close is pending"),this.write_in_progress=!0,g.equal(!1,void 0===o,"must provide flush value"),this.write_in_progress=!0,o!==i.Z_NO_FLUSH&&o!==i.Z_PARTIAL_FLUSH&&o!==i.Z_SYNC_FLUSH&&o!==i.Z_FULL_FLUSH&&o!==i.Z_FINISH&&o!==i.Z_BLOCK)throw new Error("Invalid flush value");if(null==y&&(y=u.alloc(0),_=0,w=0),this.strm.avail_in=_,this.strm.input=y,this.strm.next_in=w,this.strm.avail_out=P,this.strm.output=x,this.strm.next_out=k,this.flush=o,!r)return this._process(),this._checkError()?this._afterSync():void 0;var O=this;return p.nextTick((function(){O._process(),O._after()})),this},Zlib.prototype._afterSync=function(){var r=this.strm.avail_out,i=this.strm.avail_in;return this.write_in_progress=!1,[i,r]},Zlib.prototype._process=function(){var r=null;switch(this.mode){case i.DEFLATE:case i.GZIP:case i.DEFLATERAW:this.err=w.deflate(this.strm,this.flush);break;case i.UNZIP:switch(this.strm.avail_in>0&&(r=this.strm.next_in),this.gzip_id_bytes_read){case 0:if(null===r)break;if(31!==this.strm.input[r]){this.mode=i.INFLATE;break}if(this.gzip_id_bytes_read=1,r++,1===this.strm.avail_in)break;case 1:if(null===r)break;139===this.strm.input[r]?(this.gzip_id_bytes_read=2,this.mode=i.GUNZIP):this.mode=i.INFLATE;break;default:throw new Error("invalid number of gzip magic number bytes read")}case i.INFLATE:case i.GUNZIP:case i.INFLATERAW:for(this.err=_.inflate(this.strm,this.flush),this.err===i.Z_NEED_DICT&&this.dictionary&&(this.err=_.inflateSetDictionary(this.strm,this.dictionary),this.err===i.Z_OK?this.err=_.inflate(this.strm,this.flush):this.err===i.Z_DATA_ERROR&&(this.err=i.Z_NEED_DICT));this.strm.avail_in>0&&this.mode===i.GUNZIP&&this.err===i.Z_STREAM_END&&0!==this.strm.next_in[0];)this.reset(),this.err=_.inflate(this.strm,this.flush);break;default:throw new Error("Unknown mode "+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case i.Z_OK:case i.Z_BUF_ERROR:if(0!==this.strm.avail_out&&this.flush===i.Z_FINISH)return this._error("unexpected end of file"),!1;break;case i.Z_STREAM_END:break;case i.Z_NEED_DICT:return null==this.dictionary?this._error("Missing dictionary"):this._error("Bad dictionary"),!1;default:return this._error("Zlib error"),!1}return!0},Zlib.prototype._after=function(){if(this._checkError()){var r=this.strm.avail_out,i=this.strm.avail_in;this.write_in_progress=!1,this.callback(i,r),this.pending_close&&this.close()}},Zlib.prototype._error=function(r){this.strm.msg&&(r=this.strm.msg),this.onerror(r,this.err),this.write_in_progress=!1,this.pending_close&&this.close()},Zlib.prototype.init=function(r,o,u,p,y){g(4===arguments.length||5===arguments.length,"init(windowBits, level, memLevel, strategy, [dictionary])"),g(r>=8&&r<=15,"invalid windowBits"),g(o>=-1&&o<=9,"invalid compression level"),g(u>=1&&u<=9,"invalid memlevel"),g(p===i.Z_FILTERED||p===i.Z_HUFFMAN_ONLY||p===i.Z_RLE||p===i.Z_FIXED||p===i.Z_DEFAULT_STRATEGY,"invalid strategy"),this._init(o,r,u,p,y),this._setDictionary()},Zlib.prototype.params=function(){throw new Error("deflateParams Not supported")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(r,o,u,p,g){switch(this.level=r,this.windowBits=o,this.memLevel=u,this.strategy=p,this.flush=i.Z_NO_FLUSH,this.err=i.Z_OK,this.mode!==i.GZIP&&this.mode!==i.GUNZIP||(this.windowBits+=16),this.mode===i.UNZIP&&(this.windowBits+=32),this.mode!==i.DEFLATERAW&&this.mode!==i.INFLATERAW||(this.windowBits=-1*this.windowBits),this.strm=new y,this.mode){case i.DEFLATE:case i.GZIP:case i.DEFLATERAW:this.err=w.deflateInit2(this.strm,this.level,i.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case i.INFLATE:case i.GUNZIP:case i.INFLATERAW:case i.UNZIP:this.err=_.inflateInit2(this.strm,this.windowBits);break;default:throw new Error("Unknown mode "+this.mode)}this.err!==i.Z_OK&&this._error("Init error"),this.dictionary=g,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(null!=this.dictionary){switch(this.err=i.Z_OK,this.mode){case i.DEFLATE:case i.DEFLATERAW:this.err=w.deflateSetDictionary(this.strm,this.dictionary)}this.err!==i.Z_OK&&this._error("Failed to set dictionary")}},Zlib.prototype._reset=function(){switch(this.err=i.Z_OK,this.mode){case i.DEFLATE:case i.DEFLATERAW:case i.GZIP:this.err=w.deflateReset(this.strm);break;case i.INFLATE:case i.INFLATERAW:case i.GUNZIP:this.err=_.inflateReset(this.strm)}this.err!==i.Z_OK&&this._error("Failed to reset stream")},i.Zlib=Zlib},2635:function(r,i,o){"use strict";var u=o(4155),p=o(8823).Buffer,g=o(2830).Transform,y=o(4505),w=o(9539),_=o(9282).ok,x=o(8823).kMaxLength,k="Cannot create final Buffer. It would be larger than 0x"+x.toString(16)+" bytes";y.Z_MIN_WINDOWBITS=8,y.Z_MAX_WINDOWBITS=15,y.Z_DEFAULT_WINDOWBITS=15,y.Z_MIN_CHUNK=64,y.Z_MAX_CHUNK=1/0,y.Z_DEFAULT_CHUNK=16384,y.Z_MIN_MEMLEVEL=1,y.Z_MAX_MEMLEVEL=9,y.Z_DEFAULT_MEMLEVEL=8,y.Z_MIN_LEVEL=-1,y.Z_MAX_LEVEL=9,y.Z_DEFAULT_LEVEL=y.Z_DEFAULT_COMPRESSION;for(var P=Object.keys(y),O=0;O<P.length;O++){var I=P[O];I.match(/^Z/)&&Object.defineProperty(i,I,{enumerable:!0,value:y[I],writable:!1})}for(var B={Z_OK:y.Z_OK,Z_STREAM_END:y.Z_STREAM_END,Z_NEED_DICT:y.Z_NEED_DICT,Z_ERRNO:y.Z_ERRNO,Z_STREAM_ERROR:y.Z_STREAM_ERROR,Z_DATA_ERROR:y.Z_DATA_ERROR,Z_MEM_ERROR:y.Z_MEM_ERROR,Z_BUF_ERROR:y.Z_BUF_ERROR,Z_VERSION_ERROR:y.Z_VERSION_ERROR},R=Object.keys(B),D=0;D<R.length;D++){var N=R[D];B[B[N]]=N}function zlibBuffer(r,i,o){var u=[],g=0;function flow(){for(var i;null!==(i=r.read());)u.push(i),g+=i.length;r.once("readable",flow)}function onEnd(){var i,y=null;g>=x?y=new RangeError(k):i=p.concat(u,g),u=[],r.close(),o(y,i)}r.on("error",(function onError(i){r.removeListener("end",onEnd),r.removeListener("readable",flow),o(i)})),r.on("end",onEnd),r.end(i),flow()}function zlibBufferSync(r,i){if("string"==typeof i&&(i=p.from(i)),!p.isBuffer(i))throw new TypeError("Not a string or buffer");var o=r._finishFlushFlag;return r._processChunk(i,o)}function Deflate(r){if(!(this instanceof Deflate))return new Deflate(r);Zlib.call(this,r,y.DEFLATE)}function Inflate(r){if(!(this instanceof Inflate))return new Inflate(r);Zlib.call(this,r,y.INFLATE)}function Gzip(r){if(!(this instanceof Gzip))return new Gzip(r);Zlib.call(this,r,y.GZIP)}function Gunzip(r){if(!(this instanceof Gunzip))return new Gunzip(r);Zlib.call(this,r,y.GUNZIP)}function DeflateRaw(r){if(!(this instanceof DeflateRaw))return new DeflateRaw(r);Zlib.call(this,r,y.DEFLATERAW)}function InflateRaw(r){if(!(this instanceof InflateRaw))return new InflateRaw(r);Zlib.call(this,r,y.INFLATERAW)}function Unzip(r){if(!(this instanceof Unzip))return new Unzip(r);Zlib.call(this,r,y.UNZIP)}function isValidFlushFlag(r){return r===y.Z_NO_FLUSH||r===y.Z_PARTIAL_FLUSH||r===y.Z_SYNC_FLUSH||r===y.Z_FULL_FLUSH||r===y.Z_FINISH||r===y.Z_BLOCK}function Zlib(r,o){var u=this;if(this._opts=r=r||{},this._chunkSize=r.chunkSize||i.Z_DEFAULT_CHUNK,g.call(this,r),r.flush&&!isValidFlushFlag(r.flush))throw new Error("Invalid flush flag: "+r.flush);if(r.finishFlush&&!isValidFlushFlag(r.finishFlush))throw new Error("Invalid flush flag: "+r.finishFlush);if(this._flushFlag=r.flush||y.Z_NO_FLUSH,this._finishFlushFlag=void 0!==r.finishFlush?r.finishFlush:y.Z_FINISH,r.chunkSize&&(r.chunkSize<i.Z_MIN_CHUNK||r.chunkSize>i.Z_MAX_CHUNK))throw new Error("Invalid chunk size: "+r.chunkSize);if(r.windowBits&&(r.windowBits<i.Z_MIN_WINDOWBITS||r.windowBits>i.Z_MAX_WINDOWBITS))throw new Error("Invalid windowBits: "+r.windowBits);if(r.level&&(r.level<i.Z_MIN_LEVEL||r.level>i.Z_MAX_LEVEL))throw new Error("Invalid compression level: "+r.level);if(r.memLevel&&(r.memLevel<i.Z_MIN_MEMLEVEL||r.memLevel>i.Z_MAX_MEMLEVEL))throw new Error("Invalid memLevel: "+r.memLevel);if(r.strategy&&r.strategy!=i.Z_FILTERED&&r.strategy!=i.Z_HUFFMAN_ONLY&&r.strategy!=i.Z_RLE&&r.strategy!=i.Z_FIXED&&r.strategy!=i.Z_DEFAULT_STRATEGY)throw new Error("Invalid strategy: "+r.strategy);if(r.dictionary&&!p.isBuffer(r.dictionary))throw new Error("Invalid dictionary: it should be a Buffer instance");this._handle=new y.Zlib(o);var w=this;this._hadError=!1,this._handle.onerror=function(r,o){_close(w),w._hadError=!0;var u=new Error(r);u.errno=o,u.code=i.codes[o],w.emit("error",u)};var _=i.Z_DEFAULT_COMPRESSION;"number"==typeof r.level&&(_=r.level);var x=i.Z_DEFAULT_STRATEGY;"number"==typeof r.strategy&&(x=r.strategy),this._handle.init(r.windowBits||i.Z_DEFAULT_WINDOWBITS,_,r.memLevel||i.Z_DEFAULT_MEMLEVEL,x,r.dictionary),this._buffer=p.allocUnsafe(this._chunkSize),this._offset=0,this._level=_,this._strategy=x,this.once("end",this.close),Object.defineProperty(this,"_closed",{get:function(){return!u._handle},configurable:!0,enumerable:!0})}function _close(r,i){i&&u.nextTick(i),r._handle&&(r._handle.close(),r._handle=null)}function emitCloseNT(r){r.emit("close")}Object.defineProperty(i,"codes",{enumerable:!0,value:Object.freeze(B),writable:!1}),i.Deflate=Deflate,i.Inflate=Inflate,i.Gzip=Gzip,i.Gunzip=Gunzip,i.DeflateRaw=DeflateRaw,i.InflateRaw=InflateRaw,i.Unzip=Unzip,i.createDeflate=function(r){return new Deflate(r)},i.createInflate=function(r){return new Inflate(r)},i.createDeflateRaw=function(r){return new DeflateRaw(r)},i.createInflateRaw=function(r){return new InflateRaw(r)},i.createGzip=function(r){return new Gzip(r)},i.createGunzip=function(r){return new Gunzip(r)},i.createUnzip=function(r){return new Unzip(r)},i.deflate=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Deflate(i),r,o)},i.deflateSync=function(r,i){return zlibBufferSync(new Deflate(i),r)},i.gzip=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Gzip(i),r,o)},i.gzipSync=function(r,i){return zlibBufferSync(new Gzip(i),r)},i.deflateRaw=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new DeflateRaw(i),r,o)},i.deflateRawSync=function(r,i){return zlibBufferSync(new DeflateRaw(i),r)},i.unzip=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Unzip(i),r,o)},i.unzipSync=function(r,i){return zlibBufferSync(new Unzip(i),r)},i.inflate=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Inflate(i),r,o)},i.inflateSync=function(r,i){return zlibBufferSync(new Inflate(i),r)},i.gunzip=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new Gunzip(i),r,o)},i.gunzipSync=function(r,i){return zlibBufferSync(new Gunzip(i),r)},i.inflateRaw=function(r,i,o){return"function"==typeof i&&(o=i,i={}),zlibBuffer(new InflateRaw(i),r,o)},i.inflateRawSync=function(r,i){return zlibBufferSync(new InflateRaw(i),r)},w.inherits(Zlib,g),Zlib.prototype.params=function(r,o,p){if(r<i.Z_MIN_LEVEL||r>i.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+r);if(o!=i.Z_FILTERED&&o!=i.Z_HUFFMAN_ONLY&&o!=i.Z_RLE&&o!=i.Z_FIXED&&o!=i.Z_DEFAULT_STRATEGY)throw new TypeError("Invalid strategy: "+o);if(this._level!==r||this._strategy!==o){var g=this;this.flush(y.Z_SYNC_FLUSH,(function(){_(g._handle,"zlib binding closed"),g._handle.params(r,o),g._hadError||(g._level=r,g._strategy=o,p&&p())}))}else u.nextTick(p)},Zlib.prototype.reset=function(){return _(this._handle,"zlib binding closed"),this._handle.reset()},Zlib.prototype._flush=function(r){this._transform(p.alloc(0),"",r)},Zlib.prototype.flush=function(r,i){var o=this,g=this._writableState;("function"==typeof r||void 0===r&&!i)&&(i=r,r=y.Z_FULL_FLUSH),g.ended?i&&u.nextTick(i):g.ending?i&&this.once("end",i):g.needDrain?i&&this.once("drain",(function(){return o.flush(r,i)})):(this._flushFlag=r,this.write(p.alloc(0),"",i))},Zlib.prototype.close=function(r){_close(this,r),u.nextTick(emitCloseNT,this)},Zlib.prototype._transform=function(r,i,o){var u,g=this._writableState,w=(g.ending||g.ended)&&(!r||g.length===r.length);return null===r||p.isBuffer(r)?this._handle?(w?u=this._finishFlushFlag:(u=this._flushFlag,r.length>=g.length&&(this._flushFlag=this._opts.flush||y.Z_NO_FLUSH)),void this._processChunk(r,u,o)):o(new Error("zlib binding closed")):o(new Error("invalid input"))},Zlib.prototype._processChunk=function(r,i,o){var u=r&&r.length,g=this._chunkSize-this._offset,y=0,w=this,P="function"==typeof o;if(!P){var O,I=[],B=0;this.on("error",(function(r){O=r})),_(this._handle,"zlib binding closed");do{var R=this._handle.writeSync(i,r,y,u,this._buffer,this._offset,g)}while(!this._hadError&&callback(R[0],R[1]));if(this._hadError)throw O;if(B>=x)throw _close(this),new RangeError(k);var D=p.concat(I,B);return _close(this),D}_(this._handle,"zlib binding closed");var N=this._handle.write(i,r,y,u,this._buffer,this._offset,g);function callback(x,k){if(this&&(this.buffer=null,this.callback=null),!w._hadError){var O=g-k;if(_(O>=0,"have should not go down"),O>0){var R=w._buffer.slice(w._offset,w._offset+O);w._offset+=O,P?w.push(R):(I.push(R),B+=R.length)}if((0===k||w._offset>=w._chunkSize)&&(g=w._chunkSize,w._offset=0,w._buffer=p.allocUnsafe(w._chunkSize)),0===k){if(y+=u-x,u=x,!P)return!0;var D=w._handle.write(i,r,y,u,w._buffer,w._offset,w._chunkSize);return D.callback=callback,void(D.buffer=r)}if(!P)return!1;o()}}N.buffer=r,N.callback=callback},w.inherits(Deflate,Zlib),w.inherits(Inflate,Zlib),w.inherits(Gzip,Zlib),w.inherits(Gunzip,Zlib),w.inherits(DeflateRaw,Zlib),w.inherits(InflateRaw,Zlib),w.inherits(Unzip,Zlib)},1924:function(r,i,o){"use strict";var u=o(210),p=o(5559),g=p(u("String.prototype.indexOf"));r.exports=function callBoundIntrinsic(r,i){var o=u(r,!!i);return"function"==typeof o&&g(r,".prototype.")>-1?p(o):o}},5559:function(r,i,o){"use strict";var u=o(8612),p=o(210),g=p("%Function.prototype.apply%"),y=p("%Function.prototype.call%"),w=p("%Reflect.apply%",!0)||u.call(y,g),_=p("%Object.getOwnPropertyDescriptor%",!0),x=p("%Object.defineProperty%",!0),k=p("%Math.max%");if(x)try{x({},"a",{value:1})}catch(r){x=null}r.exports=function callBind(r){var i=w(u,y,arguments);if(_&&x){var o=_(i,"length");o.configurable&&x(i,"length",{value:1+k(0,r.length-(arguments.length-1))})}return i};var P=function applyBind(){return w(u,g,arguments)};x?x(r.exports,"apply",{value:P}):r.exports.apply=P},6313:function(r,i,o){var u=o(8823).Buffer,p=function(){"use strict";function clone(r,i,o,p){"object"==typeof i&&(o=i.depth,p=i.prototype,i.filter,i=i.circular);var g=[],y=[],w=void 0!==u;return void 0===i&&(i=!0),void 0===o&&(o=1/0),function _clone(r,o){if(null===r)return null;if(0==o)return r;var _,x;if("object"!=typeof r)return r;if(clone.__isArray(r))_=[];else if(clone.__isRegExp(r))_=new RegExp(r.source,__getRegExpFlags(r)),r.lastIndex&&(_.lastIndex=r.lastIndex);else if(clone.__isDate(r))_=new Date(r.getTime());else{if(w&&u.isBuffer(r))return _=u.allocUnsafe?u.allocUnsafe(r.length):new u(r.length),r.copy(_),_;void 0===p?(x=Object.getPrototypeOf(r),_=Object.create(x)):(_=Object.create(p),x=p)}if(i){var k=g.indexOf(r);if(-1!=k)return y[k];g.push(r),y.push(_)}for(var P in r){var O;x&&(O=Object.getOwnPropertyDescriptor(x,P)),O&&null==O.set||(_[P]=_clone(r[P],o-1))}return _}(r,o)}function __objToStr(r){return Object.prototype.toString.call(r)}function __getRegExpFlags(r){var i="";return r.global&&(i+="g"),r.ignoreCase&&(i+="i"),r.multiline&&(i+="m"),i}return clone.clonePrototype=function clonePrototype(r){if(null===r)return null;var c=function(){};return c.prototype=r,new c},clone.__objToStr=__objToStr,clone.__isDate=function __isDate(r){return"object"==typeof r&&"[object Date]"===__objToStr(r)},clone.__isArray=function __isArray(r){return"object"==typeof r&&"[object Array]"===__objToStr(r)},clone.__isRegExp=function __isRegExp(r){return"object"==typeof r&&"[object RegExp]"===__objToStr(r)},clone.__getRegExpFlags=__getRegExpFlags,clone}();r.exports&&(r.exports=p)},4667:function(r,i,o){o(2479);var u=o(857);r.exports=u.Object.values},7633:function(r,i,o){o(9170),o(6992),o(1539),o(8674),o(7922),o(4668),o(7727),o(8783);var u=o(857);r.exports=u.Promise},3867:function(r,i,o){var u=o(1150);o(8628),o(7314),o(7479),o(6290),r.exports=u},9662:function(r,i,o){var u=o(7854),p=o(614),g=o(6330),y=u.TypeError;r.exports=function(r){if(p(r))return r;throw y(g(r)+" is not a function")}},9483:function(r,i,o){var u=o(7854),p=o(4411),g=o(6330),y=u.TypeError;r.exports=function(r){if(p(r))return r;throw y(g(r)+" is not a constructor")}},6077:function(r,i,o){var u=o(7854),p=o(614),g=u.String,y=u.TypeError;r.exports=function(r){if("object"==typeof r||p(r))return r;throw y("Can't set "+g(r)+" as a prototype")}},1223:function(r,i,o){var u=o(5112),p=o(30),g=o(3070),y=u("unscopables"),w=Array.prototype;null==w[y]&&g.f(w,y,{configurable:!0,value:p(null)}),r.exports=function(r){w[y][r]=!0}},1530:function(r,i,o){"use strict";var u=o(8710).charAt;r.exports=function(r,i,o){return i+(o?u(r,i).length:1)}},5787:function(r,i,o){var u=o(7854),p=o(7976),g=u.TypeError;r.exports=function(r,i){if(p(i,r))return r;throw g("Incorrect invocation")}},9670:function(r,i,o){var u=o(7854),p=o(111),g=u.String,y=u.TypeError;r.exports=function(r){if(p(r))return r;throw y(g(r)+" is not an object")}},1048:function(r,i,o){"use strict";var u=o(7908),p=o(1400),g=o(6244),y=Math.min;r.exports=[].copyWithin||function copyWithin(r,i){var o=u(this),w=g(o),_=p(r,w),x=p(i,w),k=arguments.length>2?arguments[2]:void 0,P=y((void 0===k?w:p(k,w))-x,w-_),O=1;for(x<_&&_<x+P&&(O=-1,x+=P-1,_+=P-1);P-- >0;)x in o?o[_]=o[x]:delete o[_],_+=O,x+=O;return o}},1285:function(r,i,o){"use strict";var u=o(7908),p=o(1400),g=o(6244);r.exports=function fill(r){for(var i=u(this),o=g(i),y=arguments.length,w=p(y>1?arguments[1]:void 0,o),_=y>2?arguments[2]:void 0,x=void 0===_?o:p(_,o);x>w;)i[w++]=r;return i}},8533:function(r,i,o){"use strict";var u=o(2092).forEach,p=o(9341)("forEach");r.exports=p?[].forEach:function forEach(r){return u(this,r,arguments.length>1?arguments[1]:void 0)}},7745:function(r){r.exports=function(r,i){for(var o=0,u=i.length,p=new r(u);u>o;)p[o]=i[o++];return p}},8457:function(r,i,o){"use strict";var u=o(7854),p=o(9974),g=o(6916),y=o(7908),w=o(3411),_=o(7659),x=o(4411),k=o(6244),P=o(6135),O=o(8554),I=o(1246),B=u.Array;r.exports=function from(r){var i=y(r),o=x(this),u=arguments.length,R=u>1?arguments[1]:void 0,D=void 0!==R;D&&(R=p(R,u>2?arguments[2]:void 0));var N,W,U,j,G,X,K=I(i),Y=0;if(!K||this==B&&_(K))for(N=k(i),W=o?new this(N):B(N);N>Y;Y++)X=D?R(i[Y],Y):i[Y],P(W,Y,X);else for(G=(j=O(i,K)).next,W=o?new this:[];!(U=g(G,j)).done;Y++)X=D?w(j,R,[U.value,Y],!0):U.value,P(W,Y,X);return W.length=Y,W}},1318:function(r,i,o){var u=o(5656),p=o(1400),g=o(6244),createMethod=function(r){return function(i,o,y){var w,_=u(i),x=g(_),k=p(y,x);if(r&&o!=o){for(;x>k;)if((w=_[k++])!=w)return!0}else for(;x>k;k++)if((r||k in _)&&_[k]===o)return r||k||0;return!r&&-1}};r.exports={includes:createMethod(!0),indexOf:createMethod(!1)}},2092:function(r,i,o){var u=o(9974),p=o(1702),g=o(8361),y=o(7908),w=o(6244),_=o(5417),x=p([].push),createMethod=function(r){var i=1==r,o=2==r,p=3==r,k=4==r,P=6==r,O=7==r,I=5==r||P;return function(B,R,D,N){for(var W,U,j=y(B),G=g(j),X=u(R,D),K=w(G),Y=0,J=N||_,$=i?J(B,K):o||O?J(B,0):void 0;K>Y;Y++)if((I||Y in G)&&(U=X(W=G[Y],Y,j),r))if(i)$[Y]=U;else if(U)switch(r){case 3:return!0;case 5:return W;case 6:return Y;case 2:x($,W)}else switch(r){case 4:return!1;case 7:x($,W)}return P?-1:p||k?k:$}};r.exports={forEach:createMethod(0),map:createMethod(1),filter:createMethod(2),some:createMethod(3),every:createMethod(4),find:createMethod(5),findIndex:createMethod(6),filterReject:createMethod(7)}},6583:function(r,i,o){"use strict";var u=o(2104),p=o(5656),g=o(9303),y=o(6244),w=o(9341),_=Math.min,x=[].lastIndexOf,k=!!x&&1/[1].lastIndexOf(1,-0)<0,P=w("lastIndexOf"),O=k||!P;r.exports=O?function lastIndexOf(r){if(k)return u(x,this,arguments)||0;var i=p(this),o=y(i),w=o-1;for(arguments.length>1&&(w=_(w,g(arguments[1]))),w<0&&(w=o+w);w>=0;w--)if(w in i&&i[w]===r)return w||0;return-1}:x},1194:function(r,i,o){var u=o(7293),p=o(5112),g=o(7392),y=p("species");r.exports=function(r){return g>=51||!u((function(){var i=[];return(i.constructor={})[y]=function(){return{foo:1}},1!==i[r](Boolean).foo}))}},9341:function(r,i,o){"use strict";var u=o(7293);r.exports=function(r,i){var o=[][r];return!!o&&u((function(){o.call(null,i||function(){throw 1},1)}))}},3671:function(r,i,o){var u=o(7854),p=o(9662),g=o(7908),y=o(8361),w=o(6244),_=u.TypeError,createMethod=function(r){return function(i,o,u,x){p(o);var k=g(i),P=y(k),O=w(k),I=r?O-1:0,B=r?-1:1;if(u<2)for(;;){if(I in P){x=P[I],I+=B;break}if(I+=B,r?I<0:O<=I)throw _("Reduce of empty array with no initial value")}for(;r?I>=0:O>I;I+=B)I in P&&(x=o(x,P[I],I,k));return x}};r.exports={left:createMethod(!1),right:createMethod(!0)}},206:function(r,i,o){var u=o(1702);r.exports=u([].slice)},4362:function(r,i,o){var u=o(206),p=Math.floor,mergeSort=function(r,i){var o=r.length,g=p(o/2);return o<8?insertionSort(r,i):merge(r,mergeSort(u(r,0,g),i),mergeSort(u(r,g),i),i)},insertionSort=function(r,i){for(var o,u,p=r.length,g=1;g<p;){for(u=g,o=r[g];u&&i(r[u-1],o)>0;)r[u]=r[--u];u!==g++&&(r[u]=o)}return r},merge=function(r,i,o,u){for(var p=i.length,g=o.length,y=0,w=0;y<p||w<g;)r[y+w]=y<p&&w<g?u(i[y],o[w])<=0?i[y++]:o[w++]:y<p?i[y++]:o[w++];return r};r.exports=mergeSort},7475:function(r,i,o){var u=o(7854),p=o(3157),g=o(4411),y=o(111),w=o(5112)("species"),_=u.Array;r.exports=function(r){var i;return p(r)&&(i=r.constructor,(g(i)&&(i===_||p(i.prototype))||y(i)&&null===(i=i[w]))&&(i=void 0)),void 0===i?_:i}},5417:function(r,i,o){var u=o(7475);r.exports=function(r,i){return new(u(r))(0===i?0:i)}},3411:function(r,i,o){var u=o(9670),p=o(9212);r.exports=function(r,i,o,g){try{return g?i(u(o)[0],o[1]):i(o)}catch(i){p(r,"throw",i)}}},7072:function(r,i,o){var u=o(5112)("iterator"),p=!1;try{var g=0,y={next:function(){return{done:!!g++}},return:function(){p=!0}};y[u]=function(){return this},Array.from(y,(function(){throw 2}))}catch(r){}r.exports=function(r,i){if(!i&&!p)return!1;var o=!1;try{var g={};g[u]=function(){return{next:function(){return{done:o=!0}}}},r(g)}catch(r){}return o}},4326:function(r,i,o){var u=o(1702),p=u({}.toString),g=u("".slice);r.exports=function(r){return g(p(r),8,-1)}},648:function(r,i,o){var u=o(7854),p=o(1694),g=o(614),y=o(4326),w=o(5112)("toStringTag"),_=u.Object,x="Arguments"==y(function(){return arguments}());r.exports=p?y:function(r){var i,o,u;return void 0===r?"Undefined":null===r?"Null":"string"==typeof(o=function(r,i){try{return r[i]}catch(r){}}(i=_(r),w))?o:x?y(i):"Object"==(u=y(i))&&g(i.callee)?"Arguments":u}},7741:function(r,i,o){var u=o(1702),p=o(206),g=u("".replace),y=u("".split),w=u([].join),_=String(Error("zxcasd").stack),x=/\n\s*at [^:]*:[^\n]*/,k=x.test(_),P=/@[^\n]*\n/.test(_)&&!/zxcasd/.test(_);r.exports=function(r,i){if("string"!=typeof r)return r;if(k)for(;i--;)r=g(r,x,"");else if(P)return w(p(y(r,"\n"),i),"\n");return r}},5631:function(r,i,o){"use strict";var u=o(3070).f,p=o(30),g=o(2248),y=o(9974),w=o(5787),_=o(408),x=o(654),k=o(6340),P=o(9781),O=o(2423).fastKey,I=o(9909),B=I.set,R=I.getterFor;r.exports={getConstructor:function(r,i,o,x){var k=r((function(r,u){w(r,I),B(r,{type:i,index:p(null),first:void 0,last:void 0,size:0}),P||(r.size=0),null!=u&&_(u,r[x],{that:r,AS_ENTRIES:o})})),I=k.prototype,D=R(i),define=function(r,i,o){var u,p,g=D(r),y=getEntry(r,i);return y?y.value=o:(g.last=y={index:p=O(i,!0),key:i,value:o,previous:u=g.last,next:void 0,removed:!1},g.first||(g.first=y),u&&(u.next=y),P?g.size++:r.size++,"F"!==p&&(g.index[p]=y)),r},getEntry=function(r,i){var o,u=D(r),p=O(i);if("F"!==p)return u.index[p];for(o=u.first;o;o=o.next)if(o.key==i)return o};return g(I,{clear:function clear(){for(var r=D(this),i=r.index,o=r.first;o;)o.removed=!0,o.previous&&(o.previous=o.previous.next=void 0),delete i[o.index],o=o.next;r.first=r.last=void 0,P?r.size=0:this.size=0},delete:function(r){var i=this,o=D(i),u=getEntry(i,r);if(u){var p=u.next,g=u.previous;delete o.index[u.index],u.removed=!0,g&&(g.next=p),p&&(p.previous=g),o.first==u&&(o.first=p),o.last==u&&(o.last=g),P?o.size--:i.size--}return!!u},forEach:function forEach(r){for(var i,o=D(this),u=y(r,arguments.length>1?arguments[1]:void 0);i=i?i.next:o.first;)for(u(i.value,i.key,this);i&&i.removed;)i=i.previous},has:function has(r){return!!getEntry(this,r)}}),g(I,o?{get:function get(r){var i=getEntry(this,r);return i&&i.value},set:function set(r,i){return define(this,0===r?0:r,i)}}:{add:function add(r){return define(this,r=0===r?0:r,r)}}),P&&u(I,"size",{get:function(){return D(this).size}}),k},setStrong:function(r,i,o){var u=i+" Iterator",p=R(i),g=R(u);x(r,i,(function(r,i){B(this,{type:u,target:r,state:p(r),kind:i,last:void 0})}),(function(){for(var r=g(this),i=r.kind,o=r.last;o&&o.removed;)o=o.previous;return r.target&&(r.last=o=o?o.next:r.state.first)?"keys"==i?{value:o.key,done:!1}:"values"==i?{value:o.value,done:!1}:{value:[o.key,o.value],done:!1}:(r.target=void 0,{value:void 0,done:!0})}),o?"entries":"values",!o,!0),k(i)}}},7710:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(1702),y=o(4705),w=o(1320),_=o(2423),x=o(408),k=o(5787),P=o(614),O=o(111),I=o(7293),B=o(7072),R=o(8003),D=o(9587);r.exports=function(r,i,o){var N=-1!==r.indexOf("Map"),W=-1!==r.indexOf("Weak"),U=N?"set":"add",j=p[r],G=j&&j.prototype,X=j,K={},fixMethod=function(r){var i=g(G[r]);w(G,r,"add"==r?function add(r){return i(this,0===r?0:r),this}:"delete"==r?function(r){return!(W&&!O(r))&&i(this,0===r?0:r)}:"get"==r?function get(r){return W&&!O(r)?void 0:i(this,0===r?0:r)}:"has"==r?function has(r){return!(W&&!O(r))&&i(this,0===r?0:r)}:function set(r,o){return i(this,0===r?0:r,o),this})};if(y(r,!P(j)||!(W||G.forEach&&!I((function(){(new j).entries().next()})))))X=o.getConstructor(i,r,N,U),_.enable();else if(y(r,!0)){var Y=new X,J=Y[U](W?{}:-0,1)!=Y,$=I((function(){Y.has(1)})),ee=B((function(r){new j(r)})),te=!W&&I((function(){for(var r=new j,i=5;i--;)r[U](i,i);return!r.has(-0)}));ee||((X=i((function(r,i){k(r,G);var o=D(new j,r,X);return null!=i&&x(i,o[U],{that:o,AS_ENTRIES:N}),o}))).prototype=G,G.constructor=X),($||te)&&(fixMethod("delete"),fixMethod("has"),N&&fixMethod("get")),(te||J)&&fixMethod(U),W&&G.clear&&delete G.clear}return K[r]=X,u({global:!0,forced:X!=j},K),R(X,r),W||o.setStrong(X,r,N),X}},9920:function(r,i,o){var u=o(2597),p=o(3887),g=o(1236),y=o(3070);r.exports=function(r,i){for(var o=p(i),w=y.f,_=g.f,x=0;x<o.length;x++){var k=o[x];u(r,k)||w(r,k,_(i,k))}}},4964:function(r,i,o){var u=o(5112)("match");r.exports=function(r){var i=/./;try{"/./"[r](i)}catch(o){try{return i[u]=!1,"/./"[r](i)}catch(r){}}return!1}},8544:function(r,i,o){var u=o(7293);r.exports=!u((function(){function F(){}return F.prototype.constructor=null,Object.getPrototypeOf(new F)!==F.prototype}))},4230:function(r,i,o){var u=o(1702),p=o(4488),g=o(1340),y=/"/g,w=u("".replace);r.exports=function(r,i,o,u){var _=g(p(r)),x="<"+i;return""!==o&&(x+=" "+o+'="'+w(g(u),y,"&quot;")+'"'),x+">"+_+"</"+i+">"}},4994:function(r,i,o){"use strict";var u=o(3383).IteratorPrototype,p=o(30),g=o(9114),y=o(8003),w=o(7497),returnThis=function(){return this};r.exports=function(r,i,o){var _=i+" Iterator";return r.prototype=p(u,{next:g(1,o)}),y(r,_,!1,!0),w[_]=returnThis,r}},8880:function(r,i,o){var u=o(9781),p=o(3070),g=o(9114);r.exports=u?function(r,i,o){return p.f(r,i,g(1,o))}:function(r,i,o){return r[i]=o,r}},9114:function(r){r.exports=function(r,i){return{enumerable:!(1&r),configurable:!(2&r),writable:!(4&r),value:i}}},6135:function(r,i,o){"use strict";var u=o(4948),p=o(3070),g=o(9114);r.exports=function(r,i,o){var y=u(i);y in r?p.f(r,y,g(0,o)):r[y]=o}},8709:function(r,i,o){"use strict";var u=o(7854),p=o(9670),g=o(2140),y=u.TypeError;r.exports=function(r){if(p(this),"string"===r||"default"===r)r="string";else if("number"!==r)throw y("Incorrect hint");return g(this,r)}},654:function(r,i,o){"use strict";var u=o(2109),p=o(6916),g=o(1913),y=o(6530),w=o(614),_=o(4994),x=o(9518),k=o(7674),P=o(8003),O=o(8880),I=o(1320),B=o(5112),R=o(7497),D=o(3383),N=y.PROPER,W=y.CONFIGURABLE,U=D.IteratorPrototype,j=D.BUGGY_SAFARI_ITERATORS,G=B("iterator"),X="keys",K="values",Y="entries",returnThis=function(){return this};r.exports=function(r,i,o,y,B,D,J){_(o,i,y);var $,ee,te,getIterationMethod=function(r){if(r===B&&ae)return ae;if(!j&&r in ie)return ie[r];switch(r){case X:return function keys(){return new o(this,r)};case K:return function values(){return new o(this,r)};case Y:return function entries(){return new o(this,r)}}return function(){return new o(this)}},re=i+" Iterator",ne=!1,ie=r.prototype,oe=ie[G]||ie["@@iterator"]||B&&ie[B],ae=!j&&oe||getIterationMethod(B),se="Array"==i&&ie.entries||oe;if(se&&($=x(se.call(new r)))!==Object.prototype&&$.next&&(g||x($)===U||(k?k($,U):w($[G])||I($,G,returnThis)),P($,re,!0,!0),g&&(R[re]=returnThis)),N&&B==K&&oe&&oe.name!==K&&(!g&&W?O(ie,"name",K):(ne=!0,ae=function values(){return p(oe,this)})),B)if(ee={values:getIterationMethod(K),keys:D?ae:getIterationMethod(X),entries:getIterationMethod(Y)},J)for(te in ee)(j||ne||!(te in ie))&&I(ie,te,ee[te]);else u({target:i,proto:!0,forced:j||ne},ee);return g&&!J||ie[G]===ae||I(ie,G,ae,{name:B}),R[i]=ae,ee}},7235:function(r,i,o){var u=o(857),p=o(2597),g=o(6061),y=o(3070).f;r.exports=function(r){var i=u.Symbol||(u.Symbol={});p(i,r)||y(i,r,{value:g.f(r)})}},9781:function(r,i,o){var u=o(7293);r.exports=!u((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},317:function(r,i,o){var u=o(7854),p=o(111),g=u.document,y=p(g)&&p(g.createElement);r.exports=function(r){return y?g.createElement(r):{}}},8324:function(r){r.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},8509:function(r,i,o){var u=o(317)("span").classList,p=u&&u.constructor&&u.constructor.prototype;r.exports=p===Object.prototype?void 0:p},8886:function(r,i,o){var u=o(8113).match(/firefox\/(\d+)/i);r.exports=!!u&&+u[1]},7871:function(r){r.exports="object"==typeof window},256:function(r,i,o){var u=o(8113);r.exports=/MSIE|Trident/.test(u)},1528:function(r,i,o){var u=o(8113),p=o(7854);r.exports=/ipad|iphone|ipod/i.test(u)&&void 0!==p.Pebble},6833:function(r,i,o){var u=o(8113);r.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(u)},5268:function(r,i,o){var u=o(4326),p=o(7854);r.exports="process"==u(p.process)},1036:function(r,i,o){var u=o(8113);r.exports=/web0s(?!.*chrome)/i.test(u)},8113:function(r,i,o){var u=o(5005);r.exports=u("navigator","userAgent")||""},7392:function(r,i,o){var u,p,g=o(7854),y=o(8113),w=g.process,_=g.Deno,x=w&&w.versions||_&&_.version,k=x&&x.v8;k&&(p=(u=k.split("."))[0]>0&&u[0]<4?1:+(u[0]+u[1])),!p&&y&&(!(u=y.match(/Edge\/(\d+)/))||u[1]>=74)&&(u=y.match(/Chrome\/(\d+)/))&&(p=+u[1]),r.exports=p},8008:function(r,i,o){var u=o(8113).match(/AppleWebKit\/(\d+)\./);r.exports=!!u&&+u[1]},748:function(r){r.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2914:function(r,i,o){var u=o(7293),p=o(9114);r.exports=!u((function(){var r=Error("a");return!("stack"in r)||(Object.defineProperty(r,"stack",p(1,7)),7!==r.stack)}))},2109:function(r,i,o){var u=o(7854),p=o(1236).f,g=o(8880),y=o(1320),w=o(3505),_=o(9920),x=o(4705);r.exports=function(r,i){var o,k,P,O,I,B=r.target,R=r.global,D=r.stat;if(o=R?u:D?u[B]||w(B,{}):(u[B]||{}).prototype)for(k in i){if(O=i[k],P=r.noTargetGet?(I=p(o,k))&&I.value:o[k],!x(R?k:B+(D?".":"#")+k,r.forced)&&void 0!==P){if(typeof O==typeof P)continue;_(O,P)}(r.sham||P&&P.sham)&&g(O,"sham",!0),y(o,k,O,r)}}},7293:function(r){r.exports=function(r){try{return!!r()}catch(r){return!0}}},7007:function(r,i,o){"use strict";o(4916);var u=o(1702),p=o(1320),g=o(2261),y=o(7293),w=o(5112),_=o(8880),x=w("species"),k=RegExp.prototype;r.exports=function(r,i,o,P){var O=w(r),I=!y((function(){var i={};return i[O]=function(){return 7},7!=""[r](i)})),B=I&&!y((function(){var i=!1,o=/a/;return"split"===r&&((o={}).constructor={},o.constructor[x]=function(){return o},o.flags="",o[O]=/./[O]),o.exec=function(){return i=!0,null},o[O](""),!i}));if(!I||!B||o){var R=u(/./[O]),D=i(O,""[r],(function(r,i,o,p,y){var w=u(r),_=i.exec;return _===g||_===k.exec?I&&!y?{done:!0,value:R(i,o,p)}:{done:!0,value:w(o,i,p)}:{done:!1}}));p(String.prototype,r,D[0]),p(k,O,D[1])}P&&_(k[O],"sham",!0)}},6677:function(r,i,o){var u=o(7293);r.exports=!u((function(){return Object.isExtensible(Object.preventExtensions({}))}))},2104:function(r){var i=Function.prototype,o=i.apply,u=i.bind,p=i.call;r.exports="object"==typeof Reflect&&Reflect.apply||(u?p.bind(o):function(){return p.apply(o,arguments)})},9974:function(r,i,o){var u=o(1702),p=o(9662),g=u(u.bind);r.exports=function(r,i){return p(r),void 0===i?r:g?g(r,i):function(){return r.apply(i,arguments)}}},7065:function(r,i,o){"use strict";var u=o(7854),p=o(1702),g=o(9662),y=o(111),w=o(2597),_=o(206),x=u.Function,k=p([].concat),P=p([].join),O={},construct=function(r,i,o){if(!w(O,i)){for(var u=[],p=0;p<i;p++)u[p]="a["+p+"]";O[i]=x("C,a","return new C("+P(u,",")+")")}return O[i](r,o)};r.exports=x.bind||function bind(r){var i=g(this),o=i.prototype,u=_(arguments,1),p=function bound(){var o=k(u,_(arguments));return this instanceof p?construct(i,o.length,o):i.apply(r,o)};return y(o)&&(p.prototype=o),p}},6916:function(r){var i=Function.prototype.call;r.exports=i.bind?i.bind(i):function(){return i.apply(i,arguments)}},6530:function(r,i,o){var u=o(9781),p=o(2597),g=Function.prototype,y=u&&Object.getOwnPropertyDescriptor,w=p(g,"name"),_=w&&"something"===function something(){}.name,x=w&&(!u||u&&y(g,"name").configurable);r.exports={EXISTS:w,PROPER:_,CONFIGURABLE:x}},1702:function(r){var i=Function.prototype,o=i.bind,u=i.call,p=o&&o.bind(u);r.exports=o?function(r){return r&&p(u,r)}:function(r){return r&&function(){return u.apply(r,arguments)}}},5005:function(r,i,o){var u=o(7854),p=o(614),aFunction=function(r){return p(r)?r:void 0};r.exports=function(r,i){return arguments.length<2?aFunction(u[r]):u[r]&&u[r][i]}},1246:function(r,i,o){var u=o(648),p=o(8173),g=o(7497),y=o(5112)("iterator");r.exports=function(r){if(null!=r)return p(r,y)||p(r,"@@iterator")||g[u(r)]}},8554:function(r,i,o){var u=o(7854),p=o(6916),g=o(9662),y=o(9670),w=o(6330),_=o(1246),x=u.TypeError;r.exports=function(r,i){var o=arguments.length<2?_(r):i;if(g(o))return y(p(o,r));throw x(w(r)+" is not iterable")}},8173:function(r,i,o){var u=o(9662);r.exports=function(r,i){var o=r[i];return null==o?void 0:u(o)}},647:function(r,i,o){var u=o(1702),p=o(7908),g=Math.floor,y=u("".charAt),w=u("".replace),_=u("".slice),x=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,k=/\$([$&'`]|\d{1,2})/g;r.exports=function(r,i,o,u,P,O){var I=o+r.length,B=u.length,R=k;return void 0!==P&&(P=p(P),R=x),w(O,R,(function(p,w){var x;switch(y(w,0)){case"$":return"$";case"&":return r;case"`":return _(i,0,o);case"'":return _(i,I);case"<":x=P[_(w,1,-1)];break;default:var k=+w;if(0===k)return p;if(k>B){var O=g(k/10);return 0===O?p:O<=B?void 0===u[O-1]?y(w,1):u[O-1]+y(w,1):p}x=u[k-1]}return void 0===x?"":x}))}},7854:function(r,i,o){var check=function(r){return r&&r.Math==Math&&r};r.exports=check("object"==typeof globalThis&&globalThis)||check("object"==typeof window&&window)||check("object"==typeof self&&self)||check("object"==typeof o.g&&o.g)||function(){return this}()||Function("return this")()},2597:function(r,i,o){var u=o(1702),p=o(7908),g=u({}.hasOwnProperty);r.exports=Object.hasOwn||function hasOwn(r,i){return g(p(r),i)}},3501:function(r){r.exports={}},842:function(r,i,o){var u=o(7854);r.exports=function(r,i){var o=u.console;o&&o.error&&(1==arguments.length?o.error(r):o.error(r,i))}},490:function(r,i,o){var u=o(5005);r.exports=u("document","documentElement")},4664:function(r,i,o){var u=o(9781),p=o(7293),g=o(317);r.exports=!u&&!p((function(){return 7!=Object.defineProperty(g("div"),"a",{get:function(){return 7}}).a}))},1179:function(r,i,o){var u=o(7854).Array,p=Math.abs,g=Math.pow,y=Math.floor,w=Math.log,_=Math.LN2;r.exports={pack:function(r,i,o){var x,k,P,O=u(o),I=8*o-i-1,B=(1<<I)-1,R=B>>1,D=23===i?g(2,-24)-g(2,-77):0,N=r<0||0===r&&1/r<0?1:0,W=0;for((r=p(r))!=r||r===1/0?(k=r!=r?1:0,x=B):(x=y(w(r)/_),r*(P=g(2,-x))<1&&(x--,P*=2),(r+=x+R>=1?D/P:D*g(2,1-R))*P>=2&&(x++,P/=2),x+R>=B?(k=0,x=B):x+R>=1?(k=(r*P-1)*g(2,i),x+=R):(k=r*g(2,R-1)*g(2,i),x=0));i>=8;O[W++]=255&k,k/=256,i-=8);for(x=x<<i|k,I+=i;I>0;O[W++]=255&x,x/=256,I-=8);return O[--W]|=128*N,O},unpack:function(r,i){var o,u=r.length,p=8*u-i-1,y=(1<<p)-1,w=y>>1,_=p-7,x=u-1,k=r[x--],P=127&k;for(k>>=7;_>0;P=256*P+r[x],x--,_-=8);for(o=P&(1<<-_)-1,P>>=-_,_+=i;_>0;o=256*o+r[x],x--,_-=8);if(0===P)P=1-w;else{if(P===y)return o?NaN:k?-1/0:1/0;o+=g(2,i),P-=w}return(k?-1:1)*o*g(2,P-i)}}},8361:function(r,i,o){var u=o(7854),p=o(1702),g=o(7293),y=o(4326),w=u.Object,_=p("".split);r.exports=g((function(){return!w("z").propertyIsEnumerable(0)}))?function(r){return"String"==y(r)?_(r,""):w(r)}:w},9587:function(r,i,o){var u=o(614),p=o(111),g=o(7674);r.exports=function(r,i,o){var y,w;return g&&u(y=i.constructor)&&y!==o&&p(w=y.prototype)&&w!==o.prototype&&g(r,w),r}},2788:function(r,i,o){var u=o(1702),p=o(614),g=o(5465),y=u(Function.toString);p(g.inspectSource)||(g.inspectSource=function(r){return y(r)}),r.exports=g.inspectSource},8340:function(r,i,o){var u=o(111),p=o(8880);r.exports=function(r,i){u(i)&&"cause"in i&&p(r,"cause",i.cause)}},2423:function(r,i,o){var u=o(2109),p=o(1702),g=o(3501),y=o(111),w=o(2597),_=o(3070).f,x=o(8006),k=o(1156),P=o(9711),O=o(6677),I=!1,B=P("meta"),R=0,D=Object.isExtensible||function(){return!0},setMetadata=function(r){_(r,B,{value:{objectID:"O"+R++,weakData:{}}})},N=r.exports={enable:function(){N.enable=function(){},I=!0;var r=x.f,i=p([].splice),o={};o[B]=1,r(o).length&&(x.f=function(o){for(var u=r(o),p=0,g=u.length;p<g;p++)if(u[p]===B){i(u,p,1);break}return u},u({target:"Object",stat:!0,forced:!0},{getOwnPropertyNames:k.f}))},fastKey:function(r,i){if(!y(r))return"symbol"==typeof r?r:("string"==typeof r?"S":"P")+r;if(!w(r,B)){if(!D(r))return"F";if(!i)return"E";setMetadata(r)}return r[B].objectID},getWeakData:function(r,i){if(!w(r,B)){if(!D(r))return!0;if(!i)return!1;setMetadata(r)}return r[B].weakData},onFreeze:function(r){return O&&I&&D(r)&&!w(r,B)&&setMetadata(r),r}};g[B]=!0},9909:function(r,i,o){var u,p,g,y=o(8536),w=o(7854),_=o(1702),x=o(111),k=o(8880),P=o(2597),O=o(5465),I=o(6200),B=o(3501),R="Object already initialized",D=w.TypeError,N=w.WeakMap;if(y||O.state){var W=O.state||(O.state=new N),U=_(W.get),j=_(W.has),G=_(W.set);u=function(r,i){if(j(W,r))throw new D(R);return i.facade=r,G(W,r,i),i},p=function(r){return U(W,r)||{}},g=function(r){return j(W,r)}}else{var X=I("state");B[X]=!0,u=function(r,i){if(P(r,X))throw new D(R);return i.facade=r,k(r,X,i),i},p=function(r){return P(r,X)?r[X]:{}},g=function(r){return P(r,X)}}r.exports={set:u,get:p,has:g,enforce:function(r){return g(r)?p(r):u(r,{})},getterFor:function(r){return function(i){var o;if(!x(i)||(o=p(i)).type!==r)throw D("Incompatible receiver, "+r+" required");return o}}}},7659:function(r,i,o){var u=o(5112),p=o(7497),g=u("iterator"),y=Array.prototype;r.exports=function(r){return void 0!==r&&(p.Array===r||y[g]===r)}},3157:function(r,i,o){var u=o(4326);r.exports=Array.isArray||function isArray(r){return"Array"==u(r)}},614:function(r){r.exports=function(r){return"function"==typeof r}},4411:function(r,i,o){var u=o(1702),p=o(7293),g=o(614),y=o(648),w=o(5005),_=o(2788),noop=function(){},x=[],k=w("Reflect","construct"),P=/^\s*(?:class|function)\b/,O=u(P.exec),I=!P.exec(noop),isConstructorModern=function(r){if(!g(r))return!1;try{return k(noop,x,r),!0}catch(r){return!1}};r.exports=!k||p((function(){var r;return isConstructorModern(isConstructorModern.call)||!isConstructorModern(Object)||!isConstructorModern((function(){r=!0}))||r}))?function(r){if(!g(r))return!1;switch(y(r)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}return I||!!O(P,_(r))}:isConstructorModern},4705:function(r,i,o){var u=o(7293),p=o(614),g=/#|\.prototype\./,isForced=function(r,i){var o=w[y(r)];return o==x||o!=_&&(p(i)?u(i):!!i)},y=isForced.normalize=function(r){return String(r).replace(g,".").toLowerCase()},w=isForced.data={},_=isForced.NATIVE="N",x=isForced.POLYFILL="P";r.exports=isForced},5988:function(r,i,o){var u=o(111),p=Math.floor;r.exports=Number.isInteger||function isInteger(r){return!u(r)&&isFinite(r)&&p(r)===r}},111:function(r,i,o){var u=o(614);r.exports=function(r){return"object"==typeof r?null!==r:u(r)}},1913:function(r){r.exports=!1},7850:function(r,i,o){var u=o(111),p=o(4326),g=o(5112)("match");r.exports=function(r){var i;return u(r)&&(void 0!==(i=r[g])?!!i:"RegExp"==p(r))}},2190:function(r,i,o){var u=o(7854),p=o(5005),g=o(614),y=o(7976),w=o(3307),_=u.Object;r.exports=w?function(r){return"symbol"==typeof r}:function(r){var i=p("Symbol");return g(i)&&y(i.prototype,_(r))}},408:function(r,i,o){var u=o(7854),p=o(9974),g=o(6916),y=o(9670),w=o(6330),_=o(7659),x=o(6244),k=o(7976),P=o(8554),O=o(1246),I=o(9212),B=u.TypeError,Result=function(r,i){this.stopped=r,this.result=i},R=Result.prototype;r.exports=function(r,i,o){var u,D,N,W,U,j,G,X=o&&o.that,K=!(!o||!o.AS_ENTRIES),Y=!(!o||!o.IS_ITERATOR),J=!(!o||!o.INTERRUPTED),$=p(i,X),stop=function(r){return u&&I(u,"normal",r),new Result(!0,r)},callFn=function(r){return K?(y(r),J?$(r[0],r[1],stop):$(r[0],r[1])):J?$(r,stop):$(r)};if(Y)u=r;else{if(!(D=O(r)))throw B(w(r)+" is not iterable");if(_(D)){for(N=0,W=x(r);W>N;N++)if((U=callFn(r[N]))&&k(R,U))return U;return new Result(!1)}u=P(r,D)}for(j=u.next;!(G=g(j,u)).done;){try{U=callFn(G.value)}catch(r){I(u,"throw",r)}if("object"==typeof U&&U&&k(R,U))return U}return new Result(!1)}},9212:function(r,i,o){var u=o(6916),p=o(9670),g=o(8173);r.exports=function(r,i,o){var y,w;p(r);try{if(!(y=g(r,"return"))){if("throw"===i)throw o;return o}y=u(y,r)}catch(r){w=!0,y=r}if("throw"===i)throw o;if(w)throw y;return p(y),o}},3383:function(r,i,o){"use strict";var u,p,g,y=o(7293),w=o(614),_=o(30),x=o(9518),k=o(1320),P=o(5112),O=o(1913),I=P("iterator"),B=!1;[].keys&&("next"in(g=[].keys())?(p=x(x(g)))!==Object.prototype&&(u=p):B=!0),null==u||y((function(){var r={};return u[I].call(r)!==r}))?u={}:O&&(u=_(u)),w(u[I])||k(u,I,(function(){return this})),r.exports={IteratorPrototype:u,BUGGY_SAFARI_ITERATORS:B}},7497:function(r){r.exports={}},6244:function(r,i,o){var u=o(7466);r.exports=function(r){return u(r.length)}},5948:function(r,i,o){var u,p,g,y,w,_,x,k,P=o(7854),O=o(9974),I=o(1236).f,B=o(261).set,R=o(6833),D=o(1528),N=o(1036),W=o(5268),U=P.MutationObserver||P.WebKitMutationObserver,j=P.document,G=P.process,X=P.Promise,K=I(P,"queueMicrotask"),Y=K&&K.value;Y||(u=function(){var r,i;for(W&&(r=G.domain)&&r.exit();p;){i=p.fn,p=p.next;try{i()}catch(r){throw p?y():g=void 0,r}}g=void 0,r&&r.enter()},R||W||N||!U||!j?!D&&X&&X.resolve?((x=X.resolve(void 0)).constructor=X,k=O(x.then,x),y=function(){k(u)}):W?y=function(){G.nextTick(u)}:(B=O(B,P),y=function(){B(u)}):(w=!0,_=j.createTextNode(""),new U(u).observe(_,{characterData:!0}),y=function(){_.data=w=!w})),r.exports=Y||function(r){var i={fn:r,next:void 0};g&&(g.next=i),p||(p=i,y()),g=i}},3366:function(r,i,o){var u=o(7854);r.exports=u.Promise},133:function(r,i,o){var u=o(7392),p=o(7293);r.exports=!!Object.getOwnPropertySymbols&&!p((function(){var r=Symbol();return!String(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&u&&u<41}))},8536:function(r,i,o){var u=o(7854),p=o(614),g=o(2788),y=u.WeakMap;r.exports=p(y)&&/native code/.test(g(y))},8523:function(r,i,o){"use strict";var u=o(9662),PromiseCapability=function(r){var i,o;this.promise=new r((function(r,u){if(void 0!==i||void 0!==o)throw TypeError("Bad Promise constructor");i=r,o=u})),this.resolve=u(i),this.reject=u(o)};r.exports.f=function(r){return new PromiseCapability(r)}},6277:function(r,i,o){var u=o(1340);r.exports=function(r,i){return void 0===r?arguments.length<2?"":i:u(r)}},3929:function(r,i,o){var u=o(7854),p=o(7850),g=u.TypeError;r.exports=function(r){if(p(r))throw g("The method doesn't accept regular expressions");return r}},7023:function(r,i,o){var u=o(7854).isFinite;r.exports=Number.isFinite||function isFinite(r){return"number"==typeof r&&u(r)}},1574:function(r,i,o){"use strict";var u=o(9781),p=o(1702),g=o(6916),y=o(7293),w=o(1956),_=o(5181),x=o(5296),k=o(7908),P=o(8361),O=Object.assign,I=Object.defineProperty,B=p([].concat);r.exports=!O||y((function(){if(u&&1!==O({b:1},O(I({},"a",{enumerable:!0,get:function(){I(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var r={},i={},o=Symbol(),p="abcdefghijklmnopqrst";return r[o]=7,p.split("").forEach((function(r){i[r]=r})),7!=O({},r)[o]||w(O({},i)).join("")!=p}))?function assign(r,i){for(var o=k(r),p=arguments.length,y=1,O=_.f,I=x.f;p>y;)for(var R,D=P(arguments[y++]),N=O?B(w(D),O(D)):w(D),W=N.length,U=0;W>U;)R=N[U++],u&&!g(I,D,R)||(o[R]=D[R]);return o}:O},30:function(r,i,o){var u,p=o(9670),g=o(6048),y=o(748),w=o(3501),_=o(490),x=o(317),k=o(6200),P="prototype",O="script",I=k("IE_PROTO"),EmptyConstructor=function(){},scriptTag=function(r){return"<"+O+">"+r+"</"+O+">"},NullProtoObjectViaActiveX=function(r){r.write(scriptTag("")),r.close();var i=r.parentWindow.Object;return r=null,i},NullProtoObject=function(){try{u=new ActiveXObject("htmlfile")}catch(r){}var r,i,o;NullProtoObject="undefined"!=typeof document?document.domain&&u?NullProtoObjectViaActiveX(u):(i=x("iframe"),o="java"+O+":",i.style.display="none",_.appendChild(i),i.src=String(o),(r=i.contentWindow.document).open(),r.write(scriptTag("document.F=Object")),r.close(),r.F):NullProtoObjectViaActiveX(u);for(var p=y.length;p--;)delete NullProtoObject[P][y[p]];return NullProtoObject()};w[I]=!0,r.exports=Object.create||function create(r,i){var o;return null!==r?(EmptyConstructor[P]=p(r),o=new EmptyConstructor,EmptyConstructor[P]=null,o[I]=r):o=NullProtoObject(),void 0===i?o:g(o,i)}},6048:function(r,i,o){var u=o(9781),p=o(3070),g=o(9670),y=o(5656),w=o(1956);r.exports=u?Object.defineProperties:function defineProperties(r,i){g(r);for(var o,u=y(i),_=w(i),x=_.length,k=0;x>k;)p.f(r,o=_[k++],u[o]);return r}},3070:function(r,i,o){var u=o(7854),p=o(9781),g=o(4664),y=o(9670),w=o(4948),_=u.TypeError,x=Object.defineProperty;i.f=p?x:function defineProperty(r,i,o){if(y(r),i=w(i),y(o),g)try{return x(r,i,o)}catch(r){}if("get"in o||"set"in o)throw _("Accessors not supported");return"value"in o&&(r[i]=o.value),r}},1236:function(r,i,o){var u=o(9781),p=o(6916),g=o(5296),y=o(9114),w=o(5656),_=o(4948),x=o(2597),k=o(4664),P=Object.getOwnPropertyDescriptor;i.f=u?P:function getOwnPropertyDescriptor(r,i){if(r=w(r),i=_(i),k)try{return P(r,i)}catch(r){}if(x(r,i))return y(!p(g.f,r,i),r[i])}},1156:function(r,i,o){var u=o(4326),p=o(5656),g=o(8006).f,y=o(206),w="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];r.exports.f=function getOwnPropertyNames(r){return w&&"Window"==u(r)?function(r){try{return g(r)}catch(r){return y(w)}}(r):g(p(r))}},8006:function(r,i,o){var u=o(6324),p=o(748).concat("length","prototype");i.f=Object.getOwnPropertyNames||function getOwnPropertyNames(r){return u(r,p)}},5181:function(r,i){i.f=Object.getOwnPropertySymbols},9518:function(r,i,o){var u=o(7854),p=o(2597),g=o(614),y=o(7908),w=o(6200),_=o(8544),x=w("IE_PROTO"),k=u.Object,P=k.prototype;r.exports=_?k.getPrototypeOf:function(r){var i=y(r);if(p(i,x))return i[x];var o=i.constructor;return g(o)&&i instanceof o?o.prototype:i instanceof k?P:null}},7976:function(r,i,o){var u=o(1702);r.exports=u({}.isPrototypeOf)},6324:function(r,i,o){var u=o(1702),p=o(2597),g=o(5656),y=o(1318).indexOf,w=o(3501),_=u([].push);r.exports=function(r,i){var o,u=g(r),x=0,k=[];for(o in u)!p(w,o)&&p(u,o)&&_(k,o);for(;i.length>x;)p(u,o=i[x++])&&(~y(k,o)||_(k,o));return k}},1956:function(r,i,o){var u=o(6324),p=o(748);r.exports=Object.keys||function keys(r){return u(r,p)}},5296:function(r,i){"use strict";var o={}.propertyIsEnumerable,u=Object.getOwnPropertyDescriptor,p=u&&!o.call({1:2},1);i.f=p?function propertyIsEnumerable(r){var i=u(this,r);return!!i&&i.enumerable}:o},7674:function(r,i,o){var u=o(1702),p=o(9670),g=o(6077);r.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var r,i=!1,o={};try{(r=u(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(o,[]),i=o instanceof Array}catch(r){}return function setPrototypeOf(o,u){return p(o),g(u),i?r(o,u):o.__proto__=u,o}}():void 0)},4699:function(r,i,o){var u=o(9781),p=o(1702),g=o(1956),y=o(5656),w=p(o(5296).f),_=p([].push),createMethod=function(r){return function(i){for(var o,p=y(i),x=g(p),k=x.length,P=0,O=[];k>P;)o=x[P++],u&&!w(p,o)||_(O,r?[o,p[o]]:p[o]);return O}};r.exports={entries:createMethod(!0),values:createMethod(!1)}},288:function(r,i,o){"use strict";var u=o(1694),p=o(648);r.exports=u?{}.toString:function toString(){return"[object "+p(this)+"]"}},2140:function(r,i,o){var u=o(7854),p=o(6916),g=o(614),y=o(111),w=u.TypeError;r.exports=function(r,i){var o,u;if("string"===i&&g(o=r.toString)&&!y(u=p(o,r)))return u;if(g(o=r.valueOf)&&!y(u=p(o,r)))return u;if("string"!==i&&g(o=r.toString)&&!y(u=p(o,r)))return u;throw w("Can't convert object to primitive value")}},3887:function(r,i,o){var u=o(5005),p=o(1702),g=o(8006),y=o(5181),w=o(9670),_=p([].concat);r.exports=u("Reflect","ownKeys")||function ownKeys(r){var i=g.f(w(r)),o=y.f;return o?_(i,o(r)):i}},857:function(r,i,o){var u=o(7854);r.exports=u},2534:function(r){r.exports=function(r){try{return{error:!1,value:r()}}catch(r){return{error:!0,value:r}}}},9478:function(r,i,o){var u=o(9670),p=o(111),g=o(8523);r.exports=function(r,i){if(u(r),p(i)&&i.constructor===r)return i;var o=g.f(r);return(0,o.resolve)(i),o.promise}},2248:function(r,i,o){var u=o(1320);r.exports=function(r,i,o){for(var p in i)u(r,p,i[p],o);return r}},1320:function(r,i,o){var u=o(7854),p=o(614),g=o(2597),y=o(8880),w=o(3505),_=o(2788),x=o(9909),k=o(6530).CONFIGURABLE,P=x.get,O=x.enforce,I=String(String).split("String");(r.exports=function(r,i,o,_){var x,P=!!_&&!!_.unsafe,B=!!_&&!!_.enumerable,R=!!_&&!!_.noTargetGet,D=_&&void 0!==_.name?_.name:i;p(o)&&("Symbol("===String(D).slice(0,7)&&(D="["+String(D).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),(!g(o,"name")||k&&o.name!==D)&&y(o,"name",D),(x=O(o)).source||(x.source=I.join("string"==typeof D?D:""))),r!==u?(P?!R&&r[i]&&(B=!0):delete r[i],B?r[i]=o:y(r,i,o)):B?r[i]=o:w(i,o)})(Function.prototype,"toString",(function toString(){return p(this)&&P(this).source||_(this)}))},7651:function(r,i,o){var u=o(7854),p=o(6916),g=o(9670),y=o(614),w=o(4326),_=o(2261),x=u.TypeError;r.exports=function(r,i){var o=r.exec;if(y(o)){var u=p(o,r,i);return null!==u&&g(u),u}if("RegExp"===w(r))return p(_,r,i);throw x("RegExp#exec called on incompatible receiver")}},2261:function(r,i,o){"use strict";var u,p,g=o(6916),y=o(1702),w=o(1340),_=o(7066),x=o(2999),k=o(2309),P=o(30),O=o(9909).get,I=o(9441),B=o(7168),R=k("native-string-replace",String.prototype.replace),D=RegExp.prototype.exec,N=D,W=y("".charAt),U=y("".indexOf),j=y("".replace),G=y("".slice),X=(p=/b*/g,g(D,u=/a/,"a"),g(D,p,"a"),0!==u.lastIndex||0!==p.lastIndex),K=x.UNSUPPORTED_Y||x.BROKEN_CARET,Y=void 0!==/()??/.exec("")[1];(X||Y||K||I||B)&&(N=function exec(r){var i,o,u,p,y,x,k,I=this,B=O(I),J=w(r),$=B.raw;if($)return $.lastIndex=I.lastIndex,i=g(N,$,J),I.lastIndex=$.lastIndex,i;var ee=B.groups,te=K&&I.sticky,re=g(_,I),ne=I.source,ie=0,oe=J;if(te&&(re=j(re,"y",""),-1===U(re,"g")&&(re+="g"),oe=G(J,I.lastIndex),I.lastIndex>0&&(!I.multiline||I.multiline&&"\n"!==W(J,I.lastIndex-1))&&(ne="(?: "+ne+")",oe=" "+oe,ie++),o=new RegExp("^(?:"+ne+")",re)),Y&&(o=new RegExp("^"+ne+"$(?!\\s)",re)),X&&(u=I.lastIndex),p=g(D,te?o:I,oe),te?p?(p.input=G(p.input,ie),p[0]=G(p[0],ie),p.index=I.lastIndex,I.lastIndex+=p[0].length):I.lastIndex=0:X&&p&&(I.lastIndex=I.global?p.index+p[0].length:u),Y&&p&&p.length>1&&g(R,p[0],o,(function(){for(y=1;y<arguments.length-2;y++)void 0===arguments[y]&&(p[y]=void 0)})),p&&ee)for(p.groups=x=P(null),y=0;y<ee.length;y++)x[(k=ee[y])[0]]=p[k[1]];return p}),r.exports=N},7066:function(r,i,o){"use strict";var u=o(9670);r.exports=function(){var r=u(this),i="";return r.global&&(i+="g"),r.ignoreCase&&(i+="i"),r.multiline&&(i+="m"),r.dotAll&&(i+="s"),r.unicode&&(i+="u"),r.sticky&&(i+="y"),i}},2999:function(r,i,o){var u=o(7293),p=o(7854).RegExp;i.UNSUPPORTED_Y=u((function(){var r=p("a","y");return r.lastIndex=2,null!=r.exec("abcd")})),i.BROKEN_CARET=u((function(){var r=p("^r","gy");return r.lastIndex=2,null!=r.exec("str")}))},9441:function(r,i,o){var u=o(7293),p=o(7854).RegExp;r.exports=u((function(){var r=p(".","s");return!(r.dotAll&&r.exec("\n")&&"s"===r.flags)}))},7168:function(r,i,o){var u=o(7293),p=o(7854).RegExp;r.exports=u((function(){var r=p("(?<a>b)","g");return"b"!==r.exec("b").groups.a||"bc"!=="b".replace(r,"$<a>c")}))},4488:function(r,i,o){var u=o(7854).TypeError;r.exports=function(r){if(null==r)throw u("Can't call method on "+r);return r}},3505:function(r,i,o){var u=o(7854),p=Object.defineProperty;r.exports=function(r,i){try{p(u,r,{value:i,configurable:!0,writable:!0})}catch(o){u[r]=i}return i}},6340:function(r,i,o){"use strict";var u=o(5005),p=o(3070),g=o(5112),y=o(9781),w=g("species");r.exports=function(r){var i=u(r),o=p.f;y&&i&&!i[w]&&o(i,w,{configurable:!0,get:function(){return this}})}},8003:function(r,i,o){var u=o(3070).f,p=o(2597),g=o(5112)("toStringTag");r.exports=function(r,i,o){r&&!p(r=o?r:r.prototype,g)&&u(r,g,{configurable:!0,value:i})}},6200:function(r,i,o){var u=o(2309),p=o(9711),g=u("keys");r.exports=function(r){return g[r]||(g[r]=p(r))}},5465:function(r,i,o){var u=o(7854),p=o(3505),g="__core-js_shared__",y=u[g]||p(g,{});r.exports=y},2309:function(r,i,o){var u=o(1913),p=o(5465);(r.exports=function(r,i){return p[r]||(p[r]=void 0!==i?i:{})})("versions",[]).push({version:"3.19.0",mode:u?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},6707:function(r,i,o){var u=o(9670),p=o(9483),g=o(5112)("species");r.exports=function(r,i){var o,y=u(r).constructor;return void 0===y||null==(o=u(y)[g])?i:p(o)}},3429:function(r,i,o){var u=o(7293);r.exports=function(r){return u((function(){var i=""[r]('"');return i!==i.toLowerCase()||i.split('"').length>3}))}},8710:function(r,i,o){var u=o(1702),p=o(9303),g=o(1340),y=o(4488),w=u("".charAt),_=u("".charCodeAt),x=u("".slice),createMethod=function(r){return function(i,o){var u,k,P=g(y(i)),O=p(o),I=P.length;return O<0||O>=I?r?"":void 0:(u=_(P,O))<55296||u>56319||O+1===I||(k=_(P,O+1))<56320||k>57343?r?w(P,O):u:r?x(P,O,O+2):k-56320+(u-55296<<10)+65536}};r.exports={codeAt:createMethod(!1),charAt:createMethod(!0)}},8415:function(r,i,o){"use strict";var u=o(7854),p=o(9303),g=o(1340),y=o(4488),w=u.RangeError;r.exports=function repeat(r){var i=g(y(this)),o="",u=p(r);if(u<0||u==1/0)throw w("Wrong number of repetitions");for(;u>0;(u>>>=1)&&(i+=i))1&u&&(o+=i);return o}},6091:function(r,i,o){var u=o(6530).PROPER,p=o(7293),g=o(1361);r.exports=function(r){return p((function(){return!!g[r]()||"​…᠎"!=="​…᠎"[r]()||u&&g[r].name!==r}))}},3111:function(r,i,o){var u=o(1702),p=o(4488),g=o(1340),y=o(1361),w=u("".replace),_="["+y+"]",x=RegExp("^"+_+_+"*"),k=RegExp(_+_+"*$"),createMethod=function(r){return function(i){var o=g(p(i));return 1&r&&(o=w(o,x,"")),2&r&&(o=w(o,k,"")),o}};r.exports={start:createMethod(1),end:createMethod(2),trim:createMethod(3)}},261:function(r,i,o){var u,p,g,y,w=o(7854),_=o(2104),x=o(9974),k=o(614),P=o(2597),O=o(7293),I=o(490),B=o(206),R=o(317),D=o(6833),N=o(5268),W=w.setImmediate,U=w.clearImmediate,j=w.process,G=w.Dispatch,X=w.Function,K=w.MessageChannel,Y=w.String,J=0,$={},ee="onreadystatechange";try{u=w.location}catch(r){}var run=function(r){if(P($,r)){var i=$[r];delete $[r],i()}},runner=function(r){return function(){run(r)}},listener=function(r){run(r.data)},post=function(r){w.postMessage(Y(r),u.protocol+"//"+u.host)};W&&U||(W=function setImmediate(r){var i=B(arguments,1);return $[++J]=function(){_(k(r)?r:X(r),void 0,i)},p(J),J},U=function clearImmediate(r){delete $[r]},N?p=function(r){j.nextTick(runner(r))}:G&&G.now?p=function(r){G.now(runner(r))}:K&&!D?(y=(g=new K).port2,g.port1.onmessage=listener,p=x(y.postMessage,y)):w.addEventListener&&k(w.postMessage)&&!w.importScripts&&u&&"file:"!==u.protocol&&!O(post)?(p=post,w.addEventListener("message",listener,!1)):p=ee in R("script")?function(r){I.appendChild(R("script"))[ee]=function(){I.removeChild(this),run(r)}}:function(r){setTimeout(runner(r),0)}),r.exports={set:W,clear:U}},863:function(r,i,o){var u=o(1702);r.exports=u(1..valueOf)},1400:function(r,i,o){var u=o(9303),p=Math.max,g=Math.min;r.exports=function(r,i){var o=u(r);return o<0?p(o+i,0):g(o,i)}},7067:function(r,i,o){var u=o(7854),p=o(9303),g=o(7466),y=u.RangeError;r.exports=function(r){if(void 0===r)return 0;var i=p(r),o=g(i);if(i!==o)throw y("Wrong length or index");return o}},5656:function(r,i,o){var u=o(8361),p=o(4488);r.exports=function(r){return u(p(r))}},9303:function(r){var i=Math.ceil,o=Math.floor;r.exports=function(r){var u=+r;return u!=u||0===u?0:(u>0?o:i)(u)}},7466:function(r,i,o){var u=o(9303),p=Math.min;r.exports=function(r){return r>0?p(u(r),9007199254740991):0}},7908:function(r,i,o){var u=o(7854),p=o(4488),g=u.Object;r.exports=function(r){return g(p(r))}},4590:function(r,i,o){var u=o(7854),p=o(3002),g=u.RangeError;r.exports=function(r,i){var o=p(r);if(o%i)throw g("Wrong offset");return o}},3002:function(r,i,o){var u=o(7854),p=o(9303),g=u.RangeError;r.exports=function(r){var i=p(r);if(i<0)throw g("The argument can't be less than 0");return i}},7593:function(r,i,o){var u=o(7854),p=o(6916),g=o(111),y=o(2190),w=o(8173),_=o(2140),x=o(5112),k=u.TypeError,P=x("toPrimitive");r.exports=function(r,i){if(!g(r)||y(r))return r;var o,u=w(r,P);if(u){if(void 0===i&&(i="default"),o=p(u,r,i),!g(o)||y(o))return o;throw k("Can't convert object to primitive value")}return void 0===i&&(i="number"),_(r,i)}},4948:function(r,i,o){var u=o(7593),p=o(2190);r.exports=function(r){var i=u(r,"string");return p(i)?i:i+""}},1694:function(r,i,o){var u={};u[o(5112)("toStringTag")]="z",r.exports="[object z]"===String(u)},1340:function(r,i,o){var u=o(7854),p=o(648),g=u.String;r.exports=function(r){if("Symbol"===p(r))throw TypeError("Cannot convert a Symbol value to a string");return g(r)}},6330:function(r,i,o){var u=o(7854).String;r.exports=function(r){try{return u(r)}catch(r){return"Object"}}},9843:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(6916),y=o(9781),w=o(3832),_=o(2094),x=o(2091),k=o(5787),P=o(9114),O=o(8880),I=o(5988),B=o(7466),R=o(7067),D=o(4590),N=o(4948),W=o(2597),U=o(648),j=o(111),G=o(2190),X=o(30),K=o(7976),Y=o(7674),J=o(8006).f,$=o(7321),ee=o(2092).forEach,te=o(6340),re=o(3070),ne=o(1236),ie=o(9909),oe=o(9587),ae=ie.get,se=ie.set,ce=re.f,le=ne.f,ue=Math.round,fe=p.RangeError,he=x.ArrayBuffer,de=he.prototype,pe=x.DataView,ge=_.NATIVE_ARRAY_BUFFER_VIEWS,ye=_.TYPED_ARRAY_CONSTRUCTOR,ve=_.TYPED_ARRAY_TAG,me=_.TypedArray,be=_.TypedArrayPrototype,we=_.aTypedArrayConstructor,_e=_.isTypedArray,Se="BYTES_PER_ELEMENT",xe="Wrong length",fromList=function(r,i){we(r);for(var o=0,u=i.length,p=new r(u);u>o;)p[o]=i[o++];return p},addGetter=function(r,i){ce(r,i,{get:function(){return ae(this)[i]}})},isArrayBuffer=function(r){var i;return K(de,r)||"ArrayBuffer"==(i=U(r))||"SharedArrayBuffer"==i},isTypedArrayIndex=function(r,i){return _e(r)&&!G(i)&&i in r&&I(+i)&&i>=0},Ce=function getOwnPropertyDescriptor(r,i){return i=N(i),isTypedArrayIndex(r,i)?P(2,r[i]):le(r,i)},ke=function defineProperty(r,i,o){return i=N(i),!(isTypedArrayIndex(r,i)&&j(o)&&W(o,"value"))||W(o,"get")||W(o,"set")||o.configurable||W(o,"writable")&&!o.writable||W(o,"enumerable")&&!o.enumerable?ce(r,i,o):(r[i]=o.value,r)};y?(ge||(ne.f=Ce,re.f=ke,addGetter(be,"buffer"),addGetter(be,"byteOffset"),addGetter(be,"byteLength"),addGetter(be,"length")),u({target:"Object",stat:!0,forced:!ge},{getOwnPropertyDescriptor:Ce,defineProperty:ke}),r.exports=function(r,i,o){var y=r.match(/\d+$/)[0]/8,_=r+(o?"Clamped":"")+"Array",x="get"+r,P="set"+r,I=p[_],N=I,W=N&&N.prototype,U={},addElement=function(r,i){ce(r,i,{get:function(){return function(r,i){var o=ae(r);return o.view[x](i*y+o.byteOffset,!0)}(this,i)},set:function(r){return function(r,i,u){var p=ae(r);o&&(u=(u=ue(u))<0?0:u>255?255:255&u),p.view[P](i*y+p.byteOffset,u,!0)}(this,i,r)},enumerable:!0})};ge?w&&(N=i((function(r,i,o,u){return k(r,W),oe(j(i)?isArrayBuffer(i)?void 0!==u?new I(i,D(o,y),u):void 0!==o?new I(i,D(o,y)):new I(i):_e(i)?fromList(N,i):g($,N,i):new I(R(i)),r,N)})),Y&&Y(N,me),ee(J(I),(function(r){r in N||O(N,r,I[r])})),N.prototype=W):(N=i((function(r,i,o,u){k(r,W);var p,w,_,x=0,P=0;if(j(i)){if(!isArrayBuffer(i))return _e(i)?fromList(N,i):g($,N,i);p=i,P=D(o,y);var O=i.byteLength;if(void 0===u){if(O%y)throw fe(xe);if((w=O-P)<0)throw fe(xe)}else if((w=B(u)*y)+P>O)throw fe(xe);_=w/y}else _=R(i),p=new he(w=_*y);for(se(r,{buffer:p,byteOffset:P,byteLength:w,length:_,view:new pe(p)});x<_;)addElement(r,x++)})),Y&&Y(N,me),W=N.prototype=X(be)),W.constructor!==N&&O(W,"constructor",N),O(W,ye,N),ve&&O(W,ve,_),U[_]=N,u({global:!0,forced:N!=I,sham:!ge},U),Se in N||O(N,Se,y),Se in W||O(W,Se,y),te(_)}):r.exports=function(){}},3832:function(r,i,o){var u=o(7854),p=o(7293),g=o(7072),y=o(2094).NATIVE_ARRAY_BUFFER_VIEWS,w=u.ArrayBuffer,_=u.Int8Array;r.exports=!y||!p((function(){_(1)}))||!p((function(){new _(-1)}))||!g((function(r){new _,new _(null),new _(1.5),new _(r)}),!0)||p((function(){return 1!==new _(new w(2),1,void 0).length}))},3074:function(r,i,o){var u=o(7745),p=o(6304);r.exports=function(r,i){return u(p(r),i)}},7321:function(r,i,o){var u=o(9974),p=o(6916),g=o(9483),y=o(7908),w=o(6244),_=o(8554),x=o(1246),k=o(7659),P=o(2094).aTypedArrayConstructor;r.exports=function from(r){var i,o,O,I,B,R,D=g(this),N=y(r),W=arguments.length,U=W>1?arguments[1]:void 0,j=void 0!==U,G=x(N);if(G&&!k(G))for(R=(B=_(N,G)).next,N=[];!(I=p(R,B)).done;)N.push(I.value);for(j&&W>2&&(U=u(U,arguments[2])),o=w(N),O=new(P(D))(o),i=0;o>i;i++)O[i]=j?U(N[i],i):N[i];return O}},6304:function(r,i,o){var u=o(2094),p=o(6707),g=u.TYPED_ARRAY_CONSTRUCTOR,y=u.aTypedArrayConstructor;r.exports=function(r){return y(p(r,r[g]))}},9711:function(r,i,o){var u=o(1702),p=0,g=Math.random(),y=u(1..toString);r.exports=function(r){return"Symbol("+(void 0===r?"":r)+")_"+y(++p+g,36)}},3307:function(r,i,o){var u=o(133);r.exports=u&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},6061:function(r,i,o){var u=o(5112);i.f=u},5112:function(r,i,o){var u=o(7854),p=o(2309),g=o(2597),y=o(9711),w=o(133),_=o(3307),x=p("wks"),k=u.Symbol,P=k&&k.for,O=_?k:k&&k.withoutSetter||y;r.exports=function(r){if(!g(x,r)||!w&&"string"!=typeof x[r]){var i="Symbol."+r;w&&g(k,r)?x[r]=k[r]:x[r]=_&&P?P(i):O(i)}return x[r]}},1361:function(r){r.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},9170:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(7976),y=o(9518),w=o(7674),_=o(9920),x=o(30),k=o(8880),P=o(9114),O=o(7741),I=o(8340),B=o(408),R=o(6277),D=o(2914),N=p.Error,W=[].push,U=function AggregateError(r,i){var o=g(j,this)?this:x(j),u=arguments.length>2?arguments[2]:void 0;w&&(o=w(new N(void 0),y(o))),k(o,"message",R(i,"")),D&&k(o,"stack",O(o.stack,1)),I(o,u);var p=[];return B(r,W,{that:p}),k(o,"errors",p),o};w?w(U,N):_(U,N);var j=U.prototype=x(N.prototype,{constructor:P(1,U),message:P(1,""),name:P(1,"AggregateError")});u({global:!0},{AggregateError:U})},2222:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(7293),y=o(3157),w=o(111),_=o(7908),x=o(6244),k=o(6135),P=o(5417),O=o(1194),I=o(5112),B=o(7392),R=I("isConcatSpreadable"),D=9007199254740991,N="Maximum allowed index exceeded",W=p.TypeError,U=B>=51||!g((function(){var r=[];return r[R]=!1,r.concat()[0]!==r})),j=O("concat"),isConcatSpreadable=function(r){if(!w(r))return!1;var i=r[R];return void 0!==i?!!i:y(r)};u({target:"Array",proto:!0,forced:!U||!j},{concat:function concat(r){var i,o,u,p,g,y=_(this),w=P(y,0),O=0;for(i=-1,u=arguments.length;i<u;i++)if(isConcatSpreadable(g=-1===i?y:arguments[i])){if(O+(p=x(g))>D)throw W(N);for(o=0;o<p;o++,O++)o in g&&k(w,O,g[o])}else{if(O>=D)throw W(N);k(w,O++,g)}return w.length=O,w}})},545:function(r,i,o){var u=o(2109),p=o(1048),g=o(1223);u({target:"Array",proto:!0},{copyWithin:p}),g("copyWithin")},3290:function(r,i,o){var u=o(2109),p=o(1285),g=o(1223);u({target:"Array",proto:!0},{fill:p}),g("fill")},7327:function(r,i,o){"use strict";var u=o(2109),p=o(2092).filter;u({target:"Array",proto:!0,forced:!o(1194)("filter")},{filter:function filter(r){return p(this,r,arguments.length>1?arguments[1]:void 0)}})},1038:function(r,i,o){var u=o(2109),p=o(8457);u({target:"Array",stat:!0,forced:!o(7072)((function(r){Array.from(r)}))},{from:p})},6699:function(r,i,o){"use strict";var u=o(2109),p=o(1318).includes,g=o(1223);u({target:"Array",proto:!0},{includes:function includes(r){return p(this,r,arguments.length>1?arguments[1]:void 0)}}),g("includes")},6992:function(r,i,o){"use strict";var u=o(5656),p=o(1223),g=o(7497),y=o(9909),w=o(654),_="Array Iterator",x=y.set,k=y.getterFor(_);r.exports=w(Array,"Array",(function(r,i){x(this,{type:_,target:u(r),index:0,kind:i})}),(function(){var r=k(this),i=r.target,o=r.kind,u=r.index++;return!i||u>=i.length?(r.target=void 0,{value:void 0,done:!0}):"keys"==o?{value:u,done:!1}:"values"==o?{value:i[u],done:!1}:{value:[u,i[u]],done:!1}}),"values"),g.Arguments=g.Array,p("keys"),p("values"),p("entries")},9600:function(r,i,o){"use strict";var u=o(2109),p=o(1702),g=o(8361),y=o(5656),w=o(9341),_=p([].join),x=g!=Object,k=w("join",",");u({target:"Array",proto:!0,forced:x||!k},{join:function join(r){return _(y(this),void 0===r?",":r)}})},1249:function(r,i,o){"use strict";var u=o(2109),p=o(2092).map;u({target:"Array",proto:!0,forced:!o(1194)("map")},{map:function map(r){return p(this,r,arguments.length>1?arguments[1]:void 0)}})},7042:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(3157),y=o(4411),w=o(111),_=o(1400),x=o(6244),k=o(5656),P=o(6135),O=o(5112),I=o(1194),B=o(206),R=I("slice"),D=O("species"),N=p.Array,W=Math.max;u({target:"Array",proto:!0,forced:!R},{slice:function slice(r,i){var o,u,p,O=k(this),I=x(O),R=_(r,I),U=_(void 0===i?I:i,I);if(g(O)&&(o=O.constructor,(y(o)&&(o===N||g(o.prototype))||w(o)&&null===(o=o[D]))&&(o=void 0),o===N||void 0===o))return B(O,R,U);for(u=new(void 0===o?N:o)(W(U-R,0)),p=0;R<U;R++,p++)R in O&&P(u,p,O[R]);return u.length=p,u}})},2707:function(r,i,o){"use strict";var u=o(2109),p=o(1702),g=o(9662),y=o(7908),w=o(6244),_=o(1340),x=o(7293),k=o(4362),P=o(9341),O=o(8886),I=o(256),B=o(7392),R=o(8008),D=[],N=p(D.sort),W=p(D.push),U=x((function(){D.sort(void 0)})),j=x((function(){D.sort(null)})),G=P("sort"),X=!x((function(){if(B)return B<70;if(!(O&&O>3)){if(I)return!0;if(R)return R<603;var r,i,o,u,p="";for(r=65;r<76;r++){switch(i=String.fromCharCode(r),r){case 66:case 69:case 70:case 72:o=3;break;case 68:case 71:o=4;break;default:o=2}for(u=0;u<47;u++)D.push({k:i+u,v:o})}for(D.sort((function(r,i){return i.v-r.v})),u=0;u<D.length;u++)i=D[u].k.charAt(0),p.charAt(p.length-1)!==i&&(p+=i);return"DGBEFHACIJK"!==p}}));u({target:"Array",proto:!0,forced:U||!j||!G||!X},{sort:function sort(r){void 0!==r&&g(r);var i=y(this);if(X)return void 0===r?N(i):N(i,r);var o,u,p=[],x=w(i);for(u=0;u<x;u++)u in i&&W(p,i[u]);for(k(p,function(r){return function(i,o){return void 0===o?-1:void 0===i?1:void 0!==r?+r(i,o)||0:_(i)>_(o)?1:-1}}(r)),o=p.length,u=0;u<o;)i[u]=p[u++];for(;u<x;)delete i[u++];return i}})},561:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(1400),y=o(9303),w=o(6244),_=o(7908),x=o(5417),k=o(6135),P=o(1194)("splice"),O=p.TypeError,I=Math.max,B=Math.min,R=9007199254740991,D="Maximum allowed length exceeded";u({target:"Array",proto:!0,forced:!P},{splice:function splice(r,i){var o,u,p,P,N,W,U=_(this),j=w(U),G=g(r,j),X=arguments.length;if(0===X?o=u=0:1===X?(o=0,u=j-G):(o=X-2,u=B(I(y(i),0),j-G)),j+o-u>R)throw O(D);for(p=x(U,u),P=0;P<u;P++)(N=G+P)in U&&k(p,P,U[N]);if(p.length=u,o<u){for(P=G;P<j-u;P++)W=P+o,(N=P+u)in U?U[W]=U[N]:delete U[W];for(P=j;P>j-u+o;P--)delete U[P-1]}else if(o>u)for(P=j-u;P>G;P--)W=P+o-1,(N=P+u-1)in U?U[W]=U[N]:delete U[W];for(P=0;P<o;P++)U[P+G]=arguments[P+2];return U.length=j-u+o,p}})},6078:function(r,i,o){var u=o(2597),p=o(1320),g=o(8709),y=o(5112)("toPrimitive"),w=Date.prototype;u(w,y)||p(w,y,g)},8309:function(r,i,o){var u=o(9781),p=o(6530).EXISTS,g=o(1702),y=o(3070).f,w=Function.prototype,_=g(w.toString),x=/^\s*function ([^ (]*)/,k=g(x.exec);u&&!p&&y(w,"name",{configurable:!0,get:function(){try{return k(x,_(this))[1]}catch(r){return""}}})},5837:function(r,i,o){o(2109)({global:!0},{globalThis:o(7854)})},3706:function(r,i,o){var u=o(7854);o(8003)(u.JSON,"JSON",!0)},1532:function(r,i,o){"use strict";o(7710)("Map",(function(r){return function Map(){return r(this,arguments.length?arguments[0]:void 0)}}),o(5631))},2703:function(r,i,o){o(8003)(Math,"Math",!0)},9653:function(r,i,o){"use strict";var u=o(9781),p=o(7854),g=o(1702),y=o(4705),w=o(1320),_=o(2597),x=o(9587),k=o(7976),P=o(2190),O=o(7593),I=o(7293),B=o(8006).f,R=o(1236).f,D=o(3070).f,N=o(863),W=o(3111).trim,U="Number",j=p[U],G=j.prototype,X=p.TypeError,K=g("".slice),Y=g("".charCodeAt),toNumeric=function(r){var i=O(r,"number");return"bigint"==typeof i?i:toNumber(i)},toNumber=function(r){var i,o,u,p,g,y,w,_,x=O(r,"number");if(P(x))throw X("Cannot convert a Symbol value to a number");if("string"==typeof x&&x.length>2)if(x=W(x),43===(i=Y(x,0))||45===i){if(88===(o=Y(x,2))||120===o)return NaN}else if(48===i){switch(Y(x,1)){case 66:case 98:u=2,p=49;break;case 79:case 111:u=8,p=55;break;default:return+x}for(y=(g=K(x,2)).length,w=0;w<y;w++)if((_=Y(g,w))<48||_>p)return NaN;return parseInt(g,u)}return+x};if(y(U,!j(" 0o1")||!j("0b1")||j("+0x1"))){for(var J,$=function Number(r){var i=arguments.length<1?0:j(toNumeric(r)),o=this;return k(G,o)&&I((function(){N(o)}))?x(Object(i),o,$):i},ee=u?B(j):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),te=0;ee.length>te;te++)_(j,J=ee[te])&&!_($,J)&&D($,J,R(j,J));$.prototype=G,G.constructor=$,w(p,U,$)}},3299:function(r,i,o){o(2109)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},5192:function(r,i,o){o(2109)({target:"Number",stat:!0},{isFinite:o(7023)})},3161:function(r,i,o){o(2109)({target:"Number",stat:!0},{isInteger:o(5988)})},6977:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(1702),y=o(9303),w=o(863),_=o(8415),x=o(7293),k=p.RangeError,P=p.String,O=Math.floor,I=g(_),B=g("".slice),R=g(1..toFixed),pow=function(r,i,o){return 0===i?o:i%2==1?pow(r,i-1,o*r):pow(r*r,i/2,o)},multiply=function(r,i,o){for(var u=-1,p=o;++u<6;)p+=i*r[u],r[u]=p%1e7,p=O(p/1e7)},divide=function(r,i){for(var o=6,u=0;--o>=0;)u+=r[o],r[o]=O(u/i),u=u%i*1e7},dataToString=function(r){for(var i=6,o="";--i>=0;)if(""!==o||0===i||0!==r[i]){var u=P(r[i]);o=""===o?u:o+I("0",7-u.length)+u}return o};u({target:"Number",proto:!0,forced:x((function(){return"0.000"!==R(8e-5,3)||"1"!==R(.9,0)||"1.25"!==R(1.255,2)||"1000000000000000128"!==R(0xde0b6b3a7640080,0)}))||!x((function(){R({})}))},{toFixed:function toFixed(r){var i,o,u,p,g=w(this),_=y(r),x=[0,0,0,0,0,0],O="",R="0";if(_<0||_>20)throw k("Incorrect fraction digits");if(g!=g)return"NaN";if(g<=-1e21||g>=1e21)return P(g);if(g<0&&(O="-",g=-g),g>1e-21)if(o=(i=function(r){for(var i=0,o=r;o>=4096;)i+=12,o/=4096;for(;o>=2;)i+=1,o/=2;return i}(g*pow(2,69,1))-69)<0?g*pow(2,-i,1):g/pow(2,i,1),o*=4503599627370496,(i=52-i)>0){for(multiply(x,0,o),u=_;u>=7;)multiply(x,1e7,0),u-=7;for(multiply(x,pow(10,u,1),0),u=i-1;u>=23;)divide(x,1<<23),u-=23;divide(x,1<<u),multiply(x,1,1),divide(x,2),R=dataToString(x)}else multiply(x,0,o),multiply(x,1<<-i,0),R=dataToString(x)+I("0",_);return R=_>0?O+((p=R.length)<=_?"0."+I("0",_-p)+R:B(R,0,p-_)+"."+B(R,p-_)):O+R}})},9601:function(r,i,o){var u=o(2109),p=o(1574);u({target:"Object",stat:!0,forced:Object.assign!==p},{assign:p})},3371:function(r,i,o){var u=o(2109),p=o(6677),g=o(7293),y=o(111),w=o(2423).onFreeze,_=Object.freeze;u({target:"Object",stat:!0,forced:g((function(){_(1)})),sham:!p},{freeze:function freeze(r){return _&&y(r)?_(w(r)):r}})},5003:function(r,i,o){var u=o(2109),p=o(7293),g=o(5656),y=o(1236).f,w=o(9781),_=p((function(){y(1)}));u({target:"Object",stat:!0,forced:!w||_,sham:!w},{getOwnPropertyDescriptor:function getOwnPropertyDescriptor(r,i){return y(g(r),i)}})},9337:function(r,i,o){var u=o(2109),p=o(9781),g=o(3887),y=o(5656),w=o(1236),_=o(6135);u({target:"Object",stat:!0,sham:!p},{getOwnPropertyDescriptors:function getOwnPropertyDescriptors(r){for(var i,o,u=y(r),p=w.f,x=g(u),k={},P=0;x.length>P;)void 0!==(o=p(u,i=x[P++]))&&_(k,i,o);return k}})},489:function(r,i,o){var u=o(2109),p=o(7293),g=o(7908),y=o(9518),w=o(8544);u({target:"Object",stat:!0,forced:p((function(){y(1)})),sham:!w},{getPrototypeOf:function getPrototypeOf(r){return y(g(r))}})},7941:function(r,i,o){var u=o(2109),p=o(7908),g=o(1956);u({target:"Object",stat:!0,forced:o(7293)((function(){g(1)}))},{keys:function keys(r){return g(p(r))}})},1539:function(r,i,o){var u=o(1694),p=o(1320),g=o(288);u||p(Object.prototype,"toString",g,{unsafe:!0})},2479:function(r,i,o){var u=o(2109),p=o(4699).values;u({target:"Object",stat:!0},{values:function values(r){return p(r)}})},7922:function(r,i,o){"use strict";var u=o(2109),p=o(6916),g=o(9662),y=o(8523),w=o(2534),_=o(408);u({target:"Promise",stat:!0},{allSettled:function allSettled(r){var i=this,o=y.f(i),u=o.resolve,x=o.reject,k=w((function(){var o=g(i.resolve),y=[],w=0,x=1;_(r,(function(r){var g=w++,_=!1;x++,p(o,i,r).then((function(r){_||(_=!0,y[g]={status:"fulfilled",value:r},--x||u(y))}),(function(r){_||(_=!0,y[g]={status:"rejected",reason:r},--x||u(y))}))})),--x||u(y)}));return k.error&&x(k.value),o.promise}})},4668:function(r,i,o){"use strict";var u=o(2109),p=o(9662),g=o(5005),y=o(6916),w=o(8523),_=o(2534),x=o(408),k="No one promise resolved";u({target:"Promise",stat:!0},{any:function any(r){var i=this,o=g("AggregateError"),u=w.f(i),P=u.resolve,O=u.reject,I=_((function(){var u=p(i.resolve),g=[],w=0,_=1,I=!1;x(r,(function(r){var p=w++,x=!1;_++,y(u,i,r).then((function(r){x||I||(I=!0,P(r))}),(function(r){x||I||(x=!0,g[p]=r,--_||O(new o(g,k)))}))})),--_||O(new o(g,k))}));return I.error&&O(I.value),u.promise}})},7727:function(r,i,o){"use strict";var u=o(2109),p=o(1913),g=o(3366),y=o(7293),w=o(5005),_=o(614),x=o(6707),k=o(9478),P=o(1320);if(u({target:"Promise",proto:!0,real:!0,forced:!!g&&y((function(){g.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(r){var i=x(this,w("Promise")),o=_(r);return this.then(o?function(o){return k(i,r()).then((function(){return o}))}:r,o?function(o){return k(i,r()).then((function(){throw o}))}:r)}}),!p&&_(g)){var O=w("Promise").prototype.finally;g.prototype.finally!==O&&P(g.prototype,"finally",O,{unsafe:!0})}},8674:function(r,i,o){"use strict";var u,p,g,y,w=o(2109),_=o(1913),x=o(7854),k=o(5005),P=o(6916),O=o(3366),I=o(1320),B=o(2248),R=o(7674),D=o(8003),N=o(6340),W=o(9662),U=o(614),j=o(111),G=o(5787),X=o(2788),K=o(408),Y=o(7072),J=o(6707),$=o(261).set,ee=o(5948),te=o(9478),re=o(842),ne=o(8523),ie=o(2534),oe=o(9909),ae=o(4705),se=o(5112),ce=o(7871),le=o(5268),ue=o(7392),fe=se("species"),he="Promise",de=oe.get,pe=oe.set,ge=oe.getterFor(he),ye=O&&O.prototype,ve=O,me=ye,be=x.TypeError,we=x.document,_e=x.process,Se=ne.f,xe=Se,Ce=!!(we&&we.createEvent&&x.dispatchEvent),ke=U(x.PromiseRejectionEvent),Pe="unhandledrejection",Ae=!1,Ee=ae(he,(function(){var r=X(ve),i=r!==String(ve);if(!i&&66===ue)return!0;if(_&&!me.finally)return!0;if(ue>=51&&/native code/.test(r))return!1;var o=new ve((function(r){r(1)})),FakePromise=function(r){r((function(){}),(function(){}))};return(o.constructor={})[fe]=FakePromise,!(Ae=o.then((function(){}))instanceof FakePromise)||!i&&ce&&!ke})),Te=Ee||!Y((function(r){ve.all(r).catch((function(){}))})),isThenable=function(r){var i;return!(!j(r)||!U(i=r.then))&&i},notify=function(r,i){if(!r.notified){r.notified=!0;var o=r.reactions;ee((function(){for(var u=r.value,p=1==r.state,g=0;o.length>g;){var y,w,_,x=o[g++],k=p?x.ok:x.fail,O=x.resolve,I=x.reject,B=x.domain;try{k?(p||(2===r.rejection&&onHandleUnhandled(r),r.rejection=1),!0===k?y=u:(B&&B.enter(),y=k(u),B&&(B.exit(),_=!0)),y===x.promise?I(be("Promise-chain cycle")):(w=isThenable(y))?P(w,y,O,I):O(y)):I(u)}catch(r){B&&!_&&B.exit(),I(r)}}r.reactions=[],r.notified=!1,i&&!r.rejection&&onUnhandled(r)}))}},dispatchEvent=function(r,i,o){var u,p;Ce?((u=we.createEvent("Event")).promise=i,u.reason=o,u.initEvent(r,!1,!0),x.dispatchEvent(u)):u={promise:i,reason:o},!ke&&(p=x["on"+r])?p(u):r===Pe&&re("Unhandled promise rejection",o)},onUnhandled=function(r){P($,x,(function(){var i,o=r.facade,u=r.value;if(isUnhandled(r)&&(i=ie((function(){le?_e.emit("unhandledRejection",u,o):dispatchEvent(Pe,o,u)})),r.rejection=le||isUnhandled(r)?2:1,i.error))throw i.value}))},isUnhandled=function(r){return 1!==r.rejection&&!r.parent},onHandleUnhandled=function(r){P($,x,(function(){var i=r.facade;le?_e.emit("rejectionHandled",i):dispatchEvent("rejectionhandled",i,r.value)}))},bind=function(r,i,o){return function(u){r(i,u,o)}},internalReject=function(r,i,o){r.done||(r.done=!0,o&&(r=o),r.value=i,r.state=2,notify(r,!0))},internalResolve=function(r,i,o){if(!r.done){r.done=!0,o&&(r=o);try{if(r.facade===i)throw be("Promise can't be resolved itself");var u=isThenable(i);u?ee((function(){var o={done:!1};try{P(u,i,bind(internalResolve,o,r),bind(internalReject,o,r))}catch(i){internalReject(o,i,r)}})):(r.value=i,r.state=1,notify(r,!1))}catch(i){internalReject({done:!1},i,r)}}};if(Ee&&(me=(ve=function Promise(r){G(this,me),W(r),P(u,this);var i=de(this);try{r(bind(internalResolve,i),bind(internalReject,i))}catch(r){internalReject(i,r)}}).prototype,(u=function Promise(r){pe(this,{type:he,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=B(me,{then:function then(r,i){var o=ge(this),u=o.reactions,p=Se(J(this,ve));return p.ok=!U(r)||r,p.fail=U(i)&&i,p.domain=le?_e.domain:void 0,o.parent=!0,u[u.length]=p,0!=o.state&&notify(o,!1),p.promise},catch:function(r){return this.then(void 0,r)}}),p=function(){var r=new u,i=de(r);this.promise=r,this.resolve=bind(internalResolve,i),this.reject=bind(internalReject,i)},ne.f=Se=function(r){return r===ve||r===g?new p(r):xe(r)},!_&&U(O)&&ye!==Object.prototype)){y=ye.then,Ae||(I(ye,"then",(function then(r,i){var o=this;return new ve((function(r,i){P(y,o,r,i)})).then(r,i)}),{unsafe:!0}),I(ye,"catch",me.catch,{unsafe:!0}));try{delete ye.constructor}catch(r){}R&&R(ye,me)}w({global:!0,wrap:!0,forced:Ee},{Promise:ve}),D(ve,he,!1,!0),N(he),g=k(he),w({target:he,stat:!0,forced:Ee},{reject:function reject(r){var i=Se(this);return P(i.reject,void 0,r),i.promise}}),w({target:he,stat:!0,forced:_||Ee},{resolve:function resolve(r){return te(_&&this===g?ve:this,r)}}),w({target:he,stat:!0,forced:Te},{all:function all(r){var i=this,o=Se(i),u=o.resolve,p=o.reject,g=ie((function(){var o=W(i.resolve),g=[],y=0,w=1;K(r,(function(r){var _=y++,x=!1;w++,P(o,i,r).then((function(r){x||(x=!0,g[_]=r,--w||u(g))}),p)})),--w||u(g)}));return g.error&&p(g.value),o.promise},race:function race(r){var i=this,o=Se(i),u=o.reject,p=ie((function(){var p=W(i.resolve);K(r,(function(r){P(p,i,r).then(o.resolve,u)}))}));return p.error&&u(p.value),o.promise}})},2419:function(r,i,o){var u=o(2109),p=o(5005),g=o(2104),y=o(7065),w=o(9483),_=o(9670),x=o(111),k=o(30),P=o(7293),O=p("Reflect","construct"),I=Object.prototype,B=[].push,R=P((function(){function F(){}return!(O((function(){}),[],F)instanceof F)})),D=!P((function(){O((function(){}))})),N=R||D;u({target:"Reflect",stat:!0,forced:N,sham:N},{construct:function construct(r,i){w(r),_(i);var o=arguments.length<3?r:w(arguments[2]);if(D&&!R)return O(r,i,o);if(r==o){switch(i.length){case 0:return new r;case 1:return new r(i[0]);case 2:return new r(i[0],i[1]);case 3:return new r(i[0],i[1],i[2]);case 4:return new r(i[0],i[1],i[2],i[3])}var u=[null];return g(B,u,i),new(g(y,r,u))}var p=o.prototype,P=k(x(p)?p:I),N=g(r,P,i);return x(N)?N:P}})},4916:function(r,i,o){"use strict";var u=o(2109),p=o(2261);u({target:"RegExp",proto:!0,forced:/./.exec!==p},{exec:p})},2087:function(r,i,o){var u=o(9781),p=o(3070),g=o(7066),y=o(7293),w=RegExp.prototype;u&&y((function(){return"sy"!==Object.getOwnPropertyDescriptor(w,"flags").get.call({dotAll:!0,sticky:!0})}))&&p.f(w,"flags",{configurable:!0,get:g})},9714:function(r,i,o){"use strict";var u=o(1702),p=o(6530).PROPER,g=o(1320),y=o(9670),w=o(7976),_=o(1340),x=o(7293),k=o(7066),P="toString",O=RegExp.prototype,I=O[P],B=u(k),R=x((function(){return"/a/b"!=I.call({source:"a",flags:"b"})})),D=p&&I.name!=P;(R||D)&&g(RegExp.prototype,P,(function toString(){var r=y(this),i=_(r.source),o=r.flags;return"/"+i+"/"+_(void 0===o&&w(O,r)&&!("flags"in O)?B(r):o)}),{unsafe:!0})},189:function(r,i,o){"use strict";o(7710)("Set",(function(r){return function Set(){return r(this,arguments.length?arguments[0]:void 0)}}),o(5631))},9841:function(r,i,o){"use strict";var u=o(2109),p=o(8710).codeAt;u({target:"String",proto:!0},{codePointAt:function codePointAt(r){return p(this,r)}})},4953:function(r,i,o){var u=o(2109),p=o(7854),g=o(1702),y=o(1400),w=p.RangeError,_=String.fromCharCode,x=String.fromCodePoint,k=g([].join);u({target:"String",stat:!0,forced:!!x&&1!=x.length},{fromCodePoint:function fromCodePoint(r){for(var i,o=[],u=arguments.length,p=0;u>p;){if(i=+arguments[p++],y(i,1114111)!==i)throw w(i+" is not a valid code point");o[p]=i<65536?_(i):_(55296+((i-=65536)>>10),i%1024+56320)}return k(o,"")}})},2023:function(r,i,o){"use strict";var u=o(2109),p=o(1702),g=o(3929),y=o(4488),w=o(1340),_=o(4964),x=p("".indexOf);u({target:"String",proto:!0,forced:!_("includes")},{includes:function includes(r){return!!~x(w(y(this)),w(g(r)),arguments.length>1?arguments[1]:void 0)}})},8734:function(r,i,o){"use strict";var u=o(2109),p=o(4230);u({target:"String",proto:!0,forced:o(3429)("italics")},{italics:function italics(){return p(this,"i","","")}})},8783:function(r,i,o){"use strict";var u=o(8710).charAt,p=o(1340),g=o(9909),y=o(654),w="String Iterator",_=g.set,x=g.getterFor(w);y(String,"String",(function(r){_(this,{type:w,string:p(r),index:0})}),(function next(){var r,i=x(this),o=i.string,p=i.index;return p>=o.length?{value:void 0,done:!0}:(r=u(o,p),i.index+=r.length,{value:r,done:!1})}))},9254:function(r,i,o){"use strict";var u=o(2109),p=o(4230);u({target:"String",proto:!0,forced:o(3429)("link")},{link:function link(r){return p(this,"a","href",r)}})},6373:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(6916),y=o(1702),w=o(4994),_=o(4488),x=o(7466),k=o(1340),P=o(9670),O=o(4326),I=o(7976),B=o(7850),R=o(7066),D=o(8173),N=o(1320),W=o(7293),U=o(5112),j=o(6707),G=o(1530),X=o(7651),K=o(9909),Y=o(1913),J=U("matchAll"),$="RegExp String",ee=$+" Iterator",te=K.set,re=K.getterFor(ee),ne=RegExp.prototype,ie=p.TypeError,oe=y(R),ae=y("".indexOf),se=y("".matchAll),ce=!!se&&!W((function(){se("a",/./)})),le=w((function RegExpStringIterator(r,i,o,u){te(this,{type:ee,regexp:r,string:i,global:o,unicode:u,done:!1})}),$,(function next(){var r=re(this);if(r.done)return{value:void 0,done:!0};var i=r.regexp,o=r.string,u=X(i,o);return null===u?{value:void 0,done:r.done=!0}:r.global?(""===k(u[0])&&(i.lastIndex=G(o,x(i.lastIndex),r.unicode)),{value:u,done:!1}):(r.done=!0,{value:u,done:!1})})),$matchAll=function(r){var i,o,u,p,g,y,w=P(this),_=k(r);return i=j(w,RegExp),void 0===(o=w.flags)&&I(ne,w)&&!("flags"in ne)&&(o=oe(w)),u=void 0===o?"":k(o),p=new i(i===RegExp?w.source:w,u),g=!!~ae(u,"g"),y=!!~ae(u,"u"),p.lastIndex=x(w.lastIndex),new le(p,_,g,y)};u({target:"String",proto:!0,forced:ce},{matchAll:function matchAll(r){var i,o,u,p,y=_(this);if(null!=r){if(B(r)&&(i=k(_("flags"in ne?r.flags:oe(r))),!~ae(i,"g")))throw ie("`.matchAll` does not allow non-global regexes");if(ce)return se(y,r);if(void 0===(u=D(r,J))&&Y&&"RegExp"==O(r)&&(u=$matchAll),u)return g(u,r,y)}else if(ce)return se(y,r);return o=k(y),p=new RegExp(r,"g"),Y?g($matchAll,p,o):p[J](o)}}),Y||J in ne||N(ne,J,$matchAll)},4723:function(r,i,o){"use strict";var u=o(6916),p=o(7007),g=o(9670),y=o(7466),w=o(1340),_=o(4488),x=o(8173),k=o(1530),P=o(7651);p("match",(function(r,i,o){return[function match(i){var o=_(this),p=null==i?void 0:x(i,r);return p?u(p,i,o):new RegExp(i)[r](w(o))},function(r){var u=g(this),p=w(r),_=o(i,u,p);if(_.done)return _.value;if(!u.global)return P(u,p);var x=u.unicode;u.lastIndex=0;for(var O,I=[],B=0;null!==(O=P(u,p));){var R=w(O[0]);I[B]=R,""===R&&(u.lastIndex=k(p,y(u.lastIndex),x)),B++}return 0===B?null:I}]}))},2481:function(r,i,o){o(2109)({target:"String",proto:!0},{repeat:o(8415)})},5306:function(r,i,o){"use strict";var u=o(2104),p=o(6916),g=o(1702),y=o(7007),w=o(7293),_=o(9670),x=o(614),k=o(9303),P=o(7466),O=o(1340),I=o(4488),B=o(1530),R=o(8173),D=o(647),N=o(7651),W=o(5112)("replace"),U=Math.max,j=Math.min,G=g([].concat),X=g([].push),K=g("".indexOf),Y=g("".slice),J="$0"==="a".replace(/./,"$0"),$=!!/./[W]&&""===/./[W]("a","$0");y("replace",(function(r,i,o){var g=$?"$":"$0";return[function replace(r,o){var u=I(this),g=null==r?void 0:R(r,W);return g?p(g,r,u,o):p(i,O(u),r,o)},function(r,p){var y=_(this),w=O(r);if("string"==typeof p&&-1===K(p,g)&&-1===K(p,"$<")){var I=o(i,y,w,p);if(I.done)return I.value}var R=x(p);R||(p=O(p));var W=y.global;if(W){var J=y.unicode;y.lastIndex=0}for(var $=[];;){var ee=N(y,w);if(null===ee)break;if(X($,ee),!W)break;""===O(ee[0])&&(y.lastIndex=B(w,P(y.lastIndex),J))}for(var te,re="",ne=0,ie=0;ie<$.length;ie++){for(var oe=O((ee=$[ie])[0]),ae=U(j(k(ee.index),w.length),0),se=[],ce=1;ce<ee.length;ce++)X(se,void 0===(te=ee[ce])?te:String(te));var le=ee.groups;if(R){var ue=G([oe],se,ae,w);void 0!==le&&X(ue,le);var fe=O(u(p,void 0,ue))}else fe=D(oe,w,ae,se,le,p);ae>=ne&&(re+=Y(w,ne,ae)+fe,ne=ae+oe.length)}return re+Y(w,ne)}]}),!!w((function(){var r=/./;return r.exec=function(){var r=[];return r.groups={a:"7"},r},"7"!=="".replace(r,"$<a>")}))||!J||$)},3123:function(r,i,o){"use strict";var u=o(2104),p=o(6916),g=o(1702),y=o(7007),w=o(7850),_=o(9670),x=o(4488),k=o(6707),P=o(1530),O=o(7466),I=o(1340),B=o(8173),R=o(206),D=o(7651),N=o(2261),W=o(2999),U=o(7293),j=W.UNSUPPORTED_Y,G=4294967295,X=Math.min,K=[].push,Y=g(/./.exec),J=g(K),$=g("".slice),ee=!U((function(){var r=/(?:)/,i=r.exec;r.exec=function(){return i.apply(this,arguments)};var o="ab".split(r);return 2!==o.length||"a"!==o[0]||"b"!==o[1]}));y("split",(function(r,i,o){var g;return g="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(r,o){var g=I(x(this)),y=void 0===o?G:o>>>0;if(0===y)return[];if(void 0===r)return[g];if(!w(r))return p(i,g,r,y);for(var _,k,P,O=[],B=(r.ignoreCase?"i":"")+(r.multiline?"m":"")+(r.unicode?"u":"")+(r.sticky?"y":""),D=0,W=new RegExp(r.source,B+"g");(_=p(N,W,g))&&!((k=W.lastIndex)>D&&(J(O,$(g,D,_.index)),_.length>1&&_.index<g.length&&u(K,O,R(_,1)),P=_[0].length,D=k,O.length>=y));)W.lastIndex===_.index&&W.lastIndex++;return D===g.length?!P&&Y(W,"")||J(O,""):J(O,$(g,D)),O.length>y?R(O,0,y):O}:"0".split(void 0,0).length?function(r,o){return void 0===r&&0===o?[]:p(i,this,r,o)}:i,[function split(i,o){var u=x(this),y=null==i?void 0:B(i,r);return y?p(y,i,u,o):p(g,I(u),i,o)},function(r,u){var p=_(this),y=I(r),w=o(g,p,y,u,g!==i);if(w.done)return w.value;var x=k(p,RegExp),B=p.unicode,R=(p.ignoreCase?"i":"")+(p.multiline?"m":"")+(p.unicode?"u":"")+(j?"g":"y"),N=new x(j?"^(?:"+p.source+")":p,R),W=void 0===u?G:u>>>0;if(0===W)return[];if(0===y.length)return null===D(N,y)?[y]:[];for(var U=0,K=0,Y=[];K<y.length;){N.lastIndex=j?0:K;var ee,te=D(N,j?$(y,K):y);if(null===te||(ee=X(O(N.lastIndex+(j?K:0)),y.length))===U)K=P(y,K,B);else{if(J(Y,$(y,U,K)),Y.length===W)return Y;for(var re=1;re<=te.length-1;re++)if(J(Y,te[re]),Y.length===W)return Y;K=U=ee}}return J(Y,$(y,U)),Y}]}),!ee,j)},7397:function(r,i,o){"use strict";var u=o(2109),p=o(4230);u({target:"String",proto:!0,forced:o(3429)("strike")},{strike:function strike(){return p(this,"strike","","")}})},3210:function(r,i,o){"use strict";var u=o(2109),p=o(3111).trim;u({target:"String",proto:!0,forced:o(6091)("trim")},{trim:function trim(){return p(this)}})},2443:function(r,i,o){o(7235)("asyncIterator")},1817:function(r,i,o){"use strict";var u=o(2109),p=o(9781),g=o(7854),y=o(1702),w=o(2597),_=o(614),x=o(7976),k=o(1340),P=o(3070).f,O=o(9920),I=g.Symbol,B=I&&I.prototype;if(p&&_(I)&&(!("description"in B)||void 0!==I().description)){var R={},D=function Symbol(){var r=arguments.length<1||void 0===arguments[0]?void 0:k(arguments[0]),i=x(B,this)?new I(r):void 0===r?I():I(r);return""===r&&(R[i]=!0),i};O(D,I),D.prototype=B,B.constructor=D;var N="Symbol(test)"==String(I("test")),W=y(B.toString),U=y(B.valueOf),j=/^Symbol\((.*)\)[^)]+$/,G=y("".replace),X=y("".slice);P(B,"description",{configurable:!0,get:function description(){var r=U(this),i=W(r);if(w(R,r))return"";var o=N?X(i,7,-1):G(i,j,"$1");return""===o?void 0:o}}),u({global:!0,forced:!0},{Symbol:D})}},2165:function(r,i,o){o(7235)("iterator")},2526:function(r,i,o){"use strict";var u=o(2109),p=o(7854),g=o(5005),y=o(2104),w=o(6916),_=o(1702),x=o(1913),k=o(9781),P=o(133),O=o(7293),I=o(2597),B=o(3157),R=o(614),D=o(111),N=o(7976),W=o(2190),U=o(9670),j=o(7908),G=o(5656),X=o(4948),K=o(1340),Y=o(9114),J=o(30),$=o(1956),ee=o(8006),te=o(1156),re=o(5181),ne=o(1236),ie=o(3070),oe=o(5296),ae=o(206),se=o(1320),ce=o(2309),le=o(6200),ue=o(3501),fe=o(9711),he=o(5112),de=o(6061),pe=o(7235),ge=o(8003),ye=o(9909),ve=o(2092).forEach,me=le("hidden"),be="Symbol",we="prototype",_e=he("toPrimitive"),Se=ye.set,xe=ye.getterFor(be),Ce=Object[we],ke=p.Symbol,Pe=ke&&ke[we],Ae=p.TypeError,Ee=p.QObject,Te=g("JSON","stringify"),Oe=ne.f,Ie=ie.f,Be=te.f,Fe=oe.f,Le=_([].push),Re=ce("symbols"),De=ce("op-symbols"),Me=ce("string-to-symbol-registry"),Ne=ce("symbol-to-string-registry"),We=ce("wks"),ze=!Ee||!Ee[we]||!Ee[we].findChild,Ue=k&&O((function(){return 7!=J(Ie({},"a",{get:function(){return Ie(this,"a",{value:7}).a}})).a}))?function(r,i,o){var u=Oe(Ce,i);u&&delete Ce[i],Ie(r,i,o),u&&r!==Ce&&Ie(Ce,i,u)}:Ie,wrap=function(r,i){var o=Re[r]=J(Pe);return Se(o,{type:be,tag:r,description:i}),k||(o.description=i),o},je=function defineProperty(r,i,o){r===Ce&&je(De,i,o),U(r);var u=X(i);return U(o),I(Re,u)?(o.enumerable?(I(r,me)&&r[me][u]&&(r[me][u]=!1),o=J(o,{enumerable:Y(0,!1)})):(I(r,me)||Ie(r,me,Y(1,{})),r[me][u]=!0),Ue(r,u,o)):Ie(r,u,o)},Ge=function defineProperties(r,i){U(r);var o=G(i),u=$(o).concat(Xe(o));return ve(u,(function(i){k&&!w(Ve,o,i)||je(r,i,o[i])})),r},Ve=function propertyIsEnumerable(r){var i=X(r),o=w(Fe,this,i);return!(this===Ce&&I(Re,i)&&!I(De,i))&&(!(o||!I(this,i)||!I(Re,i)||I(this,me)&&this[me][i])||o)},He=function getOwnPropertyDescriptor(r,i){var o=G(r),u=X(i);if(o!==Ce||!I(Re,u)||I(De,u)){var p=Oe(o,u);return!p||!I(Re,u)||I(o,me)&&o[me][u]||(p.enumerable=!0),p}},qe=function getOwnPropertyNames(r){var i=Be(G(r)),o=[];return ve(i,(function(r){I(Re,r)||I(ue,r)||Le(o,r)})),o},Xe=function getOwnPropertySymbols(r){var i=r===Ce,o=Be(i?De:G(r)),u=[];return ve(o,(function(r){!I(Re,r)||i&&!I(Ce,r)||Le(u,Re[r])})),u};(P||(ke=function Symbol(){if(N(Pe,this))throw Ae("Symbol is not a constructor");var r=arguments.length&&void 0!==arguments[0]?K(arguments[0]):void 0,i=fe(r),setter=function(r){this===Ce&&w(setter,De,r),I(this,me)&&I(this[me],i)&&(this[me][i]=!1),Ue(this,i,Y(1,r))};return k&&ze&&Ue(Ce,i,{configurable:!0,set:setter}),wrap(i,r)},se(Pe=ke[we],"toString",(function toString(){return xe(this).tag})),se(ke,"withoutSetter",(function(r){return wrap(fe(r),r)})),oe.f=Ve,ie.f=je,ne.f=He,ee.f=te.f=qe,re.f=Xe,de.f=function(r){return wrap(he(r),r)},k&&(Ie(Pe,"description",{configurable:!0,get:function description(){return xe(this).description}}),x||se(Ce,"propertyIsEnumerable",Ve,{unsafe:!0}))),u({global:!0,wrap:!0,forced:!P,sham:!P},{Symbol:ke}),ve($(We),(function(r){pe(r)})),u({target:be,stat:!0,forced:!P},{for:function(r){var i=K(r);if(I(Me,i))return Me[i];var o=ke(i);return Me[i]=o,Ne[o]=i,o},keyFor:function keyFor(r){if(!W(r))throw Ae(r+" is not a symbol");if(I(Ne,r))return Ne[r]},useSetter:function(){ze=!0},useSimple:function(){ze=!1}}),u({target:"Object",stat:!0,forced:!P,sham:!k},{create:function create(r,i){return void 0===i?J(r):Ge(J(r),i)},defineProperty:je,defineProperties:Ge,getOwnPropertyDescriptor:He}),u({target:"Object",stat:!0,forced:!P},{getOwnPropertyNames:qe,getOwnPropertySymbols:Xe}),u({target:"Object",stat:!0,forced:O((function(){re.f(1)}))},{getOwnPropertySymbols:function getOwnPropertySymbols(r){return re.f(j(r))}}),Te)&&u({target:"JSON",stat:!0,forced:!P||O((function(){var r=ke();return"[null]"!=Te([r])||"{}"!=Te({a:r})||"{}"!=Te(Object(r))}))},{stringify:function stringify(r,i,o){var u=ae(arguments),p=i;if((D(i)||void 0!==r)&&!W(r))return B(i)||(i=function(r,i){if(R(p)&&(i=w(p,this,r,i)),!W(i))return i}),u[1]=i,y(Te,null,u)}});if(!Pe[_e]){var Ze=Pe.valueOf;se(Pe,_e,(function(r){return w(Ze,this)}))}ge(ke,be),ue[me]=!0},6649:function(r,i,o){o(7235)("toPrimitive")},3680:function(r,i,o){o(7235)("toStringTag")},2990:function(r,i,o){"use strict";var u=o(1702),p=o(2094),g=u(o(1048)),y=p.aTypedArray;(0,p.exportTypedArrayMethod)("copyWithin",(function copyWithin(r,i){return g(y(this),r,i,arguments.length>2?arguments[2]:void 0)}))},8927:function(r,i,o){"use strict";var u=o(2094),p=o(2092).every,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("every",(function every(r){return p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},3105:function(r,i,o){"use strict";var u=o(2094),p=o(6916),g=o(1285),y=u.aTypedArray;(0,u.exportTypedArrayMethod)("fill",(function fill(r){var i=arguments.length;return p(g,y(this),r,i>1?arguments[1]:void 0,i>2?arguments[2]:void 0)}))},5035:function(r,i,o){"use strict";var u=o(2094),p=o(2092).filter,g=o(3074),y=u.aTypedArray;(0,u.exportTypedArrayMethod)("filter",(function filter(r){var i=p(y(this),r,arguments.length>1?arguments[1]:void 0);return g(this,i)}))},7174:function(r,i,o){"use strict";var u=o(2094),p=o(2092).findIndex,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("findIndex",(function findIndex(r){return p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},4345:function(r,i,o){"use strict";var u=o(2094),p=o(2092).find,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("find",(function find(r){return p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},4197:function(r,i,o){o(9843)("Float32",(function(r){return function Float32Array(i,o,u){return r(this,i,o,u)}}))},6495:function(r,i,o){o(9843)("Float64",(function(r){return function Float64Array(i,o,u){return r(this,i,o,u)}}))},2846:function(r,i,o){"use strict";var u=o(2094),p=o(2092).forEach,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("forEach",(function forEach(r){p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},8145:function(r,i,o){"use strict";var u=o(3832);(0,o(2094).exportTypedArrayStaticMethod)("from",o(7321),u)},4731:function(r,i,o){"use strict";var u=o(2094),p=o(1318).includes,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("includes",(function includes(r){return p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},7209:function(r,i,o){"use strict";var u=o(2094),p=o(1318).indexOf,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("indexOf",(function indexOf(r){return p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},5109:function(r,i,o){o(9843)("Int16",(function(r){return function Int16Array(i,o,u){return r(this,i,o,u)}}))},5125:function(r,i,o){o(9843)("Int32",(function(r){return function Int32Array(i,o,u){return r(this,i,o,u)}}))},7145:function(r,i,o){o(9843)("Int8",(function(r){return function Int8Array(i,o,u){return r(this,i,o,u)}}))},6319:function(r,i,o){"use strict";var u=o(7854),p=o(1702),g=o(6530).PROPER,y=o(2094),w=o(6992),_=o(5112)("iterator"),x=u.Uint8Array,k=p(w.values),P=p(w.keys),O=p(w.entries),I=y.aTypedArray,B=y.exportTypedArrayMethod,R=x&&x.prototype[_],D=!!R&&"values"===R.name,N=function values(){return k(I(this))};B("entries",(function entries(){return O(I(this))})),B("keys",(function keys(){return P(I(this))})),B("values",N,g&&!D),B(_,N,g&&!D)},8867:function(r,i,o){"use strict";var u=o(2094),p=o(1702),g=u.aTypedArray,y=u.exportTypedArrayMethod,w=p([].join);y("join",(function join(r){return w(g(this),r)}))},7789:function(r,i,o){"use strict";var u=o(2094),p=o(2104),g=o(6583),y=u.aTypedArray;(0,u.exportTypedArrayMethod)("lastIndexOf",(function lastIndexOf(r){var i=arguments.length;return p(g,y(this),i>1?[r,arguments[1]]:[r])}))},3739:function(r,i,o){"use strict";var u=o(2094),p=o(2092).map,g=o(6304),y=u.aTypedArray;(0,u.exportTypedArrayMethod)("map",(function map(r){return p(y(this),r,arguments.length>1?arguments[1]:void 0,(function(r,i){return new(g(r))(i)}))}))},4483:function(r,i,o){"use strict";var u=o(2094),p=o(3671).right,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("reduceRight",(function reduceRight(r){var i=arguments.length;return p(g(this),r,i,i>1?arguments[1]:void 0)}))},9368:function(r,i,o){"use strict";var u=o(2094),p=o(3671).left,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("reduce",(function reduce(r){var i=arguments.length;return p(g(this),r,i,i>1?arguments[1]:void 0)}))},2056:function(r,i,o){"use strict";var u=o(2094),p=u.aTypedArray,g=u.exportTypedArrayMethod,y=Math.floor;g("reverse",(function reverse(){for(var r,i=this,o=p(i).length,u=y(o/2),g=0;g<u;)r=i[g],i[g++]=i[--o],i[o]=r;return i}))},3462:function(r,i,o){"use strict";var u=o(7854),p=o(2094),g=o(6244),y=o(4590),w=o(7908),_=o(7293),x=u.RangeError,k=p.aTypedArray;(0,p.exportTypedArrayMethod)("set",(function set(r){k(this);var i=y(arguments.length>1?arguments[1]:void 0,1),o=this.length,u=w(r),p=g(u),_=0;if(p+i>o)throw x("Wrong length");for(;_<p;)this[i+_]=u[_++]}),_((function(){new Int8Array(1).set({})})))},678:function(r,i,o){"use strict";var u=o(2094),p=o(6304),g=o(7293),y=o(206),w=u.aTypedArray;(0,u.exportTypedArrayMethod)("slice",(function slice(r,i){for(var o=y(w(this),r,i),u=p(this),g=0,_=o.length,x=new u(_);_>g;)x[g]=o[g++];return x}),g((function(){new Int8Array(1).slice()})))},7462:function(r,i,o){"use strict";var u=o(2094),p=o(2092).some,g=u.aTypedArray;(0,u.exportTypedArrayMethod)("some",(function some(r){return p(g(this),r,arguments.length>1?arguments[1]:void 0)}))},3824:function(r,i,o){"use strict";var u=o(7854),p=o(1702),g=o(7293),y=o(9662),w=o(4362),_=o(2094),x=o(8886),k=o(256),P=o(7392),O=o(8008),I=u.Array,B=_.aTypedArray,R=_.exportTypedArrayMethod,D=u.Uint16Array,N=D&&p(D.prototype.sort),W=!(!N||g((function(){N(new D(2),null)}))&&g((function(){N(new D(2),{})}))),U=!!N&&!g((function(){if(P)return P<74;if(x)return x<67;if(k)return!0;if(O)return O<602;var r,i,o=new D(516),u=I(516);for(r=0;r<516;r++)i=r%4,o[r]=515-r,u[r]=r-2*i+3;for(N(o,(function(r,i){return(r/4|0)-(i/4|0)})),r=0;r<516;r++)if(o[r]!==u[r])return!0}));R("sort",(function sort(r){return void 0!==r&&y(r),U?N(this,r):w(B(this),function(r){return function(i,o){return void 0!==r?+r(i,o)||0:o!=o?-1:i!=i?1:0===i&&0===o?1/i>0&&1/o<0?1:-1:i>o}}(r))}),!U||W)},5021:function(r,i,o){"use strict";var u=o(2094),p=o(7466),g=o(1400),y=o(6304),w=u.aTypedArray;(0,u.exportTypedArrayMethod)("subarray",(function subarray(r,i){var o=w(this),u=o.length,_=g(r,u);return new(y(o))(o.buffer,o.byteOffset+_*o.BYTES_PER_ELEMENT,p((void 0===i?u:g(i,u))-_))}))},2974:function(r,i,o){"use strict";var u=o(7854),p=o(2104),g=o(2094),y=o(7293),w=o(206),_=u.Int8Array,x=g.aTypedArray,k=g.exportTypedArrayMethod,P=[].toLocaleString,O=!!_&&y((function(){P.call(new _(1))}));k("toLocaleString",(function toLocaleString(){return p(P,O?w(x(this)):x(this),w(arguments))}),y((function(){return[1,2].toLocaleString()!=new _([1,2]).toLocaleString()}))||!y((function(){_.prototype.toLocaleString.call([1,2])})))},5016:function(r,i,o){"use strict";var u=o(2094).exportTypedArrayMethod,p=o(7293),g=o(7854),y=o(1702),w=g.Uint8Array,_=w&&w.prototype||{},x=[].toString,k=y([].join);p((function(){x.call({})}))&&(x=function toString(){return k(this)});var P=_.toString!=x;u("toString",x,P)},8255:function(r,i,o){o(9843)("Uint16",(function(r){return function Uint16Array(i,o,u){return r(this,i,o,u)}}))},9135:function(r,i,o){o(9843)("Uint32",(function(r){return function Uint32Array(i,o,u){return r(this,i,o,u)}}))},2472:function(r,i,o){o(9843)("Uint8",(function(r){return function Uint8Array(i,o,u){return r(this,i,o,u)}}))},9743:function(r,i,o){o(9843)("Uint8",(function(r){return function Uint8ClampedArray(i,o,u){return r(this,i,o,u)}}),!0)},8628:function(r,i,o){o(9170)},5743:function(r,i,o){o(5837)},7314:function(r,i,o){o(7922)},6290:function(r,i,o){o(4668)},7479:function(r,i,o){"use strict";var u=o(2109),p=o(8523),g=o(2534);u({target:"Promise",stat:!0},{try:function(r){var i=p.f(this),o=g(r);return(o.error?i.reject:i.resolve)(o.value),i.promise}})},3728:function(r,i,o){o(6373)},4747:function(r,i,o){var u=o(7854),p=o(8324),g=o(8509),y=o(8533),w=o(8880),handlePrototype=function(r){if(r&&r.forEach!==y)try{w(r,"forEach",y)}catch(i){r.forEach=y}};for(var _ in p)p[_]&&handlePrototype(u[_]&&u[_].prototype);handlePrototype(g)},3948:function(r,i,o){var u=o(7854),p=o(8324),g=o(8509),y=o(6992),w=o(8880),_=o(5112),x=_("iterator"),k=_("toStringTag"),P=y.values,handlePrototype=function(r,i){if(r){if(r[x]!==P)try{w(r,x,P)}catch(i){r[x]=P}if(r[k]||w(r,k,i),p[i])for(var o in y)if(r[o]!==y[o])try{w(r,o,y[o])}catch(i){r[o]=y[o]}}};for(var O in p)handlePrototype(u[O]&&u[O].prototype,O);handlePrototype(g,"DOMTokenList")},3753:function(r,i,o){"use strict";var u=o(2109),p=o(6916);u({target:"URL",proto:!0,enumerable:!0},{toJSON:function toJSON(){return p(URL.prototype.toString,this)}})},1150:function(r,i,o){var u=o(7633);o(3948),r.exports=u},251:function(r,i,o){var u=o(2215),p=o(2584),g=o(609),y=o(8420),w=o(2847),_=o(8923),x=Date.prototype.getTime;function deepEqual(r,i,o){var k=o||{};return!!(k.strict?g(r,i):r===i)||(!r||!i||"object"!=typeof r&&"object"!=typeof i?k.strict?g(r,i):r==i:function objEquiv(r,i,o){var g,k;if(typeof r!=typeof i)return!1;if(isUndefinedOrNull(r)||isUndefinedOrNull(i))return!1;if(r.prototype!==i.prototype)return!1;if(p(r)!==p(i))return!1;var P=y(r),O=y(i);if(P!==O)return!1;if(P||O)return r.source===i.source&&w(r)===w(i);if(_(r)&&_(i))return x.call(r)===x.call(i);var I=isBuffer(r),B=isBuffer(i);if(I!==B)return!1;if(I||B){if(r.length!==i.length)return!1;for(g=0;g<r.length;g++)if(r[g]!==i[g])return!1;return!0}if(typeof r!=typeof i)return!1;try{var R=u(r),D=u(i)}catch(r){return!1}if(R.length!==D.length)return!1;for(R.sort(),D.sort(),g=R.length-1;g>=0;g--)if(R[g]!=D[g])return!1;for(g=R.length-1;g>=0;g--)if(!deepEqual(r[k=R[g]],i[k],o))return!1;return!0}(r,i,k))}function isUndefinedOrNull(r){return null==r}function isBuffer(r){return!(!r||"object"!=typeof r||"number"!=typeof r.length)&&("function"==typeof r.copy&&"function"==typeof r.slice&&!(r.length>0&&"number"!=typeof r[0]))}r.exports=deepEqual},4289:function(r,i,o){"use strict";var u=o(2215),p="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),g=Object.prototype.toString,y=Array.prototype.concat,w=Object.defineProperty,_=o(1044)(),x=w&&_,defineProperty=function(r,i,o,u){var p;(!(i in r)||"function"==typeof(p=u)&&"[object Function]"===g.call(p)&&u())&&(x?w(r,i,{configurable:!0,enumerable:!1,value:o,writable:!0}):r[i]=o)},defineProperties=function(r,i){var o=arguments.length>2?arguments[2]:{},g=u(i);p&&(g=y.call(g,Object.getOwnPropertySymbols(i)));for(var w=0;w<g.length;w+=1)defineProperty(r,g[w],i[g[w]],o[g[w]])};defineProperties.supportsDescriptors=!!x,r.exports=defineProperties},8091:function(r){"use strict";function assign(r,i){if(null==r)throw new TypeError("Cannot convert first argument to object");for(var o=Object(r),u=1;u<arguments.length;u++){var p=arguments[u];if(null!=p)for(var g=Object.keys(Object(p)),y=0,w=g.length;y<w;y++){var _=g[y],x=Object.getOwnPropertyDescriptor(p,_);void 0!==x&&x.enumerable&&(o[_]=p[_])}}return o}r.exports={assign:assign,polyfill:function polyfill(){Object.assign||Object.defineProperty(Object,"assign",{enumerable:!1,configurable:!0,writable:!0,value:assign})}}},7187:function(r){"use strict";var i,o="object"==typeof Reflect?Reflect:null,u=o&&"function"==typeof o.apply?o.apply:function ReflectApply(r,i,o){return Function.prototype.apply.call(r,i,o)};i=o&&"function"==typeof o.ownKeys?o.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(r){return Object.getOwnPropertyNames(r).concat(Object.getOwnPropertySymbols(r))}:function ReflectOwnKeys(r){return Object.getOwnPropertyNames(r)};var p=Number.isNaN||function NumberIsNaN(r){return r!=r};function EventEmitter(){EventEmitter.init.call(this)}r.exports=EventEmitter,r.exports.once=function once(r,i){return new Promise((function(o,u){function errorListener(o){r.removeListener(i,resolver),u(o)}function resolver(){"function"==typeof r.removeListener&&r.removeListener("error",errorListener),o([].slice.call(arguments))}eventTargetAgnosticAddListener(r,i,resolver,{once:!0}),"error"!==i&&function addErrorHandlerIfEventEmitter(r,i,o){"function"==typeof r.on&&eventTargetAgnosticAddListener(r,"error",i,o)}(r,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var g=10;function checkListener(r){if("function"!=typeof r)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}function _getMaxListeners(r){return void 0===r._maxListeners?EventEmitter.defaultMaxListeners:r._maxListeners}function _addListener(r,i,o,u){var p,g,y;if(checkListener(o),void 0===(g=r._events)?(g=r._events=Object.create(null),r._eventsCount=0):(void 0!==g.newListener&&(r.emit("newListener",i,o.listener?o.listener:o),g=r._events),y=g[i]),void 0===y)y=g[i]=o,++r._eventsCount;else if("function"==typeof y?y=g[i]=u?[o,y]:[y,o]:u?y.unshift(o):y.push(o),(p=_getMaxListeners(r))>0&&y.length>p&&!y.warned){y.warned=!0;var w=new Error("Possible EventEmitter memory leak detected. "+y.length+" "+String(i)+" listeners added. Use emitter.setMaxListeners() to increase limit");w.name="MaxListenersExceededWarning",w.emitter=r,w.type=i,w.count=y.length,function ProcessEmitWarning(r){console&&console.warn}()}return r}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(r,i,o){var u={fired:!1,wrapFn:void 0,target:r,type:i,listener:o},p=onceWrapper.bind(u);return p.listener=o,u.wrapFn=p,p}function _listeners(r,i,o){var u=r._events;if(void 0===u)return[];var p=u[i];return void 0===p?[]:"function"==typeof p?o?[p.listener||p]:[p]:o?function unwrapListeners(r){for(var i=new Array(r.length),o=0;o<i.length;++o)i[o]=r[o].listener||r[o];return i}(p):arrayClone(p,p.length)}function listenerCount(r){var i=this._events;if(void 0!==i){var o=i[r];if("function"==typeof o)return 1;if(void 0!==o)return o.length}return 0}function arrayClone(r,i){for(var o=new Array(i),u=0;u<i;++u)o[u]=r[u];return o}function eventTargetAgnosticAddListener(r,i,o,u){if("function"==typeof r.on)u.once?r.once(i,o):r.on(i,o);else{if("function"!=typeof r.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof r);r.addEventListener(i,(function wrapListener(p){u.once&&r.removeEventListener(i,wrapListener),o(p)}))}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:!0,get:function(){return g},set:function(r){if("number"!=typeof r||r<0||p(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");g=r}}),EventEmitter.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},EventEmitter.prototype.setMaxListeners=function setMaxListeners(r){if("number"!=typeof r||r<0||p(r))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+r+".");return this._maxListeners=r,this},EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)},EventEmitter.prototype.emit=function emit(r){for(var i=[],o=1;o<arguments.length;o++)i.push(arguments[o]);var p="error"===r,g=this._events;if(void 0!==g)p=p&&void 0===g.error;else if(!p)return!1;if(p){var y;if(i.length>0&&(y=i[0]),y instanceof Error)throw y;var w=new Error("Unhandled error."+(y?" ("+y.message+")":""));throw w.context=y,w}var _=g[r];if(void 0===_)return!1;if("function"==typeof _)u(_,this,i);else{var x=_.length,k=arrayClone(_,x);for(o=0;o<x;++o)u(k[o],this,i)}return!0},EventEmitter.prototype.addListener=function addListener(r,i){return _addListener(this,r,i,!1)},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.prependListener=function prependListener(r,i){return _addListener(this,r,i,!0)},EventEmitter.prototype.once=function once(r,i){return checkListener(i),this.on(r,_onceWrap(this,r,i)),this},EventEmitter.prototype.prependOnceListener=function prependOnceListener(r,i){return checkListener(i),this.prependListener(r,_onceWrap(this,r,i)),this},EventEmitter.prototype.removeListener=function removeListener(r,i){var o,u,p,g,y;if(checkListener(i),void 0===(u=this._events))return this;if(void 0===(o=u[r]))return this;if(o===i||o.listener===i)0==--this._eventsCount?this._events=Object.create(null):(delete u[r],u.removeListener&&this.emit("removeListener",r,o.listener||i));else if("function"!=typeof o){for(p=-1,g=o.length-1;g>=0;g--)if(o[g]===i||o[g].listener===i){y=o[g].listener,p=g;break}if(p<0)return this;0===p?o.shift():function spliceOne(r,i){for(;i+1<r.length;i++)r[i]=r[i+1];r.pop()}(o,p),1===o.length&&(u[r]=o[0]),void 0!==u.removeListener&&this.emit("removeListener",r,y||i)}return this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.removeAllListeners=function removeAllListeners(r){var i,o,u;if(void 0===(o=this._events))return this;if(void 0===o.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==o[r]&&(0==--this._eventsCount?this._events=Object.create(null):delete o[r]),this;if(0===arguments.length){var p,g=Object.keys(o);for(u=0;u<g.length;++u)"removeListener"!==(p=g[u])&&this.removeAllListeners(p);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(i=o[r]))this.removeListener(r,i);else if(void 0!==i)for(u=i.length-1;u>=0;u--)this.removeListener(r,i[u]);return this},EventEmitter.prototype.listeners=function listeners(r){return _listeners(this,r,!0)},EventEmitter.prototype.rawListeners=function rawListeners(r){return _listeners(this,r,!1)},EventEmitter.listenerCount=function(r,i){return"function"==typeof r.listenerCount?r.listenerCount(i):listenerCount.call(r,i)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?i(this._events):[]}},2536:function(r,i,o){var u=o(4275),p=o(7672);void 0===p.pdfMake&&(p.pdfMake=u),r.exports=u},7672:function(r,i,o){"use strict";r.exports=function(){if("object"==typeof globalThis)return globalThis;var r;try{r=this||new Function("return this")()}catch(r){if("object"==typeof window)return window;if("object"==typeof self)return self;if(void 0!==o.g)return o.g}return r}()},4029:function(r,i,o){"use strict";var u=o(5320),p=Object.prototype.toString,g=Object.prototype.hasOwnProperty,y=function forEachArray(r,i,o){for(var u=0,p=r.length;u<p;u++)g.call(r,u)&&(null==o?i(r[u],u,r):i.call(o,r[u],u,r))},w=function forEachString(r,i,o){for(var u=0,p=r.length;u<p;u++)null==o?i(r.charAt(u),u,r):i.call(o,r.charAt(u),u,r)},_=function forEachObject(r,i,o){for(var u in r)g.call(r,u)&&(null==o?i(r[u],u,r):i.call(o,r[u],u,r))};r.exports=function forEach(r,i,o){if(!u(i))throw new TypeError("iterator must be a function");var g;arguments.length>=3&&(g=o),"[object Array]"===p.call(r)?y(r,i,g):"string"==typeof r?w(r,i,g):_(r,i,g)}},7648:function(r){"use strict";var i="Function.prototype.bind called on incompatible ",o=Array.prototype.slice,u=Object.prototype.toString,p="[object Function]";r.exports=function bind(r){var g=this;if("function"!=typeof g||u.call(g)!==p)throw new TypeError(i+g);for(var y,w=o.call(arguments,1),binder=function(){if(this instanceof y){var i=g.apply(this,w.concat(o.call(arguments)));return Object(i)===i?i:this}return g.apply(r,w.concat(o.call(arguments)))},_=Math.max(0,g.length-w.length),x=[],k=0;k<_;k++)x.push("$"+k);if(y=Function("binder","return function ("+x.join(",")+"){ return binder.apply(this,arguments); }")(binder),g.prototype){var P=function Empty(){};P.prototype=g.prototype,y.prototype=new P,P.prototype=null}return y}},8612:function(r,i,o){"use strict";var u=o(7648);r.exports=Function.prototype.bind||u},5972:function(r){"use strict";var i=function functionsHaveNames(){return"string"==typeof function f(){}.name},o=Object.getOwnPropertyDescriptor;if(o)try{o([],"length")}catch(r){o=null}i.functionsHaveConfigurableNames=function functionsHaveConfigurableNames(){if(!i()||!o)return!1;var r=o((function(){}),"name");return!!r&&!!r.configurable};var u=Function.prototype.bind;i.boundFunctionsHaveNames=function boundFunctionsHaveNames(){return i()&&"function"==typeof u&&""!==function f(){}.bind().name},r.exports=i},210:function(r,i,o){"use strict";var u,p=SyntaxError,g=Function,y=TypeError,getEvalledConstructor=function(r){try{return g('"use strict"; return ('+r+").constructor;")()}catch(r){}},w=Object.getOwnPropertyDescriptor;if(w)try{w({},"")}catch(r){w=null}var throwTypeError=function(){throw new y},_=w?function(){try{return throwTypeError}catch(r){try{return w(arguments,"callee").get}catch(r){return throwTypeError}}}():throwTypeError,x=o(1405)(),k=Object.getPrototypeOf||function(r){return r.__proto__},P={},O="undefined"==typeof Uint8Array?u:k(Uint8Array),I={"%AggregateError%":"undefined"==typeof AggregateError?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?u:ArrayBuffer,"%ArrayIteratorPrototype%":x?k([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":P,"%AsyncGenerator%":P,"%AsyncGeneratorFunction%":P,"%AsyncIteratorPrototype%":P,"%Atomics%":"undefined"==typeof Atomics?u:Atomics,"%BigInt%":"undefined"==typeof BigInt?u:BigInt,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?u:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?u:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?u:FinalizationRegistry,"%Function%":g,"%GeneratorFunction%":P,"%Int8Array%":"undefined"==typeof Int8Array?u:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?u:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":x?k(k([][Symbol.iterator]())):u,"%JSON%":"object"==typeof JSON?JSON:u,"%Map%":"undefined"==typeof Map?u:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&x?k((new Map)[Symbol.iterator]()):u,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?u:Promise,"%Proxy%":"undefined"==typeof Proxy?u:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?u:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?u:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&x?k((new Set)[Symbol.iterator]()):u,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":x?k(""[Symbol.iterator]()):u,"%Symbol%":x?Symbol:u,"%SyntaxError%":p,"%ThrowTypeError%":_,"%TypedArray%":O,"%TypeError%":y,"%Uint8Array%":"undefined"==typeof Uint8Array?u:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?u:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?u:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?u:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?u:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?u:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?u:WeakSet},B=function doEval(r){var i;if("%AsyncFunction%"===r)i=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===r)i=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===r)i=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===r){var o=doEval("%AsyncGeneratorFunction%");o&&(i=o.prototype)}else if("%AsyncIteratorPrototype%"===r){var u=doEval("%AsyncGenerator%");u&&(i=k(u.prototype))}return I[r]=i,i},R={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},D=o(8612),N=o(7642),W=D.call(Function.call,Array.prototype.concat),U=D.call(Function.apply,Array.prototype.splice),j=D.call(Function.call,String.prototype.replace),G=D.call(Function.call,String.prototype.slice),X=D.call(Function.call,RegExp.prototype.exec),K=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Y=/\\(\\)?/g,J=function stringToPath(r){var i=G(r,0,1),o=G(r,-1);if("%"===i&&"%"!==o)throw new p("invalid intrinsic syntax, expected closing `%`");if("%"===o&&"%"!==i)throw new p("invalid intrinsic syntax, expected opening `%`");var u=[];return j(r,K,(function(r,i,o,p){u[u.length]=o?j(p,Y,"$1"):i||r})),u},$=function getBaseIntrinsic(r,i){var o,u=r;if(N(R,u)&&(u="%"+(o=R[u])[0]+"%"),N(I,u)){var g=I[u];if(g===P&&(g=B(u)),void 0===g&&!i)throw new y("intrinsic "+r+" exists, but is not available. Please file an issue!");return{alias:o,name:u,value:g}}throw new p("intrinsic "+r+" does not exist!")};r.exports=function GetIntrinsic(r,i){if("string"!=typeof r||0===r.length)throw new y("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof i)throw new y('"allowMissing" argument must be a boolean');if(null===X(/^%?[^%]*%?$/,r))throw new p("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var o=J(r),u=o.length>0?o[0]:"",g=$("%"+u+"%",i),_=g.name,x=g.value,k=!1,P=g.alias;P&&(u=P[0],U(o,W([0,1],P)));for(var O=1,B=!0;O<o.length;O+=1){var R=o[O],D=G(R,0,1),j=G(R,-1);if(('"'===D||"'"===D||"`"===D||'"'===j||"'"===j||"`"===j)&&D!==j)throw new p("property names with quotes must have matching quotes");if("constructor"!==R&&B||(k=!0),N(I,_="%"+(u+="."+R)+"%"))x=I[_];else if(null!=x){if(!(R in x)){if(!i)throw new y("base intrinsic for "+r+" exists, but the property is not available.");return}if(w&&O+1>=o.length){var K=w(x,R);x=(B=!!K)&&"get"in K&&!("originalValue"in K.get)?K.get:x[R]}else B=N(x,R),x=x[R];B&&!k&&(I[_]=x)}}return x}},7296:function(r,i,o){"use strict";var u=o(210)("%Object.getOwnPropertyDescriptor%",!0);if(u)try{u([],"length")}catch(r){u=null}r.exports=u},1044:function(r,i,o){"use strict";var u=o(210)("%Object.defineProperty%",!0),p=function hasPropertyDescriptors(){if(u)try{return u({},"a",{value:1}),!0}catch(r){return!1}return!1};p.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){if(!p())return null;try{return 1!==u([],"length",{value:1}).length}catch(r){return!0}},r.exports=p},1405:function(r,i,o){"use strict";var u="undefined"!=typeof Symbol&&Symbol,p=o(5419);r.exports=function hasNativeSymbols(){return"function"==typeof u&&("function"==typeof Symbol&&("symbol"==typeof u("foo")&&("symbol"==typeof Symbol("bar")&&p())))}},5419:function(r){"use strict";r.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var r={},i=Symbol("test"),o=Object(i);if("string"==typeof i)return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;if("[object Symbol]"!==Object.prototype.toString.call(o))return!1;for(i in r[i]=42,r)return!1;if("function"==typeof Object.keys&&0!==Object.keys(r).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(r).length)return!1;var u=Object.getOwnPropertySymbols(r);if(1!==u.length||u[0]!==i)return!1;if(!Object.prototype.propertyIsEnumerable.call(r,i))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var p=Object.getOwnPropertyDescriptor(r,i);if(42!==p.value||!0!==p.enumerable)return!1}return!0}},6410:function(r,i,o){"use strict";var u=o(5419);r.exports=function hasToStringTagShams(){return u()&&!!Symbol.toStringTag}},7642:function(r,i,o){"use strict";var u=o(8612);r.exports=u.call(Function.call,Object.prototype.hasOwnProperty)},688:function(r,i,o){"use strict";var u=o(7103).Buffer;i._dbcs=DBCSCodec;for(var p=-1,g=-10,y=-1e3,w=new Array(256),_=0;_<256;_++)w[_]=p;function DBCSCodec(r,i){if(this.encodingName=r.encodingName,!r)throw new Error("DBCS codec is called without the data.");if(!r.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var o=r.table();this.decodeTables=[],this.decodeTables[0]=w.slice(0),this.decodeTableSeq=[];for(var u=0;u<o.length;u++)this._addDecodeChunk(o[u]);if("function"==typeof r.gb18030){this.gb18030=r.gb18030();var g=this.decodeTables.length;this.decodeTables.push(w.slice(0));var _=this.decodeTables.length;this.decodeTables.push(w.slice(0));var x=this.decodeTables[0];for(u=129;u<=254;u++)for(var k=this.decodeTables[y-x[u]],P=48;P<=57;P++){if(k[P]===p)k[P]=y-g;else if(k[P]>y)throw new Error("gb18030 decode tables conflict at byte 2");for(var O=this.decodeTables[y-k[P]],I=129;I<=254;I++){if(O[I]===p)O[I]=y-_;else{if(O[I]===y-_)continue;if(O[I]>y)throw new Error("gb18030 decode tables conflict at byte 3")}for(var B=this.decodeTables[y-O[I]],R=48;R<=57;R++)B[R]===p&&(B[R]=-2)}}}this.defaultCharUnicode=i.defaultCharUnicode,this.encodeTable=[],this.encodeTableSeq=[];var D={};if(r.encodeSkipVals)for(u=0;u<r.encodeSkipVals.length;u++){var N=r.encodeSkipVals[u];if("number"==typeof N)D[N]=!0;else for(P=N.from;P<=N.to;P++)D[P]=!0}if(this._fillEncodeTable(0,0,D),r.encodeAdd)for(var W in r.encodeAdd)Object.prototype.hasOwnProperty.call(r.encodeAdd,W)&&this._setEncodeChar(W.charCodeAt(0),r.encodeAdd[W]);this.defCharSB=this.encodeTable[0][i.defaultCharSingleByte.charCodeAt(0)],this.defCharSB===p&&(this.defCharSB=this.encodeTable[0]["?"]),this.defCharSB===p&&(this.defCharSB="?".charCodeAt(0))}function DBCSEncoder(r,i){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=i.encodeTable,this.encodeTableSeq=i.encodeTableSeq,this.defaultCharSingleByte=i.defCharSB,this.gb18030=i.gb18030}function DBCSDecoder(r,i){this.nodeIdx=0,this.prevBytes=[],this.decodeTables=i.decodeTables,this.decodeTableSeq=i.decodeTableSeq,this.defaultCharUnicode=i.defaultCharUnicode,this.gb18030=i.gb18030}function findIdx(r,i){if(r[0]>i)return-1;for(var o=0,u=r.length;o<u-1;){var p=o+(u-o+1>>1);r[p]<=i?o=p:u=p}return o}DBCSCodec.prototype.encoder=DBCSEncoder,DBCSCodec.prototype.decoder=DBCSDecoder,DBCSCodec.prototype._getDecodeTrieNode=function(r){for(var i=[];r>0;r>>>=8)i.push(255&r);0==i.length&&i.push(0);for(var o=this.decodeTables[0],u=i.length-1;u>0;u--){var g=o[i[u]];if(g==p)o[i[u]]=y-this.decodeTables.length,this.decodeTables.push(o=w.slice(0));else{if(!(g<=y))throw new Error("Overwrite byte in "+this.encodingName+", addr: "+r.toString(16));o=this.decodeTables[y-g]}}return o},DBCSCodec.prototype._addDecodeChunk=function(r){var i=parseInt(r[0],16),o=this._getDecodeTrieNode(i);i&=255;for(var u=1;u<r.length;u++){var p=r[u];if("string"==typeof p)for(var y=0;y<p.length;){var w=p.charCodeAt(y++);if(55296<=w&&w<56320){var _=p.charCodeAt(y++);if(!(56320<=_&&_<57344))throw new Error("Incorrect surrogate pair in "+this.encodingName+" at chunk "+r[0]);o[i++]=65536+1024*(w-55296)+(_-56320)}else if(4080<w&&w<=4095){for(var x=4095-w+2,k=[],P=0;P<x;P++)k.push(p.charCodeAt(y++));o[i++]=g-this.decodeTableSeq.length,this.decodeTableSeq.push(k)}else o[i++]=w}else{if("number"!=typeof p)throw new Error("Incorrect type '"+typeof p+"' given in "+this.encodingName+" at chunk "+r[0]);var O=o[i-1]+1;for(y=0;y<p;y++)o[i++]=O++}}if(i>255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+r[0]+": too long"+i)},DBCSCodec.prototype._getEncodeBucket=function(r){var i=r>>8;return void 0===this.encodeTable[i]&&(this.encodeTable[i]=w.slice(0)),this.encodeTable[i]},DBCSCodec.prototype._setEncodeChar=function(r,i){var o=this._getEncodeBucket(r),u=255&r;o[u]<=g?this.encodeTableSeq[g-o[u]][-1]=i:o[u]==p&&(o[u]=i)},DBCSCodec.prototype._setEncodeSequence=function(r,i){var o,u=r[0],y=this._getEncodeBucket(u),w=255&u;y[w]<=g?o=this.encodeTableSeq[g-y[w]]:(o={},y[w]!==p&&(o[-1]=y[w]),y[w]=g-this.encodeTableSeq.length,this.encodeTableSeq.push(o));for(var _=1;_<r.length-1;_++){var x=o[u];"object"==typeof x?o=x:(o=o[u]={},void 0!==x&&(o[-1]=x))}o[u=r[r.length-1]]=i},DBCSCodec.prototype._fillEncodeTable=function(r,i,o){for(var u=this.decodeTables[r],p=!1,w={},_=0;_<256;_++){var x=u[_],k=i+_;if(!o[k])if(x>=0)this._setEncodeChar(x,k),p=!0;else if(x<=y){var P=y-x;if(!w[P]){var O=k<<8>>>0;this._fillEncodeTable(P,O,o)?p=!0:w[P]=!0}}else x<=g&&(this._setEncodeSequence(this.decodeTableSeq[g-x],k),p=!0)}return p},DBCSEncoder.prototype.write=function(r){for(var i=u.alloc(r.length*(this.gb18030?4:3)),o=this.leadSurrogate,y=this.seqObj,w=-1,_=0,x=0;;){if(-1===w){if(_==r.length)break;var k=r.charCodeAt(_++)}else{k=w;w=-1}if(55296<=k&&k<57344)if(k<56320){if(-1===o){o=k;continue}o=k,k=p}else-1!==o?(k=65536+1024*(o-55296)+(k-56320),o=-1):k=p;else-1!==o&&(w=k,k=p,o=-1);var P=p;if(void 0!==y&&k!=p){var O=y[k];if("object"==typeof O){y=O;continue}"number"==typeof O?P=O:null==O&&void 0!==(O=y[-1])&&(P=O,w=k),y=void 0}else if(k>=0){var I=this.encodeTable[k>>8];if(void 0!==I&&(P=I[255&k]),P<=g){y=this.encodeTableSeq[g-P];continue}if(P==p&&this.gb18030){var B=findIdx(this.gb18030.uChars,k);if(-1!=B){P=this.gb18030.gbChars[B]+(k-this.gb18030.uChars[B]);i[x++]=129+Math.floor(P/12600),P%=12600,i[x++]=48+Math.floor(P/1260),P%=1260,i[x++]=129+Math.floor(P/10),P%=10,i[x++]=48+P;continue}}}P===p&&(P=this.defaultCharSingleByte),P<256?i[x++]=P:P<65536?(i[x++]=P>>8,i[x++]=255&P):P<16777216?(i[x++]=P>>16,i[x++]=P>>8&255,i[x++]=255&P):(i[x++]=P>>>24,i[x++]=P>>>16&255,i[x++]=P>>>8&255,i[x++]=255&P)}return this.seqObj=y,this.leadSurrogate=o,i.slice(0,x)},DBCSEncoder.prototype.end=function(){if(-1!==this.leadSurrogate||void 0!==this.seqObj){var r=u.alloc(10),i=0;if(this.seqObj){var o=this.seqObj[-1];void 0!==o&&(o<256?r[i++]=o:(r[i++]=o>>8,r[i++]=255&o)),this.seqObj=void 0}return-1!==this.leadSurrogate&&(r[i++]=this.defaultCharSingleByte,this.leadSurrogate=-1),r.slice(0,i)}},DBCSEncoder.prototype.findIdx=findIdx,DBCSDecoder.prototype.write=function(r){for(var i=u.alloc(2*r.length),o=this.nodeIdx,w=this.prevBytes,_=this.prevBytes.length,x=-this.prevBytes.length,k=0,P=0;k<r.length;k++){var O,I=k>=0?r[k]:w[k+_];if((O=this.decodeTables[o][I])>=0);else if(O===p)O=this.defaultCharUnicode.charCodeAt(0),k=x;else if(-2===O){if(k>=3)var B=12600*(r[k-3]-129)+1260*(r[k-2]-48)+10*(r[k-1]-129)+(I-48);else B=12600*(w[k-3+_]-129)+1260*((k-2>=0?r[k-2]:w[k-2+_])-48)+10*((k-1>=0?r[k-1]:w[k-1+_])-129)+(I-48);var R=findIdx(this.gb18030.gbChars,B);O=this.gb18030.uChars[R]+B-this.gb18030.gbChars[R]}else{if(O<=y){o=y-O;continue}if(!(O<=g))throw new Error("iconv-lite internal error: invalid decoding table value "+O+" at "+o+"/"+I);for(var D=this.decodeTableSeq[g-O],N=0;N<D.length-1;N++)O=D[N],i[P++]=255&O,i[P++]=O>>8;O=D[D.length-1]}if(O>=65536){var W=55296|(O-=65536)>>10;i[P++]=255&W,i[P++]=W>>8,O=56320|1023&O}i[P++]=255&O,i[P++]=O>>8,o=0,x=k+1}return this.nodeIdx=o,this.prevBytes=x>=0?Array.prototype.slice.call(r,x):w.slice(x+_).concat(Array.prototype.slice.call(r)),i.slice(0,P).toString("ucs2")},DBCSDecoder.prototype.end=function(){for(var r="";this.prevBytes.length>0;){r+=this.defaultCharUnicode;var i=this.prevBytes.slice(1);this.prevBytes=[],this.nodeIdx=0,i.length>0&&(r+=this.write(i))}return this.prevBytes=[],this.nodeIdx=0,r}},5990:function(r,i,o){"use strict";r.exports={shiftjis:{type:"_dbcs",table:function(){return o(7014)},encodeAdd:{"¥":92,"‾":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return o(5633)},encodeAdd:{"¥":92,"‾":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return o(3336)}},gbk:{type:"_dbcs",table:function(){return o(3336).concat(o(4346))}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return o(3336).concat(o(4346))},gb18030:function(){return o(6258)},encodeSkipVals:[128],encodeAdd:{"€":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return o(7348)}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return o(4284)}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return o(4284).concat(o(3480))},encodeSkipVals:[36457,36463,36478,36523,36532,36557,36560,36695,36713,36718,36811,36862,36973,36986,37060,37084,37105,37311,37551,37552,37553,37554,37585,37959,38090,38361,38652,39285,39798,39800,39803,39878,39902,39916,39926,40002,40019,40034,40040,40043,40055,40124,40125,40144,40279,40282,40388,40431,40443,40617,40687,40701,40800,40907,41079,41180,41183,36812,37576,38468,38637,41636,41637,41639,41638,41676,41678]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}},6934:function(r,i,o){"use strict";for(var u=[o(1025),o(7688),o(1279),o(758),o(9068),o(3769),o(7018),o(688),o(5990)],p=0;p<u.length;p++){var g=u[p];for(var y in g)Object.prototype.hasOwnProperty.call(g,y)&&(i[y]=g[y])}},1025:function(r,i,o){"use strict";var u=o(7103).Buffer;function InternalCodec(r,i){this.enc=r.encodingName,this.bomAware=r.bomAware,"base64"===this.enc?this.encoder=InternalEncoderBase64:"cesu8"===this.enc&&(this.enc="utf8",this.encoder=InternalEncoderCesu8,"💩"!==u.from("eda0bdedb2a9","hex").toString()&&(this.decoder=InternalDecoderCesu8,this.defaultCharUnicode=i.defaultCharUnicode))}r.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:InternalCodec},InternalCodec.prototype.encoder=InternalEncoder,InternalCodec.prototype.decoder=InternalDecoder;var p=o(2553).s;function InternalDecoder(r,i){this.decoder=new p(i.enc)}function InternalEncoder(r,i){this.enc=i.enc}function InternalEncoderBase64(r,i){this.prevStr=""}function InternalEncoderCesu8(r,i){}function InternalDecoderCesu8(r,i){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=i.defaultCharUnicode}p.prototype.end||(p.prototype.end=function(){}),InternalDecoder.prototype.write=function(r){return u.isBuffer(r)||(r=u.from(r)),this.decoder.write(r)},InternalDecoder.prototype.end=function(){return this.decoder.end()},InternalEncoder.prototype.write=function(r){return u.from(r,this.enc)},InternalEncoder.prototype.end=function(){},InternalEncoderBase64.prototype.write=function(r){var i=(r=this.prevStr+r).length-r.length%4;return this.prevStr=r.slice(i),r=r.slice(0,i),u.from(r,"base64")},InternalEncoderBase64.prototype.end=function(){return u.from(this.prevStr,"base64")},InternalEncoderCesu8.prototype.write=function(r){for(var i=u.alloc(3*r.length),o=0,p=0;p<r.length;p++){var g=r.charCodeAt(p);g<128?i[o++]=g:g<2048?(i[o++]=192+(g>>>6),i[o++]=128+(63&g)):(i[o++]=224+(g>>>12),i[o++]=128+(g>>>6&63),i[o++]=128+(63&g))}return i.slice(0,o)},InternalEncoderCesu8.prototype.end=function(){},InternalDecoderCesu8.prototype.write=function(r){for(var i=this.acc,o=this.contBytes,u=this.accBytes,p="",g=0;g<r.length;g++){var y=r[g];128!=(192&y)?(o>0&&(p+=this.defaultCharUnicode,o=0),y<128?p+=String.fromCharCode(y):y<224?(i=31&y,o=1,u=1):y<240?(i=15&y,o=2,u=1):p+=this.defaultCharUnicode):o>0?(i=i<<6|63&y,u++,0===--o&&(p+=2===u&&i<128&&i>0||3===u&&i<2048?this.defaultCharUnicode:String.fromCharCode(i))):p+=this.defaultCharUnicode}return this.acc=i,this.contBytes=o,this.accBytes=u,p},InternalDecoderCesu8.prototype.end=function(){var r=0;return this.contBytes>0&&(r+=this.defaultCharUnicode),r}},9068:function(r,i,o){"use strict";var u=o(7103).Buffer;function SBCSCodec(r,i){if(!r)throw new Error("SBCS codec is called without the data.");if(!r.chars||128!==r.chars.length&&256!==r.chars.length)throw new Error("Encoding '"+r.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(128===r.chars.length){for(var o="",p=0;p<128;p++)o+=String.fromCharCode(p);r.chars=o+r.chars}this.decodeBuf=u.from(r.chars,"ucs2");var g=u.alloc(65536,i.defaultCharSingleByte.charCodeAt(0));for(p=0;p<r.chars.length;p++)g[r.chars.charCodeAt(p)]=p;this.encodeBuf=g}function SBCSEncoder(r,i){this.encodeBuf=i.encodeBuf}function SBCSDecoder(r,i){this.decodeBuf=i.decodeBuf}i._sbcs=SBCSCodec,SBCSCodec.prototype.encoder=SBCSEncoder,SBCSCodec.prototype.decoder=SBCSDecoder,SBCSEncoder.prototype.write=function(r){for(var i=u.alloc(r.length),o=0;o<r.length;o++)i[o]=this.encodeBuf[r.charCodeAt(o)];return i},SBCSEncoder.prototype.end=function(){},SBCSDecoder.prototype.write=function(r){for(var i=this.decodeBuf,o=u.alloc(2*r.length),p=0,g=0,y=0;y<r.length;y++)p=2*r[y],o[g=2*y]=i[p],o[g+1]=i[p+1];return o.toString("ucs2")},SBCSDecoder.prototype.end=function(){}},7018:function(r){"use strict";r.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�ݰħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖרŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨͧĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ "},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ "},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ "},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ "},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ "},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ "},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ "},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ "},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ "},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖרÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ "},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"},maccyrillic:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},macgreek:{type:"_sbcs",chars:"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"},maciceland:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macroman:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macromania:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macthai:{type:"_sbcs",chars:"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู\ufeff​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"},macturkish:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"},macukraine:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},koi8r:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8u:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8ru:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8t:{type:"_sbcs",chars:"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},armscii8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"},rk1048:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},tcvn:{type:"_sbcs",chars:"\0ÚỤỪỬỮ\b\t\n\v\f\rỨỰỲỶỸÝỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},georgianacademy:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},georgianps:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},pt154:{type:"_sbcs",chars:"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},viscii:{type:"_sbcs",chars:"\0ẲẴẪ\b\t\n\v\f\rỶỸỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},iso646cn:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},iso646jp:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},hproman8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},macintosh:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},ascii:{type:"_sbcs",chars:"��������������������������������������������������������������������������������������������������������������������������������"},tis620:{type:"_sbcs",chars:"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}},3769:function(r){"use strict";r.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ "},mik:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},cp720:{type:"_sbcs",chars:"€éâ„à†çêëèïّْô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡ًٌٍَُِ≈°∙·√ⁿ²■ "},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}},1279:function(r,i,o){"use strict";var u=o(7103).Buffer;function Utf16BECodec(){}function Utf16BEEncoder(){}function Utf16BEDecoder(){this.overflowByte=-1}function Utf16Codec(r,i){this.iconv=i}function Utf16Encoder(r,i){void 0===(r=r||{}).addBOM&&(r.addBOM=!0),this.encoder=i.iconv.getEncoder("utf-16le",r)}function Utf16Decoder(r,i){this.decoder=null,this.initialBufs=[],this.initialBufsLen=0,this.options=r||{},this.iconv=i.iconv}function detectEncoding(r,i){var o=[],u=0,p=0,g=0;e:for(var y=0;y<r.length;y++)for(var w=r[y],_=0;_<w.length;_++)if(o.push(w[_]),2===o.length){if(0===u){if(255===o[0]&&254===o[1])return"utf-16le";if(254===o[0]&&255===o[1])return"utf-16be"}if(0===o[0]&&0!==o[1]&&g++,0!==o[0]&&0===o[1]&&p++,o.length=0,++u>=100)break e}return g>p?"utf-16be":g<p?"utf-16le":i||"utf-16le"}i.utf16be=Utf16BECodec,Utf16BECodec.prototype.encoder=Utf16BEEncoder,Utf16BECodec.prototype.decoder=Utf16BEDecoder,Utf16BECodec.prototype.bomAware=!0,Utf16BEEncoder.prototype.write=function(r){for(var i=u.from(r,"ucs2"),o=0;o<i.length;o+=2){var p=i[o];i[o]=i[o+1],i[o+1]=p}return i},Utf16BEEncoder.prototype.end=function(){},Utf16BEDecoder.prototype.write=function(r){if(0==r.length)return"";var i=u.alloc(r.length+1),o=0,p=0;for(-1!==this.overflowByte&&(i[0]=r[0],i[1]=this.overflowByte,o=1,p=2);o<r.length-1;o+=2,p+=2)i[p]=r[o+1],i[p+1]=r[o];return this.overflowByte=o==r.length-1?r[r.length-1]:-1,i.slice(0,p).toString("ucs2")},Utf16BEDecoder.prototype.end=function(){this.overflowByte=-1},i.utf16=Utf16Codec,Utf16Codec.prototype.encoder=Utf16Encoder,Utf16Codec.prototype.decoder=Utf16Decoder,Utf16Encoder.prototype.write=function(r){return this.encoder.write(r)},Utf16Encoder.prototype.end=function(){return this.encoder.end()},Utf16Decoder.prototype.write=function(r){if(!this.decoder){if(this.initialBufs.push(r),this.initialBufsLen+=r.length,this.initialBufsLen<16)return"";var i=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(i,this.options);for(var o="",u=0;u<this.initialBufs.length;u++)o+=this.decoder.write(this.initialBufs[u]);return this.initialBufs.length=this.initialBufsLen=0,o}return this.decoder.write(r)},Utf16Decoder.prototype.end=function(){if(!this.decoder){var r=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(r,this.options);for(var i="",o=0;o<this.initialBufs.length;o++)i+=this.decoder.write(this.initialBufs[o]);var u=this.decoder.end();return u&&(i+=u),this.initialBufs.length=this.initialBufsLen=0,i}return this.decoder.end()}},7688:function(r,i,o){"use strict";var u=o(7103).Buffer;function Utf32Codec(r,i){this.iconv=i,this.bomAware=!0,this.isLE=r.isLE}function Utf32Encoder(r,i){this.isLE=i.isLE,this.highSurrogate=0}function Utf32Decoder(r,i){this.isLE=i.isLE,this.badChar=i.iconv.defaultCharUnicode.charCodeAt(0),this.overflow=[]}function _writeCodepoint(r,i,o,u){if((o<0||o>1114111)&&(o=u),o>=65536){var p=55296|(o-=65536)>>10;r[i++]=255&p,r[i++]=p>>8;o=56320|1023&o}return r[i++]=255&o,r[i++]=o>>8,i}function Utf32AutoCodec(r,i){this.iconv=i}function Utf32AutoEncoder(r,i){void 0===(r=r||{}).addBOM&&(r.addBOM=!0),this.encoder=i.iconv.getEncoder(r.defaultEncoding||"utf-32le",r)}function Utf32AutoDecoder(r,i){this.decoder=null,this.initialBufs=[],this.initialBufsLen=0,this.options=r||{},this.iconv=i.iconv}function detectEncoding(r,i){var o=[],u=0,p=0,g=0,y=0,w=0;e:for(var _=0;_<r.length;_++)for(var x=r[_],k=0;k<x.length;k++)if(o.push(x[k]),4===o.length){if(0===u){if(255===o[0]&&254===o[1]&&0===o[2]&&0===o[3])return"utf-32le";if(0===o[0]&&0===o[1]&&254===o[2]&&255===o[3])return"utf-32be"}if((0!==o[0]||o[1]>16)&&g++,(0!==o[3]||o[2]>16)&&p++,0!==o[0]||0!==o[1]||0===o[2]&&0===o[3]||w++,0===o[0]&&0===o[1]||0!==o[2]||0!==o[3]||y++,o.length=0,++u>=100)break e}return w-g>y-p?"utf-32be":w-g<y-p?"utf-32le":i||"utf-32le"}i._utf32=Utf32Codec,i.utf32le={type:"_utf32",isLE:!0},i.utf32be={type:"_utf32",isLE:!1},i.ucs4le="utf32le",i.ucs4be="utf32be",Utf32Codec.prototype.encoder=Utf32Encoder,Utf32Codec.prototype.decoder=Utf32Decoder,Utf32Encoder.prototype.write=function(r){for(var i=u.from(r,"ucs2"),o=u.alloc(2*i.length),p=this.isLE?o.writeUInt32LE:o.writeUInt32BE,g=0,y=0;y<i.length;y+=2){var w=i.readUInt16LE(y),_=55296<=w&&w<56320,x=56320<=w&&w<57344;if(this.highSurrogate){if(!_&&x){var k=65536+(this.highSurrogate-55296<<10|w-56320);p.call(o,k,g),g+=4,this.highSurrogate=0;continue}p.call(o,this.highSurrogate,g),g+=4}_?this.highSurrogate=w:(p.call(o,w,g),g+=4,this.highSurrogate=0)}return g<o.length&&(o=o.slice(0,g)),o},Utf32Encoder.prototype.end=function(){if(this.highSurrogate){var r=u.alloc(4);return this.isLE?r.writeUInt32LE(this.highSurrogate,0):r.writeUInt32BE(this.highSurrogate,0),this.highSurrogate=0,r}},Utf32Decoder.prototype.write=function(r){if(0===r.length)return"";var i=0,o=0,p=u.alloc(r.length+4),g=0,y=this.isLE,w=this.overflow,_=this.badChar;if(w.length>0){for(;i<r.length&&w.length<4;i++)w.push(r[i]);4===w.length&&(o=y?w[i]|w[i+1]<<8|w[i+2]<<16|w[i+3]<<24:w[i+3]|w[i+2]<<8|w[i+1]<<16|w[i]<<24,w.length=0,g=_writeCodepoint(p,g,o,_))}for(;i<r.length-3;i+=4)g=_writeCodepoint(p,g,o=y?r[i]|r[i+1]<<8|r[i+2]<<16|r[i+3]<<24:r[i+3]|r[i+2]<<8|r[i+1]<<16|r[i]<<24,_);for(;i<r.length;i++)w.push(r[i]);return p.slice(0,g).toString("ucs2")},Utf32Decoder.prototype.end=function(){this.overflow.length=0},i.utf32=Utf32AutoCodec,i.ucs4="utf32",Utf32AutoCodec.prototype.encoder=Utf32AutoEncoder,Utf32AutoCodec.prototype.decoder=Utf32AutoDecoder,Utf32AutoEncoder.prototype.write=function(r){return this.encoder.write(r)},Utf32AutoEncoder.prototype.end=function(){return this.encoder.end()},Utf32AutoDecoder.prototype.write=function(r){if(!this.decoder){if(this.initialBufs.push(r),this.initialBufsLen+=r.length,this.initialBufsLen<32)return"";var i=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(i,this.options);for(var o="",u=0;u<this.initialBufs.length;u++)o+=this.decoder.write(this.initialBufs[u]);return this.initialBufs.length=this.initialBufsLen=0,o}return this.decoder.write(r)},Utf32AutoDecoder.prototype.end=function(){if(!this.decoder){var r=detectEncoding(this.initialBufs,this.options.defaultEncoding);this.decoder=this.iconv.getDecoder(r,this.options);for(var i="",o=0;o<this.initialBufs.length;o++)i+=this.decoder.write(this.initialBufs[o]);var u=this.decoder.end();return u&&(i+=u),this.initialBufs.length=this.initialBufsLen=0,i}return this.decoder.end()}},758:function(r,i,o){"use strict";var u=o(7103).Buffer;function Utf7Codec(r,i){this.iconv=i}i.utf7=Utf7Codec,i.unicode11utf7="utf7",Utf7Codec.prototype.encoder=Utf7Encoder,Utf7Codec.prototype.decoder=Utf7Decoder,Utf7Codec.prototype.bomAware=!0;var p=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function Utf7Encoder(r,i){this.iconv=i.iconv}function Utf7Decoder(r,i){this.iconv=i.iconv,this.inBase64=!1,this.base64Accum=""}Utf7Encoder.prototype.write=function(r){return u.from(r.replace(p,function(r){return"+"+("+"===r?"":this.iconv.encode(r,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))},Utf7Encoder.prototype.end=function(){};for(var g=/[A-Za-z0-9\/+]/,y=[],w=0;w<256;w++)y[w]=g.test(String.fromCharCode(w));var _="+".charCodeAt(0),x="-".charCodeAt(0),k="&".charCodeAt(0);function Utf7IMAPCodec(r,i){this.iconv=i}function Utf7IMAPEncoder(r,i){this.iconv=i.iconv,this.inBase64=!1,this.base64Accum=u.alloc(6),this.base64AccumIdx=0}function Utf7IMAPDecoder(r,i){this.iconv=i.iconv,this.inBase64=!1,this.base64Accum=""}Utf7Decoder.prototype.write=function(r){for(var i="",o=0,p=this.inBase64,g=this.base64Accum,w=0;w<r.length;w++)if(p){if(!y[r[w]]){if(w==o&&r[w]==x)i+="+";else{var k=g+this.iconv.decode(r.slice(o,w),"ascii");i+=this.iconv.decode(u.from(k,"base64"),"utf16-be")}r[w]!=x&&w--,o=w+1,p=!1,g=""}}else r[w]==_&&(i+=this.iconv.decode(r.slice(o,w),"ascii"),o=w+1,p=!0);if(p){var P=(k=g+this.iconv.decode(r.slice(o),"ascii")).length-k.length%8;g=k.slice(P),k=k.slice(0,P),i+=this.iconv.decode(u.from(k,"base64"),"utf16-be")}else i+=this.iconv.decode(r.slice(o),"ascii");return this.inBase64=p,this.base64Accum=g,i},Utf7Decoder.prototype.end=function(){var r="";return this.inBase64&&this.base64Accum.length>0&&(r=this.iconv.decode(u.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",r},i.utf7imap=Utf7IMAPCodec,Utf7IMAPCodec.prototype.encoder=Utf7IMAPEncoder,Utf7IMAPCodec.prototype.decoder=Utf7IMAPDecoder,Utf7IMAPCodec.prototype.bomAware=!0,Utf7IMAPEncoder.prototype.write=function(r){for(var i=this.inBase64,o=this.base64Accum,p=this.base64AccumIdx,g=u.alloc(5*r.length+10),y=0,w=0;w<r.length;w++){var _=r.charCodeAt(w);32<=_&&_<=126?(i&&(p>0&&(y+=g.write(o.slice(0,p).toString("base64").replace(/\//g,",").replace(/=+$/,""),y),p=0),g[y++]=x,i=!1),i||(g[y++]=_,_===k&&(g[y++]=x))):(i||(g[y++]=k,i=!0),i&&(o[p++]=_>>8,o[p++]=255&_,p==o.length&&(y+=g.write(o.toString("base64").replace(/\//g,","),y),p=0)))}return this.inBase64=i,this.base64AccumIdx=p,g.slice(0,y)},Utf7IMAPEncoder.prototype.end=function(){var r=u.alloc(10),i=0;return this.inBase64&&(this.base64AccumIdx>0&&(i+=r.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),i),this.base64AccumIdx=0),r[i++]=x,this.inBase64=!1),r.slice(0,i)};var P=y.slice();P[",".charCodeAt(0)]=!0,Utf7IMAPDecoder.prototype.write=function(r){for(var i="",o=0,p=this.inBase64,g=this.base64Accum,y=0;y<r.length;y++)if(p){if(!P[r[y]]){if(y==o&&r[y]==x)i+="&";else{var w=g+this.iconv.decode(r.slice(o,y),"ascii").replace(/,/g,"/");i+=this.iconv.decode(u.from(w,"base64"),"utf16-be")}r[y]!=x&&y--,o=y+1,p=!1,g=""}}else r[y]==k&&(i+=this.iconv.decode(r.slice(o,y),"ascii"),o=y+1,p=!0);if(p){var _=(w=g+this.iconv.decode(r.slice(o),"ascii").replace(/,/g,"/")).length-w.length%8;g=w.slice(_),w=w.slice(0,_),i+=this.iconv.decode(u.from(w,"base64"),"utf16-be")}else i+=this.iconv.decode(r.slice(o),"ascii");return this.inBase64=p,this.base64Accum=g,i},Utf7IMAPDecoder.prototype.end=function(){var r="";return this.inBase64&&this.base64Accum.length>0&&(r=this.iconv.decode(u.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",r}},5395:function(r,i){"use strict";function PrependBOMWrapper(r,i){this.encoder=r,this.addBOM=!0}function StripBOMWrapper(r,i){this.decoder=r,this.pass=!1,this.options=i||{}}i.PrependBOM=PrependBOMWrapper,PrependBOMWrapper.prototype.write=function(r){return this.addBOM&&(r="\ufeff"+r,this.addBOM=!1),this.encoder.write(r)},PrependBOMWrapper.prototype.end=function(){return this.encoder.end()},i.StripBOM=StripBOMWrapper,StripBOMWrapper.prototype.write=function(r){var i=this.decoder.write(r);return this.pass||!i||("\ufeff"===i[0]&&(i=i.slice(1),"function"==typeof this.options.stripBOM&&this.options.stripBOM()),this.pass=!0),i},StripBOMWrapper.prototype.end=function(){return this.decoder.end()}},4914:function(r,i,o){"use strict";var u,p=o(7103).Buffer,g=o(5395),y=r.exports;y.encodings=null,y.defaultCharUnicode="�",y.defaultCharSingleByte="?",y.encode=function encode(r,i,o){r=""+(r||"");var u=y.getEncoder(i,o),g=u.write(r),w=u.end();return w&&w.length>0?p.concat([g,w]):g},y.decode=function decode(r,i,o){"string"==typeof r&&(y.skipDecodeWarning||(y.skipDecodeWarning=!0),r=p.from(""+(r||""),"binary"));var u=y.getDecoder(i,o),g=u.write(r),w=u.end();return w?g+w:g},y.encodingExists=function encodingExists(r){try{return y.getCodec(r),!0}catch(r){return!1}},y.toEncoding=y.encode,y.fromEncoding=y.decode,y._codecDataCache={},y.getCodec=function getCodec(r){y.encodings||(y.encodings=o(6934));for(var i=y._canonicalizeEncoding(r),u={};;){var p=y._codecDataCache[i];if(p)return p;var g=y.encodings[i];switch(typeof g){case"string":i=g;break;case"object":for(var w in g)u[w]=g[w];u.encodingName||(u.encodingName=i),i=g.type;break;case"function":return u.encodingName||(u.encodingName=i),p=new g(u,y),y._codecDataCache[u.encodingName]=p,p;default:throw new Error("Encoding not recognized: '"+r+"' (searched as: '"+i+"')")}}},y._canonicalizeEncoding=function(r){return(""+r).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")},y.getEncoder=function getEncoder(r,i){var o=y.getCodec(r),u=new o.encoder(i,o);return o.bomAware&&i&&i.addBOM&&(u=new g.PrependBOM(u,i)),u},y.getDecoder=function getDecoder(r,i){var o=y.getCodec(r),u=new o.decoder(i,o);return!o.bomAware||i&&!1===i.stripBOM||(u=new g.StripBOM(u,i)),u},y.enableStreamingAPI=function enableStreamingAPI(r){if(!y.supportsStreams){var i=o(8044)(r);y.IconvLiteEncoderStream=i.IconvLiteEncoderStream,y.IconvLiteDecoderStream=i.IconvLiteDecoderStream,y.encodeStream=function encodeStream(r,i){return new y.IconvLiteEncoderStream(y.getEncoder(r,i),i)},y.decodeStream=function decodeStream(r,i){return new y.IconvLiteDecoderStream(y.getDecoder(r,i),i)},y.supportsStreams=!0}};try{u=o(5832)}catch(r){}u&&u.Transform?y.enableStreamingAPI(u):y.encodeStream=y.decodeStream=function(){throw new Error("iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.")}},8044:function(r,i,o){"use strict";var u=o(7103).Buffer;r.exports=function(r){var i=r.Transform;function IconvLiteEncoderStream(r,o){this.conv=r,(o=o||{}).decodeStrings=!1,i.call(this,o)}function IconvLiteDecoderStream(r,o){this.conv=r,(o=o||{}).encoding=this.encoding="utf8",i.call(this,o)}return IconvLiteEncoderStream.prototype=Object.create(i.prototype,{constructor:{value:IconvLiteEncoderStream}}),IconvLiteEncoderStream.prototype._transform=function(r,i,o){if("string"!=typeof r)return o(new Error("Iconv encoding stream needs strings as its input."));try{var u=this.conv.write(r);u&&u.length&&this.push(u),o()}catch(r){o(r)}},IconvLiteEncoderStream.prototype._flush=function(r){try{var i=this.conv.end();i&&i.length&&this.push(i),r()}catch(i){r(i)}},IconvLiteEncoderStream.prototype.collect=function(r){var i=[];return this.on("error",r),this.on("data",(function(r){i.push(r)})),this.on("end",(function(){r(null,u.concat(i))})),this},IconvLiteDecoderStream.prototype=Object.create(i.prototype,{constructor:{value:IconvLiteDecoderStream}}),IconvLiteDecoderStream.prototype._transform=function(r,i,o){if(!(u.isBuffer(r)||r instanceof Uint8Array))return o(new Error("Iconv decoding stream needs buffers as its input."));try{var p=this.conv.write(r);p&&p.length&&this.push(p,this.encoding),o()}catch(r){o(r)}},IconvLiteDecoderStream.prototype._flush=function(r){try{var i=this.conv.end();i&&i.length&&this.push(i,this.encoding),r()}catch(i){r(i)}},IconvLiteDecoderStream.prototype.collect=function(r){var i="";return this.on("error",r),this.on("data",(function(r){i+=r})),this.on("end",(function(){r(null,i)})),this},{IconvLiteEncoderStream:IconvLiteEncoderStream,IconvLiteDecoderStream:IconvLiteDecoderStream}}},645:function(r,i){i.read=function(r,i,o,u,p){var g,y,w=8*p-u-1,_=(1<<w)-1,x=_>>1,k=-7,P=o?p-1:0,O=o?-1:1,I=r[i+P];for(P+=O,g=I&(1<<-k)-1,I>>=-k,k+=w;k>0;g=256*g+r[i+P],P+=O,k-=8);for(y=g&(1<<-k)-1,g>>=-k,k+=u;k>0;y=256*y+r[i+P],P+=O,k-=8);if(0===g)g=1-x;else{if(g===_)return y?NaN:1/0*(I?-1:1);y+=Math.pow(2,u),g-=x}return(I?-1:1)*y*Math.pow(2,g-u)},i.write=function(r,i,o,u,p,g){var y,w,_,x=8*g-p-1,k=(1<<x)-1,P=k>>1,O=23===p?Math.pow(2,-24)-Math.pow(2,-77):0,I=u?0:g-1,B=u?1:-1,R=i<0||0===i&&1/i<0?1:0;for(i=Math.abs(i),isNaN(i)||i===1/0?(w=isNaN(i)?1:0,y=k):(y=Math.floor(Math.log(i)/Math.LN2),i*(_=Math.pow(2,-y))<1&&(y--,_*=2),(i+=y+P>=1?O/_:O*Math.pow(2,1-P))*_>=2&&(y++,_/=2),y+P>=k?(w=0,y=k):y+P>=1?(w=(i*_-1)*Math.pow(2,p),y+=P):(w=i*Math.pow(2,P-1)*Math.pow(2,p),y=0));p>=8;r[o+I]=255&w,I+=B,w/=256,p-=8);for(y=y<<p|w,x+=p;x>0;r[o+I]=255&y,I+=B,y/=256,x-=8);r[o+I-B]|=128*R}},5717:function(r){"function"==typeof Object.create?r.exports=function inherits(r,i){i&&(r.super_=i,r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:r.exports=function inherits(r,i){if(i){r.super_=i;var TempCtor=function(){};TempCtor.prototype=i.prototype,r.prototype=new TempCtor,r.prototype.constructor=r}}},2584:function(r,i,o){"use strict";var u=o(6410)(),p=o(1924)("Object.prototype.toString"),g=function isArguments(r){return!(u&&r&&"object"==typeof r&&Symbol.toStringTag in r)&&"[object Arguments]"===p(r)},y=function isArguments(r){return!!g(r)||null!==r&&"object"==typeof r&&"number"==typeof r.length&&r.length>=0&&"[object Array]"!==p(r)&&"[object Function]"===p(r.callee)},w=function(){return g(arguments)}();g.isLegacyArguments=y,r.exports=w?g:y},5320:function(r){"use strict";var i,o,u=Function.prototype.toString,p="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof p&&"function"==typeof Object.defineProperty)try{i=Object.defineProperty({},"length",{get:function(){throw o}}),o={},p((function(){throw 42}),null,i)}catch(r){r!==o&&(p=null)}else p=null;var g=/^\s*class\b/,y=function isES6ClassFunction(r){try{var i=u.call(r);return g.test(i)}catch(r){return!1}},w=function tryFunctionToStr(r){try{return!y(r)&&(u.call(r),!0)}catch(r){return!1}},_=Object.prototype.toString,x="function"==typeof Symbol&&!!Symbol.toStringTag,k=!(0 in[,]),P=function isDocumentDotAll(){return!1};if("object"==typeof document){var O=document.all;_.call(O)===_.call(document.all)&&(P=function isDocumentDotAll(r){if((k||!r)&&(void 0===r||"object"==typeof r))try{var i=_.call(r);return("[object HTMLAllCollection]"===i||"[object HTML document.all class]"===i||"[object HTMLCollection]"===i||"[object Object]"===i)&&null==r("")}catch(r){}return!1})}r.exports=p?function isCallable(r){if(P(r))return!0;if(!r)return!1;if("function"!=typeof r&&"object"!=typeof r)return!1;try{p(r,null,i)}catch(r){if(r!==o)return!1}return!y(r)&&w(r)}:function isCallable(r){if(P(r))return!0;if(!r)return!1;if("function"!=typeof r&&"object"!=typeof r)return!1;if(x)return w(r);if(y(r))return!1;var i=_.call(r);return!("[object Function]"!==i&&"[object GeneratorFunction]"!==i&&!/^\[object HTML/.test(i))&&w(r)}},8923:function(r,i,o){"use strict";var u=Date.prototype.getDay,p=Object.prototype.toString,g=o(6410)();r.exports=function isDateObject(r){return"object"==typeof r&&null!==r&&(g?function tryDateGetDayCall(r){try{return u.call(r),!0}catch(r){return!1}}(r):"[object Date]"===p.call(r))}},8662:function(r,i,o){"use strict";var u,p=Object.prototype.toString,g=Function.prototype.toString,y=/^\s*(?:function)?\*/,w=o(6410)(),_=Object.getPrototypeOf;r.exports=function isGeneratorFunction(r){if("function"!=typeof r)return!1;if(y.test(g.call(r)))return!0;if(!w)return"[object GeneratorFunction]"===p.call(r);if(!_)return!1;if(void 0===u){var i=function(){if(!w)return!1;try{return Function("return function*() {}")()}catch(r){}}();u=!!i&&_(i)}return _(r)===u}},8611:function(r){"use strict";r.exports=function isNaN(r){return r!=r}},360:function(r,i,o){"use strict";var u=o(5559),p=o(4289),g=o(8611),y=o(9415),w=o(6743),_=u(y(),Number);p(_,{getPolyfill:y,implementation:g,shim:w}),r.exports=_},9415:function(r,i,o){"use strict";var u=o(8611);r.exports=function getPolyfill(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:u}},6743:function(r,i,o){"use strict";var u=o(4289),p=o(9415);r.exports=function shimNumberIsNaN(){var r=p();return u(Number,{isNaN:r},{isNaN:function testIsNaN(){return Number.isNaN!==r}}),r}},8420:function(r,i,o){"use strict";var u,p,g,y,w=o(1924),_=o(6410)();if(_){u=w("Object.prototype.hasOwnProperty"),p=w("RegExp.prototype.exec"),g={};var throwRegexMarker=function(){throw g};y={toString:throwRegexMarker,valueOf:throwRegexMarker},"symbol"==typeof Symbol.toPrimitive&&(y[Symbol.toPrimitive]=throwRegexMarker)}var x=w("Object.prototype.toString"),k=Object.getOwnPropertyDescriptor;r.exports=_?function isRegex(r){if(!r||"object"!=typeof r)return!1;var i=k(r,"lastIndex");if(!(i&&u(i,"value")))return!1;try{p(r,y)}catch(r){return r===g}}:function isRegex(r){return!(!r||"object"!=typeof r&&"function"!=typeof r)&&"[object RegExp]"===x(r)}},5692:function(r,i,o){"use strict";var u=o(4029),p=o(3083),g=o(1924),y=g("Object.prototype.toString"),w=o(6410)(),_=o(7296),x="undefined"==typeof globalThis?o.g:globalThis,k=p(),P=g("Array.prototype.indexOf",!0)||function indexOf(r,i){for(var o=0;o<r.length;o+=1)if(r[o]===i)return o;return-1},O=g("String.prototype.slice"),I={},B=Object.getPrototypeOf;w&&_&&B&&u(k,(function(r){var i=new x[r];if(Symbol.toStringTag in i){var o=B(i),u=_(o,Symbol.toStringTag);if(!u){var p=B(o);u=_(p,Symbol.toStringTag)}I[r]=u.get}}));r.exports=function isTypedArray(r){if(!r||"object"!=typeof r)return!1;if(!w||!(Symbol.toStringTag in r)){var i=O(y(r),8,-1);return P(k,i)>-1}return!!_&&function tryAllTypedArrays(r){var i=!1;return u(I,(function(o,u){if(!i)try{i=o.call(r)===u}catch(r){}})),i}(r)}},4244:function(r){"use strict";var numberIsNaN=function(r){return r!=r};r.exports=function is(r,i){return 0===r&&0===i?1/r==1/i:r===i||!(!numberIsNaN(r)||!numberIsNaN(i))}},609:function(r,i,o){"use strict";var u=o(4289),p=o(5559),g=o(4244),y=o(5624),w=o(2281),_=p(y(),Object);u(_,{getPolyfill:y,implementation:g,shim:w}),r.exports=_},5624:function(r,i,o){"use strict";var u=o(4244);r.exports=function getPolyfill(){return"function"==typeof Object.is?Object.is:u}},2281:function(r,i,o){"use strict";var u=o(5624),p=o(4289);r.exports=function shimObjectIs(){var r=u();return p(Object,{is:r},{is:function testObjectIs(){return Object.is!==r}}),r}},8987:function(r,i,o){"use strict";var u;if(!Object.keys){var p=Object.prototype.hasOwnProperty,g=Object.prototype.toString,y=o(1414),w=Object.prototype.propertyIsEnumerable,_=!w.call({toString:null},"toString"),x=w.call((function(){}),"prototype"),k=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],equalsConstructorPrototype=function(r){var i=r.constructor;return i&&i.prototype===r},P={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},O=function(){if("undefined"==typeof window)return!1;for(var r in window)try{if(!P["$"+r]&&p.call(window,r)&&null!==window[r]&&"object"==typeof window[r])try{equalsConstructorPrototype(window[r])}catch(r){return!0}}catch(r){return!0}return!1}();u=function keys(r){var i=null!==r&&"object"==typeof r,o="[object Function]"===g.call(r),u=y(r),w=i&&"[object String]"===g.call(r),P=[];if(!i&&!o&&!u)throw new TypeError("Object.keys called on a non-object");var I=x&&o;if(w&&r.length>0&&!p.call(r,0))for(var B=0;B<r.length;++B)P.push(String(B));if(u&&r.length>0)for(var R=0;R<r.length;++R)P.push(String(R));else for(var D in r)I&&"prototype"===D||!p.call(r,D)||P.push(String(D));if(_)for(var N=function(r){if("undefined"==typeof window||!O)return equalsConstructorPrototype(r);try{return equalsConstructorPrototype(r)}catch(r){return!1}}(r),W=0;W<k.length;++W)N&&"constructor"===k[W]||!p.call(r,k[W])||P.push(k[W]);return P}}r.exports=u},2215:function(r,i,o){"use strict";var u=Array.prototype.slice,p=o(1414),g=Object.keys,y=g?function keys(r){return g(r)}:o(8987),w=Object.keys;y.shim=function shimObjectKeys(){if(Object.keys){var r=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);r||(Object.keys=function keys(r){return p(r)?w(u.call(r)):w(r)})}else Object.keys=y;return Object.keys||y},r.exports=y},1414:function(r){"use strict";var i=Object.prototype.toString;r.exports=function isArguments(r){var o=i.call(r),u="[object Arguments]"===o;return u||(u="[object Array]"!==o&&null!==r&&"object"==typeof r&&"number"==typeof r.length&&r.length>=0&&"[object Function]"===i.call(r.callee)),u}},4236:function(r,i){"use strict";var o="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function _has(r,i){return Object.prototype.hasOwnProperty.call(r,i)}i.assign=function(r){for(var i=Array.prototype.slice.call(arguments,1);i.length;){var o=i.shift();if(o){if("object"!=typeof o)throw new TypeError(o+"must be non-object");for(var u in o)_has(o,u)&&(r[u]=o[u])}}return r},i.shrinkBuf=function(r,i){return r.length===i?r:r.subarray?r.subarray(0,i):(r.length=i,r)};var u={arraySet:function(r,i,o,u,p){if(i.subarray&&r.subarray)r.set(i.subarray(o,o+u),p);else for(var g=0;g<u;g++)r[p+g]=i[o+g]},flattenChunks:function(r){var i,o,u,p,g,y;for(u=0,i=0,o=r.length;i<o;i++)u+=r[i].length;for(y=new Uint8Array(u),p=0,i=0,o=r.length;i<o;i++)g=r[i],y.set(g,p),p+=g.length;return y}},p={arraySet:function(r,i,o,u,p){for(var g=0;g<u;g++)r[p+g]=i[o+g]},flattenChunks:function(r){return[].concat.apply([],r)}};i.setTyped=function(r){r?(i.Buf8=Uint8Array,i.Buf16=Uint16Array,i.Buf32=Int32Array,i.assign(i,u)):(i.Buf8=Array,i.Buf16=Array,i.Buf32=Array,i.assign(i,p))},i.setTyped(o)},6069:function(r){"use strict";r.exports=function adler32(r,i,o,u){for(var p=65535&r|0,g=r>>>16&65535|0,y=0;0!==o;){o-=y=o>2e3?2e3:o;do{g=g+(p=p+i[u++]|0)|0}while(--y);p%=65521,g%=65521}return p|g<<16|0}},1619:function(r){"use strict";r.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},2869:function(r){"use strict";var i=function makeTable(){for(var r,i=[],o=0;o<256;o++){r=o;for(var u=0;u<8;u++)r=1&r?3988292384^r>>>1:r>>>1;i[o]=r}return i}();r.exports=function crc32(r,o,u,p){var g=i,y=p+u;r^=-1;for(var w=p;w<y;w++)r=r>>>8^g[255&(r^o[w])];return-1^r}},405:function(r,i,o){"use strict";var u,p=o(4236),g=o(342),y=o(6069),w=o(2869),_=o(8898),x=-2,k=258,P=262,O=103,I=113,B=666;function err(r,i){return r.msg=_[i],i}function rank(r){return(r<<1)-(r>4?9:0)}function zero(r){for(var i=r.length;--i>=0;)r[i]=0}function flush_pending(r){var i=r.state,o=i.pending;o>r.avail_out&&(o=r.avail_out),0!==o&&(p.arraySet(r.output,i.pending_buf,i.pending_out,o,r.next_out),r.next_out+=o,i.pending_out+=o,r.total_out+=o,r.avail_out-=o,i.pending-=o,0===i.pending&&(i.pending_out=0))}function flush_block_only(r,i){g._tr_flush_block(r,r.block_start>=0?r.block_start:-1,r.strstart-r.block_start,i),r.block_start=r.strstart,flush_pending(r.strm)}function put_byte(r,i){r.pending_buf[r.pending++]=i}function putShortMSB(r,i){r.pending_buf[r.pending++]=i>>>8&255,r.pending_buf[r.pending++]=255&i}function longest_match(r,i){var o,u,p=r.max_chain_length,g=r.strstart,y=r.prev_length,w=r.nice_match,_=r.strstart>r.w_size-P?r.strstart-(r.w_size-P):0,x=r.window,O=r.w_mask,I=r.prev,B=r.strstart+k,R=x[g+y-1],D=x[g+y];r.prev_length>=r.good_match&&(p>>=2),w>r.lookahead&&(w=r.lookahead);do{if(x[(o=i)+y]===D&&x[o+y-1]===R&&x[o]===x[g]&&x[++o]===x[g+1]){g+=2,o++;do{}while(x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&x[++g]===x[++o]&&g<B);if(u=k-(B-g),g=B-k,u>y){if(r.match_start=i,y=u,u>=w)break;R=x[g+y-1],D=x[g+y]}}}while((i=I[i&O])>_&&0!=--p);return y<=r.lookahead?y:r.lookahead}function fill_window(r){var i,o,u,g,_,x,k,O,I,B,R=r.w_size;do{if(g=r.window_size-r.lookahead-r.strstart,r.strstart>=R+(R-P)){p.arraySet(r.window,r.window,R,R,0),r.match_start-=R,r.strstart-=R,r.block_start-=R,i=o=r.hash_size;do{u=r.head[--i],r.head[i]=u>=R?u-R:0}while(--o);i=o=R;do{u=r.prev[--i],r.prev[i]=u>=R?u-R:0}while(--o);g+=R}if(0===r.strm.avail_in)break;if(x=r.strm,k=r.window,O=r.strstart+r.lookahead,I=g,B=void 0,(B=x.avail_in)>I&&(B=I),o=0===B?0:(x.avail_in-=B,p.arraySet(k,x.input,x.next_in,B,O),1===x.state.wrap?x.adler=y(x.adler,k,B,O):2===x.state.wrap&&(x.adler=w(x.adler,k,B,O)),x.next_in+=B,x.total_in+=B,B),r.lookahead+=o,r.lookahead+r.insert>=3)for(_=r.strstart-r.insert,r.ins_h=r.window[_],r.ins_h=(r.ins_h<<r.hash_shift^r.window[_+1])&r.hash_mask;r.insert&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[_+3-1])&r.hash_mask,r.prev[_&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=_,_++,r.insert--,!(r.lookahead+r.insert<3)););}while(r.lookahead<P&&0!==r.strm.avail_in)}function deflate_fast(r,i){for(var o,u;;){if(r.lookahead<P){if(fill_window(r),r.lookahead<P&&0===i)return 1;if(0===r.lookahead)break}if(o=0,r.lookahead>=3&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+3-1])&r.hash_mask,o=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),0!==o&&r.strstart-o<=r.w_size-P&&(r.match_length=longest_match(r,o)),r.match_length>=3)if(u=g._tr_tally(r,r.strstart-r.match_start,r.match_length-3),r.lookahead-=r.match_length,r.match_length<=r.max_lazy_match&&r.lookahead>=3){r.match_length--;do{r.strstart++,r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+3-1])&r.hash_mask,o=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart}while(0!=--r.match_length);r.strstart++}else r.strstart+=r.match_length,r.match_length=0,r.ins_h=r.window[r.strstart],r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+1])&r.hash_mask;else u=g._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++;if(u&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=r.strstart<2?r.strstart:2,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):r.last_lit&&(flush_block_only(r,!1),0===r.strm.avail_out)?1:2}function deflate_slow(r,i){for(var o,u,p;;){if(r.lookahead<P){if(fill_window(r),r.lookahead<P&&0===i)return 1;if(0===r.lookahead)break}if(o=0,r.lookahead>=3&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+3-1])&r.hash_mask,o=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart),r.prev_length=r.match_length,r.prev_match=r.match_start,r.match_length=2,0!==o&&r.prev_length<r.max_lazy_match&&r.strstart-o<=r.w_size-P&&(r.match_length=longest_match(r,o),r.match_length<=5&&(1===r.strategy||3===r.match_length&&r.strstart-r.match_start>4096)&&(r.match_length=2)),r.prev_length>=3&&r.match_length<=r.prev_length){p=r.strstart+r.lookahead-3,u=g._tr_tally(r,r.strstart-1-r.prev_match,r.prev_length-3),r.lookahead-=r.prev_length-1,r.prev_length-=2;do{++r.strstart<=p&&(r.ins_h=(r.ins_h<<r.hash_shift^r.window[r.strstart+3-1])&r.hash_mask,o=r.prev[r.strstart&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=r.strstart)}while(0!=--r.prev_length);if(r.match_available=0,r.match_length=2,r.strstart++,u&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}else if(r.match_available){if((u=g._tr_tally(r,0,r.window[r.strstart-1]))&&flush_block_only(r,!1),r.strstart++,r.lookahead--,0===r.strm.avail_out)return 1}else r.match_available=1,r.strstart++,r.lookahead--}return r.match_available&&(u=g._tr_tally(r,0,r.window[r.strstart-1]),r.match_available=0),r.insert=r.strstart<2?r.strstart:2,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):r.last_lit&&(flush_block_only(r,!1),0===r.strm.avail_out)?1:2}function Config(r,i,o,u,p){this.good_length=r,this.max_lazy=i,this.nice_length=o,this.max_chain=u,this.func=p}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new p.Buf16(1146),this.dyn_dtree=new p.Buf16(122),this.bl_tree=new p.Buf16(78),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new p.Buf16(16),this.heap=new p.Buf16(573),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new p.Buf16(573),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(r){var i;return r&&r.state?(r.total_in=r.total_out=0,r.data_type=2,(i=r.state).pending=0,i.pending_out=0,i.wrap<0&&(i.wrap=-i.wrap),i.status=i.wrap?42:I,r.adler=2===i.wrap?0:1,i.last_flush=0,g._tr_init(i),0):err(r,x)}function deflateReset(r){var i=deflateResetKeep(r);return 0===i&&function lm_init(r){r.window_size=2*r.w_size,zero(r.head),r.max_lazy_match=u[r.level].max_lazy,r.good_match=u[r.level].good_length,r.nice_match=u[r.level].nice_length,r.max_chain_length=u[r.level].max_chain,r.strstart=0,r.block_start=0,r.lookahead=0,r.insert=0,r.match_length=r.prev_length=2,r.match_available=0,r.ins_h=0}(r.state),i}function deflateInit2(r,i,o,u,g,y){if(!r)return x;var w=1;if(-1===i&&(i=6),u<0?(w=0,u=-u):u>15&&(w=2,u-=16),g<1||g>9||8!==o||u<8||u>15||i<0||i>9||y<0||y>4)return err(r,x);8===u&&(u=9);var _=new DeflateState;return r.state=_,_.strm=r,_.wrap=w,_.gzhead=null,_.w_bits=u,_.w_size=1<<_.w_bits,_.w_mask=_.w_size-1,_.hash_bits=g+7,_.hash_size=1<<_.hash_bits,_.hash_mask=_.hash_size-1,_.hash_shift=~~((_.hash_bits+3-1)/3),_.window=new p.Buf8(2*_.w_size),_.head=new p.Buf16(_.hash_size),_.prev=new p.Buf16(_.w_size),_.lit_bufsize=1<<g+6,_.pending_buf_size=4*_.lit_bufsize,_.pending_buf=new p.Buf8(_.pending_buf_size),_.d_buf=1*_.lit_bufsize,_.l_buf=3*_.lit_bufsize,_.level=i,_.strategy=y,_.method=o,deflateReset(r)}u=[new Config(0,0,0,0,(function deflate_stored(r,i){var o=65535;for(o>r.pending_buf_size-5&&(o=r.pending_buf_size-5);;){if(r.lookahead<=1){if(fill_window(r),0===r.lookahead&&0===i)return 1;if(0===r.lookahead)break}r.strstart+=r.lookahead,r.lookahead=0;var u=r.block_start+o;if((0===r.strstart||r.strstart>=u)&&(r.lookahead=r.strstart-u,r.strstart=u,flush_block_only(r,!1),0===r.strm.avail_out))return 1;if(r.strstart-r.block_start>=r.w_size-P&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=0,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):(r.strstart>r.block_start&&(flush_block_only(r,!1),r.strm.avail_out),1)})),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)],i.deflateInit=function deflateInit(r,i){return deflateInit2(r,i,8,15,8,0)},i.deflateInit2=deflateInit2,i.deflateReset=deflateReset,i.deflateResetKeep=deflateResetKeep,i.deflateSetHeader=function deflateSetHeader(r,i){return r&&r.state?2!==r.state.wrap?x:(r.state.gzhead=i,0):x},i.deflate=function deflate(r,i){var o,p,y,_;if(!r||!r.state||i>5||i<0)return r?err(r,x):x;if(p=r.state,!r.output||!r.input&&0!==r.avail_in||p.status===B&&4!==i)return err(r,0===r.avail_out?-5:x);if(p.strm=r,o=p.last_flush,p.last_flush=i,42===p.status)if(2===p.wrap)r.adler=0,put_byte(p,31),put_byte(p,139),put_byte(p,8),p.gzhead?(put_byte(p,(p.gzhead.text?1:0)+(p.gzhead.hcrc?2:0)+(p.gzhead.extra?4:0)+(p.gzhead.name?8:0)+(p.gzhead.comment?16:0)),put_byte(p,255&p.gzhead.time),put_byte(p,p.gzhead.time>>8&255),put_byte(p,p.gzhead.time>>16&255),put_byte(p,p.gzhead.time>>24&255),put_byte(p,9===p.level?2:p.strategy>=2||p.level<2?4:0),put_byte(p,255&p.gzhead.os),p.gzhead.extra&&p.gzhead.extra.length&&(put_byte(p,255&p.gzhead.extra.length),put_byte(p,p.gzhead.extra.length>>8&255)),p.gzhead.hcrc&&(r.adler=w(r.adler,p.pending_buf,p.pending,0)),p.gzindex=0,p.status=69):(put_byte(p,0),put_byte(p,0),put_byte(p,0),put_byte(p,0),put_byte(p,0),put_byte(p,9===p.level?2:p.strategy>=2||p.level<2?4:0),put_byte(p,3),p.status=I);else{var P=8+(p.w_bits-8<<4)<<8;P|=(p.strategy>=2||p.level<2?0:p.level<6?1:6===p.level?2:3)<<6,0!==p.strstart&&(P|=32),P+=31-P%31,p.status=I,putShortMSB(p,P),0!==p.strstart&&(putShortMSB(p,r.adler>>>16),putShortMSB(p,65535&r.adler)),r.adler=1}if(69===p.status)if(p.gzhead.extra){for(y=p.pending;p.gzindex<(65535&p.gzhead.extra.length)&&(p.pending!==p.pending_buf_size||(p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),flush_pending(r),y=p.pending,p.pending!==p.pending_buf_size));)put_byte(p,255&p.gzhead.extra[p.gzindex]),p.gzindex++;p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),p.gzindex===p.gzhead.extra.length&&(p.gzindex=0,p.status=73)}else p.status=73;if(73===p.status)if(p.gzhead.name){y=p.pending;do{if(p.pending===p.pending_buf_size&&(p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),flush_pending(r),y=p.pending,p.pending===p.pending_buf_size)){_=1;break}_=p.gzindex<p.gzhead.name.length?255&p.gzhead.name.charCodeAt(p.gzindex++):0,put_byte(p,_)}while(0!==_);p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),0===_&&(p.gzindex=0,p.status=91)}else p.status=91;if(91===p.status)if(p.gzhead.comment){y=p.pending;do{if(p.pending===p.pending_buf_size&&(p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),flush_pending(r),y=p.pending,p.pending===p.pending_buf_size)){_=1;break}_=p.gzindex<p.gzhead.comment.length?255&p.gzhead.comment.charCodeAt(p.gzindex++):0,put_byte(p,_)}while(0!==_);p.gzhead.hcrc&&p.pending>y&&(r.adler=w(r.adler,p.pending_buf,p.pending-y,y)),0===_&&(p.status=O)}else p.status=O;if(p.status===O&&(p.gzhead.hcrc?(p.pending+2>p.pending_buf_size&&flush_pending(r),p.pending+2<=p.pending_buf_size&&(put_byte(p,255&r.adler),put_byte(p,r.adler>>8&255),r.adler=0,p.status=I)):p.status=I),0!==p.pending){if(flush_pending(r),0===r.avail_out)return p.last_flush=-1,0}else if(0===r.avail_in&&rank(i)<=rank(o)&&4!==i)return err(r,-5);if(p.status===B&&0!==r.avail_in)return err(r,-5);if(0!==r.avail_in||0!==p.lookahead||0!==i&&p.status!==B){var R=2===p.strategy?function deflate_huff(r,i){for(var o;;){if(0===r.lookahead&&(fill_window(r),0===r.lookahead)){if(0===i)return 1;break}if(r.match_length=0,o=g._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++,o&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=0,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):r.last_lit&&(flush_block_only(r,!1),0===r.strm.avail_out)?1:2}(p,i):3===p.strategy?function deflate_rle(r,i){for(var o,u,p,y,w=r.window;;){if(r.lookahead<=k){if(fill_window(r),r.lookahead<=k&&0===i)return 1;if(0===r.lookahead)break}if(r.match_length=0,r.lookahead>=3&&r.strstart>0&&(u=w[p=r.strstart-1])===w[++p]&&u===w[++p]&&u===w[++p]){y=r.strstart+k;do{}while(u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&u===w[++p]&&p<y);r.match_length=k-(y-p),r.match_length>r.lookahead&&(r.match_length=r.lookahead)}if(r.match_length>=3?(o=g._tr_tally(r,1,r.match_length-3),r.lookahead-=r.match_length,r.strstart+=r.match_length,r.match_length=0):(o=g._tr_tally(r,0,r.window[r.strstart]),r.lookahead--,r.strstart++),o&&(flush_block_only(r,!1),0===r.strm.avail_out))return 1}return r.insert=0,4===i?(flush_block_only(r,!0),0===r.strm.avail_out?3:4):r.last_lit&&(flush_block_only(r,!1),0===r.strm.avail_out)?1:2}(p,i):u[p.level].func(p,i);if(3!==R&&4!==R||(p.status=B),1===R||3===R)return 0===r.avail_out&&(p.last_flush=-1),0;if(2===R&&(1===i?g._tr_align(p):5!==i&&(g._tr_stored_block(p,0,0,!1),3===i&&(zero(p.head),0===p.lookahead&&(p.strstart=0,p.block_start=0,p.insert=0))),flush_pending(r),0===r.avail_out))return p.last_flush=-1,0}return 4!==i?0:p.wrap<=0?1:(2===p.wrap?(put_byte(p,255&r.adler),put_byte(p,r.adler>>8&255),put_byte(p,r.adler>>16&255),put_byte(p,r.adler>>24&255),put_byte(p,255&r.total_in),put_byte(p,r.total_in>>8&255),put_byte(p,r.total_in>>16&255),put_byte(p,r.total_in>>24&255)):(putShortMSB(p,r.adler>>>16),putShortMSB(p,65535&r.adler)),flush_pending(r),p.wrap>0&&(p.wrap=-p.wrap),0!==p.pending?0:1)},i.deflateEnd=function deflateEnd(r){var i;return r&&r.state?42!==(i=r.state.status)&&69!==i&&73!==i&&91!==i&&i!==O&&i!==I&&i!==B?err(r,x):(r.state=null,i===I?err(r,-3):0):x},i.deflateSetDictionary=function deflateSetDictionary(r,i){var o,u,g,w,_,k,P,O,I=i.length;if(!r||!r.state)return x;if(2===(w=(o=r.state).wrap)||1===w&&42!==o.status||o.lookahead)return x;for(1===w&&(r.adler=y(r.adler,i,I,0)),o.wrap=0,I>=o.w_size&&(0===w&&(zero(o.head),o.strstart=0,o.block_start=0,o.insert=0),O=new p.Buf8(o.w_size),p.arraySet(O,i,I-o.w_size,o.w_size,0),i=O,I=o.w_size),_=r.avail_in,k=r.next_in,P=r.input,r.avail_in=I,r.next_in=0,r.input=i,fill_window(o);o.lookahead>=3;){u=o.strstart,g=o.lookahead-2;do{o.ins_h=(o.ins_h<<o.hash_shift^o.window[u+3-1])&o.hash_mask,o.prev[u&o.w_mask]=o.head[o.ins_h],o.head[o.ins_h]=u,u++}while(--g);o.strstart=u,o.lookahead=2,fill_window(o)}return o.strstart+=o.lookahead,o.block_start=o.strstart,o.insert=o.lookahead,o.lookahead=0,o.match_length=o.prev_length=2,o.match_available=0,r.next_in=k,r.input=P,r.avail_in=_,o.wrap=w,0},i.deflateInfo="pako deflate (from Nodeca project)"},4264:function(r){"use strict";r.exports=function inflate_fast(r,i){var o,u,p,g,y,w,_,x,k,P,O,I,B,R,D,N,W,U,j,G,X,K,Y,J,$;o=r.state,u=r.next_in,J=r.input,p=u+(r.avail_in-5),g=r.next_out,$=r.output,y=g-(i-r.avail_out),w=g+(r.avail_out-257),_=o.dmax,x=o.wsize,k=o.whave,P=o.wnext,O=o.window,I=o.hold,B=o.bits,R=o.lencode,D=o.distcode,N=(1<<o.lenbits)-1,W=(1<<o.distbits)-1;e:do{B<15&&(I+=J[u++]<<B,B+=8,I+=J[u++]<<B,B+=8),U=R[I&N];t:for(;;){if(I>>>=j=U>>>24,B-=j,0===(j=U>>>16&255))$[g++]=65535&U;else{if(!(16&j)){if(0==(64&j)){U=R[(65535&U)+(I&(1<<j)-1)];continue t}if(32&j){o.mode=12;break e}r.msg="invalid literal/length code",o.mode=30;break e}G=65535&U,(j&=15)&&(B<j&&(I+=J[u++]<<B,B+=8),G+=I&(1<<j)-1,I>>>=j,B-=j),B<15&&(I+=J[u++]<<B,B+=8,I+=J[u++]<<B,B+=8),U=D[I&W];r:for(;;){if(I>>>=j=U>>>24,B-=j,!(16&(j=U>>>16&255))){if(0==(64&j)){U=D[(65535&U)+(I&(1<<j)-1)];continue r}r.msg="invalid distance code",o.mode=30;break e}if(X=65535&U,B<(j&=15)&&(I+=J[u++]<<B,(B+=8)<j&&(I+=J[u++]<<B,B+=8)),(X+=I&(1<<j)-1)>_){r.msg="invalid distance too far back",o.mode=30;break e}if(I>>>=j,B-=j,X>(j=g-y)){if((j=X-j)>k&&o.sane){r.msg="invalid distance too far back",o.mode=30;break e}if(K=0,Y=O,0===P){if(K+=x-j,j<G){G-=j;do{$[g++]=O[K++]}while(--j);K=g-X,Y=$}}else if(P<j){if(K+=x+P-j,(j-=P)<G){G-=j;do{$[g++]=O[K++]}while(--j);if(K=0,P<G){G-=j=P;do{$[g++]=O[K++]}while(--j);K=g-X,Y=$}}}else if(K+=P-j,j<G){G-=j;do{$[g++]=O[K++]}while(--j);K=g-X,Y=$}for(;G>2;)$[g++]=Y[K++],$[g++]=Y[K++],$[g++]=Y[K++],G-=3;G&&($[g++]=Y[K++],G>1&&($[g++]=Y[K++]))}else{K=g-X;do{$[g++]=$[K++],$[g++]=$[K++],$[g++]=$[K++],G-=3}while(G>2);G&&($[g++]=$[K++],G>1&&($[g++]=$[K++]))}break}}break}}while(u<p&&g<w);u-=G=B>>3,I&=(1<<(B-=G<<3))-1,r.next_in=u,r.next_out=g,r.avail_in=u<p?p-u+5:5-(u-p),r.avail_out=g<w?w-g+257:257-(g-w),o.hold=I,o.bits=B}},7948:function(r,i,o){"use strict";var u=o(4236),p=o(6069),g=o(2869),y=o(4264),w=o(9241),_=-2,x=12,k=30;function zswap32(r){return(r>>>24&255)+(r>>>8&65280)+((65280&r)<<8)+((255&r)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new u.Buf16(320),this.work=new u.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(r){var i;return r&&r.state?(i=r.state,r.total_in=r.total_out=i.total=0,r.msg="",i.wrap&&(r.adler=1&i.wrap),i.mode=1,i.last=0,i.havedict=0,i.dmax=32768,i.head=null,i.hold=0,i.bits=0,i.lencode=i.lendyn=new u.Buf32(852),i.distcode=i.distdyn=new u.Buf32(592),i.sane=1,i.back=-1,0):_}function inflateReset(r){var i;return r&&r.state?((i=r.state).wsize=0,i.whave=0,i.wnext=0,inflateResetKeep(r)):_}function inflateReset2(r,i){var o,u;return r&&r.state?(u=r.state,i<0?(o=0,i=-i):(o=1+(i>>4),i<48&&(i&=15)),i&&(i<8||i>15)?_:(null!==u.window&&u.wbits!==i&&(u.window=null),u.wrap=o,u.wbits=i,inflateReset(r))):_}function inflateInit2(r,i){var o,u;return r?(u=new InflateState,r.state=u,u.window=null,0!==(o=inflateReset2(r,i))&&(r.state=null),o):_}var P,O,I=!0;function fixedtables(r){if(I){var i;for(P=new u.Buf32(512),O=new u.Buf32(32),i=0;i<144;)r.lens[i++]=8;for(;i<256;)r.lens[i++]=9;for(;i<280;)r.lens[i++]=7;for(;i<288;)r.lens[i++]=8;for(w(1,r.lens,0,288,P,0,r.work,{bits:9}),i=0;i<32;)r.lens[i++]=5;w(2,r.lens,0,32,O,0,r.work,{bits:5}),I=!1}r.lencode=P,r.lenbits=9,r.distcode=O,r.distbits=5}function updatewindow(r,i,o,p){var g,y=r.state;return null===y.window&&(y.wsize=1<<y.wbits,y.wnext=0,y.whave=0,y.window=new u.Buf8(y.wsize)),p>=y.wsize?(u.arraySet(y.window,i,o-y.wsize,y.wsize,0),y.wnext=0,y.whave=y.wsize):((g=y.wsize-y.wnext)>p&&(g=p),u.arraySet(y.window,i,o-p,g,y.wnext),(p-=g)?(u.arraySet(y.window,i,o-p,p,0),y.wnext=p,y.whave=y.wsize):(y.wnext+=g,y.wnext===y.wsize&&(y.wnext=0),y.whave<y.wsize&&(y.whave+=g))),0}i.inflateReset=inflateReset,i.inflateReset2=inflateReset2,i.inflateResetKeep=inflateResetKeep,i.inflateInit=function inflateInit(r){return inflateInit2(r,15)},i.inflateInit2=inflateInit2,i.inflate=function inflate(r,i){var o,P,O,I,B,R,D,N,W,U,j,G,X,K,Y,J,$,ee,te,re,ne,ie,oe,ae,se=0,ce=new u.Buf8(4),le=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!r||!r.state||!r.output||!r.input&&0!==r.avail_in)return _;(o=r.state).mode===x&&(o.mode=13),B=r.next_out,O=r.output,D=r.avail_out,I=r.next_in,P=r.input,R=r.avail_in,N=o.hold,W=o.bits,U=R,j=D,ie=0;e:for(;;)switch(o.mode){case 1:if(0===o.wrap){o.mode=13;break}for(;W<16;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(2&o.wrap&&35615===N){o.check=0,ce[0]=255&N,ce[1]=N>>>8&255,o.check=g(o.check,ce,2,0),N=0,W=0,o.mode=2;break}if(o.flags=0,o.head&&(o.head.done=!1),!(1&o.wrap)||(((255&N)<<8)+(N>>8))%31){r.msg="incorrect header check",o.mode=k;break}if(8!=(15&N)){r.msg="unknown compression method",o.mode=k;break}if(W-=4,ne=8+(15&(N>>>=4)),0===o.wbits)o.wbits=ne;else if(ne>o.wbits){r.msg="invalid window size",o.mode=k;break}o.dmax=1<<ne,r.adler=o.check=1,o.mode=512&N?10:x,N=0,W=0;break;case 2:for(;W<16;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(o.flags=N,8!=(255&o.flags)){r.msg="unknown compression method",o.mode=k;break}if(57344&o.flags){r.msg="unknown header flags set",o.mode=k;break}o.head&&(o.head.text=N>>8&1),512&o.flags&&(ce[0]=255&N,ce[1]=N>>>8&255,o.check=g(o.check,ce,2,0)),N=0,W=0,o.mode=3;case 3:for(;W<32;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}o.head&&(o.head.time=N),512&o.flags&&(ce[0]=255&N,ce[1]=N>>>8&255,ce[2]=N>>>16&255,ce[3]=N>>>24&255,o.check=g(o.check,ce,4,0)),N=0,W=0,o.mode=4;case 4:for(;W<16;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}o.head&&(o.head.xflags=255&N,o.head.os=N>>8),512&o.flags&&(ce[0]=255&N,ce[1]=N>>>8&255,o.check=g(o.check,ce,2,0)),N=0,W=0,o.mode=5;case 5:if(1024&o.flags){for(;W<16;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}o.length=N,o.head&&(o.head.extra_len=N),512&o.flags&&(ce[0]=255&N,ce[1]=N>>>8&255,o.check=g(o.check,ce,2,0)),N=0,W=0}else o.head&&(o.head.extra=null);o.mode=6;case 6:if(1024&o.flags&&((G=o.length)>R&&(G=R),G&&(o.head&&(ne=o.head.extra_len-o.length,o.head.extra||(o.head.extra=new Array(o.head.extra_len)),u.arraySet(o.head.extra,P,I,G,ne)),512&o.flags&&(o.check=g(o.check,P,G,I)),R-=G,I+=G,o.length-=G),o.length))break e;o.length=0,o.mode=7;case 7:if(2048&o.flags){if(0===R)break e;G=0;do{ne=P[I+G++],o.head&&ne&&o.length<65536&&(o.head.name+=String.fromCharCode(ne))}while(ne&&G<R);if(512&o.flags&&(o.check=g(o.check,P,G,I)),R-=G,I+=G,ne)break e}else o.head&&(o.head.name=null);o.length=0,o.mode=8;case 8:if(4096&o.flags){if(0===R)break e;G=0;do{ne=P[I+G++],o.head&&ne&&o.length<65536&&(o.head.comment+=String.fromCharCode(ne))}while(ne&&G<R);if(512&o.flags&&(o.check=g(o.check,P,G,I)),R-=G,I+=G,ne)break e}else o.head&&(o.head.comment=null);o.mode=9;case 9:if(512&o.flags){for(;W<16;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(N!==(65535&o.check)){r.msg="header crc mismatch",o.mode=k;break}N=0,W=0}o.head&&(o.head.hcrc=o.flags>>9&1,o.head.done=!0),r.adler=o.check=0,o.mode=x;break;case 10:for(;W<32;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}r.adler=o.check=zswap32(N),N=0,W=0,o.mode=11;case 11:if(0===o.havedict)return r.next_out=B,r.avail_out=D,r.next_in=I,r.avail_in=R,o.hold=N,o.bits=W,2;r.adler=o.check=1,o.mode=x;case x:if(5===i||6===i)break e;case 13:if(o.last){N>>>=7&W,W-=7&W,o.mode=27;break}for(;W<3;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}switch(o.last=1&N,W-=1,3&(N>>>=1)){case 0:o.mode=14;break;case 1:if(fixedtables(o),o.mode=20,6===i){N>>>=2,W-=2;break e}break;case 2:o.mode=17;break;case 3:r.msg="invalid block type",o.mode=k}N>>>=2,W-=2;break;case 14:for(N>>>=7&W,W-=7&W;W<32;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if((65535&N)!=(N>>>16^65535)){r.msg="invalid stored block lengths",o.mode=k;break}if(o.length=65535&N,N=0,W=0,o.mode=15,6===i)break e;case 15:o.mode=16;case 16:if(G=o.length){if(G>R&&(G=R),G>D&&(G=D),0===G)break e;u.arraySet(O,P,I,G,B),R-=G,I+=G,D-=G,B+=G,o.length-=G;break}o.mode=x;break;case 17:for(;W<14;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(o.nlen=257+(31&N),N>>>=5,W-=5,o.ndist=1+(31&N),N>>>=5,W-=5,o.ncode=4+(15&N),N>>>=4,W-=4,o.nlen>286||o.ndist>30){r.msg="too many length or distance symbols",o.mode=k;break}o.have=0,o.mode=18;case 18:for(;o.have<o.ncode;){for(;W<3;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}o.lens[le[o.have++]]=7&N,N>>>=3,W-=3}for(;o.have<19;)o.lens[le[o.have++]]=0;if(o.lencode=o.lendyn,o.lenbits=7,oe={bits:o.lenbits},ie=w(0,o.lens,0,19,o.lencode,0,o.work,oe),o.lenbits=oe.bits,ie){r.msg="invalid code lengths set",o.mode=k;break}o.have=0,o.mode=19;case 19:for(;o.have<o.nlen+o.ndist;){for(;J=(se=o.lencode[N&(1<<o.lenbits)-1])>>>16&255,$=65535&se,!((Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if($<16)N>>>=Y,W-=Y,o.lens[o.have++]=$;else{if(16===$){for(ae=Y+2;W<ae;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(N>>>=Y,W-=Y,0===o.have){r.msg="invalid bit length repeat",o.mode=k;break}ne=o.lens[o.have-1],G=3+(3&N),N>>>=2,W-=2}else if(17===$){for(ae=Y+3;W<ae;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}W-=Y,ne=0,G=3+(7&(N>>>=Y)),N>>>=3,W-=3}else{for(ae=Y+7;W<ae;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}W-=Y,ne=0,G=11+(127&(N>>>=Y)),N>>>=7,W-=7}if(o.have+G>o.nlen+o.ndist){r.msg="invalid bit length repeat",o.mode=k;break}for(;G--;)o.lens[o.have++]=ne}}if(o.mode===k)break;if(0===o.lens[256]){r.msg="invalid code -- missing end-of-block",o.mode=k;break}if(o.lenbits=9,oe={bits:o.lenbits},ie=w(1,o.lens,0,o.nlen,o.lencode,0,o.work,oe),o.lenbits=oe.bits,ie){r.msg="invalid literal/lengths set",o.mode=k;break}if(o.distbits=6,o.distcode=o.distdyn,oe={bits:o.distbits},ie=w(2,o.lens,o.nlen,o.ndist,o.distcode,0,o.work,oe),o.distbits=oe.bits,ie){r.msg="invalid distances set",o.mode=k;break}if(o.mode=20,6===i)break e;case 20:o.mode=21;case 21:if(R>=6&&D>=258){r.next_out=B,r.avail_out=D,r.next_in=I,r.avail_in=R,o.hold=N,o.bits=W,y(r,j),B=r.next_out,O=r.output,D=r.avail_out,I=r.next_in,P=r.input,R=r.avail_in,N=o.hold,W=o.bits,o.mode===x&&(o.back=-1);break}for(o.back=0;J=(se=o.lencode[N&(1<<o.lenbits)-1])>>>16&255,$=65535&se,!((Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(J&&0==(240&J)){for(ee=Y,te=J,re=$;J=(se=o.lencode[re+((N&(1<<ee+te)-1)>>ee)])>>>16&255,$=65535&se,!(ee+(Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}N>>>=ee,W-=ee,o.back+=ee}if(N>>>=Y,W-=Y,o.back+=Y,o.length=$,0===J){o.mode=26;break}if(32&J){o.back=-1,o.mode=x;break}if(64&J){r.msg="invalid literal/length code",o.mode=k;break}o.extra=15&J,o.mode=22;case 22:if(o.extra){for(ae=o.extra;W<ae;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}o.length+=N&(1<<o.extra)-1,N>>>=o.extra,W-=o.extra,o.back+=o.extra}o.was=o.length,o.mode=23;case 23:for(;J=(se=o.distcode[N&(1<<o.distbits)-1])>>>16&255,$=65535&se,!((Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(0==(240&J)){for(ee=Y,te=J,re=$;J=(se=o.distcode[re+((N&(1<<ee+te)-1)>>ee)])>>>16&255,$=65535&se,!(ee+(Y=se>>>24)<=W);){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}N>>>=ee,W-=ee,o.back+=ee}if(N>>>=Y,W-=Y,o.back+=Y,64&J){r.msg="invalid distance code",o.mode=k;break}o.offset=$,o.extra=15&J,o.mode=24;case 24:if(o.extra){for(ae=o.extra;W<ae;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}o.offset+=N&(1<<o.extra)-1,N>>>=o.extra,W-=o.extra,o.back+=o.extra}if(o.offset>o.dmax){r.msg="invalid distance too far back",o.mode=k;break}o.mode=25;case 25:if(0===D)break e;if(G=j-D,o.offset>G){if((G=o.offset-G)>o.whave&&o.sane){r.msg="invalid distance too far back",o.mode=k;break}G>o.wnext?(G-=o.wnext,X=o.wsize-G):X=o.wnext-G,G>o.length&&(G=o.length),K=o.window}else K=O,X=B-o.offset,G=o.length;G>D&&(G=D),D-=G,o.length-=G;do{O[B++]=K[X++]}while(--G);0===o.length&&(o.mode=21);break;case 26:if(0===D)break e;O[B++]=o.length,D--,o.mode=21;break;case 27:if(o.wrap){for(;W<32;){if(0===R)break e;R--,N|=P[I++]<<W,W+=8}if(j-=D,r.total_out+=j,o.total+=j,j&&(r.adler=o.check=o.flags?g(o.check,O,j,B-j):p(o.check,O,j,B-j)),j=D,(o.flags?N:zswap32(N))!==o.check){r.msg="incorrect data check",o.mode=k;break}N=0,W=0}o.mode=28;case 28:if(o.wrap&&o.flags){for(;W<32;){if(0===R)break e;R--,N+=P[I++]<<W,W+=8}if(N!==(4294967295&o.total)){r.msg="incorrect length check",o.mode=k;break}N=0,W=0}o.mode=29;case 29:ie=1;break e;case k:ie=-3;break e;case 31:return-4;default:return _}return r.next_out=B,r.avail_out=D,r.next_in=I,r.avail_in=R,o.hold=N,o.bits=W,(o.wsize||j!==r.avail_out&&o.mode<k&&(o.mode<27||4!==i))&&updatewindow(r,r.output,r.next_out,j-r.avail_out)?(o.mode=31,-4):(U-=r.avail_in,j-=r.avail_out,r.total_in+=U,r.total_out+=j,o.total+=j,o.wrap&&j&&(r.adler=o.check=o.flags?g(o.check,O,j,r.next_out-j):p(o.check,O,j,r.next_out-j)),r.data_type=o.bits+(o.last?64:0)+(o.mode===x?128:0)+(20===o.mode||15===o.mode?256:0),(0===U&&0===j||4===i)&&0===ie&&(ie=-5),ie)},i.inflateEnd=function inflateEnd(r){if(!r||!r.state)return _;var i=r.state;return i.window&&(i.window=null),r.state=null,0},i.inflateGetHeader=function inflateGetHeader(r,i){var o;return r&&r.state?0==(2&(o=r.state).wrap)?_:(o.head=i,i.done=!1,0):_},i.inflateSetDictionary=function inflateSetDictionary(r,i){var o,u=i.length;return r&&r.state?0!==(o=r.state).wrap&&11!==o.mode?_:11===o.mode&&p(1,i,u,0)!==o.check?-3:updatewindow(r,i,u,u)?(o.mode=31,-4):(o.havedict=1,0):_},i.inflateInfo="pako inflate (from Nodeca project)"},9241:function(r,i,o){"use strict";var u=o(4236),p=15,g=[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,0,0],y=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],w=[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,0,0],_=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];r.exports=function inflate_table(r,i,o,x,k,P,O,I){var B,R,D,N,W,U,j,G,X,K=I.bits,Y=0,J=0,$=0,ee=0,te=0,re=0,ne=0,ie=0,oe=0,ae=0,se=null,ce=0,le=new u.Buf16(16),ue=new u.Buf16(16),fe=null,he=0;for(Y=0;Y<=p;Y++)le[Y]=0;for(J=0;J<x;J++)le[i[o+J]]++;for(te=K,ee=p;ee>=1&&0===le[ee];ee--);if(te>ee&&(te=ee),0===ee)return k[P++]=20971520,k[P++]=20971520,I.bits=1,0;for($=1;$<ee&&0===le[$];$++);for(te<$&&(te=$),ie=1,Y=1;Y<=p;Y++)if(ie<<=1,(ie-=le[Y])<0)return-1;if(ie>0&&(0===r||1!==ee))return-1;for(ue[1]=0,Y=1;Y<p;Y++)ue[Y+1]=ue[Y]+le[Y];for(J=0;J<x;J++)0!==i[o+J]&&(O[ue[i[o+J]]++]=J);if(0===r?(se=fe=O,U=19):1===r?(se=g,ce-=257,fe=y,he-=257,U=256):(se=w,fe=_,U=-1),ae=0,J=0,Y=$,W=P,re=te,ne=0,D=-1,N=(oe=1<<te)-1,1===r&&oe>852||2===r&&oe>592)return 1;for(;;){j=Y-ne,O[J]<U?(G=0,X=O[J]):O[J]>U?(G=fe[he+O[J]],X=se[ce+O[J]]):(G=96,X=0),B=1<<Y-ne,$=R=1<<re;do{k[W+(ae>>ne)+(R-=B)]=j<<24|G<<16|X|0}while(0!==R);for(B=1<<Y-1;ae&B;)B>>=1;if(0!==B?(ae&=B-1,ae+=B):ae=0,J++,0==--le[Y]){if(Y===ee)break;Y=i[o+O[J]]}if(Y>te&&(ae&N)!==D){for(0===ne&&(ne=te),W+=$,ie=1<<(re=Y-ne);re+ne<ee&&!((ie-=le[re+ne])<=0);)re++,ie<<=1;if(oe+=1<<re,1===r&&oe>852||2===r&&oe>592)return 1;k[D=ae&N]=te<<24|re<<16|W-P|0}}return 0!==ae&&(k[W+ae]=Y-ne<<24|64<<16|0),I.bits=te,0}},8898:function(r){"use strict";r.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},342:function(r,i,o){"use strict";var u=o(4236);function zero(r){for(var i=r.length;--i>=0;)r[i]=0}var p=256,g=286,y=30,w=15,_=[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],x=[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],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],P=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],O=new Array(576);zero(O);var I=new Array(60);zero(I);var B=new Array(512);zero(B);var R=new Array(256);zero(R);var D=new Array(29);zero(D);var N,W,U,j=new Array(y);function StaticTreeDesc(r,i,o,u,p){this.static_tree=r,this.extra_bits=i,this.extra_base=o,this.elems=u,this.max_length=p,this.has_stree=r&&r.length}function TreeDesc(r,i){this.dyn_tree=r,this.max_code=0,this.stat_desc=i}function d_code(r){return r<256?B[r]:B[256+(r>>>7)]}function put_short(r,i){r.pending_buf[r.pending++]=255&i,r.pending_buf[r.pending++]=i>>>8&255}function send_bits(r,i,o){r.bi_valid>16-o?(r.bi_buf|=i<<r.bi_valid&65535,put_short(r,r.bi_buf),r.bi_buf=i>>16-r.bi_valid,r.bi_valid+=o-16):(r.bi_buf|=i<<r.bi_valid&65535,r.bi_valid+=o)}function send_code(r,i,o){send_bits(r,o[2*i],o[2*i+1])}function bi_reverse(r,i){var o=0;do{o|=1&r,r>>>=1,o<<=1}while(--i>0);return o>>>1}function gen_codes(r,i,o){var u,p,g=new Array(16),y=0;for(u=1;u<=w;u++)g[u]=y=y+o[u-1]<<1;for(p=0;p<=i;p++){var _=r[2*p+1];0!==_&&(r[2*p]=bi_reverse(g[_]++,_))}}function init_block(r){var i;for(i=0;i<g;i++)r.dyn_ltree[2*i]=0;for(i=0;i<y;i++)r.dyn_dtree[2*i]=0;for(i=0;i<19;i++)r.bl_tree[2*i]=0;r.dyn_ltree[512]=1,r.opt_len=r.static_len=0,r.last_lit=r.matches=0}function bi_windup(r){r.bi_valid>8?put_short(r,r.bi_buf):r.bi_valid>0&&(r.pending_buf[r.pending++]=r.bi_buf),r.bi_buf=0,r.bi_valid=0}function smaller(r,i,o,u){var p=2*i,g=2*o;return r[p]<r[g]||r[p]===r[g]&&u[i]<=u[o]}function pqdownheap(r,i,o){for(var u=r.heap[o],p=o<<1;p<=r.heap_len&&(p<r.heap_len&&smaller(i,r.heap[p+1],r.heap[p],r.depth)&&p++,!smaller(i,u,r.heap[p],r.depth));)r.heap[o]=r.heap[p],o=p,p<<=1;r.heap[o]=u}function compress_block(r,i,o){var u,g,y,w,k=0;if(0!==r.last_lit)do{u=r.pending_buf[r.d_buf+2*k]<<8|r.pending_buf[r.d_buf+2*k+1],g=r.pending_buf[r.l_buf+k],k++,0===u?send_code(r,g,i):(send_code(r,(y=R[g])+p+1,i),0!==(w=_[y])&&send_bits(r,g-=D[y],w),send_code(r,y=d_code(--u),o),0!==(w=x[y])&&send_bits(r,u-=j[y],w))}while(k<r.last_lit);send_code(r,256,i)}function build_tree(r,i){var o,u,p,g=i.dyn_tree,y=i.stat_desc.static_tree,_=i.stat_desc.has_stree,x=i.stat_desc.elems,k=-1;for(r.heap_len=0,r.heap_max=573,o=0;o<x;o++)0!==g[2*o]?(r.heap[++r.heap_len]=k=o,r.depth[o]=0):g[2*o+1]=0;for(;r.heap_len<2;)g[2*(p=r.heap[++r.heap_len]=k<2?++k:0)]=1,r.depth[p]=0,r.opt_len--,_&&(r.static_len-=y[2*p+1]);for(i.max_code=k,o=r.heap_len>>1;o>=1;o--)pqdownheap(r,g,o);p=x;do{o=r.heap[1],r.heap[1]=r.heap[r.heap_len--],pqdownheap(r,g,1),u=r.heap[1],r.heap[--r.heap_max]=o,r.heap[--r.heap_max]=u,g[2*p]=g[2*o]+g[2*u],r.depth[p]=(r.depth[o]>=r.depth[u]?r.depth[o]:r.depth[u])+1,g[2*o+1]=g[2*u+1]=p,r.heap[1]=p++,pqdownheap(r,g,1)}while(r.heap_len>=2);r.heap[--r.heap_max]=r.heap[1],function gen_bitlen(r,i){var o,u,p,g,y,_,x=i.dyn_tree,k=i.max_code,P=i.stat_desc.static_tree,O=i.stat_desc.has_stree,I=i.stat_desc.extra_bits,B=i.stat_desc.extra_base,R=i.stat_desc.max_length,D=0;for(g=0;g<=w;g++)r.bl_count[g]=0;for(x[2*r.heap[r.heap_max]+1]=0,o=r.heap_max+1;o<573;o++)(g=x[2*x[2*(u=r.heap[o])+1]+1]+1)>R&&(g=R,D++),x[2*u+1]=g,u>k||(r.bl_count[g]++,y=0,u>=B&&(y=I[u-B]),_=x[2*u],r.opt_len+=_*(g+y),O&&(r.static_len+=_*(P[2*u+1]+y)));if(0!==D){do{for(g=R-1;0===r.bl_count[g];)g--;r.bl_count[g]--,r.bl_count[g+1]+=2,r.bl_count[R]--,D-=2}while(D>0);for(g=R;0!==g;g--)for(u=r.bl_count[g];0!==u;)(p=r.heap[--o])>k||(x[2*p+1]!==g&&(r.opt_len+=(g-x[2*p+1])*x[2*p],x[2*p+1]=g),u--)}}(r,i),gen_codes(g,k,r.bl_count)}function scan_tree(r,i,o){var u,p,g=-1,y=i[1],w=0,_=7,x=4;for(0===y&&(_=138,x=3),i[2*(o+1)+1]=65535,u=0;u<=o;u++)p=y,y=i[2*(u+1)+1],++w<_&&p===y||(w<x?r.bl_tree[2*p]+=w:0!==p?(p!==g&&r.bl_tree[2*p]++,r.bl_tree[32]++):w<=10?r.bl_tree[34]++:r.bl_tree[36]++,w=0,g=p,0===y?(_=138,x=3):p===y?(_=6,x=3):(_=7,x=4))}function send_tree(r,i,o){var u,p,g=-1,y=i[1],w=0,_=7,x=4;for(0===y&&(_=138,x=3),u=0;u<=o;u++)if(p=y,y=i[2*(u+1)+1],!(++w<_&&p===y)){if(w<x)do{send_code(r,p,r.bl_tree)}while(0!=--w);else 0!==p?(p!==g&&(send_code(r,p,r.bl_tree),w--),send_code(r,16,r.bl_tree),send_bits(r,w-3,2)):w<=10?(send_code(r,17,r.bl_tree),send_bits(r,w-3,3)):(send_code(r,18,r.bl_tree),send_bits(r,w-11,7));w=0,g=p,0===y?(_=138,x=3):p===y?(_=6,x=3):(_=7,x=4)}}zero(j);var G=!1;function _tr_stored_block(r,i,o,p){send_bits(r,0+(p?1:0),3),function copy_block(r,i,o,p){bi_windup(r),p&&(put_short(r,o),put_short(r,~o)),u.arraySet(r.pending_buf,r.window,i,o,r.pending),r.pending+=o}(r,i,o,!0)}i._tr_init=function _tr_init(r){G||(!function tr_static_init(){var r,i,o,u,p,P=new Array(16);for(o=0,u=0;u<28;u++)for(D[u]=o,r=0;r<1<<_[u];r++)R[o++]=u;for(R[o-1]=u,p=0,u=0;u<16;u++)for(j[u]=p,r=0;r<1<<x[u];r++)B[p++]=u;for(p>>=7;u<y;u++)for(j[u]=p<<7,r=0;r<1<<x[u]-7;r++)B[256+p++]=u;for(i=0;i<=w;i++)P[i]=0;for(r=0;r<=143;)O[2*r+1]=8,r++,P[8]++;for(;r<=255;)O[2*r+1]=9,r++,P[9]++;for(;r<=279;)O[2*r+1]=7,r++,P[7]++;for(;r<=287;)O[2*r+1]=8,r++,P[8]++;for(gen_codes(O,287,P),r=0;r<y;r++)I[2*r+1]=5,I[2*r]=bi_reverse(r,5);N=new StaticTreeDesc(O,_,257,g,w),W=new StaticTreeDesc(I,x,0,y,w),U=new StaticTreeDesc(new Array(0),k,0,19,7)}(),G=!0),r.l_desc=new TreeDesc(r.dyn_ltree,N),r.d_desc=new TreeDesc(r.dyn_dtree,W),r.bl_desc=new TreeDesc(r.bl_tree,U),r.bi_buf=0,r.bi_valid=0,init_block(r)},i._tr_stored_block=_tr_stored_block,i._tr_flush_block=function _tr_flush_block(r,i,o,u){var g,y,w=0;r.level>0?(2===r.strm.data_type&&(r.strm.data_type=function detect_data_type(r){var i,o=4093624447;for(i=0;i<=31;i++,o>>>=1)if(1&o&&0!==r.dyn_ltree[2*i])return 0;if(0!==r.dyn_ltree[18]||0!==r.dyn_ltree[20]||0!==r.dyn_ltree[26])return 1;for(i=32;i<p;i++)if(0!==r.dyn_ltree[2*i])return 1;return 0}(r)),build_tree(r,r.l_desc),build_tree(r,r.d_desc),w=function build_bl_tree(r){var i;for(scan_tree(r,r.dyn_ltree,r.l_desc.max_code),scan_tree(r,r.dyn_dtree,r.d_desc.max_code),build_tree(r,r.bl_desc),i=18;i>=3&&0===r.bl_tree[2*P[i]+1];i--);return r.opt_len+=3*(i+1)+5+5+4,i}(r),g=r.opt_len+3+7>>>3,(y=r.static_len+3+7>>>3)<=g&&(g=y)):g=y=o+5,o+4<=g&&-1!==i?_tr_stored_block(r,i,o,u):4===r.strategy||y===g?(send_bits(r,2+(u?1:0),3),compress_block(r,O,I)):(send_bits(r,4+(u?1:0),3),function send_all_trees(r,i,o,u){var p;for(send_bits(r,i-257,5),send_bits(r,o-1,5),send_bits(r,u-4,4),p=0;p<u;p++)send_bits(r,r.bl_tree[2*P[p]+1],3);send_tree(r,r.dyn_ltree,i-1),send_tree(r,r.dyn_dtree,o-1)}(r,r.l_desc.max_code+1,r.d_desc.max_code+1,w+1),compress_block(r,r.dyn_ltree,r.dyn_dtree)),init_block(r),u&&bi_windup(r)},i._tr_tally=function _tr_tally(r,i,o){return r.pending_buf[r.d_buf+2*r.last_lit]=i>>>8&255,r.pending_buf[r.d_buf+2*r.last_lit+1]=255&i,r.pending_buf[r.l_buf+r.last_lit]=255&o,r.last_lit++,0===i?r.dyn_ltree[2*o]++:(r.matches++,i--,r.dyn_ltree[2*(R[o]+p+1)]++,r.dyn_dtree[2*d_code(i)]++),r.last_lit===r.lit_bufsize-1},i._tr_align=function _tr_align(r){send_bits(r,2,3),send_code(r,256,O),function bi_flush(r){16===r.bi_valid?(put_short(r,r.bi_buf),r.bi_buf=0,r.bi_valid=0):r.bi_valid>=8&&(r.pending_buf[r.pending++]=255&r.bi_buf,r.bi_buf>>=8,r.bi_valid-=8)}(r)}},2292:function(r){"use strict";r.exports=function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},4155:function(r){var i,o,u=r.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(r){if(i===setTimeout)return setTimeout(r,0);if((i===defaultSetTimout||!i)&&setTimeout)return i=setTimeout,setTimeout(r,0);try{return i(r,0)}catch(o){try{return i.call(null,r,0)}catch(o){return i.call(this,r,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(r){i=defaultSetTimout}try{o="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(r){o=defaultClearTimeout}}();var p,g=[],y=!1,w=-1;function cleanUpNextTick(){y&&p&&(y=!1,p.length?g=p.concat(g):w=-1,g.length&&drainQueue())}function drainQueue(){if(!y){var r=runTimeout(cleanUpNextTick);y=!0;for(var i=g.length;i;){for(p=g,g=[];++w<i;)p&&p[w].run();w=-1,i=g.length}p=null,y=!1,function runClearTimeout(r){if(o===clearTimeout)return clearTimeout(r);if((o===defaultClearTimeout||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(r);try{return o(r)}catch(i){try{return o.call(null,r)}catch(i){return o.call(this,r)}}}(r)}}function Item(r,i){this.fun=r,this.array=i}function noop(){}u.nextTick=function(r){var i=new Array(arguments.length-1);if(arguments.length>1)for(var o=1;o<arguments.length;o++)i[o-1]=arguments[o];g.push(new Item(r,i)),1!==g.length||y||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},u.title="browser",u.browser=!0,u.env={},u.argv=[],u.version="",u.versions={},u.on=noop,u.addListener=noop,u.once=noop,u.off=noop,u.removeListener=noop,u.removeAllListeners=noop,u.emit=noop,u.prependListener=noop,u.prependOnceListener=noop,u.listeners=function(r){return[]},u.binding=function(r){throw new Error("process.binding is not supported")},u.cwd=function(){return"/"},u.chdir=function(r){throw new Error("process.chdir is not supported")},u.umask=function(){return 0}},3697:function(r,i,o){"use strict";var u=o(5972).functionsHaveConfigurableNames(),p=Object,g=TypeError;r.exports=function flags(){if(null!=this&&this!==p(this))throw new g("RegExp.prototype.flags getter called on non-object");var r="";return this.hasIndices&&(r+="d"),this.global&&(r+="g"),this.ignoreCase&&(r+="i"),this.multiline&&(r+="m"),this.dotAll&&(r+="s"),this.unicode&&(r+="u"),this.sticky&&(r+="y"),r},u&&Object.defineProperty&&Object.defineProperty(r.exports,"name",{value:"get flags"})},2847:function(r,i,o){"use strict";var u=o(4289),p=o(5559),g=o(3697),y=o(1721),w=o(2753),_=p(y());u(_,{getPolyfill:y,implementation:g,shim:w}),r.exports=_},1721:function(r,i,o){"use strict";var u=o(3697),p=o(4289).supportsDescriptors,g=Object.getOwnPropertyDescriptor;r.exports=function getPolyfill(){if(p&&"gim"===/a/gim.flags){var r=g(RegExp.prototype,"flags");if(r&&"function"==typeof r.get&&"boolean"==typeof RegExp.prototype.dotAll&&"boolean"==typeof RegExp.prototype.hasIndices){var i="",o={};if(Object.defineProperty(o,"hasIndices",{get:function(){i+="d"}}),Object.defineProperty(o,"sticky",{get:function(){i+="y"}}),"dy"===i)return r.get}}return u}},2753:function(r,i,o){"use strict";var u=o(4289).supportsDescriptors,p=o(1721),g=Object.getOwnPropertyDescriptor,y=Object.defineProperty,w=TypeError,_=Object.getPrototypeOf,x=/a/;r.exports=function shimFlags(){if(!u||!_)throw new w("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var r=p(),i=_(x),o=g(i,"flags");return o&&o.get===r||y(i,"flags",{configurable:!0,enumerable:!1,get:r}),r}},6099:function(r,i,o){var u=o(8823).Buffer;!function(r){r.parser=function(r,i){return new SAXParser(r,i)},r.SAXParser=SAXParser,r.SAXStream=SAXStream,r.createStream=function createStream(r,i){return new SAXStream(r,i)},r.MAX_BUFFER_LENGTH=65536;var i,p=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];function SAXParser(i,o){if(!(this instanceof SAXParser))return new SAXParser(i,o);var u=this;!function clearBuffers(r){for(var i=0,o=p.length;i<o;i++)r[p[i]]=""}(u),u.q=u.c="",u.bufferCheckPosition=r.MAX_BUFFER_LENGTH,u.opt=o||{},u.opt.lowercase=u.opt.lowercase||u.opt.lowercasetags,u.looseCase=u.opt.lowercase?"toLowerCase":"toUpperCase",u.tags=[],u.closed=u.closedRoot=u.sawRoot=!1,u.tag=u.error=null,u.strict=!!i,u.noscript=!(!i&&!u.opt.noscript),u.state=D.BEGIN,u.strictEntities=u.opt.strictEntities,u.ENTITIES=u.strictEntities?Object.create(r.XML_ENTITIES):Object.create(r.ENTITIES),u.attribList=[],u.opt.xmlns&&(u.ns=Object.create(_)),u.trackPosition=!1!==u.opt.position,u.trackPosition&&(u.position=u.line=u.column=0),emit(u,"onready")}r.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"],Object.create||(Object.create=function(r){function F(){}return F.prototype=r,new F}),Object.keys||(Object.keys=function(r){var i=[];for(var o in r)r.hasOwnProperty(o)&&i.push(o);return i}),SAXParser.prototype={end:function(){end(this)},write:function write(i){var o=this;if(this.error)throw this.error;if(o.closed)return error(o,"Cannot write after close. Assign an onready handler.");if(null===i)return end(o);"object"==typeof i&&(i=i.toString());var u=0,g="";for(;g=charAt(i,u++),o.c=g,g;)switch(o.trackPosition&&(o.position++,"\n"===g?(o.line++,o.column=0):o.column++),o.state){case D.BEGIN:if(o.state=D.BEGIN_WHITESPACE,"\ufeff"===g)continue;beginWhiteSpace(o,g);continue;case D.BEGIN_WHITESPACE:beginWhiteSpace(o,g);continue;case D.TEXT:if(o.sawRoot&&!o.closedRoot){for(var y=u-1;g&&"<"!==g&&"&"!==g;)(g=charAt(i,u++))&&o.trackPosition&&(o.position++,"\n"===g?(o.line++,o.column=0):o.column++);o.textNode+=i.substring(y,u-1)}"<"!==g||o.sawRoot&&o.closedRoot&&!o.strict?(isWhitespace(g)||o.sawRoot&&!o.closedRoot||strictFail(o,"Text data outside of root node."),"&"===g?o.state=D.TEXT_ENTITY:o.textNode+=g):(o.state=D.OPEN_WAKA,o.startTagPosition=o.position);continue;case D.SCRIPT:"<"===g?o.state=D.SCRIPT_ENDING:o.script+=g;continue;case D.SCRIPT_ENDING:"/"===g?o.state=D.CLOSE_TAG:(o.script+="<"+g,o.state=D.SCRIPT);continue;case D.OPEN_WAKA:if("!"===g)o.state=D.SGML_DECL,o.sgmlDecl="";else if(isWhitespace(g));else if(isMatch(x,g))o.state=D.OPEN_TAG,o.tagName=g;else if("/"===g)o.state=D.CLOSE_TAG,o.tagName="";else if("?"===g)o.state=D.PROC_INST,o.procInstName=o.procInstBody="";else{if(strictFail(o,"Unencoded <"),o.startTagPosition+1<o.position){var w=o.position-o.startTagPosition;g=new Array(w).join(" ")+g}o.textNode+="<"+g,o.state=D.TEXT}continue;case D.SGML_DECL:"[CDATA["===(o.sgmlDecl+g).toUpperCase()?(emitNode(o,"onopencdata"),o.state=D.CDATA,o.sgmlDecl="",o.cdata=""):o.sgmlDecl+g==="--"?(o.state=D.COMMENT,o.comment="",o.sgmlDecl=""):"DOCTYPE"===(o.sgmlDecl+g).toUpperCase()?(o.state=D.DOCTYPE,(o.doctype||o.sawRoot)&&strictFail(o,"Inappropriately located doctype declaration"),o.doctype="",o.sgmlDecl=""):">"===g?(emitNode(o,"onsgmldeclaration",o.sgmlDecl),o.sgmlDecl="",o.state=D.TEXT):isQuote(g)?(o.state=D.SGML_DECL_QUOTED,o.sgmlDecl+=g):o.sgmlDecl+=g;continue;case D.SGML_DECL_QUOTED:g===o.q&&(o.state=D.SGML_DECL,o.q=""),o.sgmlDecl+=g;continue;case D.DOCTYPE:">"===g?(o.state=D.TEXT,emitNode(o,"ondoctype",o.doctype),o.doctype=!0):(o.doctype+=g,"["===g?o.state=D.DOCTYPE_DTD:isQuote(g)&&(o.state=D.DOCTYPE_QUOTED,o.q=g));continue;case D.DOCTYPE_QUOTED:o.doctype+=g,g===o.q&&(o.q="",o.state=D.DOCTYPE);continue;case D.DOCTYPE_DTD:o.doctype+=g,"]"===g?o.state=D.DOCTYPE:isQuote(g)&&(o.state=D.DOCTYPE_DTD_QUOTED,o.q=g);continue;case D.DOCTYPE_DTD_QUOTED:o.doctype+=g,g===o.q&&(o.state=D.DOCTYPE_DTD,o.q="");continue;case D.COMMENT:"-"===g?o.state=D.COMMENT_ENDING:o.comment+=g;continue;case D.COMMENT_ENDING:"-"===g?(o.state=D.COMMENT_ENDED,o.comment=textopts(o.opt,o.comment),o.comment&&emitNode(o,"oncomment",o.comment),o.comment=""):(o.comment+="-"+g,o.state=D.COMMENT);continue;case D.COMMENT_ENDED:">"!==g?(strictFail(o,"Malformed comment"),o.comment+="--"+g,o.state=D.COMMENT):o.state=D.TEXT;continue;case D.CDATA:"]"===g?o.state=D.CDATA_ENDING:o.cdata+=g;continue;case D.CDATA_ENDING:"]"===g?o.state=D.CDATA_ENDING_2:(o.cdata+="]"+g,o.state=D.CDATA);continue;case D.CDATA_ENDING_2:">"===g?(o.cdata&&emitNode(o,"oncdata",o.cdata),emitNode(o,"onclosecdata"),o.cdata="",o.state=D.TEXT):"]"===g?o.cdata+="]":(o.cdata+="]]"+g,o.state=D.CDATA);continue;case D.PROC_INST:"?"===g?o.state=D.PROC_INST_ENDING:isWhitespace(g)?o.state=D.PROC_INST_BODY:o.procInstName+=g;continue;case D.PROC_INST_BODY:if(!o.procInstBody&&isWhitespace(g))continue;"?"===g?o.state=D.PROC_INST_ENDING:o.procInstBody+=g;continue;case D.PROC_INST_ENDING:">"===g?(emitNode(o,"onprocessinginstruction",{name:o.procInstName,body:o.procInstBody}),o.procInstName=o.procInstBody="",o.state=D.TEXT):(o.procInstBody+="?"+g,o.state=D.PROC_INST_BODY);continue;case D.OPEN_TAG:isMatch(k,g)?o.tagName+=g:(newTag(o),">"===g?openTag(o):"/"===g?o.state=D.OPEN_TAG_SLASH:(isWhitespace(g)||strictFail(o,"Invalid character in tag name"),o.state=D.ATTRIB));continue;case D.OPEN_TAG_SLASH:">"===g?(openTag(o,!0),closeTag(o)):(strictFail(o,"Forward-slash in opening tag not followed by >"),o.state=D.ATTRIB);continue;case D.ATTRIB:if(isWhitespace(g))continue;">"===g?openTag(o):"/"===g?o.state=D.OPEN_TAG_SLASH:isMatch(x,g)?(o.attribName=g,o.attribValue="",o.state=D.ATTRIB_NAME):strictFail(o,"Invalid attribute name");continue;case D.ATTRIB_NAME:"="===g?o.state=D.ATTRIB_VALUE:">"===g?(strictFail(o,"Attribute without value"),o.attribValue=o.attribName,attrib(o),openTag(o)):isWhitespace(g)?o.state=D.ATTRIB_NAME_SAW_WHITE:isMatch(k,g)?o.attribName+=g:strictFail(o,"Invalid attribute name");continue;case D.ATTRIB_NAME_SAW_WHITE:if("="===g)o.state=D.ATTRIB_VALUE;else{if(isWhitespace(g))continue;strictFail(o,"Attribute without value"),o.tag.attributes[o.attribName]="",o.attribValue="",emitNode(o,"onattribute",{name:o.attribName,value:""}),o.attribName="",">"===g?openTag(o):isMatch(x,g)?(o.attribName=g,o.state=D.ATTRIB_NAME):(strictFail(o,"Invalid attribute name"),o.state=D.ATTRIB)}continue;case D.ATTRIB_VALUE:if(isWhitespace(g))continue;isQuote(g)?(o.q=g,o.state=D.ATTRIB_VALUE_QUOTED):(strictFail(o,"Unquoted attribute value"),o.state=D.ATTRIB_VALUE_UNQUOTED,o.attribValue=g);continue;case D.ATTRIB_VALUE_QUOTED:if(g!==o.q){"&"===g?o.state=D.ATTRIB_VALUE_ENTITY_Q:o.attribValue+=g;continue}attrib(o),o.q="",o.state=D.ATTRIB_VALUE_CLOSED;continue;case D.ATTRIB_VALUE_CLOSED:isWhitespace(g)?o.state=D.ATTRIB:">"===g?openTag(o):"/"===g?o.state=D.OPEN_TAG_SLASH:isMatch(x,g)?(strictFail(o,"No whitespace between attributes"),o.attribName=g,o.attribValue="",o.state=D.ATTRIB_NAME):strictFail(o,"Invalid attribute name");continue;case D.ATTRIB_VALUE_UNQUOTED:if(!isAttribEnd(g)){"&"===g?o.state=D.ATTRIB_VALUE_ENTITY_U:o.attribValue+=g;continue}attrib(o),">"===g?openTag(o):o.state=D.ATTRIB;continue;case D.CLOSE_TAG:if(o.tagName)">"===g?closeTag(o):isMatch(k,g)?o.tagName+=g:o.script?(o.script+="</"+o.tagName,o.tagName="",o.state=D.SCRIPT):(isWhitespace(g)||strictFail(o,"Invalid tagname in closing tag"),o.state=D.CLOSE_TAG_SAW_WHITE);else{if(isWhitespace(g))continue;notMatch(x,g)?o.script?(o.script+="</"+g,o.state=D.SCRIPT):strictFail(o,"Invalid tagname in closing tag."):o.tagName=g}continue;case D.CLOSE_TAG_SAW_WHITE:if(isWhitespace(g))continue;">"===g?closeTag(o):strictFail(o,"Invalid characters in closing tag");continue;case D.TEXT_ENTITY:case D.ATTRIB_VALUE_ENTITY_Q:case D.ATTRIB_VALUE_ENTITY_U:var _,I;switch(o.state){case D.TEXT_ENTITY:_=D.TEXT,I="textNode";break;case D.ATTRIB_VALUE_ENTITY_Q:_=D.ATTRIB_VALUE_QUOTED,I="attribValue";break;case D.ATTRIB_VALUE_ENTITY_U:_=D.ATTRIB_VALUE_UNQUOTED,I="attribValue"}";"===g?(o[I]+=parseEntity(o),o.entity="",o.state=_):isMatch(o.entity.length?O:P,g)?o.entity+=g:(strictFail(o,"Invalid character in entity name"),o[I]+="&"+o.entity+g,o.entity="",o.state=_);continue;default:throw new Error(o,"Unknown state: "+o.state)}o.position>=o.bufferCheckPosition&&function checkBufferLength(i){for(var o=Math.max(r.MAX_BUFFER_LENGTH,10),u=0,g=0,y=p.length;g<y;g++){var w=i[p[g]].length;if(w>o)switch(p[g]){case"textNode":closeText(i);break;case"cdata":emitNode(i,"oncdata",i.cdata),i.cdata="";break;case"script":emitNode(i,"onscript",i.script),i.script="";break;default:error(i,"Max buffer length exceeded: "+p[g])}u=Math.max(u,w)}var _=r.MAX_BUFFER_LENGTH-u;i.bufferCheckPosition=_+i.position}(o);return o},resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){!function flushBuffers(r){closeText(r),""!==r.cdata&&(emitNode(r,"oncdata",r.cdata),r.cdata=""),""!==r.script&&(emitNode(r,"onscript",r.script),r.script="")}(this)}};try{i=o(2830).Stream}catch(r){i=function(){}}var g=r.EVENTS.filter((function(r){return"error"!==r&&"end"!==r}));function SAXStream(r,o){if(!(this instanceof SAXStream))return new SAXStream(r,o);i.apply(this),this._parser=new SAXParser(r,o),this.writable=!0,this.readable=!0;var u=this;this._parser.onend=function(){u.emit("end")},this._parser.onerror=function(r){u.emit("error",r),u._parser.error=null},this._decoder=null,g.forEach((function(r){Object.defineProperty(u,"on"+r,{get:function(){return u._parser["on"+r]},set:function(i){if(!i)return u.removeAllListeners(r),u._parser["on"+r]=i,i;u.on(r,i)},enumerable:!0,configurable:!1})}))}SAXStream.prototype=Object.create(i.prototype,{constructor:{value:SAXStream}}),SAXStream.prototype.write=function(r){if("function"==typeof u&&"function"==typeof u.isBuffer&&u.isBuffer(r)){if(!this._decoder){var i=o(2553).s;this._decoder=new i("utf8")}r=this._decoder.write(r)}return this._parser.write(r.toString()),this.emit("data",r),!0},SAXStream.prototype.end=function(r){return r&&r.length&&this.write(r),this._parser.end(),!0},SAXStream.prototype.on=function(r,o){var u=this;return u._parser["on"+r]||-1===g.indexOf(r)||(u._parser["on"+r]=function(){var i=1===arguments.length?[arguments[0]]:Array.apply(null,arguments);i.splice(0,0,r),u.emit.apply(u,i)}),i.prototype.on.call(u,r,o)};var y="http://www.w3.org/XML/1998/namespace",w="http://www.w3.org/2000/xmlns/",_={xml:y,xmlns:w},x=/[:_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]/,k=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,P=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,O=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function isWhitespace(r){return" "===r||"\n"===r||"\r"===r||"\t"===r}function isQuote(r){return'"'===r||"'"===r}function isAttribEnd(r){return">"===r||isWhitespace(r)}function isMatch(r,i){return r.test(i)}function notMatch(r,i){return!isMatch(r,i)}var I,B,R,D=0;for(var N in r.STATE={BEGIN:D++,BEGIN_WHITESPACE:D++,TEXT:D++,TEXT_ENTITY:D++,OPEN_WAKA:D++,SGML_DECL:D++,SGML_DECL_QUOTED:D++,DOCTYPE:D++,DOCTYPE_QUOTED:D++,DOCTYPE_DTD:D++,DOCTYPE_DTD_QUOTED:D++,COMMENT_STARTING:D++,COMMENT:D++,COMMENT_ENDING:D++,COMMENT_ENDED:D++,CDATA:D++,CDATA_ENDING:D++,CDATA_ENDING_2:D++,PROC_INST:D++,PROC_INST_BODY:D++,PROC_INST_ENDING:D++,OPEN_TAG:D++,OPEN_TAG_SLASH:D++,ATTRIB:D++,ATTRIB_NAME:D++,ATTRIB_NAME_SAW_WHITE:D++,ATTRIB_VALUE:D++,ATTRIB_VALUE_QUOTED:D++,ATTRIB_VALUE_CLOSED:D++,ATTRIB_VALUE_UNQUOTED:D++,ATTRIB_VALUE_ENTITY_Q:D++,ATTRIB_VALUE_ENTITY_U:D++,CLOSE_TAG:D++,CLOSE_TAG_SAW_WHITE:D++,SCRIPT:D++,SCRIPT_ENDING:D++},r.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},r.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(r.ENTITIES).forEach((function(i){var o=r.ENTITIES[i],u="number"==typeof o?String.fromCharCode(o):o;r.ENTITIES[i]=u})),r.STATE)r.STATE[r.STATE[N]]=N;function emit(r,i,o){r[i]&&r[i](o)}function emitNode(r,i,o){r.textNode&&closeText(r),emit(r,i,o)}function closeText(r){r.textNode=textopts(r.opt,r.textNode),r.textNode&&emit(r,"ontext",r.textNode),r.textNode=""}function textopts(r,i){return r.trim&&(i=i.trim()),r.normalize&&(i=i.replace(/\s+/g," ")),i}function error(r,i){return closeText(r),r.trackPosition&&(i+="\nLine: "+r.line+"\nColumn: "+r.column+"\nChar: "+r.c),i=new Error(i),r.error=i,emit(r,"onerror",i),r}function end(r){return r.sawRoot&&!r.closedRoot&&strictFail(r,"Unclosed root tag"),r.state!==D.BEGIN&&r.state!==D.BEGIN_WHITESPACE&&r.state!==D.TEXT&&error(r,"Unexpected end"),closeText(r),r.c="",r.closed=!0,emit(r,"onend"),SAXParser.call(r,r.strict,r.opt),r}function strictFail(r,i){if("object"!=typeof r||!(r instanceof SAXParser))throw new Error("bad call to strictFail");r.strict&&error(r,i)}function newTag(r){r.strict||(r.tagName=r.tagName[r.looseCase]());var i=r.tags[r.tags.length-1]||r,o=r.tag={name:r.tagName,attributes:{}};r.opt.xmlns&&(o.ns=i.ns),r.attribList.length=0,emitNode(r,"onopentagstart",o)}function qname(r,i){var o=r.indexOf(":")<0?["",r]:r.split(":"),u=o[0],p=o[1];return i&&"xmlns"===r&&(u="xmlns",p=""),{prefix:u,local:p}}function attrib(r){if(r.strict||(r.attribName=r.attribName[r.looseCase]()),-1!==r.attribList.indexOf(r.attribName)||r.tag.attributes.hasOwnProperty(r.attribName))r.attribName=r.attribValue="";else{if(r.opt.xmlns){var i=qname(r.attribName,!0),o=i.prefix,u=i.local;if("xmlns"===o)if("xml"===u&&r.attribValue!==y)strictFail(r,"xml: prefix must be bound to "+y+"\nActual: "+r.attribValue);else if("xmlns"===u&&r.attribValue!==w)strictFail(r,"xmlns: prefix must be bound to "+w+"\nActual: "+r.attribValue);else{var p=r.tag,g=r.tags[r.tags.length-1]||r;p.ns===g.ns&&(p.ns=Object.create(g.ns)),p.ns[u]=r.attribValue}r.attribList.push([r.attribName,r.attribValue])}else r.tag.attributes[r.attribName]=r.attribValue,emitNode(r,"onattribute",{name:r.attribName,value:r.attribValue});r.attribName=r.attribValue=""}}function openTag(r,i){if(r.opt.xmlns){var o=r.tag,u=qname(r.tagName);o.prefix=u.prefix,o.local=u.local,o.uri=o.ns[u.prefix]||"",o.prefix&&!o.uri&&(strictFail(r,"Unbound namespace prefix: "+JSON.stringify(r.tagName)),o.uri=u.prefix);var p=r.tags[r.tags.length-1]||r;o.ns&&p.ns!==o.ns&&Object.keys(o.ns).forEach((function(i){emitNode(r,"onopennamespace",{prefix:i,uri:o.ns[i]})}));for(var g=0,y=r.attribList.length;g<y;g++){var w=r.attribList[g],_=w[0],x=w[1],k=qname(_,!0),P=k.prefix,O=k.local,I=""===P?"":o.ns[P]||"",B={name:_,value:x,prefix:P,local:O,uri:I};P&&"xmlns"!==P&&!I&&(strictFail(r,"Unbound namespace prefix: "+JSON.stringify(P)),B.uri=P),r.tag.attributes[_]=B,emitNode(r,"onattribute",B)}r.attribList.length=0}r.tag.isSelfClosing=!!i,r.sawRoot=!0,r.tags.push(r.tag),emitNode(r,"onopentag",r.tag),i||(r.noscript||"script"!==r.tagName.toLowerCase()?r.state=D.TEXT:r.state=D.SCRIPT,r.tag=null,r.tagName=""),r.attribName=r.attribValue="",r.attribList.length=0}function closeTag(r){if(!r.tagName)return strictFail(r,"Weird empty close tag."),r.textNode+="</>",void(r.state=D.TEXT);if(r.script){if("script"!==r.tagName)return r.script+="</"+r.tagName+">",r.tagName="",void(r.state=D.SCRIPT);emitNode(r,"onscript",r.script),r.script=""}var i=r.tags.length,o=r.tagName;r.strict||(o=o[r.looseCase]());for(var u=o;i--;){if(r.tags[i].name===u)break;strictFail(r,"Unexpected close tag")}if(i<0)return strictFail(r,"Unmatched closing tag: "+r.tagName),r.textNode+="</"+r.tagName+">",void(r.state=D.TEXT);r.tagName=o;for(var p=r.tags.length;p-- >i;){var g=r.tag=r.tags.pop();r.tagName=r.tag.name,emitNode(r,"onclosetag",r.tagName);var y={};for(var w in g.ns)y[w]=g.ns[w];var _=r.tags[r.tags.length-1]||r;r.opt.xmlns&&g.ns!==_.ns&&Object.keys(g.ns).forEach((function(i){var o=g.ns[i];emitNode(r,"onclosenamespace",{prefix:i,uri:o})}))}0===i&&(r.closedRoot=!0),r.tagName=r.attribValue=r.attribName="",r.attribList.length=0,r.state=D.TEXT}function parseEntity(r){var i,o=r.entity,u=o.toLowerCase(),p="";return r.ENTITIES[o]?r.ENTITIES[o]:r.ENTITIES[u]?r.ENTITIES[u]:("#"===(o=u).charAt(0)&&("x"===o.charAt(1)?(o=o.slice(2),p=(i=parseInt(o,16)).toString(16)):(o=o.slice(1),p=(i=parseInt(o,10)).toString(10))),o=o.replace(/^0+/,""),isNaN(i)||p.toLowerCase()!==o?(strictFail(r,"Invalid character entity"),"&"+r.entity+";"):String.fromCodePoint(i))}function beginWhiteSpace(r,i){"<"===i?(r.state=D.OPEN_WAKA,r.startTagPosition=r.position):isWhitespace(i)||(strictFail(r,"Non-whitespace before first tag."),r.textNode=i,r.state=D.TEXT)}function charAt(r,i){var o="";return i<r.length&&(o=r.charAt(i)),o}D=r.STATE,String.fromCodePoint||(I=String.fromCharCode,B=Math.floor,R=function(){var r,i,o=16384,u=[],p=-1,g=arguments.length;if(!g)return"";for(var y="";++p<g;){var w=Number(arguments[p]);if(!isFinite(w)||w<0||w>1114111||B(w)!==w)throw RangeError("Invalid code point: "+w);w<=65535?u.push(w):(r=55296+((w-=65536)>>10),i=w%1024+56320,u.push(r,i)),(p+1===g||u.length>o)&&(y+=I.apply(null,u),u.length=0)}return y},Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:R,configurable:!0,writable:!0}):String.fromCodePoint=R)}(i)},2830:function(r,i,o){r.exports=Stream;var u=o(7187).EventEmitter;function Stream(){u.call(this)}o(5717)(Stream,u),Stream.Readable=o(6577),Stream.Writable=o(323),Stream.Duplex=o(8656),Stream.Transform=o(4473),Stream.PassThrough=o(2366),Stream.finished=o(1086),Stream.pipeline=o(6472),Stream.Stream=Stream,Stream.prototype.pipe=function(r,i){var o=this;function ondata(i){r.writable&&!1===r.write(i)&&o.pause&&o.pause()}function ondrain(){o.readable&&o.resume&&o.resume()}o.on("data",ondata),r.on("drain",ondrain),r._isStdio||i&&!1===i.end||(o.on("end",onend),o.on("close",onclose));var p=!1;function onend(){p||(p=!0,r.end())}function onclose(){p||(p=!0,"function"==typeof r.destroy&&r.destroy())}function onerror(r){if(cleanup(),0===u.listenerCount(this,"error"))throw r}function cleanup(){o.removeListener("data",ondata),r.removeListener("drain",ondrain),o.removeListener("end",onend),o.removeListener("close",onclose),o.removeListener("error",onerror),r.removeListener("error",onerror),o.removeListener("end",cleanup),o.removeListener("close",cleanup),r.removeListener("close",cleanup)}return o.on("error",onerror),r.on("error",onerror),o.on("end",cleanup),o.on("close",cleanup),r.on("close",cleanup),r.emit("pipe",o),r}},8106:function(r){"use strict";var i={};function createErrorType(r,o,u){u||(u=Error);var p=function(r){function NodeError(i,u,p){return r.call(this,function getMessage(r,i,u){return"string"==typeof o?o:o(r,i,u)}(i,u,p))||this}return function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,r.__proto__=i}(NodeError,r),NodeError}(u);p.prototype.name=u.name,p.prototype.code=r,i[r]=p}function oneOf(r,i){if(Array.isArray(r)){var o=r.length;return r=r.map((function(r){return String(r)})),o>2?"one of ".concat(i," ").concat(r.slice(0,o-1).join(", "),", or ")+r[o-1]:2===o?"one of ".concat(i," ").concat(r[0]," or ").concat(r[1]):"of ".concat(i," ").concat(r[0])}return"of ".concat(i," ").concat(String(r))}createErrorType("ERR_INVALID_OPT_VALUE",(function(r,i){return'The value "'+i+'" is invalid for option "'+r+'"'}),TypeError),createErrorType("ERR_INVALID_ARG_TYPE",(function(r,i,o){var u,p;if("string"==typeof i&&function startsWith(r,i,o){return r.substr(!o||o<0?0:+o,i.length)===i}(i,"not ")?(u="must not be",i=i.replace(/^not /,"")):u="must be",function endsWith(r,i,o){return(void 0===o||o>r.length)&&(o=r.length),r.substring(o-i.length,o)===i}(r," argument"))p="The ".concat(r," ").concat(u," ").concat(oneOf(i,"type"));else{var g=function includes(r,i,o){return"number"!=typeof o&&(o=0),!(o+i.length>r.length)&&-1!==r.indexOf(i,o)}(r,".")?"property":"argument";p='The "'.concat(r,'" ').concat(g," ").concat(u," ").concat(oneOf(i,"type"))}return p+=". Received type ".concat(typeof o)}),TypeError),createErrorType("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),createErrorType("ERR_METHOD_NOT_IMPLEMENTED",(function(r){return"The "+r+" method is not implemented"})),createErrorType("ERR_STREAM_PREMATURE_CLOSE","Premature close"),createErrorType("ERR_STREAM_DESTROYED",(function(r){return"Cannot call "+r+" after a stream was destroyed"})),createErrorType("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),createErrorType("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),createErrorType("ERR_STREAM_WRITE_AFTER_END","write after end"),createErrorType("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),createErrorType("ERR_UNKNOWN_ENCODING",(function(r){return"Unknown encoding: "+r}),TypeError),createErrorType("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),r.exports.q=i},8656:function(r,i,o){"use strict";var u=o(4155),p=Object.keys||function(r){var i=[];for(var o in r)i.push(o);return i};r.exports=Duplex;var g=o(6577),y=o(323);o(5717)(Duplex,g);for(var w=p(y.prototype),_=0;_<w.length;_++){var x=w[_];Duplex.prototype[x]||(Duplex.prototype[x]=y.prototype[x])}function Duplex(r){if(!(this instanceof Duplex))return new Duplex(r);g.call(this,r),y.call(this,r),this.allowHalfOpen=!0,r&&(!1===r.readable&&(this.readable=!1),!1===r.writable&&(this.writable=!1),!1===r.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",onend)))}function onend(){this._writableState.ended||u.nextTick(onEndNT,this)}function onEndNT(r){r.end()}Object.defineProperty(Duplex.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Object.defineProperty(Duplex.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Duplex.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Duplex.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function set(r){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=r,this._writableState.destroyed=r)}})},2366:function(r,i,o){"use strict";r.exports=PassThrough;var u=o(4473);function PassThrough(r){if(!(this instanceof PassThrough))return new PassThrough(r);u.call(this,r)}o(5717)(PassThrough,u),PassThrough.prototype._transform=function(r,i,o){o(null,r)}},6577:function(r,i,o){"use strict";var u,p=o(4155);r.exports=Readable,Readable.ReadableState=ReadableState;o(7187).EventEmitter;var g=function EElistenerCount(r,i){return r.listeners(i).length},y=o(3194),w=o(8823).Buffer,_=o.g.Uint8Array||function(){};var x,k=o(964);x=k&&k.debuglog?k.debuglog("stream"):function debug(){};var P,O,I,B=o(3361),R=o(1029),D=o(94).getHighWaterMark,N=o(8106).q,W=N.ERR_INVALID_ARG_TYPE,U=N.ERR_STREAM_PUSH_AFTER_EOF,j=N.ERR_METHOD_NOT_IMPLEMENTED,G=N.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;o(5717)(Readable,y);var X=R.errorOrDestroy,K=["error","close","destroy","pause","resume"];function ReadableState(r,i,p){u=u||o(8656),r=r||{},"boolean"!=typeof p&&(p=i instanceof u),this.objectMode=!!r.objectMode,p&&(this.objectMode=this.objectMode||!!r.readableObjectMode),this.highWaterMark=D(this,r,"readableHighWaterMark",p),this.buffer=new B,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==r.emitClose,this.autoDestroy=!!r.autoDestroy,this.destroyed=!1,this.defaultEncoding=r.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,r.encoding&&(P||(P=o(2553).s),this.decoder=new P(r.encoding),this.encoding=r.encoding)}function Readable(r){if(u=u||o(8656),!(this instanceof Readable))return new Readable(r);var i=this instanceof u;this._readableState=new ReadableState(r,this,i),this.readable=!0,r&&("function"==typeof r.read&&(this._read=r.read),"function"==typeof r.destroy&&(this._destroy=r.destroy)),y.call(this)}function readableAddChunk(r,i,o,u,p){x("readableAddChunk",i);var g,y=r._readableState;if(null===i)y.reading=!1,function onEofChunk(r,i){if(x("onEofChunk"),i.ended)return;if(i.decoder){var o=i.decoder.end();o&&o.length&&(i.buffer.push(o),i.length+=i.objectMode?1:o.length)}i.ended=!0,i.sync?emitReadable(r):(i.needReadable=!1,i.emittedReadable||(i.emittedReadable=!0,emitReadable_(r)))}(r,y);else if(p||(g=function chunkInvalid(r,i){var o;(function _isUint8Array(r){return w.isBuffer(r)||r instanceof _})(i)||"string"==typeof i||void 0===i||r.objectMode||(o=new W("chunk",["string","Buffer","Uint8Array"],i));return o}(y,i)),g)X(r,g);else if(y.objectMode||i&&i.length>0)if("string"==typeof i||y.objectMode||Object.getPrototypeOf(i)===w.prototype||(i=function _uint8ArrayToBuffer(r){return w.from(r)}(i)),u)y.endEmitted?X(r,new G):addChunk(r,y,i,!0);else if(y.ended)X(r,new U);else{if(y.destroyed)return!1;y.reading=!1,y.decoder&&!o?(i=y.decoder.write(i),y.objectMode||0!==i.length?addChunk(r,y,i,!1):maybeReadMore(r,y)):addChunk(r,y,i,!1)}else u||(y.reading=!1,maybeReadMore(r,y));return!y.ended&&(y.length<y.highWaterMark||0===y.length)}function addChunk(r,i,o,u){i.flowing&&0===i.length&&!i.sync?(i.awaitDrain=0,r.emit("data",o)):(i.length+=i.objectMode?1:o.length,u?i.buffer.unshift(o):i.buffer.push(o),i.needReadable&&emitReadable(r)),maybeReadMore(r,i)}Object.defineProperty(Readable.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._readableState&&this._readableState.destroyed},set:function set(r){this._readableState&&(this._readableState.destroyed=r)}}),Readable.prototype.destroy=R.destroy,Readable.prototype._undestroy=R.undestroy,Readable.prototype._destroy=function(r,i){i(r)},Readable.prototype.push=function(r,i){var o,u=this._readableState;return u.objectMode?o=!0:"string"==typeof r&&((i=i||u.defaultEncoding)!==u.encoding&&(r=w.from(r,i),i=""),o=!0),readableAddChunk(this,r,i,!1,o)},Readable.prototype.unshift=function(r){return readableAddChunk(this,r,null,!0,!1)},Readable.prototype.isPaused=function(){return!1===this._readableState.flowing},Readable.prototype.setEncoding=function(r){P||(P=o(2553).s);var i=new P(r);this._readableState.decoder=i,this._readableState.encoding=this._readableState.decoder.encoding;for(var u=this._readableState.buffer.head,p="";null!==u;)p+=i.write(u.data),u=u.next;return this._readableState.buffer.clear(),""!==p&&this._readableState.buffer.push(p),this._readableState.length=p.length,this};var Y=1073741824;function howMuchToRead(r,i){return r<=0||0===i.length&&i.ended?0:i.objectMode?1:r!=r?i.flowing&&i.length?i.buffer.head.data.length:i.length:(r>i.highWaterMark&&(i.highWaterMark=function computeNewHighWaterMark(r){return r>=Y?r=Y:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r}(r)),r<=i.length?r:i.ended?i.length:(i.needReadable=!0,0))}function emitReadable(r){var i=r._readableState;x("emitReadable",i.needReadable,i.emittedReadable),i.needReadable=!1,i.emittedReadable||(x("emitReadable",i.flowing),i.emittedReadable=!0,p.nextTick(emitReadable_,r))}function emitReadable_(r){var i=r._readableState;x("emitReadable_",i.destroyed,i.length,i.ended),i.destroyed||!i.length&&!i.ended||(r.emit("readable"),i.emittedReadable=!1),i.needReadable=!i.flowing&&!i.ended&&i.length<=i.highWaterMark,flow(r)}function maybeReadMore(r,i){i.readingMore||(i.readingMore=!0,p.nextTick(maybeReadMore_,r,i))}function maybeReadMore_(r,i){for(;!i.reading&&!i.ended&&(i.length<i.highWaterMark||i.flowing&&0===i.length);){var o=i.length;if(x("maybeReadMore read 0"),r.read(0),o===i.length)break}i.readingMore=!1}function updateReadableListening(r){var i=r._readableState;i.readableListening=r.listenerCount("readable")>0,i.resumeScheduled&&!i.paused?i.flowing=!0:r.listenerCount("data")>0&&r.resume()}function nReadingNextTick(r){x("readable nexttick read 0"),r.read(0)}function resume_(r,i){x("resume",i.reading),i.reading||r.read(0),i.resumeScheduled=!1,r.emit("resume"),flow(r),i.flowing&&!i.reading&&r.read(0)}function flow(r){var i=r._readableState;for(x("flow",i.flowing);i.flowing&&null!==r.read(););}function fromList(r,i){return 0===i.length?null:(i.objectMode?o=i.buffer.shift():!r||r>=i.length?(o=i.decoder?i.buffer.join(""):1===i.buffer.length?i.buffer.first():i.buffer.concat(i.length),i.buffer.clear()):o=i.buffer.consume(r,i.decoder),o);var o}function endReadable(r){var i=r._readableState;x("endReadable",i.endEmitted),i.endEmitted||(i.ended=!0,p.nextTick(endReadableNT,i,r))}function endReadableNT(r,i){if(x("endReadableNT",r.endEmitted,r.length),!r.endEmitted&&0===r.length&&(r.endEmitted=!0,i.readable=!1,i.emit("end"),r.autoDestroy)){var o=i._writableState;(!o||o.autoDestroy&&o.finished)&&i.destroy()}}function indexOf(r,i){for(var o=0,u=r.length;o<u;o++)if(r[o]===i)return o;return-1}Readable.prototype.read=function(r){x("read",r),r=parseInt(r,10);var i=this._readableState,o=r;if(0!==r&&(i.emittedReadable=!1),0===r&&i.needReadable&&((0!==i.highWaterMark?i.length>=i.highWaterMark:i.length>0)||i.ended))return x("read: emitReadable",i.length,i.ended),0===i.length&&i.ended?endReadable(this):emitReadable(this),null;if(0===(r=howMuchToRead(r,i))&&i.ended)return 0===i.length&&endReadable(this),null;var u,p=i.needReadable;return x("need readable",p),(0===i.length||i.length-r<i.highWaterMark)&&x("length less than watermark",p=!0),i.ended||i.reading?x("reading or ended",p=!1):p&&(x("do read"),i.reading=!0,i.sync=!0,0===i.length&&(i.needReadable=!0),this._read(i.highWaterMark),i.sync=!1,i.reading||(r=howMuchToRead(o,i))),null===(u=r>0?fromList(r,i):null)?(i.needReadable=i.length<=i.highWaterMark,r=0):(i.length-=r,i.awaitDrain=0),0===i.length&&(i.ended||(i.needReadable=!0),o!==r&&i.ended&&endReadable(this)),null!==u&&this.emit("data",u),u},Readable.prototype._read=function(r){X(this,new j("_read()"))},Readable.prototype.pipe=function(r,i){var o=this,u=this._readableState;switch(u.pipesCount){case 0:u.pipes=r;break;case 1:u.pipes=[u.pipes,r];break;default:u.pipes.push(r)}u.pipesCount+=1,x("pipe count=%d opts=%j",u.pipesCount,i);var y=(!i||!1!==i.end)&&r!==p.stdout&&r!==p.stderr?onend:unpipe;function onunpipe(i,p){x("onunpipe"),i===o&&p&&!1===p.hasUnpiped&&(p.hasUnpiped=!0,function cleanup(){x("cleanup"),r.removeListener("close",onclose),r.removeListener("finish",onfinish),r.removeListener("drain",w),r.removeListener("error",onerror),r.removeListener("unpipe",onunpipe),o.removeListener("end",onend),o.removeListener("end",unpipe),o.removeListener("data",ondata),_=!0,!u.awaitDrain||r._writableState&&!r._writableState.needDrain||w()}())}function onend(){x("onend"),r.end()}u.endEmitted?p.nextTick(y):o.once("end",y),r.on("unpipe",onunpipe);var w=function pipeOnDrain(r){return function pipeOnDrainFunctionResult(){var i=r._readableState;x("pipeOnDrain",i.awaitDrain),i.awaitDrain&&i.awaitDrain--,0===i.awaitDrain&&g(r,"data")&&(i.flowing=!0,flow(r))}}(o);r.on("drain",w);var _=!1;function ondata(i){x("ondata");var p=r.write(i);x("dest.write",p),!1===p&&((1===u.pipesCount&&u.pipes===r||u.pipesCount>1&&-1!==indexOf(u.pipes,r))&&!_&&(x("false write response, pause",u.awaitDrain),u.awaitDrain++),o.pause())}function onerror(i){x("onerror",i),unpipe(),r.removeListener("error",onerror),0===g(r,"error")&&X(r,i)}function onclose(){r.removeListener("finish",onfinish),unpipe()}function onfinish(){x("onfinish"),r.removeListener("close",onclose),unpipe()}function unpipe(){x("unpipe"),o.unpipe(r)}return o.on("data",ondata),function prependListener(r,i,o){if("function"==typeof r.prependListener)return r.prependListener(i,o);r._events&&r._events[i]?Array.isArray(r._events[i])?r._events[i].unshift(o):r._events[i]=[o,r._events[i]]:r.on(i,o)}(r,"error",onerror),r.once("close",onclose),r.once("finish",onfinish),r.emit("pipe",o),u.flowing||(x("pipe resume"),o.resume()),r},Readable.prototype.unpipe=function(r){var i=this._readableState,o={hasUnpiped:!1};if(0===i.pipesCount)return this;if(1===i.pipesCount)return r&&r!==i.pipes||(r||(r=i.pipes),i.pipes=null,i.pipesCount=0,i.flowing=!1,r&&r.emit("unpipe",this,o)),this;if(!r){var u=i.pipes,p=i.pipesCount;i.pipes=null,i.pipesCount=0,i.flowing=!1;for(var g=0;g<p;g++)u[g].emit("unpipe",this,{hasUnpiped:!1});return this}var y=indexOf(i.pipes,r);return-1===y||(i.pipes.splice(y,1),i.pipesCount-=1,1===i.pipesCount&&(i.pipes=i.pipes[0]),r.emit("unpipe",this,o)),this},Readable.prototype.on=function(r,i){var o=y.prototype.on.call(this,r,i),u=this._readableState;return"data"===r?(u.readableListening=this.listenerCount("readable")>0,!1!==u.flowing&&this.resume()):"readable"===r&&(u.endEmitted||u.readableListening||(u.readableListening=u.needReadable=!0,u.flowing=!1,u.emittedReadable=!1,x("on readable",u.length,u.reading),u.length?emitReadable(this):u.reading||p.nextTick(nReadingNextTick,this))),o},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.removeListener=function(r,i){var o=y.prototype.removeListener.call(this,r,i);return"readable"===r&&p.nextTick(updateReadableListening,this),o},Readable.prototype.removeAllListeners=function(r){var i=y.prototype.removeAllListeners.apply(this,arguments);return"readable"!==r&&void 0!==r||p.nextTick(updateReadableListening,this),i},Readable.prototype.resume=function(){var r=this._readableState;return r.flowing||(x("resume"),r.flowing=!r.readableListening,function resume(r,i){i.resumeScheduled||(i.resumeScheduled=!0,p.nextTick(resume_,r,i))}(this,r)),r.paused=!1,this},Readable.prototype.pause=function(){return x("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(x("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Readable.prototype.wrap=function(r){var i=this,o=this._readableState,u=!1;for(var p in r.on("end",(function(){if(x("wrapped end"),o.decoder&&!o.ended){var r=o.decoder.end();r&&r.length&&i.push(r)}i.push(null)})),r.on("data",(function(p){(x("wrapped data"),o.decoder&&(p=o.decoder.write(p)),o.objectMode&&null==p)||(o.objectMode||p&&p.length)&&(i.push(p)||(u=!0,r.pause()))})),r)void 0===this[p]&&"function"==typeof r[p]&&(this[p]=function methodWrap(i){return function methodWrapReturnFunction(){return r[i].apply(r,arguments)}}(p));for(var g=0;g<K.length;g++)r.on(K[g],this.emit.bind(this,K[g]));return this._read=function(i){x("wrapped _read",i),u&&(u=!1,r.resume())},this},"function"==typeof Symbol&&(Readable.prototype[Symbol.asyncIterator]=function(){return void 0===O&&(O=o(828)),O(this)}),Object.defineProperty(Readable.prototype,"readableHighWaterMark",{enumerable:!1,get:function get(){return this._readableState.highWaterMark}}),Object.defineProperty(Readable.prototype,"readableBuffer",{enumerable:!1,get:function get(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Readable.prototype,"readableFlowing",{enumerable:!1,get:function get(){return this._readableState.flowing},set:function set(r){this._readableState&&(this._readableState.flowing=r)}}),Readable._fromList=fromList,Object.defineProperty(Readable.prototype,"readableLength",{enumerable:!1,get:function get(){return this._readableState.length}}),"function"==typeof Symbol&&(Readable.from=function(r,i){return void 0===I&&(I=o(1265)),I(Readable,r,i)})},4473:function(r,i,o){"use strict";r.exports=Transform;var u=o(8106).q,p=u.ERR_METHOD_NOT_IMPLEMENTED,g=u.ERR_MULTIPLE_CALLBACK,y=u.ERR_TRANSFORM_ALREADY_TRANSFORMING,w=u.ERR_TRANSFORM_WITH_LENGTH_0,_=o(8656);function afterTransform(r,i){var o=this._transformState;o.transforming=!1;var u=o.writecb;if(null===u)return this.emit("error",new g);o.writechunk=null,o.writecb=null,null!=i&&this.push(i),u(r);var p=this._readableState;p.reading=!1,(p.needReadable||p.length<p.highWaterMark)&&this._read(p.highWaterMark)}function Transform(r){if(!(this instanceof Transform))return new Transform(r);_.call(this,r),this._transformState={afterTransform:afterTransform.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,r&&("function"==typeof r.transform&&(this._transform=r.transform),"function"==typeof r.flush&&(this._flush=r.flush)),this.on("prefinish",prefinish)}function prefinish(){var r=this;"function"!=typeof this._flush||this._readableState.destroyed?done(this,null,null):this._flush((function(i,o){done(r,i,o)}))}function done(r,i,o){if(i)return r.emit("error",i);if(null!=o&&r.push(o),r._writableState.length)throw new w;if(r._transformState.transforming)throw new y;return r.push(null)}o(5717)(Transform,_),Transform.prototype.push=function(r,i){return this._transformState.needTransform=!1,_.prototype.push.call(this,r,i)},Transform.prototype._transform=function(r,i,o){o(new p("_transform()"))},Transform.prototype._write=function(r,i,o){var u=this._transformState;if(u.writecb=o,u.writechunk=r,u.writeencoding=i,!u.transforming){var p=this._readableState;(u.needTransform||p.needReadable||p.length<p.highWaterMark)&&this._read(p.highWaterMark)}},Transform.prototype._read=function(r){var i=this._transformState;null===i.writechunk||i.transforming?i.needTransform=!0:(i.transforming=!0,this._transform(i.writechunk,i.writeencoding,i.afterTransform))},Transform.prototype._destroy=function(r,i){_.prototype._destroy.call(this,r,(function(r){i(r)}))}},323:function(r,i,o){"use strict";var u,p=o(4155);function CorkedRequest(r){var i=this;this.next=null,this.entry=null,this.finish=function(){!function onCorkedFinish(r,i,o){var u=r.entry;r.entry=null;for(;u;){var p=u.callback;i.pendingcb--,p(o),u=u.next}i.corkedRequestsFree.next=r}(i,r)}}r.exports=Writable,Writable.WritableState=WritableState;var g={deprecate:o(4927)},y=o(3194),w=o(8823).Buffer,_=o.g.Uint8Array||function(){};var x,k=o(1029),P=o(94).getHighWaterMark,O=o(8106).q,I=O.ERR_INVALID_ARG_TYPE,B=O.ERR_METHOD_NOT_IMPLEMENTED,R=O.ERR_MULTIPLE_CALLBACK,D=O.ERR_STREAM_CANNOT_PIPE,N=O.ERR_STREAM_DESTROYED,W=O.ERR_STREAM_NULL_VALUES,U=O.ERR_STREAM_WRITE_AFTER_END,j=O.ERR_UNKNOWN_ENCODING,G=k.errorOrDestroy;function nop(){}function WritableState(r,i,g){u=u||o(8656),r=r||{},"boolean"!=typeof g&&(g=i instanceof u),this.objectMode=!!r.objectMode,g&&(this.objectMode=this.objectMode||!!r.writableObjectMode),this.highWaterMark=P(this,r,"writableHighWaterMark",g),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var y=!1===r.decodeStrings;this.decodeStrings=!y,this.defaultEncoding=r.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(r){!function onwrite(r,i){var o=r._writableState,u=o.sync,g=o.writecb;if("function"!=typeof g)throw new R;if(function onwriteStateUpdate(r){r.writing=!1,r.writecb=null,r.length-=r.writelen,r.writelen=0}(o),i)!function onwriteError(r,i,o,u,g){--i.pendingcb,o?(p.nextTick(g,u),p.nextTick(finishMaybe,r,i),r._writableState.errorEmitted=!0,G(r,u)):(g(u),r._writableState.errorEmitted=!0,G(r,u),finishMaybe(r,i))}(r,o,u,i,g);else{var y=needFinish(o)||r.destroyed;y||o.corked||o.bufferProcessing||!o.bufferedRequest||clearBuffer(r,o),u?p.nextTick(afterWrite,r,o,y,g):afterWrite(r,o,y,g)}}(i,r)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==r.emitClose,this.autoDestroy=!!r.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(r){var i=this instanceof(u=u||o(8656));if(!i&&!x.call(Writable,this))return new Writable(r);this._writableState=new WritableState(r,this,i),this.writable=!0,r&&("function"==typeof r.write&&(this._write=r.write),"function"==typeof r.writev&&(this._writev=r.writev),"function"==typeof r.destroy&&(this._destroy=r.destroy),"function"==typeof r.final&&(this._final=r.final)),y.call(this)}function doWrite(r,i,o,u,p,g,y){i.writelen=u,i.writecb=y,i.writing=!0,i.sync=!0,i.destroyed?i.onwrite(new N("write")):o?r._writev(p,i.onwrite):r._write(p,g,i.onwrite),i.sync=!1}function afterWrite(r,i,o,u){o||function onwriteDrain(r,i){0===i.length&&i.needDrain&&(i.needDrain=!1,r.emit("drain"))}(r,i),i.pendingcb--,u(),finishMaybe(r,i)}function clearBuffer(r,i){i.bufferProcessing=!0;var o=i.bufferedRequest;if(r._writev&&o&&o.next){var u=i.bufferedRequestCount,p=new Array(u),g=i.corkedRequestsFree;g.entry=o;for(var y=0,w=!0;o;)p[y]=o,o.isBuf||(w=!1),o=o.next,y+=1;p.allBuffers=w,doWrite(r,i,!0,i.length,p,"",g.finish),i.pendingcb++,i.lastBufferedRequest=null,g.next?(i.corkedRequestsFree=g.next,g.next=null):i.corkedRequestsFree=new CorkedRequest(i),i.bufferedRequestCount=0}else{for(;o;){var _=o.chunk,x=o.encoding,k=o.callback;if(doWrite(r,i,!1,i.objectMode?1:_.length,_,x,k),o=o.next,i.bufferedRequestCount--,i.writing)break}null===o&&(i.lastBufferedRequest=null)}i.bufferedRequest=o,i.bufferProcessing=!1}function needFinish(r){return r.ending&&0===r.length&&null===r.bufferedRequest&&!r.finished&&!r.writing}function callFinal(r,i){r._final((function(o){i.pendingcb--,o&&G(r,o),i.prefinished=!0,r.emit("prefinish"),finishMaybe(r,i)}))}function finishMaybe(r,i){var o=needFinish(i);if(o&&(function prefinish(r,i){i.prefinished||i.finalCalled||("function"!=typeof r._final||i.destroyed?(i.prefinished=!0,r.emit("prefinish")):(i.pendingcb++,i.finalCalled=!0,p.nextTick(callFinal,r,i)))}(r,i),0===i.pendingcb&&(i.finished=!0,r.emit("finish"),i.autoDestroy))){var u=r._readableState;(!u||u.autoDestroy&&u.endEmitted)&&r.destroy()}return o}o(5717)(Writable,y),WritableState.prototype.getBuffer=function getBuffer(){for(var r=this.bufferedRequest,i=[];r;)i.push(r),r=r.next;return i},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:g.deprecate((function writableStateBufferGetter(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(r){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(x=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function value(r){return!!x.call(this,r)||this===Writable&&(r&&r._writableState instanceof WritableState)}})):x=function realHasInstance(r){return r instanceof this},Writable.prototype.pipe=function(){G(this,new D)},Writable.prototype.write=function(r,i,o){var u=this._writableState,g=!1,y=!u.objectMode&&function _isUint8Array(r){return w.isBuffer(r)||r instanceof _}(r);return y&&!w.isBuffer(r)&&(r=function _uint8ArrayToBuffer(r){return w.from(r)}(r)),"function"==typeof i&&(o=i,i=null),y?i="buffer":i||(i=u.defaultEncoding),"function"!=typeof o&&(o=nop),u.ending?function writeAfterEnd(r,i){var o=new U;G(r,o),p.nextTick(i,o)}(this,o):(y||function validChunk(r,i,o,u){var g;return null===o?g=new W:"string"==typeof o||i.objectMode||(g=new I("chunk",["string","Buffer"],o)),!g||(G(r,g),p.nextTick(u,g),!1)}(this,u,r,o))&&(u.pendingcb++,g=function writeOrBuffer(r,i,o,u,p,g){if(!o){var y=function decodeChunk(r,i,o){r.objectMode||!1===r.decodeStrings||"string"!=typeof i||(i=w.from(i,o));return i}(i,u,p);u!==y&&(o=!0,p="buffer",u=y)}var _=i.objectMode?1:u.length;i.length+=_;var x=i.length<i.highWaterMark;x||(i.needDrain=!0);if(i.writing||i.corked){var k=i.lastBufferedRequest;i.lastBufferedRequest={chunk:u,encoding:p,isBuf:o,callback:g,next:null},k?k.next=i.lastBufferedRequest:i.bufferedRequest=i.lastBufferedRequest,i.bufferedRequestCount+=1}else doWrite(r,i,!1,_,u,p,g);return x}(this,u,y,r,i,o)),g},Writable.prototype.cork=function(){this._writableState.corked++},Writable.prototype.uncork=function(){var r=this._writableState;r.corked&&(r.corked--,r.writing||r.corked||r.bufferProcessing||!r.bufferedRequest||clearBuffer(this,r))},Writable.prototype.setDefaultEncoding=function setDefaultEncoding(r){if("string"==typeof r&&(r=r.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((r+"").toLowerCase())>-1))throw new j(r);return this._writableState.defaultEncoding=r,this},Object.defineProperty(Writable.prototype,"writableBuffer",{enumerable:!1,get:function get(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:!1,get:function get(){return this._writableState.highWaterMark}}),Writable.prototype._write=function(r,i,o){o(new B("_write()"))},Writable.prototype._writev=null,Writable.prototype.end=function(r,i,o){var u=this._writableState;return"function"==typeof r?(o=r,r=null,i=null):"function"==typeof i&&(o=i,i=null),null!=r&&this.write(r,i),u.corked&&(u.corked=1,this.uncork()),u.ending||function endWritable(r,i,o){i.ending=!0,finishMaybe(r,i),o&&(i.finished?p.nextTick(o):r.once("finish",o));i.ended=!0,r.writable=!1}(this,u,o),this},Object.defineProperty(Writable.prototype,"writableLength",{enumerable:!1,get:function get(){return this._writableState.length}}),Object.defineProperty(Writable.prototype,"destroyed",{enumerable:!1,get:function get(){return void 0!==this._writableState&&this._writableState.destroyed},set:function set(r){this._writableState&&(this._writableState.destroyed=r)}}),Writable.prototype.destroy=k.destroy,Writable.prototype._undestroy=k.undestroy,Writable.prototype._destroy=function(r,i){i(r)}},828:function(r,i,o){"use strict";var u,p=o(4155);function _defineProperty(r,i,o){return i in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r}var g=o(1086),y=Symbol("lastResolve"),w=Symbol("lastReject"),_=Symbol("error"),x=Symbol("ended"),k=Symbol("lastPromise"),P=Symbol("handlePromise"),O=Symbol("stream");function createIterResult(r,i){return{value:r,done:i}}function readAndResolve(r){var i=r[y];if(null!==i){var o=r[O].read();null!==o&&(r[k]=null,r[y]=null,r[w]=null,i(createIterResult(o,!1)))}}function onReadable(r){p.nextTick(readAndResolve,r)}var I=Object.getPrototypeOf((function(){})),B=Object.setPrototypeOf((_defineProperty(u={get stream(){return this[O]},next:function next(){var r=this,i=this[_];if(null!==i)return Promise.reject(i);if(this[x])return Promise.resolve(createIterResult(void 0,!0));if(this[O].destroyed)return new Promise((function(i,o){p.nextTick((function(){r[_]?o(r[_]):i(createIterResult(void 0,!0))}))}));var o,u=this[k];if(u)o=new Promise(function wrapForNext(r,i){return function(o,u){r.then((function(){i[x]?o(createIterResult(void 0,!0)):i[P](o,u)}),u)}}(u,this));else{var g=this[O].read();if(null!==g)return Promise.resolve(createIterResult(g,!1));o=new Promise(this[P])}return this[k]=o,o}},Symbol.asyncIterator,(function(){return this})),_defineProperty(u,"return",(function _return(){var r=this;return new Promise((function(i,o){r[O].destroy(null,(function(r){r?o(r):i(createIterResult(void 0,!0))}))}))})),u),I);r.exports=function createReadableStreamAsyncIterator(r){var i,o=Object.create(B,(_defineProperty(i={},O,{value:r,writable:!0}),_defineProperty(i,y,{value:null,writable:!0}),_defineProperty(i,w,{value:null,writable:!0}),_defineProperty(i,_,{value:null,writable:!0}),_defineProperty(i,x,{value:r._readableState.endEmitted,writable:!0}),_defineProperty(i,P,{value:function value(r,i){var u=o[O].read();u?(o[k]=null,o[y]=null,o[w]=null,r(createIterResult(u,!1))):(o[y]=r,o[w]=i)},writable:!0}),i));return o[k]=null,g(r,(function(r){if(r&&"ERR_STREAM_PREMATURE_CLOSE"!==r.code){var i=o[w];return null!==i&&(o[k]=null,o[y]=null,o[w]=null,i(r)),void(o[_]=r)}var u=o[y];null!==u&&(o[k]=null,o[y]=null,o[w]=null,u(createIterResult(void 0,!0))),o[x]=!0})),r.on("readable",onReadable.bind(null,o)),o}},1029:function(r,i,o){"use strict";var u=o(4155);function emitErrorAndCloseNT(r,i){emitErrorNT(r,i),emitCloseNT(r)}function emitCloseNT(r){r._writableState&&!r._writableState.emitClose||r._readableState&&!r._readableState.emitClose||r.emit("close")}function emitErrorNT(r,i){r.emit("error",i)}r.exports={destroy:function destroy(r,i){var o=this,p=this._readableState&&this._readableState.destroyed,g=this._writableState&&this._writableState.destroyed;return p||g?(i?i(r):r&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,u.nextTick(emitErrorNT,this,r)):u.nextTick(emitErrorNT,this,r)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(r||null,(function(r){!i&&r?o._writableState?o._writableState.errorEmitted?u.nextTick(emitCloseNT,o):(o._writableState.errorEmitted=!0,u.nextTick(emitErrorAndCloseNT,o,r)):u.nextTick(emitErrorAndCloseNT,o,r):i?(u.nextTick(emitCloseNT,o),i(r)):u.nextTick(emitCloseNT,o)})),this)},undestroy:function undestroy(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function errorOrDestroy(r,i){var o=r._readableState,u=r._writableState;o&&o.autoDestroy||u&&u.autoDestroy?r.destroy(i):r.emit("error",i)}}},1086:function(r,i,o){"use strict";var u=o(8106).q.ERR_STREAM_PREMATURE_CLOSE;function noop(){}r.exports=function eos(r,i,o){if("function"==typeof i)return eos(r,null,i);i||(i={}),o=function once(r){var i=!1;return function(){if(!i){i=!0;for(var o=arguments.length,u=new Array(o),p=0;p<o;p++)u[p]=arguments[p];r.apply(this,u)}}}(o||noop);var p=i.readable||!1!==i.readable&&r.readable,g=i.writable||!1!==i.writable&&r.writable,y=function onlegacyfinish(){r.writable||_()},w=r._writableState&&r._writableState.finished,_=function onfinish(){g=!1,w=!0,p||o.call(r)},x=r._readableState&&r._readableState.endEmitted,k=function onend(){p=!1,x=!0,g||o.call(r)},P=function onerror(i){o.call(r,i)},O=function onclose(){var i;return p&&!x?(r._readableState&&r._readableState.ended||(i=new u),o.call(r,i)):g&&!w?(r._writableState&&r._writableState.ended||(i=new u),o.call(r,i)):void 0},I=function onrequest(){r.req.on("finish",_)};return!function isRequest(r){return r.setHeader&&"function"==typeof r.abort}(r)?g&&!r._writableState&&(r.on("end",y),r.on("close",y)):(r.on("complete",_),r.on("abort",O),r.req?I():r.on("request",I)),r.on("end",k),r.on("finish",_),!1!==i.error&&r.on("error",P),r.on("close",O),function(){r.removeListener("complete",_),r.removeListener("abort",O),r.removeListener("request",I),r.req&&r.req.removeListener("finish",_),r.removeListener("end",y),r.removeListener("close",y),r.removeListener("finish",_),r.removeListener("end",k),r.removeListener("error",P),r.removeListener("close",O)}}},1265:function(r){r.exports=function(){throw new Error("Readable.from is not available in the browser")}},6472:function(r,i,o){"use strict";var u;var p=o(8106).q,g=p.ERR_MISSING_ARGS,y=p.ERR_STREAM_DESTROYED;function noop(r){if(r)throw r}function destroyer(r,i,p,g){g=function once(r){var i=!1;return function(){i||(i=!0,r.apply(void 0,arguments))}}(g);var w=!1;r.on("close",(function(){w=!0})),void 0===u&&(u=o(1086)),u(r,{readable:i,writable:p},(function(r){if(r)return g(r);w=!0,g()}));var _=!1;return function(i){if(!w&&!_)return _=!0,function isRequest(r){return r.setHeader&&"function"==typeof r.abort}(r)?r.abort():"function"==typeof r.destroy?r.destroy():void g(i||new y("pipe"))}}function call(r){r()}function pipe(r,i){return r.pipe(i)}function popCallback(r){return r.length?"function"!=typeof r[r.length-1]?noop:r.pop():noop}r.exports=function pipeline(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];var u,p=popCallback(i);if(Array.isArray(i[0])&&(i=i[0]),i.length<2)throw new g("streams");var y=i.map((function(r,o){var g=o<i.length-1;return destroyer(r,g,o>0,(function(r){u||(u=r),r&&y.forEach(call),g||(y.forEach(call),p(u))}))}));return i.reduce(pipe)}},94:function(r,i,o){"use strict";var u=o(8106).q.ERR_INVALID_OPT_VALUE;r.exports={getHighWaterMark:function getHighWaterMark(r,i,o,p){var g=function highWaterMarkFrom(r,i,o){return null!=r.highWaterMark?r.highWaterMark:i?r[o]:null}(i,p,o);if(null!=g){if(!isFinite(g)||Math.floor(g)!==g||g<0)throw new u(p?o:"highWaterMark",g);return Math.floor(g)}return r.objectMode?16:16384}}},3194:function(r,i,o){r.exports=o(7187).EventEmitter},2984:function(r,i,o){var u,p,g;p=[],void 0===(g="function"==typeof(u=function(){"use strict";function b(r,i){return void 0===i?i={autoBom:!1}:"object"!=typeof i&&(i={autoBom:!i}),i.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(r.type)?new Blob(["\ufeff",r],{type:r.type}):r}function c(r,i,o){var u=new XMLHttpRequest;u.open("GET",r),u.responseType="blob",u.onload=function(){p(u.response,i,o)},u.onerror=function(){},u.send()}function d(r){var i=new XMLHttpRequest;i.open("HEAD",r,!1);try{i.send()}catch(r){}return 200<=i.status&&299>=i.status}function e(r){try{r.dispatchEvent(new MouseEvent("click"))}catch(o){var i=document.createEvent("MouseEvents");i.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),r.dispatchEvent(i)}}var i="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof o.g&&o.g.global===o.g?o.g:void 0,u=i.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),p=i.saveAs||("object"!=typeof window||window!==i?function(){}:"undefined"!=typeof HTMLAnchorElement&&"download"in HTMLAnchorElement.prototype&&!u?function(r,o,u){var p=i.URL||i.webkitURL,g=document.createElement("a");o=o||r.name||"download",g.download=o,g.rel="noopener","string"==typeof r?(g.href=r,g.origin===location.origin?e(g):d(g.href)?c(r,o,u):e(g,g.target="_blank")):(g.href=p.createObjectURL(r),setTimeout((function(){p.revokeObjectURL(g.href)}),4e4),setTimeout((function(){e(g)}),0))}:"msSaveOrOpenBlob"in navigator?function(r,i,o){if(i=i||r.name||"download","string"!=typeof r)navigator.msSaveOrOpenBlob(b(r,o),i);else if(d(r))c(r,i,o);else{var u=document.createElement("a");u.href=r,u.target="_blank",setTimeout((function(){e(u)}))}}:function(r,o,p,g){if((g=g||open("","_blank"))&&(g.document.title=g.document.body.innerText="downloading..."),"string"==typeof r)return c(r,o,p);var y="application/octet-stream"===r.type,w=/constructor/i.test(i.HTMLElement)||i.safari,_=/CriOS\/[\d]+/.test(navigator.userAgent);if((_||y&&w||u)&&"undefined"!=typeof FileReader){var x=new FileReader;x.onloadend=function(){var r=x.result;r=_?r:r.replace(/^data:[^;]*;/,"data:attachment/file;"),g?g.location.href=r:location=r,g=null},x.readAsDataURL(r)}else{var k=i.URL||i.webkitURL,P=k.createObjectURL(r);g?g.location=P:location.href=P,g=null,setTimeout((function(){k.revokeObjectURL(P)}),4e4)}});i.saveAs=p.saveAs=p,r.exports=p})?u.apply(i,p):u)||(r.exports=g)},2553:function(r,i,o){"use strict";var u=o(4559).Buffer,p=u.isEncoding||function(r){switch((r=""+r)&&r.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function StringDecoder(r){var i;switch(this.encoding=function normalizeEncoding(r){var i=function _normalizeEncoding(r){if(!r)return"utf8";for(var i;;)switch(r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:if(i)return;r=(""+r).toLowerCase(),i=!0}}(r);if("string"!=typeof i&&(u.isEncoding===p||!p(r)))throw new Error("Unknown encoding: "+r);return i||r}(r),this.encoding){case"utf16le":this.text=utf16Text,this.end=utf16End,i=4;break;case"utf8":this.fillLast=utf8FillLast,i=4;break;case"base64":this.text=base64Text,this.end=base64End,i=3;break;default:return this.write=simpleWrite,void(this.end=simpleEnd)}this.lastNeed=0,this.lastTotal=0,this.lastChar=u.allocUnsafe(i)}function utf8CheckByte(r){return r<=127?0:r>>5==6?2:r>>4==14?3:r>>3==30?4:r>>6==2?-1:-2}function utf8FillLast(r){var i=this.lastTotal-this.lastNeed,o=function utf8CheckExtraBytes(r,i,o){if(128!=(192&i[0]))return r.lastNeed=0,"�";if(r.lastNeed>1&&i.length>1){if(128!=(192&i[1]))return r.lastNeed=1,"�";if(r.lastNeed>2&&i.length>2&&128!=(192&i[2]))return r.lastNeed=2,"�"}}(this,r);return void 0!==o?o:this.lastNeed<=r.length?(r.copy(this.lastChar,i,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(r.copy(this.lastChar,i,0,r.length),void(this.lastNeed-=r.length))}function utf16Text(r,i){if((r.length-i)%2==0){var o=r.toString("utf16le",i);if(o){var u=o.charCodeAt(o.length-1);if(u>=55296&&u<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1],o.slice(0,-1)}return o}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=r[r.length-1],r.toString("utf16le",i,r.length-1)}function utf16End(r){var i=r&&r.length?this.write(r):"";if(this.lastNeed){var o=this.lastTotal-this.lastNeed;return i+this.lastChar.toString("utf16le",0,o)}return i}function base64Text(r,i){var o=(r.length-i)%3;return 0===o?r.toString("base64",i):(this.lastNeed=3-o,this.lastTotal=3,1===o?this.lastChar[0]=r[r.length-1]:(this.lastChar[0]=r[r.length-2],this.lastChar[1]=r[r.length-1]),r.toString("base64",i,r.length-o))}function base64End(r){var i=r&&r.length?this.write(r):"";return this.lastNeed?i+this.lastChar.toString("base64",0,3-this.lastNeed):i}function simpleWrite(r){return r.toString(this.encoding)}function simpleEnd(r){return r&&r.length?this.write(r):""}i.s=StringDecoder,StringDecoder.prototype.write=function(r){if(0===r.length)return"";var i,o;if(this.lastNeed){if(void 0===(i=this.fillLast(r)))return"";o=this.lastNeed,this.lastNeed=0}else o=0;return o<r.length?i?i+this.text(r,o):this.text(r,o):i||""},StringDecoder.prototype.end=function utf8End(r){var i=r&&r.length?this.write(r):"";return this.lastNeed?i+"�":i},StringDecoder.prototype.text=function utf8Text(r,i){var o=function utf8CheckIncomplete(r,i,o){var u=i.length-1;if(u<o)return 0;var p=utf8CheckByte(i[u]);if(p>=0)return p>0&&(r.lastNeed=p-1),p;if(--u<o||-2===p)return 0;if(p=utf8CheckByte(i[u]),p>=0)return p>0&&(r.lastNeed=p-2),p;if(--u<o||-2===p)return 0;if(p=utf8CheckByte(i[u]),p>=0)return p>0&&(2===p?p=0:r.lastNeed=p-3),p;return 0}(this,r,i);if(!this.lastNeed)return r.toString("utf8",i);this.lastTotal=o;var u=r.length-(o-this.lastNeed);return r.copy(this.lastChar,0,u),r.toString("utf8",i,u)},StringDecoder.prototype.fillLast=function(r){if(this.lastNeed<=r.length)return r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);r.copy(this.lastChar,this.lastTotal-this.lastNeed,0,r.length),this.lastNeed-=r.length}},311:function(r){function Tree(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function Data(r,i){this.source=r,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=i,this.destLen=0,this.ltree=new Tree,this.dtree=new Tree}var i=new Tree,o=new Tree,u=new Uint8Array(30),p=new Uint16Array(30),g=new Uint8Array(30),y=new Uint16Array(30),w=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),_=new Tree,x=new Uint8Array(320);function tinf_build_bits_base(r,i,o,u){var p,g;for(p=0;p<o;++p)r[p]=0;for(p=0;p<30-o;++p)r[p+o]=p/o|0;for(g=u,p=0;p<30;++p)i[p]=g,g+=1<<r[p]}var k=new Uint16Array(16);function tinf_build_tree(r,i,o,u){var p,g;for(p=0;p<16;++p)r.table[p]=0;for(p=0;p<u;++p)r.table[i[o+p]]++;for(r.table[0]=0,g=0,p=0;p<16;++p)k[p]=g,g+=r.table[p];for(p=0;p<u;++p)i[o+p]&&(r.trans[k[i[o+p]]++]=p)}function tinf_getbit(r){r.bitcount--||(r.tag=r.source[r.sourceIndex++],r.bitcount=7);var i=1&r.tag;return r.tag>>>=1,i}function tinf_read_bits(r,i,o){if(!i)return o;for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var u=r.tag&65535>>>16-i;return r.tag>>>=i,r.bitcount-=i,u+o}function tinf_decode_symbol(r,i){for(;r.bitcount<24;)r.tag|=r.source[r.sourceIndex++]<<r.bitcount,r.bitcount+=8;var o=0,u=0,p=0,g=r.tag;do{u=2*u+(1&g),g>>>=1,++p,o+=i.table[p],u-=i.table[p]}while(u>=0);return r.tag=g,r.bitcount-=p,i.trans[o+u]}function tinf_decode_trees(r,i,o){var u,p,g,y,k,P;for(u=tinf_read_bits(r,5,257),p=tinf_read_bits(r,5,1),g=tinf_read_bits(r,4,4),y=0;y<19;++y)x[y]=0;for(y=0;y<g;++y){var O=tinf_read_bits(r,3,0);x[w[y]]=O}for(tinf_build_tree(_,x,0,19),k=0;k<u+p;){var I=tinf_decode_symbol(r,_);switch(I){case 16:var B=x[k-1];for(P=tinf_read_bits(r,2,3);P;--P)x[k++]=B;break;case 17:for(P=tinf_read_bits(r,3,3);P;--P)x[k++]=0;break;case 18:for(P=tinf_read_bits(r,7,11);P;--P)x[k++]=0;break;default:x[k++]=I}}tinf_build_tree(i,x,0,u),tinf_build_tree(o,x,u,p)}function tinf_inflate_block_data(r,i,o){for(;;){var w,_,x,k,P=tinf_decode_symbol(r,i);if(256===P)return 0;if(P<256)r.dest[r.destLen++]=P;else for(w=tinf_read_bits(r,u[P-=257],p[P]),_=tinf_decode_symbol(r,o),k=x=r.destLen-tinf_read_bits(r,g[_],y[_]);k<x+w;++k)r.dest[r.destLen++]=r.dest[k]}}function tinf_inflate_uncompressed_block(r){for(var i,o;r.bitcount>8;)r.sourceIndex--,r.bitcount-=8;if((i=256*(i=r.source[r.sourceIndex+1])+r.source[r.sourceIndex])!==(65535&~(256*r.source[r.sourceIndex+3]+r.source[r.sourceIndex+2])))return-3;for(r.sourceIndex+=4,o=i;o;--o)r.dest[r.destLen++]=r.source[r.sourceIndex++];return r.bitcount=0,0}!function tinf_build_fixed_trees(r,i){var o;for(o=0;o<7;++o)r.table[o]=0;for(r.table[7]=24,r.table[8]=152,r.table[9]=112,o=0;o<24;++o)r.trans[o]=256+o;for(o=0;o<144;++o)r.trans[24+o]=o;for(o=0;o<8;++o)r.trans[168+o]=280+o;for(o=0;o<112;++o)r.trans[176+o]=144+o;for(o=0;o<5;++o)i.table[o]=0;for(i.table[5]=32,o=0;o<32;++o)i.trans[o]=o}(i,o),tinf_build_bits_base(u,p,4,3),tinf_build_bits_base(g,y,2,1),u[28]=0,p[28]=258,r.exports=function tinf_uncompress(r,u){var p,g,y=new Data(r,u);do{switch(p=tinf_getbit(y),tinf_read_bits(y,2,0)){case 0:g=tinf_inflate_uncompressed_block(y);break;case 1:g=tinf_inflate_block_data(y,i,o);break;case 2:tinf_decode_trees(y,y.ltree,y.dtree),g=tinf_inflate_block_data(y,y.ltree,y.dtree);break;default:g=-3}if(0!==g)throw new Error("Data error")}while(!p);return y.destLen<y.dest.length?"function"==typeof y.dest.slice?y.dest.slice(0,y.destLen):y.dest.subarray(0,y.destLen):y.dest}},1917:function(r,i,o){"use strict";var u,p=o(8823).Buffer;function _defineProperties(r,i){for(var o=0;o<i.length;o++){var u=i[o];u.enumerable=u.enumerable||!1,u.configurable=!0,"value"in u&&(u.writable=!0),Object.defineProperty(r,(p=u.key,g=void 0,"symbol"==typeof(g=function _toPrimitive(r,i){if("object"!=typeof r||null===r)return r;var o=r[Symbol.toPrimitive];if(void 0!==o){var u=o.call(r,i||"default");if("object"!=typeof u)return u;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===i?String:Number)(r)}(p,"string"))?g:String(g)),u)}var p,g}function _createClass(r,i,o){return i&&_defineProperties(r.prototype,i),o&&_defineProperties(r,o),Object.defineProperty(r,"prototype",{writable:!1}),r}function _inheritsLoose(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,_setPrototypeOf(r,i)}function _setPrototypeOf(r,i){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(r,i){return r.__proto__=i,r},_setPrototypeOf(r,i)}function _createForOfIteratorHelperLoose(r,i){var o="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(o)return(o=o.call(r)).next.bind(o);if(Array.isArray(r)||(o=function _unsupportedIterableToArray(r,i){if(!r)return;if("string"==typeof r)return _arrayLikeToArray(r,i);var o=Object.prototype.toString.call(r).slice(8,-1);"Object"===o&&r.constructor&&(o=r.constructor.name);if("Map"===o||"Set"===o)return Array.from(r);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return _arrayLikeToArray(r,i)}(r))||i&&r&&"number"==typeof r.length){o&&(r=o);var u=0;return function(){return u>=r.length?{done:!0}:{done:!1,value:r[u++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayLikeToArray(r,i){(null==i||i>r.length)&&(i=r.length);for(var o=0,u=new Array(i);o<i;o++)u[o]=r[o];return u}function _interopDefault(r){return r&&"object"==typeof r&&"default"in r?r.default:r}o(2526),o(1817),o(2165),o(6649),o(6078),o(1539),o(4747),o(7941),o(7042),o(6992),o(1532),o(8783),o(3948),o(2222),o(9653),o(1249),o(2087),o(8309),o(9601),o(4953),o(8674),o(5003),o(189),o(561),o(2481),o(2707),o(4916),o(4723),o(1038),o(9600),o(3371),o(3290),o(3299),o(8255),o(2990),o(8927),o(3105),o(5035),o(4345),o(7174),o(2846),o(4731),o(7209),o(6319),o(8867),o(7789),o(3739),o(9368),o(4483),o(2056),o(3462),o(678),o(7462),o(3824),o(5021),o(2974),o(5016),o(5109),o(9714),o(3210);var g=_interopDefault(o(5106)),y=o(6610),w=_interopDefault(o(251)),_=_interopDefault(o(3631)),x=_interopDefault(o(4781)),k=_interopDefault(o(9811)),P=_interopDefault(o(6313)),O=_interopDefault(o(311)),I=_interopDefault(o(7709)),B=o(3857),R={logErrors:!1},D=[];function _defineProperty(r,i,o){return i in r?Object.defineProperty(r,i,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[i]=o,r}function _applyDecoratedDescriptor(r,i,o,u,p){var g={};return Object.keys(u).forEach((function(r){g[r]=u[r]})),g.enumerable=!!g.enumerable,g.configurable=!!g.configurable,("value"in g||g.initializer)&&(g.writable=!0),g=o.slice().reverse().reduce((function(o,u){return u(r,i,o)||o}),g),p&&void 0!==g.initializer&&(g.value=g.initializer?g.initializer.call(p):void 0,g.initializer=void 0),void 0===g.initializer&&(Object.defineProperty(r,i,g),g=null),g}function cache(r,i,o){if(o.get){var u=o.get;o.get=function(){var r=u.call(this);return Object.defineProperty(this,i,{value:r}),r}}else if("function"==typeof o.value){var p=o.value;return{get:function get(){var r=new Map;function memoized(){for(var i=arguments.length,o=new Array(i),u=0;u<i;u++)o[u]=arguments[u];var g=o.length>0?o[0]:"value";if(r.has(g))return r.get(g);var y=p.apply(this,o);return r.set(g,y),y}return Object.defineProperty(this,i,{value:memoized}),memoized}}}}R.registerFormat=function(r){D.push(r)},R.openSync=function(r,i){var o=B.readFileSync(r);return R.create(o,i)},R.open=function(r,i,o){"function"==typeof i&&(o=i,i=null),B.readFile(r,(function(r,u){if(r)return o(r);try{var p=R.create(u,i)}catch(r){return o(r)}return o(null,p)}))},R.create=function(r,i){for(var o=0;o<D.length;o++){var u=D[o];if(u.probe(r)){var p=new u(new g.DecodeStream(r));return i?p.getFont(i):p}}throw new Error("Unknown font format")},R.defaultLanguage="en",R.setDefaultLanguage=function(r){void 0===r&&(r="en"),R.defaultLanguage=r};var N=new g.Struct({firstCode:g.uint16,entryCount:g.uint16,idDelta:g.int16,idRangeOffset:g.uint16}),W=new g.Struct({startCharCode:g.uint32,endCharCode:g.uint32,glyphID:g.uint32}),U=new g.Struct({startUnicodeValue:g.uint24,additionalCount:g.uint8}),j=new g.Struct({unicodeValue:g.uint24,glyphID:g.uint16}),G=new g.Array(U,g.uint32),X=new g.Array(j,g.uint32),K=new g.Struct({varSelector:g.uint24,defaultUVS:new g.Pointer(g.uint32,G,{type:"parent"}),nonDefaultUVS:new g.Pointer(g.uint32,X,{type:"parent"})}),Y=new g.VersionedStruct(g.uint16,{0:{length:g.uint16,language:g.uint16,codeMap:new g.LazyArray(g.uint8,256)},2:{length:g.uint16,language:g.uint16,subHeaderKeys:new g.Array(g.uint16,256),subHeaderCount:function subHeaderCount(r){return Math.max.apply(Math,r.subHeaderKeys)},subHeaders:new g.LazyArray(N,"subHeaderCount"),glyphIndexArray:new g.LazyArray(g.uint16,"subHeaderCount")},4:{length:g.uint16,language:g.uint16,segCountX2:g.uint16,segCount:function segCount(r){return r.segCountX2>>1},searchRange:g.uint16,entrySelector:g.uint16,rangeShift:g.uint16,endCode:new g.LazyArray(g.uint16,"segCount"),reservedPad:new g.Reserved(g.uint16),startCode:new g.LazyArray(g.uint16,"segCount"),idDelta:new g.LazyArray(g.int16,"segCount"),idRangeOffset:new g.LazyArray(g.uint16,"segCount"),glyphIndexArray:new g.LazyArray(g.uint16,(function(r){return(r.length-r._currentOffset)/2}))},6:{length:g.uint16,language:g.uint16,firstCode:g.uint16,entryCount:g.uint16,glyphIndices:new g.LazyArray(g.uint16,"entryCount")},8:{reserved:new g.Reserved(g.uint16),length:g.uint32,language:g.uint16,is32:new g.LazyArray(g.uint8,8192),nGroups:g.uint32,groups:new g.LazyArray(W,"nGroups")},10:{reserved:new g.Reserved(g.uint16),length:g.uint32,language:g.uint32,firstCode:g.uint32,entryCount:g.uint32,glyphIndices:new g.LazyArray(g.uint16,"numChars")},12:{reserved:new g.Reserved(g.uint16),length:g.uint32,language:g.uint32,nGroups:g.uint32,groups:new g.LazyArray(W,"nGroups")},13:{reserved:new g.Reserved(g.uint16),length:g.uint32,language:g.uint32,nGroups:g.uint32,groups:new g.LazyArray(W,"nGroups")},14:{length:g.uint32,numRecords:g.uint32,varSelectors:new g.LazyArray(K,"numRecords")}}),J=new g.Struct({platformID:g.uint16,encodingID:g.uint16,table:new g.Pointer(g.uint32,Y,{type:"parent",lazy:!0})}),$=new g.Struct({version:g.uint16,numSubtables:g.uint16,tables:new g.Array(J,"numSubtables")}),ee=new g.Struct({version:g.int32,revision:g.int32,checkSumAdjustment:g.uint32,magicNumber:g.uint32,flags:g.uint16,unitsPerEm:g.uint16,created:new g.Array(g.int32,2),modified:new g.Array(g.int32,2),xMin:g.int16,yMin:g.int16,xMax:g.int16,yMax:g.int16,macStyle:new g.Bitfield(g.uint16,["bold","italic","underline","outline","shadow","condensed","extended"]),lowestRecPPEM:g.uint16,fontDirectionHint:g.int16,indexToLocFormat:g.int16,glyphDataFormat:g.int16}),te=new g.Struct({version:g.int32,ascent:g.int16,descent:g.int16,lineGap:g.int16,advanceWidthMax:g.uint16,minLeftSideBearing:g.int16,minRightSideBearing:g.int16,xMaxExtent:g.int16,caretSlopeRise:g.int16,caretSlopeRun:g.int16,caretOffset:g.int16,reserved:new g.Reserved(g.int16,4),metricDataFormat:g.int16,numberOfMetrics:g.uint16}),re=new g.Struct({advance:g.uint16,bearing:g.int16}),ne=new g.Struct({metrics:new g.LazyArray(re,(function(r){return r.parent.hhea.numberOfMetrics})),bearings:new g.LazyArray(g.int16,(function(r){return r.parent.maxp.numGlyphs-r.parent.hhea.numberOfMetrics}))}),ie=new g.Struct({version:g.int32,numGlyphs:g.uint16,maxPoints:g.uint16,maxContours:g.uint16,maxComponentPoints:g.uint16,maxComponentContours:g.uint16,maxZones:g.uint16,maxTwilightPoints:g.uint16,maxStorage:g.uint16,maxFunctionDefs:g.uint16,maxInstructionDefs:g.uint16,maxStackElements:g.uint16,maxSizeOfInstructions:g.uint16,maxComponentElements:g.uint16,maxComponentDepth:g.uint16});function getEncoding(r,i,o){return void 0===o&&(o=0),1===r&&ae[o]?ae[o]:oe[r][i]}var oe=[["utf16be","utf16be","utf16be","utf16be","utf16be","utf16be"],["macroman","shift-jis","big5","euc-kr","iso-8859-6","iso-8859-8","macgreek","maccyrillic","symbol","Devanagari","Gurmukhi","Gujarati","Oriya","Bengali","Tamil","Telugu","Kannada","Malayalam","Sinhalese","Burmese","Khmer","macthai","Laotian","Georgian","Armenian","gb-2312-80","Tibetan","Mongolian","Geez","maccenteuro","Vietnamese","Sindhi"],["ascii"],["symbol","utf16be","shift-jis","gb18030","big5","wansung","johab",null,null,null,"utf16be"]],ae={15:"maciceland",17:"macturkish",18:"maccroatian",24:"maccenteuro",25:"maccenteuro",26:"maccenteuro",27:"maccenteuro",28:"maccenteuro",30:"maciceland",37:"macromania",38:"maccenteuro",39:"maccenteuro",40:"maccenteuro",143:"macinuit",146:"macgaelic"},se=[[],{0:"en",30:"fo",60:"ks",90:"rw",1:"fr",31:"fa",61:"ku",91:"rn",2:"de",32:"ru",62:"sd",92:"ny",3:"it",33:"zh",63:"bo",93:"mg",4:"nl",34:"nl-BE",64:"ne",94:"eo",5:"sv",35:"ga",65:"sa",128:"cy",6:"es",36:"sq",66:"mr",129:"eu",7:"da",37:"ro",67:"bn",130:"ca",8:"pt",38:"cz",68:"as",131:"la",9:"no",39:"sk",69:"gu",132:"qu",10:"he",40:"si",70:"pa",133:"gn",11:"ja",41:"yi",71:"or",134:"ay",12:"ar",42:"sr",72:"ml",135:"tt",13:"fi",43:"mk",73:"kn",136:"ug",14:"el",44:"bg",74:"ta",137:"dz",15:"is",45:"uk",75:"te",138:"jv",16:"mt",46:"be",76:"si",139:"su",17:"tr",47:"uz",77:"my",140:"gl",18:"hr",48:"kk",78:"km",141:"af",19:"zh-Hant",49:"az-Cyrl",79:"lo",142:"br",20:"ur",50:"az-Arab",80:"vi",143:"iu",21:"hi",51:"hy",81:"id",144:"gd",22:"th",52:"ka",82:"tl",145:"gv",23:"ko",53:"mo",83:"ms",146:"ga",24:"lt",54:"ky",84:"ms-Arab",147:"to",25:"pl",55:"tg",85:"am",148:"el-polyton",26:"hu",56:"tk",86:"ti",149:"kl",27:"es",57:"mn-CN",87:"om",150:"az",28:"lv",58:"mn",88:"so",151:"nn",29:"se",59:"ps",89:"sw"},[],{1078:"af",16393:"en-IN",1159:"rw",1074:"tn",1052:"sq",6153:"en-IE",1089:"sw",1115:"si",1156:"gsw",8201:"en-JM",1111:"kok",1051:"sk",1118:"am",17417:"en-MY",1042:"ko",1060:"sl",5121:"ar-DZ",5129:"en-NZ",1088:"ky",11274:"es-AR",15361:"ar-BH",13321:"en-PH",1108:"lo",16394:"es-BO",3073:"ar",18441:"en-SG",1062:"lv",13322:"es-CL",2049:"ar-IQ",7177:"en-ZA",1063:"lt",9226:"es-CO",11265:"ar-JO",11273:"en-TT",2094:"dsb",5130:"es-CR",13313:"ar-KW",2057:"en-GB",1134:"lb",7178:"es-DO",12289:"ar-LB",1033:"en",1071:"mk",12298:"es-EC",4097:"ar-LY",12297:"en-ZW",2110:"ms-BN",17418:"es-SV",6145:"ary",1061:"et",1086:"ms",4106:"es-GT",8193:"ar-OM",1080:"fo",1100:"ml",18442:"es-HN",16385:"ar-QA",1124:"fil",1082:"mt",2058:"es-MX",1025:"ar-SA",1035:"fi",1153:"mi",19466:"es-NI",10241:"ar-SY",2060:"fr-BE",1146:"arn",6154:"es-PA",7169:"aeb",3084:"fr-CA",1102:"mr",15370:"es-PY",14337:"ar-AE",1036:"fr",1148:"moh",10250:"es-PE",9217:"ar-YE",5132:"fr-LU",1104:"mn",20490:"es-PR",1067:"hy",6156:"fr-MC",2128:"mn-CN",3082:"es",1101:"as",4108:"fr-CH",1121:"ne",1034:"es",2092:"az-Cyrl",1122:"fy",1044:"nb",21514:"es-US",1068:"az",1110:"gl",2068:"nn",14346:"es-UY",1133:"ba",1079:"ka",1154:"oc",8202:"es-VE",1069:"eu",3079:"de-AT",1096:"or",2077:"sv-FI",1059:"be",1031:"de",1123:"ps",1053:"sv",2117:"bn",5127:"de-LI",1045:"pl",1114:"syr",1093:"bn-IN",4103:"de-LU",1046:"pt",1064:"tg",8218:"bs-Cyrl",2055:"de-CH",2070:"pt-PT",2143:"tzm",5146:"bs",1032:"el",1094:"pa",1097:"ta",1150:"br",1135:"kl",1131:"qu-BO",1092:"tt",1026:"bg",1095:"gu",2155:"qu-EC",1098:"te",1027:"ca",1128:"ha",3179:"qu",1054:"th",3076:"zh-HK",1037:"he",1048:"ro",1105:"bo",5124:"zh-MO",1081:"hi",1047:"rm",1055:"tr",2052:"zh",1038:"hu",1049:"ru",1090:"tk",4100:"zh-SG",1039:"is",9275:"smn",1152:"ug",1028:"zh-TW",1136:"ig",4155:"smj-NO",1058:"uk",1155:"co",1057:"id",5179:"smj",1070:"hsb",1050:"hr",1117:"iu",3131:"se-FI",1056:"ur",4122:"hr-BA",2141:"iu-Latn",1083:"se",2115:"uz-Cyrl",1029:"cs",2108:"ga",2107:"se-SE",1091:"uz",1030:"da",1076:"xh",8251:"sms",1066:"vi",1164:"prs",1077:"zu",6203:"sma-NO",1106:"cy",1125:"dv",1040:"it",7227:"sms",1160:"wo",2067:"nl-BE",2064:"it-CH",1103:"sa",1157:"sah",1043:"nl",1041:"ja",7194:"sr-Cyrl-BA",1144:"ii",3081:"en-AU",1099:"kn",3098:"sr",1130:"yo",10249:"en-BZ",1087:"kk",6170:"sr-Latn-BA",4105:"en-CA",1107:"km",2074:"sr-Latn",9225:"en-029",1158:"quc",1132:"nso"}],ce=new g.Struct({platformID:g.uint16,encodingID:g.uint16,languageID:g.uint16,nameID:g.uint16,length:g.uint16,string:new g.Pointer(g.uint16,new g.String("length",(function(r){return getEncoding(r.platformID,r.encodingID,r.languageID)})),{type:"parent",relativeTo:function relativeTo(r){return r.parent.stringOffset},allowNull:!1})}),le=new g.Struct({length:g.uint16,tag:new g.Pointer(g.uint16,new g.String("length","utf16be"),{type:"parent",relativeTo:function relativeTo(r){return r.stringOffset}})}),ue=new g.VersionedStruct(g.uint16,{0:{count:g.uint16,stringOffset:g.uint16,records:new g.Array(ce,"count")},1:{count:g.uint16,stringOffset:g.uint16,records:new g.Array(ce,"count"),langTagCount:g.uint16,langTags:new g.Array(le,"langTagCount")}}),fe=["copyright","fontFamily","fontSubfamily","uniqueSubfamily","fullName","version","postscriptName","trademark","manufacturer","designer","description","vendorURL","designerURL","license","licenseURL",null,"preferredFamily","preferredSubfamily","compatibleFull","sampleText","postscriptCIDFontName","wwsFamilyName","wwsSubfamilyName"];ue.process=function(r){for(var i,o={},u=_createForOfIteratorHelperLoose(this.records);!(i=u()).done;){var p=i.value,g=se[p.platformID][p.languageID];null==g&&null!=this.langTags&&p.languageID>=32768&&(g=this.langTags[p.languageID-32768].tag),null==g&&(g=p.platformID+"-"+p.languageID);var y=p.nameID>=256?"fontFeatures":fe[p.nameID]||p.nameID;null==o[y]&&(o[y]={});var w=o[y];p.nameID>=256&&(w=w[p.nameID]||(w[p.nameID]={})),"string"!=typeof p.string&&"string"==typeof w[g]||(w[g]=p.string)}this.records=o},ue.preEncode=function(){if(!Array.isArray(this.records)){this.version=0;var r=[];for(var i in this.records){var o=this.records[i];"fontFeatures"!==i&&(r.push({platformID:3,encodingID:1,languageID:1033,nameID:fe.indexOf(i),length:p.byteLength(o.en,"utf16le"),string:o.en}),"postscriptName"===i&&r.push({platformID:1,encodingID:0,languageID:0,nameID:fe.indexOf(i),length:o.en.length,string:o.en}))}this.records=r,this.count=r.length,this.stringOffset=ue.size(this,null,!1)}};var he=new g.VersionedStruct(g.uint16,{header:{xAvgCharWidth:g.int16,usWeightClass:g.uint16,usWidthClass:g.uint16,fsType:new g.Bitfield(g.uint16,[null,"noEmbedding","viewOnly","editable",null,null,null,null,"noSubsetting","bitmapOnly"]),ySubscriptXSize:g.int16,ySubscriptYSize:g.int16,ySubscriptXOffset:g.int16,ySubscriptYOffset:g.int16,ySuperscriptXSize:g.int16,ySuperscriptYSize:g.int16,ySuperscriptXOffset:g.int16,ySuperscriptYOffset:g.int16,yStrikeoutSize:g.int16,yStrikeoutPosition:g.int16,sFamilyClass:g.int16,panose:new g.Array(g.uint8,10),ulCharRange:new g.Array(g.uint32,4),vendorID:new g.String(4),fsSelection:new g.Bitfield(g.uint16,["italic","underscore","negative","outlined","strikeout","bold","regular","useTypoMetrics","wws","oblique"]),usFirstCharIndex:g.uint16,usLastCharIndex:g.uint16},0:{},1:{typoAscender:g.int16,typoDescender:g.int16,typoLineGap:g.int16,winAscent:g.uint16,winDescent:g.uint16,codePageRange:new g.Array(g.uint32,2)},2:{typoAscender:g.int16,typoDescender:g.int16,typoLineGap:g.int16,winAscent:g.uint16,winDescent:g.uint16,codePageRange:new g.Array(g.uint32,2),xHeight:g.int16,capHeight:g.int16,defaultChar:g.uint16,breakChar:g.uint16,maxContent:g.uint16},5:{typoAscender:g.int16,typoDescender:g.int16,typoLineGap:g.int16,winAscent:g.uint16,winDescent:g.uint16,codePageRange:new g.Array(g.uint32,2),xHeight:g.int16,capHeight:g.int16,defaultChar:g.uint16,breakChar:g.uint16,maxContent:g.uint16,usLowerOpticalPointSize:g.uint16,usUpperOpticalPointSize:g.uint16}}),de=he.versions;de[3]=de[4]=de[2];var pe=new g.VersionedStruct(g.fixed32,{header:{italicAngle:g.fixed32,underlinePosition:g.int16,underlineThickness:g.int16,isFixedPitch:g.uint32,minMemType42:g.uint32,maxMemType42:g.uint32,minMemType1:g.uint32,maxMemType1:g.uint32},1:{},2:{numberOfGlyphs:g.uint16,glyphNameIndex:new g.Array(g.uint16,"numberOfGlyphs"),names:new g.Array(new g.String(g.uint8))},2.5:{numberOfGlyphs:g.uint16,offsets:new g.Array(g.uint8,"numberOfGlyphs")},3:{},4:{map:new g.Array(g.uint32,(function(r){return r.parent.maxp.numGlyphs}))}}),ge=new g.Struct({controlValues:new g.Array(g.int16)}),ye=new g.Struct({instructions:new g.Array(g.uint8)}),ve=new g.VersionedStruct("head.indexToLocFormat",{0:{offsets:new g.Array(g.uint16)},1:{offsets:new g.Array(g.uint32)}});ve.process=function(){if(0===this.version)for(var r=0;r<this.offsets.length;r++)this.offsets[r]<<=1},ve.preEncode=function(){if(0===this.version)for(var r=0;r<this.offsets.length;r++)this.offsets[r]>>>=1};var me=new g.Struct({controlValueProgram:new g.Array(g.uint8)}),be=new g.Array(new g.Buffer),we=function(){function CFFIndex(r){this.type=r}var r=CFFIndex.prototype;return r.getCFFVersion=function getCFFVersion(r){for(;r&&!r.hdrSize;)r=r.parent;return r?r.version:-1},r.decode=function decode(r,i){var o=this.getCFFVersion(i)>=2?r.readUInt32BE():r.readUInt16BE();if(0===o)return[];var u,p=r.readUInt8();if(1===p)u=g.uint8;else if(2===p)u=g.uint16;else if(3===p)u=g.uint24;else{if(4!==p)throw new Error("Bad offset size in CFFIndex: ".concat(p," ").concat(r.pos));u=g.uint32}for(var y=[],w=r.pos+(o+1)*p-1,_=u.decode(r),x=0;x<o;x++){var k=u.decode(r);if(null!=this.type){var P=r.pos;r.pos=w+_,i.length=k-_,y.push(this.type.decode(r,i)),r.pos=P}else y.push({offset:w+_,length:k-_});_=k}return r.pos=w+_,y},r.size=function size(r,i){var size=2;if(0===r.length)return size;for(var o,u=this.type||new g.Buffer,p=1,y=0;y<r.length;y++){var w=r[y];p+=u.size(w,i)}if(p<=255)o=g.uint8;else if(p<=65535)o=g.uint16;else if(p<=16777215)o=g.uint24;else{if(!(p<=4294967295))throw new Error("Bad offset in CFFIndex");o=g.uint32}return size+=1+o.size()*(r.length+1),size+=p-1,size},r.encode=function encode(r,i,o){if(r.writeUInt16BE(i.length),0!==i.length){for(var u,p,y=this.type||new g.Buffer,w=[],_=1,x=_createForOfIteratorHelperLoose(i);!(u=x()).done;){var k=u.value,P=y.size(k,o);w.push(P),_+=P}if(_<=255)p=g.uint8;else if(_<=65535)p=g.uint16;else if(_<=16777215)p=g.uint24;else{if(!(_<=4294967295))throw new Error("Bad offset in CFFIndex");p=g.uint32}r.writeUInt8(p.size()),_=1,p.encode(r,_);for(var O=0,I=w;O<I.length;O++){_+=I[O],p.encode(r,_)}for(var B,R=_createForOfIteratorHelperLoose(i);!(B=R()).done;){var D=B.value;y.encode(r,D,o)}}},CFFIndex}(),_e=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"],Se={".":10,E:11,"E-":12,"-":14},xe=function(){function CFFOperand(){}return CFFOperand.decode=function decode(r,i){if(32<=i&&i<=246)return i-139;if(247<=i&&i<=250)return 256*(i-247)+r.readUInt8()+108;if(251<=i&&i<=254)return 256*-(i-251)-r.readUInt8()-108;if(28===i)return r.readInt16BE();if(29===i)return r.readInt32BE();if(30===i){for(var o="";;){var u=r.readUInt8(),p=u>>4;if(15===p)break;o+=_e[p];var g=15&u;if(15===g)break;o+=_e[g]}return parseFloat(o)}return null},CFFOperand.size=function size(r){if(r.forceLarge&&(r=32768),(0|r)!==r){var i=""+r;return 1+Math.ceil((i.length+1)/2)}return-107<=r&&r<=107?1:108<=r&&r<=1131||-1131<=r&&r<=-108?2:-32768<=r&&r<=32767?3:5},CFFOperand.encode=function encode(r,i){var o=Number(i);if(i.forceLarge)return r.writeUInt8(29),r.writeInt32BE(o);if((0|o)===o)return-107<=o&&o<=107?r.writeUInt8(o+139):108<=o&&o<=1131?(o-=108,r.writeUInt8(247+(o>>8)),r.writeUInt8(255&o)):-1131<=o&&o<=-108?(o=-o-108,r.writeUInt8(251+(o>>8)),r.writeUInt8(255&o)):-32768<=o&&o<=32767?(r.writeUInt8(28),r.writeInt16BE(o)):(r.writeUInt8(29),r.writeInt32BE(o));r.writeUInt8(30);for(var u=""+o,p=0;p<u.length;p+=2){var g=u[p],y=Se[g]||+g;if(p===u.length-1)var w=15;else{var _=u[p+1];w=Se[_]||+_}r.writeUInt8(y<<4|15&w)}return 15!==w?r.writeUInt8(240):void 0},CFFOperand}(),Ce=function(){function CFFDict(r){void 0===r&&(r=[]),this.ops=r,this.fields={};for(var i,o=_createForOfIteratorHelperLoose(r);!(i=o()).done;){var u=i.value,p=Array.isArray(u[0])?u[0][0]<<8|u[0][1]:u[0];this.fields[p]=u}}var r=CFFDict.prototype;return r.decodeOperands=function decodeOperands(r,i,o,u){var p=this;if(Array.isArray(r))return u.map((function(u,g){return p.decodeOperands(r[g],i,o,[u])}));if(null!=r.decode)return r.decode(i,o,u);switch(r){case"number":case"offset":case"sid":return u[0];case"boolean":return!!u[0];default:return u}},r.encodeOperands=function encodeOperands(r,i,o,u){var p=this;return Array.isArray(r)?u.map((function(u,g){return p.encodeOperands(r[g],i,o,u)[0]})):null!=r.encode?r.encode(i,u,o):"number"==typeof u?[u]:"boolean"==typeof u?[+u]:Array.isArray(u)?u:[u]},r.decode=function decode(r,i){var o=r.pos+i.length,u={},p=[];for(var g in Object.defineProperties(u,{parent:{value:i},_startOffset:{value:r.pos}}),this.fields){var w=this.fields[g];u[w[1]]=w[3]}for(;r.pos<o;){var _=r.readUInt8();if(_<28){12===_&&(_=_<<8|r.readUInt8());var x=this.fields[_];if(!x)throw new Error("Unknown operator ".concat(_));var k=this.decodeOperands(x[2],r,u,p);null!=k&&(k instanceof y.PropertyDescriptor?Object.defineProperty(u,x[1],k):u[x[1]]=k),p=[]}else p.push(xe.decode(r,_))}return u},r.size=function size(r,i,o){void 0===o&&(o=!0);var u={parent:i,val:r,pointerSize:0,startOffset:i.startOffset||0},p=0;for(var g in this.fields){var y=this.fields[g],_=r[y[1]];if(null!=_&&!w(_,y[3])){for(var x,k=_createForOfIteratorHelperLoose(this.encodeOperands(y[2],null,u,_));!(x=k()).done;){var P=x.value;p+=xe.size(P)}p+=(Array.isArray(y[0])?y[0]:[y[0]]).length}}return o&&(p+=u.pointerSize),p},r.encode=function encode(r,i,o){var u={pointers:[],startOffset:r.pos,parent:o,val:i,pointerSize:0};u.pointerOffset=r.pos+this.size(i,u,!1);for(var p,g=_createForOfIteratorHelperLoose(this.ops);!(p=g()).done;){var y=p.value,_=i[y[1]];if(null!=_&&!w(_,y[3])){for(var x,k=_createForOfIteratorHelperLoose(this.encodeOperands(y[2],r,u,_));!(x=k()).done;){var P=x.value;xe.encode(r,P)}for(var O,I=_createForOfIteratorHelperLoose(Array.isArray(y[0])?y[0]:[y[0]]);!(O=I()).done;){var B=O.value;r.writeUInt8(B)}}}for(var R=0;R<u.pointers.length;){var D=u.pointers[R++];D.type.encode(r,D.val,D.parent)}},CFFDict}(),ke=function(r){function CFFPointer(i,o){return void 0===o&&(o={}),null==o.type&&(o.type="global"),r.call(this,null,i,o)||this}_inheritsLoose(CFFPointer,r);var i=CFFPointer.prototype;return i.decode=function decode(i,o,u){return this.offsetType={decode:function decode(){return u[0]}},r.prototype.decode.call(this,i,o,u)},i.encode=function encode(i,o,u){if(!i)return this.offsetType={size:function size(){return 0}},this.size(o,u),[new Pe(0)];var p=null;return this.offsetType={encode:function encode(r,i){return p=i}},r.prototype.encode.call(this,i,o,u),[new Pe(p)]},CFFPointer}(g.Pointer),Pe=function(){function Ptr(r){this.val=r,this.forceLarge=!0}return Ptr.prototype.valueOf=function valueOf(){return this.val},Ptr}(),Ae=new Ce([[6,"BlueValues","delta",null],[7,"OtherBlues","delta",null],[8,"FamilyBlues","delta",null],[9,"FamilyOtherBlues","delta",null],[[12,9],"BlueScale","number",.039625],[[12,10],"BlueShift","number",7],[[12,11],"BlueFuzz","number",1],[10,"StdHW","number",null],[11,"StdVW","number",null],[[12,12],"StemSnapH","delta",null],[[12,13],"StemSnapV","delta",null],[[12,14],"ForceBold","boolean",!1],[[12,17],"LanguageGroup","number",0],[[12,18],"ExpansionFactor","number",.06],[[12,19],"initialRandomSeed","number",0],[20,"defaultWidthX","number",0],[21,"nominalWidthX","number",0],[22,"vsindex","number",0],[23,"blend",function(){function CFFBlendOp(){}return CFFBlendOp.decode=function decode(r,i,o){for(var u=o.pop();o.length>u;)o.pop()},CFFBlendOp}(),null],[19,"Subrs",new ke(new we,{type:"local"}),null]]),Ee=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],Te=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],Oe=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron"],Ie=new g.Struct({reserved:new g.Reserved(g.uint16),reqFeatureIndex:g.uint16,featureCount:g.uint16,featureIndexes:new g.Array(g.uint16,"featureCount")}),Be=new g.Struct({tag:new g.String(4),langSys:new g.Pointer(g.uint16,Ie,{type:"parent"})}),Fe=new g.Struct({defaultLangSys:new g.Pointer(g.uint16,Ie),count:g.uint16,langSysRecords:new g.Array(Be,"count")}),Le=new g.Struct({tag:new g.String(4),script:new g.Pointer(g.uint16,Fe,{type:"parent"})}),Re=new g.Array(Le,g.uint16),De=new g.Struct({featureParams:g.uint16,lookupCount:g.uint16,lookupListIndexes:new g.Array(g.uint16,"lookupCount")}),Me=new g.Struct({tag:new g.String(4),feature:new g.Pointer(g.uint16,De,{type:"parent"})}),Ne=new g.Array(Me,g.uint16),We=new g.Struct({markAttachmentType:g.uint8,flags:new g.Bitfield(g.uint8,["rightToLeft","ignoreBaseGlyphs","ignoreLigatures","ignoreMarks","useMarkFilteringSet"])});function LookupList(r){var i=new g.Struct({lookupType:g.uint16,flags:We,subTableCount:g.uint16,subTables:new g.Array(new g.Pointer(g.uint16,r),"subTableCount"),markFilteringSet:new g.Optional(g.uint16,(function(r){return r.flags.flags.useMarkFilteringSet}))});return new g.LazyArray(new g.Pointer(g.uint16,i),g.uint16)}var ze=new g.Struct({start:g.uint16,end:g.uint16,startCoverageIndex:g.uint16}),Ue=new g.VersionedStruct(g.uint16,{1:{glyphCount:g.uint16,glyphs:new g.Array(g.uint16,"glyphCount")},2:{rangeCount:g.uint16,rangeRecords:new g.Array(ze,"rangeCount")}}),je=new g.Struct({start:g.uint16,end:g.uint16,class:g.uint16}),Ge=new g.VersionedStruct(g.uint16,{1:{startGlyph:g.uint16,glyphCount:g.uint16,classValueArray:new g.Array(g.uint16,"glyphCount")},2:{classRangeCount:g.uint16,classRangeRecord:new g.Array(je,"classRangeCount")}}),Ve=new g.Struct({a:g.uint16,b:g.uint16,deltaFormat:g.uint16}),He=new g.Struct({sequenceIndex:g.uint16,lookupListIndex:g.uint16}),qe=new g.Struct({glyphCount:g.uint16,lookupCount:g.uint16,input:new g.Array(g.uint16,(function(r){return r.glyphCount-1})),lookupRecords:new g.Array(He,"lookupCount")}),Xe=new g.Array(new g.Pointer(g.uint16,qe),g.uint16),Ze=new g.Struct({glyphCount:g.uint16,lookupCount:g.uint16,classes:new g.Array(g.uint16,(function(r){return r.glyphCount-1})),lookupRecords:new g.Array(He,"lookupCount")}),Ke=new g.Array(new g.Pointer(g.uint16,Ze),g.uint16),Ye=new g.VersionedStruct(g.uint16,{1:{coverage:new g.Pointer(g.uint16,Ue),ruleSetCount:g.uint16,ruleSets:new g.Array(new g.Pointer(g.uint16,Xe),"ruleSetCount")},2:{coverage:new g.Pointer(g.uint16,Ue),classDef:new g.Pointer(g.uint16,Ge),classSetCnt:g.uint16,classSet:new g.Array(new g.Pointer(g.uint16,Ke),"classSetCnt")},3:{glyphCount:g.uint16,lookupCount:g.uint16,coverages:new g.Array(new g.Pointer(g.uint16,Ue),"glyphCount"),lookupRecords:new g.Array(He,"lookupCount")}}),Je=new g.Struct({backtrackGlyphCount:g.uint16,backtrack:new g.Array(g.uint16,"backtrackGlyphCount"),inputGlyphCount:g.uint16,input:new g.Array(g.uint16,(function(r){return r.inputGlyphCount-1})),lookaheadGlyphCount:g.uint16,lookahead:new g.Array(g.uint16,"lookaheadGlyphCount"),lookupCount:g.uint16,lookupRecords:new g.Array(He,"lookupCount")}),Qe=new g.Array(new g.Pointer(g.uint16,Je),g.uint16),$e=new g.VersionedStruct(g.uint16,{1:{coverage:new g.Pointer(g.uint16,Ue),chainCount:g.uint16,chainRuleSets:new g.Array(new g.Pointer(g.uint16,Qe),"chainCount")},2:{coverage:new g.Pointer(g.uint16,Ue),backtrackClassDef:new g.Pointer(g.uint16,Ge),inputClassDef:new g.Pointer(g.uint16,Ge),lookaheadClassDef:new g.Pointer(g.uint16,Ge),chainCount:g.uint16,chainClassSet:new g.Array(new g.Pointer(g.uint16,Qe),"chainCount")},3:{backtrackGlyphCount:g.uint16,backtrackCoverage:new g.Array(new g.Pointer(g.uint16,Ue),"backtrackGlyphCount"),inputGlyphCount:g.uint16,inputCoverage:new g.Array(new g.Pointer(g.uint16,Ue),"inputGlyphCount"),lookaheadGlyphCount:g.uint16,lookaheadCoverage:new g.Array(new g.Pointer(g.uint16,Ue),"lookaheadGlyphCount"),lookupCount:g.uint16,lookupRecords:new g.Array(He,"lookupCount")}}),et=new g.Fixed(16,"BE",14),tt=new g.Struct({startCoord:et,peakCoord:et,endCoord:et}),rt=new g.Struct({axisCount:g.uint16,regionCount:g.uint16,variationRegions:new g.Array(new g.Array(tt,"axisCount"),"regionCount")}),nt=new g.Struct({shortDeltas:new g.Array(g.int16,(function(r){return r.parent.shortDeltaCount})),regionDeltas:new g.Array(g.int8,(function(r){return r.parent.regionIndexCount-r.parent.shortDeltaCount})),deltas:function deltas(r){return r.shortDeltas.concat(r.regionDeltas)}}),it=new g.Struct({itemCount:g.uint16,shortDeltaCount:g.uint16,regionIndexCount:g.uint16,regionIndexes:new g.Array(g.uint16,"regionIndexCount"),deltaSets:new g.Array(nt,"itemCount")}),ot=new g.Struct({format:g.uint16,variationRegionList:new g.Pointer(g.uint32,rt),variationDataCount:g.uint16,itemVariationData:new g.Array(new g.Pointer(g.uint32,it),"variationDataCount")}),at=new g.VersionedStruct(g.uint16,{1:(u={axisIndex:g.uint16},u.axisIndex=g.uint16,u.filterRangeMinValue=et,u.filterRangeMaxValue=et,u)}),st=new g.Struct({conditionCount:g.uint16,conditionTable:new g.Array(new g.Pointer(g.uint32,at),"conditionCount")}),ct=new g.Struct({featureIndex:g.uint16,alternateFeatureTable:new g.Pointer(g.uint32,De,{type:"parent"})}),lt=new g.Struct({version:g.fixed32,substitutionCount:g.uint16,substitutions:new g.Array(ct,"substitutionCount")}),ut=new g.Struct({conditionSet:new g.Pointer(g.uint32,st,{type:"parent"}),featureTableSubstitution:new g.Pointer(g.uint32,lt,{type:"parent"})}),ft=new g.Struct({majorVersion:g.uint16,minorVersion:g.uint16,featureVariationRecordCount:g.uint32,featureVariationRecords:new g.Array(ut,"featureVariationRecordCount")}),ht=function(){function PredefinedOp(r,i){this.predefinedOps=r,this.type=i}var r=PredefinedOp.prototype;return r.decode=function decode(r,i,o){return this.predefinedOps[o[0]]?this.predefinedOps[o[0]]:this.type.decode(r,i,o)},r.size=function size(r,i){return this.type.size(r,i)},r.encode=function encode(r,i,o){var u=this.predefinedOps.indexOf(i);return-1!==u?u:this.type.encode(r,i,o)},PredefinedOp}(),dt=function(r){function CFFEncodingVersion(){return r.call(this,"UInt8")||this}return _inheritsLoose(CFFEncodingVersion,r),CFFEncodingVersion.prototype.decode=function decode(r){return 127&g.uint8.decode(r)},CFFEncodingVersion}(g.Number),pt=new g.Struct({first:g.uint16,nLeft:g.uint8}),gt=new g.Struct({first:g.uint16,nLeft:g.uint16}),yt=new ht([Te,["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"]],new ke(new g.VersionedStruct(new dt,{0:{nCodes:g.uint8,codes:new g.Array(g.uint8,"nCodes")},1:{nRanges:g.uint8,ranges:new g.Array(pt,"nRanges")}}),{lazy:!0})),vt=function(r){function RangeArray(){return r.apply(this,arguments)||this}return _inheritsLoose(RangeArray,r),RangeArray.prototype.decode=function decode(r,i){for(var o=y.resolveLength(this.length,r,i),u=0,p=[];u<o;){var g=this.type.decode(r,i);g.offset=u,u+=g.nLeft+1,p.push(g)}return p},RangeArray}(g.Array),mt=new g.VersionedStruct(g.uint8,{0:{glyphs:new g.Array(g.uint16,(function(r){return r.parent.CharStrings.length-1}))},1:{ranges:new vt(pt,(function(r){return r.parent.CharStrings.length-1}))},2:{ranges:new vt(gt,(function(r){return r.parent.CharStrings.length-1}))}}),bt=new ht([Oe,[".notdef","space","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],[".notdef","space","dollaroldstyle","dollarsuperior","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","fi","fl","ffi","ffl","parenleftinferior","parenrightinferior","hyphensuperior","colonmonetary","onefitted","rupiah","centoldstyle","figuredash","hypheninferior","onequarter","onehalf","threequarters","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior"]],new ke(mt,{lazy:!0})),wt=new g.Struct({first:g.uint16,fd:g.uint8}),_t=new g.Struct({first:g.uint32,fd:g.uint16}),St=new g.VersionedStruct(g.uint8,{0:{fds:new g.Array(g.uint8,(function(r){return r.parent.CharStrings.length}))},3:{nRanges:g.uint16,ranges:new g.Array(wt,"nRanges"),sentinel:g.uint16},4:{nRanges:g.uint32,ranges:new g.Array(_t,"nRanges"),sentinel:g.uint32}}),xt=new ke(Ae),Ct=function(){function CFFPrivateOp(){}var r=CFFPrivateOp.prototype;return r.decode=function decode(r,i,o){return i.length=o[0],xt.decode(r,i,[o[1]])},r.size=function size(r,i){return[Ae.size(r,i,!1),xt.size(r,i)[0]]},r.encode=function encode(r,i,o){return[Ae.size(i,o,!1),xt.encode(r,i,o)[0]]},CFFPrivateOp}(),kt=new Ce([[18,"Private",new Ct,null],[[12,38],"FontName","sid",null],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[[12,5],"PaintType","number",0]]),Pt=new Ce([[[12,30],"ROS",["sid","sid","number"],null],[0,"version","sid",null],[1,"Notice","sid",null],[[12,0],"Copyright","sid",null],[2,"FullName","sid",null],[3,"FamilyName","sid",null],[4,"Weight","sid",null],[[12,1],"isFixedPitch","boolean",!1],[[12,2],"ItalicAngle","number",0],[[12,3],"UnderlinePosition","number",-100],[[12,4],"UnderlineThickness","number",50],[[12,5],"PaintType","number",0],[[12,6],"CharstringType","number",2],[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[13,"UniqueID","number",null],[5,"FontBBox","array",[0,0,0,0]],[[12,8],"StrokeWidth","number",0],[14,"XUID","array",null],[15,"charset",bt,Oe],[16,"Encoding",yt,Te],[17,"CharStrings",new ke(new we),null],[18,"Private",new Ct,null],[[12,20],"SyntheticBase","number",null],[[12,21],"PostScript","sid",null],[[12,22],"BaseFontName","sid",null],[[12,23],"BaseFontBlend","delta",null],[[12,31],"CIDFontVersion","number",0],[[12,32],"CIDFontRevision","number",0],[[12,33],"CIDFontType","number",0],[[12,34],"CIDCount","number",8720],[[12,35],"UIDBase","number",null],[[12,37],"FDSelect",new ke(St),null],[[12,36],"FDArray",new ke(new we(kt)),null],[[12,38],"FontName","sid",null]]),At=new g.Struct({length:g.uint16,itemVariationStore:ot}),Et=new Ce([[[12,7],"FontMatrix","array",[.001,0,0,.001,0,0]],[17,"CharStrings",new ke(new we),null],[[12,37],"FDSelect",new ke(St),null],[[12,36],"FDArray",new ke(new we(kt)),null],[24,"vstore",new ke(At),null],[25,"maxstack","number",193]]),Tt=new g.VersionedStruct(g.fixed16,{1:{hdrSize:g.uint8,offSize:g.uint8,nameIndex:new we(new g.String("length")),topDictIndex:new we(Pt),stringIndex:new we(new g.String("length")),globalSubrIndex:new we},2:{hdrSize:g.uint8,length:g.uint16,topDict:Et,globalSubrIndex:new we}}),Ot=function(){function CFFFont(r){this.stream=r,this.decode()}CFFFont.decode=function decode(r){return new CFFFont(r)};var r=CFFFont.prototype;return r.decode=function decode(){this.stream.pos;var r=Tt.decode(this.stream);for(var i in r){var o=r[i];this[i]=o}if(this.version<2){if(1!==this.topDictIndex.length)throw new Error("Only a single font is allowed in CFF");this.topDict=this.topDictIndex[0]}return this.isCIDFont=null!=this.topDict.ROS,this},r.string=function string(r){return this.version>=2?null:r<Ee.length?Ee[r]:this.stringIndex[r-Ee.length]},r.getCharString=function getCharString(r){return this.stream.pos=this.topDict.CharStrings[r].offset,this.stream.readBuffer(this.topDict.CharStrings[r].length)},r.getGlyphName=function getGlyphName(r){if(this.version>=2)return null;if(this.isCIDFont)return null;var i=this.topDict.charset;if(Array.isArray(i))return i[r];if(0===r)return".notdef";switch(r-=1,i.version){case 0:return this.string(i.glyphs[r]);case 1:case 2:for(var o=0;o<i.ranges.length;o++){var u=i.ranges[o];if(u.offset<=r&&r<=u.offset+u.nLeft)return this.string(u.first+(r-u.offset))}}return null},r.fdForGlyph=function fdForGlyph(r){if(!this.topDict.FDSelect)return null;switch(this.topDict.FDSelect.version){case 0:return this.topDict.FDSelect.fds[r];case 3:case 4:for(var i=this.topDict.FDSelect.ranges,o=0,u=i.length-1;o<=u;){var p=o+u>>1;if(r<i[p].first)u=p-1;else{if(!(p<u&&r>=i[p+1].first))return i[p].fd;o=p+1}}default:throw new Error("Unknown FDSelect version: ".concat(this.topDict.FDSelect.version))}},r.privateDictForGlyph=function privateDictForGlyph(r){if(this.topDict.FDSelect){var i=this.fdForGlyph(r);return this.topDict.FDArray[i]?this.topDict.FDArray[i].Private:null}return this.version<2?this.topDict.Private:this.topDict.FDArray[0].Private},_createClass(CFFFont,[{key:"postscriptName",get:function get(){return this.version<2?this.nameIndex[0]:null}},{key:"fullName",get:function get(){return this.string(this.topDict.FullName)}},{key:"familyName",get:function get(){return this.string(this.topDict.FamilyName)}}]),CFFFont}(),It=new g.Struct({glyphIndex:g.uint16,vertOriginY:g.int16}),Bt=new g.Struct({majorVersion:g.uint16,minorVersion:g.uint16,defaultVertOriginY:g.int16,numVertOriginYMetrics:g.uint16,metrics:new g.Array(It,"numVertOriginYMetrics")}),Ft=new g.Struct({height:g.uint8,width:g.uint8,horiBearingX:g.int8,horiBearingY:g.int8,horiAdvance:g.uint8,vertBearingX:g.int8,vertBearingY:g.int8,vertAdvance:g.uint8}),Lt=new g.Struct({height:g.uint8,width:g.uint8,bearingX:g.int8,bearingY:g.int8,advance:g.uint8}),Rt=new g.Struct({glyph:g.uint16,xOffset:g.int8,yOffset:g.int8}),Dt=function ByteAligned(){},Mt=function BitAligned(){},Nt=(new g.VersionedStruct("version",{1:{metrics:Lt,data:Dt},2:{metrics:Lt,data:Mt},5:{data:Mt},6:{metrics:Ft,data:Dt},7:{metrics:Ft,data:Mt},8:{metrics:Lt,pad:new g.Reserved(g.uint8),numComponents:g.uint16,components:new g.Array(Rt,"numComponents")},9:{metrics:Ft,pad:new g.Reserved(g.uint8),numComponents:g.uint16,components:new g.Array(Rt,"numComponents")},17:{metrics:Lt,dataLen:g.uint32,data:new g.Buffer("dataLen")},18:{metrics:Ft,dataLen:g.uint32,data:new g.Buffer("dataLen")},19:{dataLen:g.uint32,data:new g.Buffer("dataLen")}}),new g.Struct({ascender:g.int8,descender:g.int8,widthMax:g.uint8,caretSlopeNumerator:g.int8,caretSlopeDenominator:g.int8,caretOffset:g.int8,minOriginSB:g.int8,minAdvanceSB:g.int8,maxBeforeBL:g.int8,minAfterBL:g.int8,pad:new g.Reserved(g.int8,2)})),Wt=new g.Struct({glyphCode:g.uint16,offset:g.uint16}),zt=new g.VersionedStruct(g.uint16,{header:{imageFormat:g.uint16,imageDataOffset:g.uint32},1:{offsetArray:new g.Array(g.uint32,(function(r){return r.parent.lastGlyphIndex-r.parent.firstGlyphIndex+1}))},2:{imageSize:g.uint32,bigMetrics:Ft},3:{offsetArray:new g.Array(g.uint16,(function(r){return r.parent.lastGlyphIndex-r.parent.firstGlyphIndex+1}))},4:{numGlyphs:g.uint32,glyphArray:new g.Array(Wt,(function(r){return r.numGlyphs+1}))},5:{imageSize:g.uint32,bigMetrics:Ft,numGlyphs:g.uint32,glyphCodeArray:new g.Array(g.uint16,"numGlyphs")}}),Ut=new g.Struct({firstGlyphIndex:g.uint16,lastGlyphIndex:g.uint16,subtable:new g.Pointer(g.uint32,zt)}),jt=new g.Struct({indexSubTableArray:new g.Pointer(g.uint32,new g.Array(Ut,1),{type:"parent"}),indexTablesSize:g.uint32,numberOfIndexSubTables:g.uint32,colorRef:g.uint32,hori:Nt,vert:Nt,startGlyphIndex:g.uint16,endGlyphIndex:g.uint16,ppemX:g.uint8,ppemY:g.uint8,bitDepth:g.uint8,flags:new g.Bitfield(g.uint8,["horizontal","vertical"])}),Gt=new g.Struct({version:g.uint32,numSizes:g.uint32,sizes:new g.Array(jt,"numSizes")}),Vt=new g.Struct({ppem:g.uint16,resolution:g.uint16,imageOffsets:new g.Array(new g.Pointer(g.uint32,"void"),(function(r){return r.parent.parent.maxp.numGlyphs+1}))}),Ht=new g.Struct({version:g.uint16,flags:new g.Bitfield(g.uint16,["renderOutlines"]),numImgTables:g.uint32,imageTables:new g.Array(new g.Pointer(g.uint32,Vt),"numImgTables")}),qt=new g.Struct({gid:g.uint16,paletteIndex:g.uint16}),Xt=new g.Struct({gid:g.uint16,firstLayerIndex:g.uint16,numLayers:g.uint16}),Zt=new g.Struct({version:g.uint16,numBaseGlyphRecords:g.uint16,baseGlyphRecord:new g.Pointer(g.uint32,new g.Array(Xt,"numBaseGlyphRecords")),layerRecords:new g.Pointer(g.uint32,new g.Array(qt,"numLayerRecords"),{lazy:!0}),numLayerRecords:g.uint16}),Kt=new g.Struct({blue:g.uint8,green:g.uint8,red:g.uint8,alpha:g.uint8}),Yt=new g.VersionedStruct(g.uint16,{header:{numPaletteEntries:g.uint16,numPalettes:g.uint16,numColorRecords:g.uint16,colorRecords:new g.Pointer(g.uint32,new g.Array(Kt,"numColorRecords")),colorRecordIndices:new g.Array(g.uint16,"numPalettes")},0:{},1:{offsetPaletteTypeArray:new g.Pointer(g.uint32,new g.Array(g.uint32,"numPalettes")),offsetPaletteLabelArray:new g.Pointer(g.uint32,new g.Array(g.uint16,"numPalettes")),offsetPaletteEntryLabelArray:new g.Pointer(g.uint32,new g.Array(g.uint16,"numPaletteEntries"))}}),Jt=new g.VersionedStruct(g.uint16,{1:{coordinate:g.int16},2:{coordinate:g.int16,referenceGlyph:g.uint16,baseCoordPoint:g.uint16},3:{coordinate:g.int16,deviceTable:new g.Pointer(g.uint16,Ve)}}),Qt=new g.Struct({defaultIndex:g.uint16,baseCoordCount:g.uint16,baseCoords:new g.Array(new g.Pointer(g.uint16,Jt),"baseCoordCount")}),$t=new g.Struct({tag:new g.String(4),minCoord:new g.Pointer(g.uint16,Jt,{type:"parent"}),maxCoord:new g.Pointer(g.uint16,Jt,{type:"parent"})}),er=new g.Struct({minCoord:new g.Pointer(g.uint16,Jt),maxCoord:new g.Pointer(g.uint16,Jt),featMinMaxCount:g.uint16,featMinMaxRecords:new g.Array($t,"featMinMaxCount")}),tr=new g.Struct({tag:new g.String(4),minMax:new g.Pointer(g.uint16,er,{type:"parent"})}),rr=new g.Struct({baseValues:new g.Pointer(g.uint16,Qt),defaultMinMax:new g.Pointer(g.uint16,er),baseLangSysCount:g.uint16,baseLangSysRecords:new g.Array(tr,"baseLangSysCount")}),nr=new g.Struct({tag:new g.String(4),script:new g.Pointer(g.uint16,rr,{type:"parent"})}),ir=new g.Array(nr,g.uint16),or=new g.Array(new g.String(4),g.uint16),ar=new g.Struct({baseTagList:new g.Pointer(g.uint16,or),baseScriptList:new g.Pointer(g.uint16,ir)}),sr=new g.VersionedStruct(g.uint32,{header:{horizAxis:new g.Pointer(g.uint16,ar),vertAxis:new g.Pointer(g.uint16,ar)},65536:{},65537:{itemVariationStore:new g.Pointer(g.uint32,ot)}}),cr=new g.Array(g.uint16,g.uint16),lr=new g.Struct({coverage:new g.Pointer(g.uint16,Ue),glyphCount:g.uint16,attachPoints:new g.Array(new g.Pointer(g.uint16,cr),"glyphCount")}),ur=new g.VersionedStruct(g.uint16,{1:{coordinate:g.int16},2:{caretValuePoint:g.uint16},3:{coordinate:g.int16,deviceTable:new g.Pointer(g.uint16,Ve)}}),fr=new g.Array(new g.Pointer(g.uint16,ur),g.uint16),hr=new g.Struct({coverage:new g.Pointer(g.uint16,Ue),ligGlyphCount:g.uint16,ligGlyphs:new g.Array(new g.Pointer(g.uint16,fr),"ligGlyphCount")}),dr=new g.Struct({markSetTableFormat:g.uint16,markSetCount:g.uint16,coverage:new g.Array(new g.Pointer(g.uint32,Ue),"markSetCount")}),pr=new g.VersionedStruct(g.uint32,{header:{glyphClassDef:new g.Pointer(g.uint16,Ge),attachList:new g.Pointer(g.uint16,lr),ligCaretList:new g.Pointer(g.uint16,hr),markAttachClassDef:new g.Pointer(g.uint16,Ge)},65536:{},65538:{markGlyphSetsDef:new g.Pointer(g.uint16,dr)},65539:{markGlyphSetsDef:new g.Pointer(g.uint16,dr),itemVariationStore:new g.Pointer(g.uint32,ot)}}),gr=new g.Bitfield(g.uint16,["xPlacement","yPlacement","xAdvance","yAdvance","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice"]),yr={xPlacement:g.int16,yPlacement:g.int16,xAdvance:g.int16,yAdvance:g.int16,xPlaDevice:new g.Pointer(g.uint16,Ve,{type:"global",relativeTo:function relativeTo(r){return r.rel}}),yPlaDevice:new g.Pointer(g.uint16,Ve,{type:"global",relativeTo:function relativeTo(r){return r.rel}}),xAdvDevice:new g.Pointer(g.uint16,Ve,{type:"global",relativeTo:function relativeTo(r){return r.rel}}),yAdvDevice:new g.Pointer(g.uint16,Ve,{type:"global",relativeTo:function relativeTo(r){return r.rel}})},vr=function(){function ValueRecord(r){void 0===r&&(r="valueFormat"),this.key=r}var r=ValueRecord.prototype;return r.buildStruct=function buildStruct(r){for(var i=r;!i[this.key]&&i.parent;)i=i.parent;if(i[this.key]){var o={rel:function(){return i._startOffset}},u=i[this.key];for(var p in u)u[p]&&(o[p]=yr[p]);return new g.Struct(o)}},r.size=function size(r,i){return this.buildStruct(i).size(r,i)},r.decode=function decode(r,i){var o=this.buildStruct(i).decode(r,i);return delete o.rel,o},ValueRecord}(),mr=new g.Struct({secondGlyph:g.uint16,value1:new vr("valueFormat1"),value2:new vr("valueFormat2")}),br=new g.Array(mr,g.uint16),wr=new g.Struct({value1:new vr("valueFormat1"),value2:new vr("valueFormat2")}),_r=new g.VersionedStruct(g.uint16,{1:{xCoordinate:g.int16,yCoordinate:g.int16},2:{xCoordinate:g.int16,yCoordinate:g.int16,anchorPoint:g.uint16},3:{xCoordinate:g.int16,yCoordinate:g.int16,xDeviceTable:new g.Pointer(g.uint16,Ve),yDeviceTable:new g.Pointer(g.uint16,Ve)}}),Sr=new g.Struct({entryAnchor:new g.Pointer(g.uint16,_r,{type:"parent"}),exitAnchor:new g.Pointer(g.uint16,_r,{type:"parent"})}),xr=new g.Struct({class:g.uint16,markAnchor:new g.Pointer(g.uint16,_r,{type:"parent"})}),Cr=new g.Array(xr,g.uint16),kr=new g.Array(new g.Pointer(g.uint16,_r),(function(r){return r.parent.classCount})),Pr=new g.Array(kr,g.uint16),Ar=new g.Array(new g.Pointer(g.uint16,_r),(function(r){return r.parent.parent.classCount})),Er=new g.Array(Ar,g.uint16),Tr=new g.Array(new g.Pointer(g.uint16,Er),g.uint16),Or=new g.VersionedStruct("lookupType",{1:new g.VersionedStruct(g.uint16,{1:{coverage:new g.Pointer(g.uint16,Ue),valueFormat:gr,value:new vr},2:{coverage:new g.Pointer(g.uint16,Ue),valueFormat:gr,valueCount:g.uint16,values:new g.LazyArray(new vr,"valueCount")}}),2:new g.VersionedStruct(g.uint16,{1:{coverage:new g.Pointer(g.uint16,Ue),valueFormat1:gr,valueFormat2:gr,pairSetCount:g.uint16,pairSets:new g.LazyArray(new g.Pointer(g.uint16,br),"pairSetCount")},2:{coverage:new g.Pointer(g.uint16,Ue),valueFormat1:gr,valueFormat2:gr,classDef1:new g.Pointer(g.uint16,Ge),classDef2:new g.Pointer(g.uint16,Ge),class1Count:g.uint16,class2Count:g.uint16,classRecords:new g.LazyArray(new g.LazyArray(wr,"class2Count"),"class1Count")}}),3:{format:g.uint16,coverage:new g.Pointer(g.uint16,Ue),entryExitCount:g.uint16,entryExitRecords:new g.Array(Sr,"entryExitCount")},4:{format:g.uint16,markCoverage:new g.Pointer(g.uint16,Ue),baseCoverage:new g.Pointer(g.uint16,Ue),classCount:g.uint16,markArray:new g.Pointer(g.uint16,Cr),baseArray:new g.Pointer(g.uint16,Pr)},5:{format:g.uint16,markCoverage:new g.Pointer(g.uint16,Ue),ligatureCoverage:new g.Pointer(g.uint16,Ue),classCount:g.uint16,markArray:new g.Pointer(g.uint16,Cr),ligatureArray:new g.Pointer(g.uint16,Tr)},6:{format:g.uint16,mark1Coverage:new g.Pointer(g.uint16,Ue),mark2Coverage:new g.Pointer(g.uint16,Ue),classCount:g.uint16,mark1Array:new g.Pointer(g.uint16,Cr),mark2Array:new g.Pointer(g.uint16,Pr)},7:Ye,8:$e,9:{posFormat:g.uint16,lookupType:g.uint16,extension:new g.Pointer(g.uint32,Or)}});Or.versions[9].extension.type=Or;var Ir=new g.VersionedStruct(g.uint32,{header:{scriptList:new g.Pointer(g.uint16,Re),featureList:new g.Pointer(g.uint16,Ne),lookupList:new g.Pointer(g.uint16,new LookupList(Or))},65536:{},65537:{featureVariations:new g.Pointer(g.uint32,ft)}}),Br=new g.Array(g.uint16,g.uint16),Fr=Br,Lr=new g.Struct({glyph:g.uint16,compCount:g.uint16,components:new g.Array(g.uint16,(function(r){return r.compCount-1}))}),Rr=new g.Array(new g.Pointer(g.uint16,Lr),g.uint16),Dr=new g.VersionedStruct("lookupType",{1:new g.VersionedStruct(g.uint16,{1:{coverage:new g.Pointer(g.uint16,Ue),deltaGlyphID:g.int16},2:{coverage:new g.Pointer(g.uint16,Ue),glyphCount:g.uint16,substitute:new g.LazyArray(g.uint16,"glyphCount")}}),2:{substFormat:g.uint16,coverage:new g.Pointer(g.uint16,Ue),count:g.uint16,sequences:new g.LazyArray(new g.Pointer(g.uint16,Br),"count")},3:{substFormat:g.uint16,coverage:new g.Pointer(g.uint16,Ue),count:g.uint16,alternateSet:new g.LazyArray(new g.Pointer(g.uint16,Fr),"count")},4:{substFormat:g.uint16,coverage:new g.Pointer(g.uint16,Ue),count:g.uint16,ligatureSets:new g.LazyArray(new g.Pointer(g.uint16,Rr),"count")},5:Ye,6:$e,7:{substFormat:g.uint16,lookupType:g.uint16,extension:new g.Pointer(g.uint32,Dr)},8:{substFormat:g.uint16,coverage:new g.Pointer(g.uint16,Ue),backtrackCoverage:new g.Array(new g.Pointer(g.uint16,Ue),"backtrackGlyphCount"),lookaheadGlyphCount:g.uint16,lookaheadCoverage:new g.Array(new g.Pointer(g.uint16,Ue),"lookaheadGlyphCount"),glyphCount:g.uint16,substitutes:new g.Array(g.uint16,"glyphCount")}});Dr.versions[7].extension.type=Dr;var Mr=new g.VersionedStruct(g.uint32,{header:{scriptList:new g.Pointer(g.uint16,Re),featureList:new g.Pointer(g.uint16,Ne),lookupList:new g.Pointer(g.uint16,new LookupList(Dr))},65536:{},65537:{featureVariations:new g.Pointer(g.uint32,ft)}}),Nr=new g.Array(g.uint16,g.uint16),Wr=new g.Struct({shrinkageEnableGSUB:new g.Pointer(g.uint16,Nr),shrinkageDisableGSUB:new g.Pointer(g.uint16,Nr),shrinkageEnableGPOS:new g.Pointer(g.uint16,Nr),shrinkageDisableGPOS:new g.Pointer(g.uint16,Nr),shrinkageJstfMax:new g.Pointer(g.uint16,new LookupList(Or)),extensionEnableGSUB:new g.Pointer(g.uint16,Nr),extensionDisableGSUB:new g.Pointer(g.uint16,Nr),extensionEnableGPOS:new g.Pointer(g.uint16,Nr),extensionDisableGPOS:new g.Pointer(g.uint16,Nr),extensionJstfMax:new g.Pointer(g.uint16,new LookupList(Or))}),zr=new g.Array(new g.Pointer(g.uint16,Wr),g.uint16),Ur=new g.Struct({tag:new g.String(4),jstfLangSys:new g.Pointer(g.uint16,zr)}),jr=new g.Struct({extenderGlyphs:new g.Pointer(g.uint16,new g.Array(g.uint16,g.uint16)),defaultLangSys:new g.Pointer(g.uint16,zr),langSysCount:g.uint16,langSysRecords:new g.Array(Ur,"langSysCount")}),Gr=new g.Struct({tag:new g.String(4),script:new g.Pointer(g.uint16,jr,{type:"parent"})}),Vr=new g.Struct({version:g.uint32,scriptCount:g.uint16,scriptList:new g.Array(Gr,"scriptCount")}),Hr=function(){function VariableSizeNumber(r){this._size=r}var r=VariableSizeNumber.prototype;return r.decode=function decode(r,i){switch(this.size(0,i)){case 1:return r.readUInt8();case 2:return r.readUInt16BE();case 3:return r.readUInt24BE();case 4:return r.readUInt32BE()}},r.size=function size(r,i){return y.resolveLength(this._size,null,i)},VariableSizeNumber}(),qr=new g.Struct({entry:new Hr((function(r){return 1+((48&r.parent.entryFormat)>>4)})),outerIndex:function outerIndex(r){return r.entry>>1+(15&r.parent.entryFormat)},innerIndex:function innerIndex(r){return r.entry&(1<<1+(15&r.parent.entryFormat))-1}}),Xr=new g.Struct({entryFormat:g.uint16,mapCount:g.uint16,mapData:new g.Array(qr,"mapCount")}),Zr=new g.Struct({majorVersion:g.uint16,minorVersion:g.uint16,itemVariationStore:new g.Pointer(g.uint32,ot),advanceWidthMapping:new g.Pointer(g.uint32,Xr),LSBMapping:new g.Pointer(g.uint32,Xr),RSBMapping:new g.Pointer(g.uint32,Xr)}),Kr=new g.Struct({format:g.uint32,length:g.uint32,offset:g.uint32}),Yr=new g.Struct({reserved:new g.Reserved(g.uint16,2),cbSignature:g.uint32,signature:new g.Buffer("cbSignature")}),Jr=new g.Struct({ulVersion:g.uint32,usNumSigs:g.uint16,usFlag:g.uint16,signatures:new g.Array(Kr,"usNumSigs"),signatureBlocks:new g.Array(Yr,"usNumSigs")}),Qr=new g.Struct({rangeMaxPPEM:g.uint16,rangeGaspBehavior:new g.Bitfield(g.uint16,["grayscale","gridfit","symmetricSmoothing","symmetricGridfit"])}),$r=new g.Struct({version:g.uint16,numRanges:g.uint16,gaspRanges:new g.Array(Qr,"numRanges")}),en=new g.Struct({pixelSize:g.uint8,maximumWidth:g.uint8,widths:new g.Array(g.uint8,(function(r){return r.parent.parent.maxp.numGlyphs}))}),tn=new g.Struct({version:g.uint16,numRecords:g.int16,sizeDeviceRecord:g.int32,records:new g.Array(en,"numRecords")}),rn=new g.Struct({left:g.uint16,right:g.uint16,value:g.int16}),nn=new g.Struct({firstGlyph:g.uint16,nGlyphs:g.uint16,offsets:new g.Array(g.uint16,"nGlyphs"),max:function max(r){return r.offsets.length&&Math.max.apply(Math,r.offsets)}}),on=new g.Struct({off:function off(r){return r._startOffset-r.parent.parent._startOffset},len:function len(r){return((r.parent.leftTable.max-r.off)/r.parent.rowWidth+1)*(r.parent.rowWidth/2)},values:new g.LazyArray(g.int16,"len")}),an=new g.VersionedStruct("format",{0:{nPairs:g.uint16,searchRange:g.uint16,entrySelector:g.uint16,rangeShift:g.uint16,pairs:new g.Array(rn,"nPairs")},2:{rowWidth:g.uint16,leftTable:new g.Pointer(g.uint16,nn,{type:"parent"}),rightTable:new g.Pointer(g.uint16,nn,{type:"parent"}),array:new g.Pointer(g.uint16,on,{type:"parent"})},3:{glyphCount:g.uint16,kernValueCount:g.uint8,leftClassCount:g.uint8,rightClassCount:g.uint8,flags:g.uint8,kernValue:new g.Array(g.int16,"kernValueCount"),leftClass:new g.Array(g.uint8,"glyphCount"),rightClass:new g.Array(g.uint8,"glyphCount"),kernIndex:new g.Array(g.uint8,(function(r){return r.leftClassCount*r.rightClassCount}))}}),sn=new g.VersionedStruct("version",{0:{subVersion:g.uint16,length:g.uint16,format:g.uint8,coverage:new g.Bitfield(g.uint8,["horizontal","minimum","crossStream","override"]),subtable:an,padding:new g.Reserved(g.uint8,(function(r){return r.length-r._currentOffset}))},1:{length:g.uint32,coverage:new g.Bitfield(g.uint8,[null,null,null,null,null,"variation","crossStream","vertical"]),format:g.uint8,tupleIndex:g.uint16,subtable:an,padding:new g.Reserved(g.uint8,(function(r){return r.length-r._currentOffset}))}}),cn=new g.VersionedStruct(g.uint16,{0:{nTables:g.uint16,tables:new g.Array(sn,"nTables")},1:{reserved:new g.Reserved(g.uint16),nTables:g.uint32,tables:new g.Array(sn,"nTables")}}),ln=new g.Struct({version:g.uint16,numGlyphs:g.uint16,yPels:new g.Array(g.uint8,"numGlyphs")}),un=new g.Struct({version:g.uint16,fontNumber:g.uint32,pitch:g.uint16,xHeight:g.uint16,style:g.uint16,typeFamily:g.uint16,capHeight:g.uint16,symbolSet:g.uint16,typeface:new g.String(16),characterComplement:new g.String(8),fileName:new g.String(6),strokeWeight:new g.String(1),widthType:new g.String(1),serifStyle:g.uint8,reserved:new g.Reserved(g.uint8)}),fn=new g.Struct({bCharSet:g.uint8,xRatio:g.uint8,yStartRatio:g.uint8,yEndRatio:g.uint8}),hn=new g.Struct({yPelHeight:g.uint16,yMax:g.int16,yMin:g.int16}),dn=new g.Struct({recs:g.uint16,startsz:g.uint8,endsz:g.uint8,entries:new g.Array(hn,"recs")}),pn=new g.Struct({version:g.uint16,numRecs:g.uint16,numRatios:g.uint16,ratioRanges:new g.Array(fn,"numRatios"),offsets:new g.Array(g.uint16,"numRatios"),groups:new g.Array(dn,"numRecs")}),gn=new g.Struct({version:g.uint16,ascent:g.int16,descent:g.int16,lineGap:g.int16,advanceHeightMax:g.int16,minTopSideBearing:g.int16,minBottomSideBearing:g.int16,yMaxExtent:g.int16,caretSlopeRise:g.int16,caretSlopeRun:g.int16,caretOffset:g.int16,reserved:new g.Reserved(g.int16,4),metricDataFormat:g.int16,numberOfMetrics:g.uint16}),yn=new g.Struct({advance:g.uint16,bearing:g.int16}),vn=new g.Struct({metrics:new g.LazyArray(yn,(function(r){return r.parent.vhea.numberOfMetrics})),bearings:new g.LazyArray(g.int16,(function(r){return r.parent.maxp.numGlyphs-r.parent.vhea.numberOfMetrics}))}),mn=new g.Fixed(16,"BE",14),bn=new g.Struct({fromCoord:mn,toCoord:mn}),wn=new g.Struct({pairCount:g.uint16,correspondence:new g.Array(bn,"pairCount")}),_n=new g.Struct({version:g.fixed32,axisCount:g.uint32,segment:new g.Array(wn,"axisCount")}),Sn=function(){function UnboundedArrayAccessor(r,i,o){this.type=r,this.stream=i,this.parent=o,this.base=this.stream.pos,this._items=[]}var r=UnboundedArrayAccessor.prototype;return r.getItem=function getItem(r){if(null==this._items[r]){var i=this.stream.pos;this.stream.pos=this.base+this.type.size(null,this.parent)*r,this._items[r]=this.type.decode(this.stream,this.parent),this.stream.pos=i}return this._items[r]},r.inspect=function inspect(){return"[UnboundedArray ".concat(this.type.constructor.name,"]")},UnboundedArrayAccessor}(),xn=function(r){function UnboundedArray(i){return r.call(this,i,0)||this}return _inheritsLoose(UnboundedArray,r),UnboundedArray.prototype.decode=function decode(r,i){return new Sn(this.type,r,i)},UnboundedArray}(g.Array),Cn=function LookupTable(r){void 0===r&&(r=g.uint16),r=new(function(){function Shadow(r){this.type=r}var r=Shadow.prototype;return r.decode=function decode(r,i){return i=i.parent.parent,this.type.decode(r,i)},r.size=function size(r,i){return i=i.parent.parent,this.type.size(r,i)},r.encode=function encode(r,i,o){return o=o.parent.parent,this.type.encode(r,i,o)},Shadow}())(r);var i=new g.Struct({unitSize:g.uint16,nUnits:g.uint16,searchRange:g.uint16,entrySelector:g.uint16,rangeShift:g.uint16}),o=new g.Struct({lastGlyph:g.uint16,firstGlyph:g.uint16,value:r}),u=new g.Struct({lastGlyph:g.uint16,firstGlyph:g.uint16,values:new g.Pointer(g.uint16,new g.Array(r,(function(r){return r.lastGlyph-r.firstGlyph+1})),{type:"parent"})}),p=new g.Struct({glyph:g.uint16,value:r});return new g.VersionedStruct(g.uint16,{0:{values:new xn(r)},2:{binarySearchHeader:i,segments:new g.Array(o,(function(r){return r.binarySearchHeader.nUnits}))},4:{binarySearchHeader:i,segments:new g.Array(u,(function(r){return r.binarySearchHeader.nUnits}))},6:{binarySearchHeader:i,segments:new g.Array(p,(function(r){return r.binarySearchHeader.nUnits}))},8:{firstGlyph:g.uint16,count:g.uint16,values:new g.Array(r,"count")}})};function StateTable(r,i){void 0===r&&(r={}),void 0===i&&(i=g.uint16);var o=Object.assign({newState:g.uint16,flags:g.uint16},r),u=new g.Struct(o),p=new xn(new g.Array(g.uint16,(function(r){return r.nClasses})));return new g.Struct({nClasses:g.uint32,classTable:new g.Pointer(g.uint32,new Cn(i)),stateArray:new g.Pointer(g.uint32,p),entryTable:new g.Pointer(g.uint32,new xn(u))})}var kn=new g.VersionedStruct("format",{0:{deltas:new g.Array(g.int16,32)},1:{deltas:new g.Array(g.int16,32),mappingData:new Cn(g.uint16)},2:{standardGlyph:g.uint16,controlPoints:new g.Array(g.uint16,32)},3:{standardGlyph:g.uint16,controlPoints:new g.Array(g.uint16,32),mappingData:new Cn(g.uint16)}}),Pn=new g.Struct({version:g.fixed32,format:g.uint16,defaultBaseline:g.uint16,subtable:kn}),An=new g.Struct({setting:g.uint16,nameIndex:g.int16,name:function name(r){return r.parent.parent.parent.name.records.fontFeatures[r.nameIndex]}}),En=new g.Struct({feature:g.uint16,nSettings:g.uint16,settingTable:new g.Pointer(g.uint32,new g.Array(An,"nSettings"),{type:"parent"}),featureFlags:new g.Bitfield(g.uint8,[null,null,null,null,null,null,"hasDefault","exclusive"]),defaultSetting:g.uint8,nameIndex:g.int16,name:function name(r){return r.parent.parent.name.records.fontFeatures[r.nameIndex]}}),Tn=new g.Struct({version:g.fixed32,featureNameCount:g.uint16,reserved1:new g.Reserved(g.uint16),reserved2:new g.Reserved(g.uint32),featureNames:new g.Array(En,"featureNameCount")}),On=new g.Struct({axisTag:new g.String(4),minValue:g.fixed32,defaultValue:g.fixed32,maxValue:g.fixed32,flags:g.uint16,nameID:g.uint16,name:function name(r){return r.parent.parent.name.records.fontFeatures[r.nameID]}}),In=new g.Struct({nameID:g.uint16,name:function name(r){return r.parent.parent.name.records.fontFeatures[r.nameID]},flags:g.uint16,coord:new g.Array(g.fixed32,(function(r){return r.parent.axisCount})),postscriptNameID:new g.Optional(g.uint16,(function(r){return r.parent.instanceSize-r._currentOffset>0}))}),Bn=new g.Struct({version:g.fixed32,offsetToData:g.uint16,countSizePairs:g.uint16,axisCount:g.uint16,axisSize:g.uint16,instanceCount:g.uint16,instanceSize:g.uint16,axis:new g.Array(On,"axisCount"),instance:new g.Array(In,"instanceCount")}),Fn=new g.Fixed(16,"BE",14),Ln=function(){function Offset(){}return Offset.decode=function decode(r,i){return i.flags?r.readUInt32BE():2*r.readUInt16BE()},Offset}(),Rn=new g.Struct({version:g.uint16,reserved:new g.Reserved(g.uint16),axisCount:g.uint16,globalCoordCount:g.uint16,globalCoords:new g.Pointer(g.uint32,new g.Array(new g.Array(Fn,"axisCount"),"globalCoordCount")),glyphCount:g.uint16,flags:g.uint16,offsetToData:g.uint32,offsets:new g.Array(new g.Pointer(Ln,"void",{relativeTo:function relativeTo(r){return r.offsetToData},allowNull:!1}),(function(r){return r.glyphCount+1}))}),Dn=new g.Struct({length:g.uint16,coverage:g.uint16,subFeatureFlags:g.uint32,stateTable:new function StateTable1(r,i){void 0===r&&(r={}),void 0===i&&(i=g.uint16);var o=new g.Struct({version:function version(){return 8},firstGlyph:g.uint16,values:new g.Array(g.uint8,g.uint16)}),u=Object.assign({newStateOffset:g.uint16,newState:function newState(r){return(r.newStateOffset-(r.parent.stateArray.base-r.parent._startOffset))/r.parent.nClasses},flags:g.uint16},r),p=new g.Struct(u),y=new xn(new g.Array(g.uint8,(function(r){return r.nClasses})));return new g.Struct({nClasses:g.uint16,classTable:new g.Pointer(g.uint16,o),stateArray:new g.Pointer(g.uint16,y),entryTable:new g.Pointer(g.uint16,new xn(p))})}}),Mn=new g.Struct({justClass:g.uint32,beforeGrowLimit:g.fixed32,beforeShrinkLimit:g.fixed32,afterGrowLimit:g.fixed32,afterShrinkLimit:g.fixed32,growFlags:g.uint16,shrinkFlags:g.uint16}),Nn=new g.Array(Mn,g.uint32),Wn=new g.VersionedStruct("actionType",{0:{lowerLimit:g.fixed32,upperLimit:g.fixed32,order:g.uint16,glyphs:new g.Array(g.uint16,g.uint16)},1:{addGlyph:g.uint16},2:{substThreshold:g.fixed32,addGlyph:g.uint16,substGlyph:g.uint16},3:{},4:{variationAxis:g.uint32,minimumLimit:g.fixed32,noStretchValue:g.fixed32,maximumLimit:g.fixed32},5:{flags:g.uint16,glyph:g.uint16}}),zn=new g.Struct({actionClass:g.uint16,actionType:g.uint16,actionLength:g.uint32,actionData:Wn,padding:new g.Reserved(g.uint8,(function(r){return r.actionLength-r._currentOffset}))}),Un=new g.Array(zn,g.uint32),jn=new g.Struct({lookupTable:new Cn(new g.Pointer(g.uint16,Un))}),Gn=new g.Struct({classTable:new g.Pointer(g.uint16,Dn,{type:"parent"}),wdcOffset:g.uint16,postCompensationTable:new g.Pointer(g.uint16,jn,{type:"parent"}),widthDeltaClusters:new Cn(new g.Pointer(g.uint16,Nn,{type:"parent",relativeTo:function relativeTo(r){return r.wdcOffset}}))}),Vn=new g.Struct({version:g.uint32,format:g.uint16,horizontal:new g.Pointer(g.uint16,Gn),vertical:new g.Pointer(g.uint16,Gn)}),Hn={action:g.uint16},qn={markIndex:g.uint16,currentIndex:g.uint16},Xn={currentInsertIndex:g.uint16,markedInsertIndex:g.uint16},Zn=new g.Struct({items:new xn(new g.Pointer(g.uint32,new Cn))}),Kn=new g.VersionedStruct("type",{0:{stateTable:new StateTable},1:{stateTable:new StateTable(qn),substitutionTable:new g.Pointer(g.uint32,Zn)},2:{stateTable:new StateTable(Hn),ligatureActions:new g.Pointer(g.uint32,new xn(g.uint32)),components:new g.Pointer(g.uint32,new xn(g.uint16)),ligatureList:new g.Pointer(g.uint32,new xn(g.uint16))},4:{lookupTable:new Cn},5:{stateTable:new StateTable(Xn),insertionActions:new g.Pointer(g.uint32,new xn(g.uint16))}}),Yn=new g.Struct({length:g.uint32,coverage:g.uint24,type:g.uint8,subFeatureFlags:g.uint32,table:Kn,padding:new g.Reserved(g.uint8,(function(r){return r.length-r._currentOffset}))}),Jn=new g.Struct({featureType:g.uint16,featureSetting:g.uint16,enableFlags:g.uint32,disableFlags:g.uint32}),Qn=new g.Struct({defaultFlags:g.uint32,chainLength:g.uint32,nFeatureEntries:g.uint32,nSubtables:g.uint32,features:new g.Array(Jn,"nFeatureEntries"),subtables:new g.Array(Yn,"nSubtables")}),$n=new g.Struct({version:g.uint16,unused:new g.Reserved(g.uint16),nChains:g.uint32,chains:new g.Array(Qn,"nChains")}),ei=new g.Struct({left:g.int16,top:g.int16,right:g.int16,bottom:g.int16}),ti=new g.Struct({version:g.fixed32,format:g.uint16,lookupTable:new Cn(ei)}),ri={};ri.cmap=$,ri.head=ee,ri.hhea=te,ri.hmtx=ne,ri.maxp=ie,ri.name=ue,ri["OS/2"]=he,ri.post=pe,ri.fpgm=ye,ri.loca=ve,ri.prep=me,ri["cvt "]=ge,ri.glyf=be,ri["CFF "]=Ot,ri.CFF2=Ot,ri.VORG=Bt,ri.EBLC=Gt,ri.CBLC=ri.EBLC,ri.sbix=Ht,ri.COLR=Zt,ri.CPAL=Yt,ri.BASE=sr,ri.GDEF=pr,ri.GPOS=Ir,ri.GSUB=Mr,ri.JSTF=Vr,ri.HVAR=Zr,ri.DSIG=Jr,ri.gasp=$r,ri.hdmx=tn,ri.kern=cn,ri.LTSH=ln,ri.PCLT=un,ri.VDMX=pn,ri.vhea=gn,ri.vmtx=vn,ri.avar=_n,ri.bsln=Pn,ri.feat=Tn,ri.fvar=Bn,ri.gvar=Rn,ri.just=Vn,ri.morx=$n,ri.opbd=ti;var ni,ii=new g.Struct({tag:new g.String(4),checkSum:g.uint32,offset:new g.Pointer(g.uint32,"void",{type:"global"}),length:g.uint32}),oi=new g.Struct({tag:new g.String(4),numTables:g.uint16,searchRange:g.uint16,entrySelector:g.uint16,rangeShift:g.uint16,tables:new g.Array(ii,"numTables")});function binarySearch(r,i){for(var o=0,u=r.length-1;o<=u;){var p=o+u>>1,g=i(r[p]);if(g<0)u=p-1;else{if(!(g>0))return p;o=p+1}}return-1}function range(r,i){for(var o=[];r<i;)o.push(r++);return o}oi.process=function(){for(var r,i={},o=_createForOfIteratorHelperLoose(this.tables);!(r=o()).done;){var u=r.value;i[u.tag]=u}this.tables=i},oi.preEncode=function(r){var i=[];for(var o in this.tables){var u=this.tables[o];u&&i.push({tag:o,checkSum:0,offset:new g.VoidPointer(ri[o],u),length:ri[o].size(u)})}this.tag="true",this.numTables=i.length,this.tables=i;var p=Math.floor(Math.log(this.numTables)/Math.LN2),y=Math.pow(2,p);this.searchRange=16*y,this.entrySelector=Math.log(y)/Math.LN2,this.rangeShift=16*this.numTables-this.searchRange};try{var ai=o(4914)}catch(r){}var si=(ni=function(){function CmapProcessor(r){if(this.encoding=null,this.cmap=this.findSubtable(r,[[3,10],[0,6],[0,4],[3,1],[0,3],[0,2],[0,1],[0,0]]),!this.cmap&&ai)for(var i,o=_createForOfIteratorHelperLoose(r.tables);!(i=o()).done;){var u=i.value,p=getEncoding(u.platformID,u.encodingID,u.table.language-1);ai.encodingExists(p)&&(this.cmap=u.table,this.encoding=p)}if(!this.cmap)throw new Error("Could not find a supported cmap table");this.uvs=this.findSubtable(r,[[0,5]]),this.uvs&&14!==this.uvs.version&&(this.uvs=null)}var r=CmapProcessor.prototype;return r.findSubtable=function findSubtable(r,i){for(var o,u=_createForOfIteratorHelperLoose(i);!(o=u()).done;)for(var p,g=o.value,y=g[0],w=g[1],_=_createForOfIteratorHelperLoose(r.tables);!(p=_()).done;){var x=p.value;if(x.platformID===y&&x.encodingID===w)return x.table}return null},r.lookup=function lookup(r,i){if(this.encoding){var o=ai.encode(String.fromCodePoint(r),this.encoding);r=0;for(var u=0;u<o.length;u++)r=r<<8|o[u]}else if(i){var p=this.getVariationSelector(r,i);if(p)return p}var g=this.cmap;switch(g.version){case 0:return g.codeMap.get(r)||0;case 4:for(var y=0,w=g.segCount-1;y<=w;){var _=y+w>>1;if(r<g.startCode.get(_))w=_-1;else{if(!(r>g.endCode.get(_))){var x=g.idRangeOffset.get(_),k=void 0;if(0===x)k=r+g.idDelta.get(_);else{var P=x/2+(r-g.startCode.get(_))-(g.segCount-_);0!==(k=g.glyphIndexArray.get(P)||0)&&(k+=g.idDelta.get(_))}return 65535&k}y=_+1}}return 0;case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return g.glyphIndices.get(r-g.firstCode)||0;case 12:case 13:for(var O=0,I=g.nGroups-1;O<=I;){var B=O+I>>1,R=g.groups.get(B);if(r<R.startCharCode)I=B-1;else{if(!(r>R.endCharCode))return 12===g.version?R.glyphID+(r-R.startCharCode):R.glyphID;O=B+1}}return 0;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format ".concat(g.version))}},r.getVariationSelector=function getVariationSelector(r,i){if(!this.uvs)return 0;var o=this.uvs.varSelectors.toArray(),u=binarySearch(o,(function(r){return i-r.varSelector})),p=o[u];return-1!==u&&p.defaultUVS&&(u=binarySearch(p.defaultUVS,(function(i){return r<i.startUnicodeValue?-1:r>i.startUnicodeValue+i.additionalCount?1:0}))),-1!==u&&p.nonDefaultUVS&&-1!==(u=binarySearch(p.nonDefaultUVS,(function(i){return r-i.unicodeValue})))?p.nonDefaultUVS[u].glyphID:0},r.getCharacterSet=function getCharacterSet(){var r=this.cmap;switch(r.version){case 0:return range(0,r.codeMap.length);case 4:for(var i=[],o=r.endCode.toArray(),u=0;u<o.length;u++){var p=o[u]+1,g=r.startCode.get(u);i.push.apply(i,range(g,p))}return i;case 8:throw new Error("TODO: cmap format 8");case 6:case 10:return range(r.firstCode,r.firstCode+r.glyphIndices.length);case 12:case 13:for(var y,w=[],_=_createForOfIteratorHelperLoose(r.groups.toArray());!(y=_()).done;){var x=y.value;w.push.apply(w,range(x.startCharCode,x.endCharCode+1))}return w;case 14:throw new Error("TODO: cmap format 14");default:throw new Error("Unknown cmap format ".concat(r.version))}},r.codePointsForGlyph=function codePointsForGlyph(r){var i=this.cmap;switch(i.version){case 0:for(var o=[],u=0;u<256;u++)i.codeMap.get(u)===r&&o.push(u);return o;case 4:for(var p=[],g=0;g<i.segCount;g++)for(var y=i.endCode.get(g),w=i.startCode.get(g),_=i.idRangeOffset.get(g),x=i.idDelta.get(g),k=w;k<=y;k++){var P=0;if(0===_)P=k+x;else{var O=_/2+(k-w)-(i.segCount-g);0!==(P=i.glyphIndexArray.get(O)||0)&&(P+=x)}P===r&&p.push(k)}return p;case 12:for(var I,B=[],R=_createForOfIteratorHelperLoose(i.groups.toArray());!(I=R()).done;){var D=I.value;r>=D.glyphID&&r<=D.glyphID+(D.endCharCode-D.startCharCode)&&B.push(D.startCharCode+(r-D.glyphID))}return B;case 13:for(var N,W=[],U=_createForOfIteratorHelperLoose(i.groups.toArray());!(N=U()).done;){var j=N.value;r===j.glyphID&&W.push.apply(W,range(j.startCharCode,j.endCharCode+1))}return W;default:throw new Error("Unknown cmap format ".concat(i.version))}},CmapProcessor}(),_applyDecoratedDescriptor(ni.prototype,"getCharacterSet",[cache],Object.getOwnPropertyDescriptor(ni.prototype,"getCharacterSet"),ni.prototype),_applyDecoratedDescriptor(ni.prototype,"codePointsForGlyph",[cache],Object.getOwnPropertyDescriptor(ni.prototype,"codePointsForGlyph"),ni.prototype),ni),ci=function(){function KernProcessor(r){this.kern=r.kern}var r=KernProcessor.prototype;return r.process=function process(r,i){for(var o=0;o<r.length-1;o++){var u=r[o].id,p=r[o+1].id;i[o].xAdvance+=this.getKerning(u,p)}},r.getKerning=function getKerning(r,i){for(var o,u=0,p=_createForOfIteratorHelperLoose(this.kern.tables);!(o=p()).done;){var g=o.value;if(!g.coverage.crossStream){switch(g.version){case 0:if(!g.coverage.horizontal)continue;break;case 1:if(g.coverage.vertical||g.coverage.variation)continue;break;default:throw new Error("Unsupported kerning table version ".concat(g.version))}var y=0,w=g.subtable;switch(g.format){case 0:var _=binarySearch(w.pairs,(function(o){return r-o.left||i-o.right}));_>=0&&(y=w.pairs[_].value);break;case 2:var x=0,k=0;x=r>=w.leftTable.firstGlyph&&r<w.leftTable.firstGlyph+w.leftTable.nGlyphs?w.leftTable.offsets[r-w.leftTable.firstGlyph]:w.array.off,i>=w.rightTable.firstGlyph&&i<w.rightTable.firstGlyph+w.rightTable.nGlyphs&&(k=w.rightTable.offsets[i-w.rightTable.firstGlyph]);var P=(x+k-w.array.off)/2;y=w.array.values.get(P);break;case 3:if(r>=w.glyphCount||i>=w.glyphCount)return 0;y=w.kernValue[w.kernIndex[w.leftClass[r]*w.rightClassCount+w.rightClass[i]]];break;default:throw new Error("Unsupported kerning sub-table format ".concat(g.format))}g.coverage.override?u=y:u+=y}}return u},KernProcessor}(),li=function(){function UnicodeLayoutEngine(r){this.font=r}var r=UnicodeLayoutEngine.prototype;return r.positionGlyphs=function positionGlyphs(r,i){for(var o=0,u=0,p=0;p<r.length;p++){r[p].isMark?u=p:(o!==u&&this.positionCluster(r,i,o,u),o=u=p)}return o!==u&&this.positionCluster(r,i,o,u),i},r.positionCluster=function positionCluster(r,i,o,u){var p=r[o],g=p.cbox.copy();p.codePoints.length>1&&(g.minX+=(p.codePoints.length-1)*g.width/p.codePoints.length);for(var y=-i[o].xAdvance,w=0,_=this.font.unitsPerEm/16,x=o+1;x<=u;x++){var k=r[x],P=k.cbox,O=i[x],I=this.getCombiningClass(k.codePoints[0]);if("Not_Reordered"!==I){switch(O.xOffset=O.yOffset=0,I){case"Double_Above":case"Double_Below":O.xOffset+=g.minX-P.width/2-P.minX;break;case"Attached_Below_Left":case"Below_Left":case"Above_Left":O.xOffset+=g.minX-P.minX;break;case"Attached_Above_Right":case"Below_Right":case"Above_Right":O.xOffset+=g.maxX-P.width-P.minX;break;default:O.xOffset+=g.minX+(g.width-P.width)/2-P.minX}switch(I){case"Double_Below":case"Below_Left":case"Below":case"Below_Right":case"Attached_Below_Left":case"Attached_Below":"Attached_Below_Left"!==I&&"Attached_Below"!==I||(g.minY+=_),O.yOffset=-g.minY-P.maxY,g.minY+=P.height;break;case"Double_Above":case"Above_Left":case"Above":case"Above_Right":case"Attached_Above":case"Attached_Above_Right":"Attached_Above"!==I&&"Attached_Above_Right"!==I||(g.maxY+=_),O.yOffset=g.maxY-P.minY,g.maxY+=P.height}O.xAdvance=O.yAdvance=0,O.xOffset+=y,O.yOffset+=w}else y-=O.xAdvance,w-=O.yAdvance}},r.getCombiningClass=function getCombiningClass(r){var i=_.getCombiningClass(r);if(3584==(-256&r))if("Not_Reordered"===i)switch(r){case 3633:case 3636:case 3637:case 3638:case 3639:case 3655:case 3660:case 3645:case 3662:return"Above_Right";case 3761:case 3764:case 3765:case 3766:case 3767:case 3771:case 3788:case 3789:return"Above";case 3772:return"Below"}else if(3642===r)return"Below_Right";switch(i){case"CCC10":case"CCC11":case"CCC12":case"CCC13":case"CCC14":case"CCC15":case"CCC16":case"CCC17":case"CCC18":case"CCC20":case"CCC22":case"CCC29":case"CCC32":case"CCC118":case"CCC129":case"CCC132":return"Below";case"CCC23":return"Attached_Above";case"CCC24":case"CCC107":return"Above_Right";case"CCC25":case"CCC19":return"Above_Left";case"CCC26":case"CCC27":case"CCC28":case"CCC30":case"CCC31":case"CCC33":case"CCC34":case"CCC35":case"CCC36":case"CCC122":case"CCC130":return"Above";case"CCC21":break;case"CCC103":return"Below_Right"}return i},UnicodeLayoutEngine}(),ui=function(){function BBox(r,i,o,u){void 0===r&&(r=1/0),void 0===i&&(i=1/0),void 0===o&&(o=-1/0),void 0===u&&(u=-1/0),this.minX=r,this.minY=i,this.maxX=o,this.maxY=u}var r=BBox.prototype;return r.addPoint=function addPoint(r,i){Math.abs(r)!==1/0&&(r<this.minX&&(this.minX=r),r>this.maxX&&(this.maxX=r)),Math.abs(i)!==1/0&&(i<this.minY&&(this.minY=i),i>this.maxY&&(this.maxY=i))},r.copy=function copy(){return new BBox(this.minX,this.minY,this.maxX,this.maxY)},_createClass(BBox,[{key:"width",get:function get(){return this.maxX-this.minX}},{key:"height",get:function get(){return this.maxY-this.minY}}]),BBox}(),fi={Caucasian_Albanian:"aghb",Arabic:"arab",Imperial_Aramaic:"armi",Armenian:"armn",Avestan:"avst",Balinese:"bali",Bamum:"bamu",Bassa_Vah:"bass",Batak:"batk",Bengali:["bng2","beng"],Bopomofo:"bopo",Brahmi:"brah",Braille:"brai",Buginese:"bugi",Buhid:"buhd",Chakma:"cakm",Canadian_Aboriginal:"cans",Carian:"cari",Cham:"cham",Cherokee:"cher",Coptic:"copt",Cypriot:"cprt",Cyrillic:"cyrl",Devanagari:["dev2","deva"],Deseret:"dsrt",Duployan:"dupl",Egyptian_Hieroglyphs:"egyp",Elbasan:"elba",Ethiopic:"ethi",Georgian:"geor",Glagolitic:"glag",Gothic:"goth",Grantha:"gran",Greek:"grek",Gujarati:["gjr2","gujr"],Gurmukhi:["gur2","guru"],Hangul:"hang",Han:"hani",Hanunoo:"hano",Hebrew:"hebr",Hiragana:"hira",Pahawh_Hmong:"hmng",Katakana_Or_Hiragana:"hrkt",Old_Italic:"ital",Javanese:"java",Kayah_Li:"kali",Katakana:"kana",Kharoshthi:"khar",Khmer:"khmr",Khojki:"khoj",Kannada:["knd2","knda"],Kaithi:"kthi",Tai_Tham:"lana",Lao:"lao ",Latin:"latn",Lepcha:"lepc",Limbu:"limb",Linear_A:"lina",Linear_B:"linb",Lisu:"lisu",Lycian:"lyci",Lydian:"lydi",Mahajani:"mahj",Mandaic:"mand",Manichaean:"mani",Mende_Kikakui:"mend",Meroitic_Cursive:"merc",Meroitic_Hieroglyphs:"mero",Malayalam:["mlm2","mlym"],Modi:"modi",Mongolian:"mong",Mro:"mroo",Meetei_Mayek:"mtei",Myanmar:["mym2","mymr"],Old_North_Arabian:"narb",Nabataean:"nbat",Nko:"nko ",Ogham:"ogam",Ol_Chiki:"olck",Old_Turkic:"orkh",Oriya:["ory2","orya"],Osmanya:"osma",Palmyrene:"palm",Pau_Cin_Hau:"pauc",Old_Permic:"perm",Phags_Pa:"phag",Inscriptional_Pahlavi:"phli",Psalter_Pahlavi:"phlp",Phoenician:"phnx",Miao:"plrd",Inscriptional_Parthian:"prti",Rejang:"rjng",Runic:"runr",Samaritan:"samr",Old_South_Arabian:"sarb",Saurashtra:"saur",Shavian:"shaw",Sharada:"shrd",Siddham:"sidd",Khudawadi:"sind",Sinhala:"sinh",Sora_Sompeng:"sora",Sundanese:"sund",Syloti_Nagri:"sylo",Syriac:"syrc",Tagbanwa:"tagb",Takri:"takr",Tai_Le:"tale",New_Tai_Lue:"talu",Tamil:["tml2","taml"],Tai_Viet:"tavt",Telugu:["tel2","telu"],Tifinagh:"tfng",Tagalog:"tglg",Thaana:"thaa",Thai:"thai",Tibetan:"tibt",Tirhuta:"tirh",Ugaritic:"ugar",Vai:"vai ",Warang_Citi:"wara",Old_Persian:"xpeo",Cuneiform:"xsux",Yi:"yi  ",Inherited:"zinh",Common:"zyyy",Unknown:"zzzz"},hi={};for(var di in fi){var pi=fi[di];if(Array.isArray(pi))for(var gi,yi=_createForOfIteratorHelperLoose(pi);!(gi=yi()).done;){var vi=gi.value;hi[vi]=di}else hi[pi]=di}var mi={arab:!0,hebr:!0,syrc:!0,thaa:!0,cprt:!0,khar:!0,phnx:!0,"nko ":!0,lydi:!0,avst:!0,armi:!0,phli:!0,prti:!0,sarb:!0,orkh:!0,samr:!0,mand:!0,merc:!0,mero:!0,mani:!0,mend:!0,nbat:!0,narb:!0,palm:!0,phlp:!0};function direction(r){return mi[r]?"rtl":"ltr"}for(var bi=function(){function GlyphRun(r,i,o,u,p){if(this.glyphs=r,this.positions=null,this.script=o,this.language=u||null,this.direction=p||direction(o),this.features={},Array.isArray(i))for(var g,y=_createForOfIteratorHelperLoose(i);!(g=y()).done;){var w=g.value;this.features[w]=!0}else"object"==typeof i&&(this.features=i)}return _createClass(GlyphRun,[{key:"advanceWidth",get:function get(){for(var r,i=0,o=_createForOfIteratorHelperLoose(this.positions);!(r=o()).done;){i+=r.value.xAdvance}return i}},{key:"advanceHeight",get:function get(){for(var r,i=0,o=_createForOfIteratorHelperLoose(this.positions);!(r=o()).done;){i+=r.value.yAdvance}return i}},{key:"bbox",get:function get(){for(var r=new ui,i=0,o=0,u=0;u<this.glyphs.length;u++){var p=this.glyphs[u],g=this.positions[u],y=p.bbox;r.addPoint(y.minX+i+g.xOffset,y.minY+o+g.yOffset),r.addPoint(y.maxX+i+g.xOffset,y.maxY+o+g.yOffset),i+=g.xAdvance,o+=g.yAdvance}return r}}]),GlyphRun}(),wi=function GlyphPosition(r,i,o,u){void 0===r&&(r=0),void 0===i&&(i=0),void 0===o&&(o=0),void 0===u&&(u=0),this.xAdvance=r,this.yAdvance=i,this.xOffset=o,this.yOffset=u},_i={allTypographicFeatures:{code:0,exclusive:!1,allTypeFeatures:0},ligatures:{code:1,exclusive:!1,requiredLigatures:0,commonLigatures:2,rareLigatures:4,rebusPictures:8,diphthongLigatures:10,squaredLigatures:12,abbrevSquaredLigatures:14,symbolLigatures:16,contextualLigatures:18,historicalLigatures:20},cursiveConnection:{code:2,exclusive:!0,unconnected:0,partiallyConnected:1,cursive:2},letterCase:{code:3,exclusive:!0},verticalSubstitution:{code:4,exclusive:!1,substituteVerticalForms:0},linguisticRearrangement:{code:5,exclusive:!1,linguisticRearrangement:0},numberSpacing:{code:6,exclusive:!0,monospacedNumbers:0,proportionalNumbers:1,thirdWidthNumbers:2,quarterWidthNumbers:3},smartSwash:{code:8,exclusive:!1,wordInitialSwashes:0,wordFinalSwashes:2,nonFinalSwashes:8},diacritics:{code:9,exclusive:!0,showDiacritics:0,hideDiacritics:1,decomposeDiacritics:2},verticalPosition:{code:10,exclusive:!0,normalPosition:0,superiors:1,inferiors:2,ordinals:3,scientificInferiors:4},fractions:{code:11,exclusive:!0,noFractions:0,verticalFractions:1,diagonalFractions:2},overlappingCharacters:{code:13,exclusive:!1,preventOverlap:0},typographicExtras:{code:14,exclusive:!1,slashedZero:4},mathematicalExtras:{code:15,exclusive:!1,mathematicalGreek:10},ornamentSets:{code:16,exclusive:!0,noOrnaments:0,dingbats:1,piCharacters:2,fleurons:3,decorativeBorders:4,internationalSymbols:5,mathSymbols:6},characterAlternatives:{code:17,exclusive:!0,noAlternates:0},designComplexity:{code:18,exclusive:!0,designLevel1:0,designLevel2:1,designLevel3:2,designLevel4:3,designLevel5:4},styleOptions:{code:19,exclusive:!0,noStyleOptions:0,displayText:1,engravedText:2,illuminatedCaps:3,titlingCaps:4,tallCaps:5},characterShape:{code:20,exclusive:!0,traditionalCharacters:0,simplifiedCharacters:1,JIS1978Characters:2,JIS1983Characters:3,JIS1990Characters:4,traditionalAltOne:5,traditionalAltTwo:6,traditionalAltThree:7,traditionalAltFour:8,traditionalAltFive:9,expertCharacters:10,JIS2004Characters:11,hojoCharacters:12,NLCCharacters:13,traditionalNamesCharacters:14},numberCase:{code:21,exclusive:!0,lowerCaseNumbers:0,upperCaseNumbers:1},textSpacing:{code:22,exclusive:!0,proportionalText:0,monospacedText:1,halfWidthText:2,thirdWidthText:3,quarterWidthText:4,altProportionalText:5,altHalfWidthText:6},transliteration:{code:23,exclusive:!0,noTransliteration:0},annotation:{code:24,exclusive:!0,noAnnotation:0,boxAnnotation:1,roundedBoxAnnotation:2,circleAnnotation:3,invertedCircleAnnotation:4,parenthesisAnnotation:5,periodAnnotation:6,romanNumeralAnnotation:7,diamondAnnotation:8,invertedBoxAnnotation:9,invertedRoundedBoxAnnotation:10},kanaSpacing:{code:25,exclusive:!0,fullWidthKana:0,proportionalKana:1},ideographicSpacing:{code:26,exclusive:!0,fullWidthIdeographs:0,proportionalIdeographs:1,halfWidthIdeographs:2},unicodeDecomposition:{code:27,exclusive:!1,canonicalComposition:0,compatibilityComposition:2,transcodingComposition:4},rubyKana:{code:28,exclusive:!1,rubyKana:2},CJKSymbolAlternatives:{code:29,exclusive:!0,noCJKSymbolAlternatives:0,CJKSymbolAltOne:1,CJKSymbolAltTwo:2,CJKSymbolAltThree:3,CJKSymbolAltFour:4,CJKSymbolAltFive:5},ideographicAlternatives:{code:30,exclusive:!0,noIdeographicAlternatives:0,ideographicAltOne:1,ideographicAltTwo:2,ideographicAltThree:3,ideographicAltFour:4,ideographicAltFive:5},CJKVerticalRomanPlacement:{code:31,exclusive:!0,CJKVerticalRomanCentered:0,CJKVerticalRomanHBaseline:1},italicCJKRoman:{code:32,exclusive:!1,CJKItalicRoman:2},caseSensitiveLayout:{code:33,exclusive:!1,caseSensitiveLayout:0,caseSensitiveSpacing:2},alternateKana:{code:34,exclusive:!1,alternateHorizKana:0,alternateVertKana:2},stylisticAlternatives:{code:35,exclusive:!1,noStylisticAlternates:0,stylisticAltOne:2,stylisticAltTwo:4,stylisticAltThree:6,stylisticAltFour:8,stylisticAltFive:10,stylisticAltSix:12,stylisticAltSeven:14,stylisticAltEight:16,stylisticAltNine:18,stylisticAltTen:20,stylisticAltEleven:22,stylisticAltTwelve:24,stylisticAltThirteen:26,stylisticAltFourteen:28,stylisticAltFifteen:30,stylisticAltSixteen:32,stylisticAltSeventeen:34,stylisticAltEighteen:36,stylisticAltNineteen:38,stylisticAltTwenty:40},contextualAlternates:{code:36,exclusive:!1,contextualAlternates:0,swashAlternates:2,contextualSwashAlternates:4},lowerCase:{code:37,exclusive:!0,defaultLowerCase:0,lowerCaseSmallCaps:1,lowerCasePetiteCaps:2},upperCase:{code:38,exclusive:!0,defaultUpperCase:0,upperCaseSmallCaps:1,upperCasePetiteCaps:2},languageTag:{code:39,exclusive:!0},CJKRomanSpacing:{code:103,exclusive:!0,halfWidthCJKRoman:0,proportionalCJKRoman:1,defaultCJKRoman:2,fullWidthCJKRoman:3}},Si=function feature(r,i){return[_i[r].code,_i[r][i]]},xi={rlig:Si("ligatures","requiredLigatures"),clig:Si("ligatures","contextualLigatures"),dlig:Si("ligatures","rareLigatures"),hlig:Si("ligatures","historicalLigatures"),liga:Si("ligatures","commonLigatures"),hist:Si("ligatures","historicalLigatures"),smcp:Si("lowerCase","lowerCaseSmallCaps"),pcap:Si("lowerCase","lowerCasePetiteCaps"),frac:Si("fractions","diagonalFractions"),dnom:Si("fractions","diagonalFractions"),numr:Si("fractions","diagonalFractions"),afrc:Si("fractions","verticalFractions"),case:Si("caseSensitiveLayout","caseSensitiveLayout"),ccmp:Si("unicodeDecomposition","canonicalComposition"),cpct:Si("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),valt:Si("CJKVerticalRomanPlacement","CJKVerticalRomanCentered"),swsh:Si("contextualAlternates","swashAlternates"),cswh:Si("contextualAlternates","contextualSwashAlternates"),curs:Si("cursiveConnection","cursive"),c2pc:Si("upperCase","upperCasePetiteCaps"),c2sc:Si("upperCase","upperCaseSmallCaps"),init:Si("smartSwash","wordInitialSwashes"),fin2:Si("smartSwash","wordFinalSwashes"),medi:Si("smartSwash","nonFinalSwashes"),med2:Si("smartSwash","nonFinalSwashes"),fin3:Si("smartSwash","wordFinalSwashes"),fina:Si("smartSwash","wordFinalSwashes"),pkna:Si("kanaSpacing","proportionalKana"),half:Si("textSpacing","halfWidthText"),halt:Si("textSpacing","altHalfWidthText"),hkna:Si("alternateKana","alternateHorizKana"),vkna:Si("alternateKana","alternateVertKana"),ital:Si("italicCJKRoman","CJKItalicRoman"),lnum:Si("numberCase","upperCaseNumbers"),onum:Si("numberCase","lowerCaseNumbers"),mgrk:Si("mathematicalExtras","mathematicalGreek"),calt:Si("contextualAlternates","contextualAlternates"),vrt2:Si("verticalSubstitution","substituteVerticalForms"),vert:Si("verticalSubstitution","substituteVerticalForms"),tnum:Si("numberSpacing","monospacedNumbers"),pnum:Si("numberSpacing","proportionalNumbers"),sups:Si("verticalPosition","superiors"),subs:Si("verticalPosition","inferiors"),ordn:Si("verticalPosition","ordinals"),pwid:Si("textSpacing","proportionalText"),hwid:Si("textSpacing","halfWidthText"),qwid:Si("textSpacing","quarterWidthText"),twid:Si("textSpacing","thirdWidthText"),fwid:Si("textSpacing","proportionalText"),palt:Si("textSpacing","altProportionalText"),trad:Si("characterShape","traditionalCharacters"),smpl:Si("characterShape","simplifiedCharacters"),jp78:Si("characterShape","JIS1978Characters"),jp83:Si("characterShape","JIS1983Characters"),jp90:Si("characterShape","JIS1990Characters"),jp04:Si("characterShape","JIS2004Characters"),expt:Si("characterShape","expertCharacters"),hojo:Si("characterShape","hojoCharacters"),nlck:Si("characterShape","NLCCharacters"),tnam:Si("characterShape","traditionalNamesCharacters"),ruby:Si("rubyKana","rubyKana"),titl:Si("styleOptions","titlingCaps"),zero:Si("typographicExtras","slashedZero"),ss01:Si("stylisticAlternatives","stylisticAltOne"),ss02:Si("stylisticAlternatives","stylisticAltTwo"),ss03:Si("stylisticAlternatives","stylisticAltThree"),ss04:Si("stylisticAlternatives","stylisticAltFour"),ss05:Si("stylisticAlternatives","stylisticAltFive"),ss06:Si("stylisticAlternatives","stylisticAltSix"),ss07:Si("stylisticAlternatives","stylisticAltSeven"),ss08:Si("stylisticAlternatives","stylisticAltEight"),ss09:Si("stylisticAlternatives","stylisticAltNine"),ss10:Si("stylisticAlternatives","stylisticAltTen"),ss11:Si("stylisticAlternatives","stylisticAltEleven"),ss12:Si("stylisticAlternatives","stylisticAltTwelve"),ss13:Si("stylisticAlternatives","stylisticAltThirteen"),ss14:Si("stylisticAlternatives","stylisticAltFourteen"),ss15:Si("stylisticAlternatives","stylisticAltFifteen"),ss16:Si("stylisticAlternatives","stylisticAltSixteen"),ss17:Si("stylisticAlternatives","stylisticAltSeventeen"),ss18:Si("stylisticAlternatives","stylisticAltEighteen"),ss19:Si("stylisticAlternatives","stylisticAltNineteen"),ss20:Si("stylisticAlternatives","stylisticAltTwenty")},Ci=1;Ci<=99;Ci++)xi["cv".concat("00".concat(Ci).slice(-2))]=[_i.characterAlternatives.code,Ci];var ki,Pi={};for(var Ai in xi){var Ei=xi[Ai];null==Pi[Ei[0]]&&(Pi[Ei[0]]={}),Pi[Ei[0]][Ei[1]]=Ai}function mapFeatureStrings(r){var i=r[0],o=r[1];if(isNaN(i))var u=_i[i]&&_i[i].code;else u=i;if(isNaN(o))var p=_i[i]&&_i[i][o];else p=o;return[u,p]}var Ti,Oi=(ki=function(){function AATLookupTable(r){this.table=r}var r=AATLookupTable.prototype;return r.lookup=function lookup(r){switch(this.table.version){case 0:return this.table.values.getItem(r);case 2:case 4:for(var i=0,o=this.table.binarySearchHeader.nUnits-1;i<=o;){var u=i+o>>1;if(65535===(y=this.table.segments[u]).firstGlyph)return null;if(r<y.firstGlyph)o=u-1;else{if(!(r>y.lastGlyph))return 2===this.table.version?y.value:y.values[r-y.firstGlyph];i=u+1}}return null;case 6:for(var p=0,g=this.table.binarySearchHeader.nUnits-1;p<=g;){var y;u=p+g>>1;if(65535===(y=this.table.segments[u]).glyph)return null;if(r<y.glyph)g=u-1;else{if(!(r>y.glyph))return y.value;p=u+1}}return null;case 8:return this.table.values[r-this.table.firstGlyph];default:throw new Error("Unknown lookup table format: ".concat(this.table.version))}},r.glyphsForValue=function glyphsForValue(r){var i=[];switch(this.table.version){case 2:case 4:for(var o,u=_createForOfIteratorHelperLoose(this.table.segments);!(o=u()).done;){var p=o.value;if(2===this.table.version&&p.value===r)i.push.apply(i,range(p.firstGlyph,p.lastGlyph+1));else for(var g=0;g<p.values.length;g++)p.values[g]===r&&i.push(p.firstGlyph+g)}break;case 6:for(var y,w=_createForOfIteratorHelperLoose(this.table.segments);!(y=w()).done;){var _=y.value;_.value===r&&i.push(_.glyph)}break;case 8:for(var x=0;x<this.table.values.length;x++)this.table.values[x]===r&&i.push(this.table.firstGlyph+x);break;default:throw new Error("Unknown lookup table format: ".concat(this.table.version))}return i},AATLookupTable}(),_applyDecoratedDescriptor(ki.prototype,"glyphsForValue",[cache],Object.getOwnPropertyDescriptor(ki.prototype,"glyphsForValue"),ki.prototype),ki),Ii=function(){function AATStateMachine(r){this.stateTable=r,this.lookupTable=new Oi(r.classTable)}var r=AATStateMachine.prototype;return r.process=function process(r,i,o){for(var u=0,p=i?r.length-1:0,g=i?-1:1;1===g&&p<=r.length||-1===g&&p>=-1;){var y=null,w=1,_=!0;p===r.length||-1===p?w=0:65535===(y=r[p]).id?w=2:null==(w=this.lookupTable.lookup(y.id))&&(w=1);var x=this.stateTable.stateArray.getItem(u)[w],k=this.stateTable.entryTable.getItem(x);0!==w&&2!==w&&(o(y,k,p),_=!(16384&k.flags)),u=k.newState,_&&(p+=g)}return r},r.traverse=function traverse(r,i,o){if(void 0===i&&(i=0),void 0===o&&(o=new Set),!o.has(i)){o.add(i);for(var u=this.stateTable,p=u.nClasses,g=u.stateArray,y=u.entryTable,w=g.getItem(i),_=4;_<p;_++)for(var x,k=w[_],P=y.getItem(k),O=_createForOfIteratorHelperLoose(this.lookupTable.glyphsForValue(_));!(x=O()).done;){var I=x.value;r.enter&&r.enter(I,P),0!==P.newState&&this.traverse(r,P.newState,o),r.exit&&r.exit(I,P)}}},AATStateMachine}(),Bi=4194304,Fi=(Ti=function(){function AATMorxProcessor(r){this.processIndicRearragement=this.processIndicRearragement.bind(this),this.processContextualSubstitution=this.processContextualSubstitution.bind(this),this.processLigature=this.processLigature.bind(this),this.processNoncontextualSubstitutions=this.processNoncontextualSubstitutions.bind(this),this.processGlyphInsertion=this.processGlyphInsertion.bind(this),this.font=r,this.morx=r.morx,this.inputCache=null}var r=AATMorxProcessor.prototype;return r.process=function process(r,i){void 0===i&&(i={});for(var o,u=_createForOfIteratorHelperLoose(this.morx.chains);!(o=u()).done;){for(var p,g=o.value,y=g.defaultFlags,w=_createForOfIteratorHelperLoose(g.features);!(p=w()).done;){var _,x=p.value;(_=i[x.featureType])&&(_[x.featureSetting]?(y&=x.disableFlags,y|=x.enableFlags):!1===_[x.featureSetting]&&(y|=~x.disableFlags,y&=~x.enableFlags))}for(var k,P=_createForOfIteratorHelperLoose(g.subtables);!(k=P()).done;){var O=k.value;O.subFeatureFlags&y&&this.processSubtable(O,r)}}for(var I=r.length-1;I>=0;)65535===r[I].id&&r.splice(I,1),I--;return r},r.processSubtable=function processSubtable(r,i){if(this.subtable=r,this.glyphs=i,4!==this.subtable.type){this.ligatureStack=[],this.markedGlyph=null,this.firstGlyph=null,this.lastGlyph=null,this.markedIndex=null;var o=this.getStateMachine(r),u=this.getProcessor(),p=!!(this.subtable.coverage&Bi);return o.process(this.glyphs,p,u)}this.processNoncontextualSubstitutions(this.subtable,this.glyphs)},r.getStateMachine=function getStateMachine(r){return new Ii(r.table.stateTable)},r.getProcessor=function getProcessor(){switch(this.subtable.type){case 0:return this.processIndicRearragement;case 1:return this.processContextualSubstitution;case 2:return this.processLigature;case 4:return this.processNoncontextualSubstitutions;case 5:return this.processGlyphInsertion;default:throw new Error("Invalid morx subtable type: ".concat(this.subtable.type))}},r.processIndicRearragement=function processIndicRearragement(r,i,o){32768&i.flags&&(this.firstGlyph=o),8192&i.flags&&(this.lastGlyph=o),function reorderGlyphs(r,i,o,u){switch(i){case 0:return r;case 1:return swap(r,[o,1],[u,0]);case 2:return swap(r,[o,0],[u,1]);case 3:return swap(r,[o,1],[u,1]);case 4:return swap(r,[o,2],[u,0]);case 5:return swap(r,[o,2],[u,0],!0,!1);case 6:return swap(r,[o,0],[u,2]);case 7:return swap(r,[o,0],[u,2],!1,!0);case 8:return swap(r,[o,1],[u,2]);case 9:return swap(r,[o,1],[u,2],!1,!0);case 10:return swap(r,[o,2],[u,1]);case 11:return swap(r,[o,2],[u,1],!0,!1);case 12:return swap(r,[o,2],[u,2]);case 13:return swap(r,[o,2],[u,2],!0,!1);case 14:return swap(r,[o,2],[u,2],!1,!0);case 15:return swap(r,[o,2],[u,2],!0,!0);default:throw new Error("Unknown verb: ".concat(i))}}(this.glyphs,15&i.flags,this.firstGlyph,this.lastGlyph)},r.processContextualSubstitution=function processContextualSubstitution(r,i,o){var u=this.subtable.table.substitutionTable.items;if(65535!==i.markIndex){var p=u.getItem(i.markIndex),g=new Oi(p);r=this.glyphs[this.markedGlyph],(y=g.lookup(r.id))&&(this.glyphs[this.markedGlyph]=this.font.getGlyph(y,r.codePoints))}if(65535!==i.currentIndex){var y,w=u.getItem(i.currentIndex),_=new Oi(w);r=this.glyphs[o],(y=_.lookup(r.id))&&(this.glyphs[o]=this.font.getGlyph(y,r.codePoints))}32768&i.flags&&(this.markedGlyph=o)},r.processLigature=function processLigature(r,i,o){if(32768&i.flags&&this.ligatureStack.push(o),8192&i.flags){for(var u,p=this.subtable.table.ligatureActions,g=this.subtable.table.components,y=this.subtable.table.ligatureList,w=i.action,_=!1,x=0,k=[],P=[];!_;){var O,I=this.ligatureStack.pop();(O=k).unshift.apply(O,this.glyphs[I].codePoints);var B=p.getItem(w++);_=!!(2147483648&B);var R=!!(1073741824&B),D=(1073741823&B)<<2>>2;if(D+=this.glyphs[I].id,x+=g.getItem(D),_||R){var N=y.getItem(x);this.glyphs[I]=this.font.getGlyph(N,k),P.push(I),x=0,k=[]}else this.glyphs[I]=this.font.getGlyph(65535)}(u=this.ligatureStack).push.apply(u,P)}},r.processNoncontextualSubstitutions=function processNoncontextualSubstitutions(r,i,o){var u=new Oi(r.table.lookupTable);for(o=0;o<i.length;o++){var p=i[o];if(65535!==p.id){var g=u.lookup(p.id);g&&(i[o]=this.font.getGlyph(g,p.codePoints))}}},r._insertGlyphs=function _insertGlyphs(r,i,o,u){for(var p,g=[];o--;){var y=this.subtable.table.insertionActions.getItem(i++);g.push(this.font.getGlyph(y))}u||r++,(p=this.glyphs).splice.apply(p,[r,0].concat(g))},r.processGlyphInsertion=function processGlyphInsertion(r,i,o){if(32768&i.flags&&(this.markedIndex=o),65535!==i.markedInsertIndex){var u=(31&i.flags)>>>5,p=!!(1024&i.flags);this._insertGlyphs(this.markedIndex,i.markedInsertIndex,u,p)}if(65535!==i.currentInsertIndex){var g=(992&i.flags)>>>5,y=!!(2048&i.flags);this._insertGlyphs(o,i.currentInsertIndex,g,y)}},r.getSupportedFeatures=function getSupportedFeatures(){for(var r,i=[],o=_createForOfIteratorHelperLoose(this.morx.chains);!(r=o()).done;)for(var u,p=_createForOfIteratorHelperLoose(r.value.features);!(u=p()).done;){var g=u.value;i.push([g.featureType,g.featureSetting])}return i},r.generateInputs=function generateInputs(r){return this.inputCache||this.generateInputCache(),this.inputCache[r]||[]},r.generateInputCache=function generateInputCache(){this.inputCache={};for(var r,i=_createForOfIteratorHelperLoose(this.morx.chains);!(r=i()).done;)for(var o,u=r.value,p=u.defaultFlags,g=_createForOfIteratorHelperLoose(u.subtables);!(o=g()).done;){var y=o.value;y.subFeatureFlags&p&&this.generateInputsForSubtable(y)}},r.generateInputsForSubtable=function generateInputsForSubtable(r){var i=this;if(2===r.type){if(!!(r.coverage&Bi))throw new Error("Reverse subtable, not supported.");this.subtable=r,this.ligatureStack=[];var o=this.getStateMachine(r),u=this.getProcessor(),p=[],g=[];this.glyphs=[],o.traverse({enter:function enter(r,o){var y=i.glyphs;g.push({glyphs:y.slice(),ligatureStack:i.ligatureStack.slice()});var w=i.font.getGlyph(r);p.push(w),y.push(p[p.length-1]),u(y[y.length-1],o,y.length-1);for(var _=0,x=0,k=0;k<y.length&&_<=1;k++)65535!==y[k].id&&(_++,x=y[k].id);if(1===_){var P=p.map((function(r){return r.id})),O=i.inputCache[x];O?O.push(P):i.inputCache[x]=[P]}},exit:function exit(){var r=g.pop();i.glyphs=r.glyphs,i.ligatureStack=r.ligatureStack,p.pop()}})}},AATMorxProcessor}(),_applyDecoratedDescriptor(Ti.prototype,"getStateMachine",[cache],Object.getOwnPropertyDescriptor(Ti.prototype,"getStateMachine"),Ti.prototype),Ti);function swap(r,i,o,u,p){void 0===u&&(u=!1),void 0===p&&(p=!1);var g=r.splice(o[0]-(o[1]-1),o[1]);p&&g.reverse();var y=r.splice.apply(r,[i[0],i[1]].concat(g));return u&&y.reverse(),r.splice.apply(r,[o[0]-(i[1]-1),0].concat(y)),r}var Li=function(){function AATLayoutEngine(r){this.font=r,this.morxProcessor=new Fi(r),this.fallbackPosition=!1}var r=AATLayoutEngine.prototype;return r.substitute=function substitute(r){"rtl"===r.direction&&r.glyphs.reverse(),this.morxProcessor.process(r.glyphs,function mapOTToAAT(r){var i={};for(var o in r){var u;(u=xi[o])&&(null==i[u[0]]&&(i[u[0]]={}),i[u[0]][u[1]]=r[o])}return i}(r.features))},r.getAvailableFeatures=function getAvailableFeatures(r,i){return function mapAATToOT(r){var i={};if(Array.isArray(r))for(var o=0;o<r.length;o++){var u,p=mapFeatureStrings(r[o]);(u=Pi[p[0]]&&Pi[p[0]][p[1]])&&(i[u]=!0)}else if("object"==typeof r)for(var g in r){var y=r[g];for(var w in y){var _=void 0,x=mapFeatureStrings([g,w]);y[w]&&(_=Pi[x[0]]&&Pi[x[0]][x[1]])&&(i[_]=!0)}}return Object.keys(i)}(this.morxProcessor.getSupportedFeatures())},r.stringsForGlyph=function stringsForGlyph(r){for(var i,o=this.morxProcessor.generateInputs(r),u=new Set,p=_createForOfIteratorHelperLoose(o);!(i=p()).done;){var g=i.value;this._addStrings(g,0,u,"")}return u},r._addStrings=function _addStrings(r,i,o,u){for(var p,g=_createForOfIteratorHelperLoose(this.font._cmapProcessor.codePointsForGlyph(r[i]));!(p=g()).done;){var y=p.value,w=u+String.fromCodePoint(y);i<r.length-1?this._addStrings(r,i+1,o,w):o.add(w)}},AATLayoutEngine}(),Ri=function(){function ShapingPlan(r,i,o){this.font=r,this.script=i,this.direction=o,this.stages=[],this.globalFeatures={},this.allFeatures={}}var r=ShapingPlan.prototype;return r._addFeatures=function _addFeatures(r,i){for(var o,u=this.stages.length-1,p=this.stages[u],g=_createForOfIteratorHelperLoose(r);!(o=g()).done;){var y=o.value;null==this.allFeatures[y]&&(p.push(y),this.allFeatures[y]=u,i&&(this.globalFeatures[y]=!0))}},r.add=function add(r,i){if(void 0===i&&(i=!0),0===this.stages.length&&this.stages.push([]),"string"==typeof r&&(r=[r]),Array.isArray(r))this._addFeatures(r,i);else{if("object"!=typeof r)throw new Error("Unsupported argument to ShapingPlan#add");this._addFeatures(r.global||[],!0),this._addFeatures(r.local||[],!1)}},r.addStage=function addStage(r,i){"function"==typeof r?this.stages.push(r,[]):(this.stages.push([]),this.add(r,i))},r.setFeatureOverrides=function setFeatureOverrides(r){if(Array.isArray(r))this.add(r);else if("object"==typeof r)for(var i in r)if(r[i])this.add(i);else if(null!=this.allFeatures[i]){var o=this.stages[this.allFeatures[i]];o.splice(o.indexOf(i),1),delete this.allFeatures[i],delete this.globalFeatures[i]}},r.assignGlobalFeatures=function assignGlobalFeatures(r){for(var i,o=_createForOfIteratorHelperLoose(r);!(i=o()).done;){var u=i.value;for(var p in this.globalFeatures)u.features[p]=!0}},r.process=function process(r,i,o){for(var u,p=_createForOfIteratorHelperLoose(this.stages);!(u=p()).done;){var g=u.value;"function"==typeof g?o||g(this.font,i,this):g.length>0&&r.applyFeatures(g,i,o)}},ShapingPlan}(),Di=["rvrn"],Mi=["ccmp","locl","rlig","mark","mkmk"],Ni=["frac","numr","dnom"],Wi=["calt","clig","liga","rclt","curs","kern"],zi={ltr:["ltra","ltrm"],rtl:["rtla","rtlm"]},Ui=function(){function DefaultShaper(){}return DefaultShaper.plan=function plan(r,i,o){this.planPreprocessing(r),this.planFeatures(r),this.planPostprocessing(r,o),r.assignGlobalFeatures(i),this.assignFeatures(r,i)},DefaultShaper.planPreprocessing=function planPreprocessing(r){r.add({global:[].concat(Di,zi[r.direction]),local:Ni})},DefaultShaper.planFeatures=function planFeatures(r){},DefaultShaper.planPostprocessing=function planPostprocessing(r,i){r.add([].concat(Mi,Wi)),r.setFeatureOverrides(i)},DefaultShaper.assignFeatures=function assignFeatures(r,i){for(var o=0;o<i.length;o++){var u=i[o];if(8260===u.codePoints[0]){for(var p=o,g=o+1;p>0&&_.isDigit(i[p-1].codePoints[0]);)i[p-1].features.numr=!0,i[p-1].features.frac=!0,p--;for(;g<i.length&&_.isDigit(i[g].codePoints[0]);)i[g].features.dnom=!0,i[g].features.frac=!0,g++;u.features.frac=!0,o=g-1}}},DefaultShaper}();_defineProperty(Ui,"zeroMarkWidths","AFTER_GPOS");var ji=new x(p("APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==","base64")),Gi=["isol","fina","fin2","fin3","medi","med2","init"],Vi=0,Hi=6,qi="isol",Xi="fina",Zi="fin2",Ki="medi",Yi="med2",Ji="init",Qi=null,$i=[[[Qi,Qi,0],[Qi,qi,2],[Qi,qi,1],[Qi,qi,2],[Qi,qi,1],[Qi,qi,6]],[[Qi,Qi,0],[Qi,qi,2],[Qi,qi,1],[Qi,qi,2],[Qi,Zi,5],[Qi,qi,6]],[[Qi,Qi,0],[Qi,qi,2],[Ji,Xi,1],[Ji,Xi,3],[Ji,Xi,4],[Ji,Xi,6]],[[Qi,Qi,0],[Qi,qi,2],[Ki,Xi,1],[Ki,Xi,3],[Ki,Xi,4],[Ki,Xi,6]],[[Qi,Qi,0],[Qi,qi,2],[Yi,qi,1],[Yi,qi,2],[Yi,Zi,5],[Yi,qi,6]],[[Qi,Qi,0],[Qi,qi,2],[qi,qi,1],[qi,qi,2],[qi,Zi,5],[qi,qi,6]],[[Qi,Qi,0],[Qi,qi,2],[Qi,qi,1],[Qi,qi,2],[Qi,"fin3",5],[Qi,qi,6]]],eo=function(r){function ArabicShaper(){return r.apply(this,arguments)||this}return _inheritsLoose(ArabicShaper,r),ArabicShaper.planFeatures=function planFeatures(r){r.add(["ccmp","locl"]);for(var i=0;i<Gi.length;i++){var o=Gi[i];r.addStage(o,!1)}r.addStage("mset")},ArabicShaper.assignFeatures=function assignFeatures(i,o){r.assignFeatures.call(this,i,o);for(var u=-1,p=0,g=[],y=0;y<o.length;y++){var w,_,x=getShapingClass((I=o[y]).codePoints[0]);if(x!==Hi){var k=$i[p][x];_=k[0],w=k[1],p=k[2],_!==Qi&&-1!==u&&(g[u]=_),g[y]=w,u=y}else g[y]=Qi}for(var P=0;P<o.length;P++){var O,I=o[P];(O=g[P])&&(I.features[O]=!0)}},ArabicShaper}(Ui);function getShapingClass(r){var i=ji.get(r);if(i)return i-1;var o=_.getCategory(r);return"Mn"===o||"Me"===o||"Cf"===o?Hi:Vi}var to=function(){function GlyphIterator(r,i){this.glyphs=r,this.reset(i)}var r=GlyphIterator.prototype;return r.reset=function reset(r,i){void 0===r&&(r={}),void 0===i&&(i=0),this.options=r,this.flags=r.flags||{},this.markAttachmentType=r.markAttachmentType||0,this.index=i},r.shouldIgnore=function shouldIgnore(r){return this.flags.ignoreMarks&&r.isMark||this.flags.ignoreBaseGlyphs&&r.isBase||this.flags.ignoreLigatures&&r.isLigature||this.markAttachmentType&&r.isMark&&r.markAttachmentType!==this.markAttachmentType},r.move=function move(r){for(this.index+=r;0<=this.index&&this.index<this.glyphs.length&&this.shouldIgnore(this.glyphs[this.index]);)this.index+=r;return 0>this.index||this.index>=this.glyphs.length?null:this.glyphs[this.index]},r.next=function next(){return this.move(1)},r.prev=function prev(){return this.move(-1)},r.peek=function peek(r){void 0===r&&(r=1);var i=this.index,o=this.increment(r);return this.index=i,o},r.peekIndex=function peekIndex(r){void 0===r&&(r=1);var i=this.index;this.increment(r);var o=this.index;return this.index=i,o},r.increment=function increment(r){void 0===r&&(r=1);var i=r<0?-1:1;for(r=Math.abs(r);r--;)this.move(i);return this.glyphs[this.index]},_createClass(GlyphIterator,[{key:"cur",get:function get(){return this.glyphs[this.index]||null}}]),GlyphIterator}(),ro=["DFLT","dflt","latn"],no=function(){function OTProcessor(r,i){this.font=r,this.table=i,this.script=null,this.scriptTag=null,this.language=null,this.languageTag=null,this.features={},this.lookups={},this.variationsIndex=r._variationProcessor?this.findVariationsIndex(r._variationProcessor.normalizedCoords):-1,this.selectScript(),this.glyphs=[],this.positions=[],this.ligatureID=1,this.currentFeature=null}var r=OTProcessor.prototype;return r.findScript=function findScript(r){if(null==this.table.scriptList)return null;Array.isArray(r)||(r=[r]);for(var i,o=_createForOfIteratorHelperLoose(r);!(i=o()).done;)for(var u,p=i.value,g=_createForOfIteratorHelperLoose(this.table.scriptList);!(u=g()).done;){var y=u.value;if(y.tag===p)return y}return null},r.selectScript=function selectScript(r,i,o){var u,p=!1;if(!this.script||r!==this.scriptTag){if((u=this.findScript(r))||(u=this.findScript(ro)),!u)return this.scriptTag;this.scriptTag=u.tag,this.script=u.script,this.language=null,this.languageTag=null,p=!0}if(o&&o===this.direction||(this.direction=o||direction(r)),i&&i.length<4&&(i+=" ".repeat(4-i.length)),!i||i!==this.languageTag){this.language=null;for(var g,y=_createForOfIteratorHelperLoose(this.script.langSysRecords);!(g=y()).done;){var w=g.value;if(w.tag===i){this.language=w.langSys,this.languageTag=w.tag;break}}this.language||(this.language=this.script.defaultLangSys,this.languageTag=null),p=!0}if(p&&(this.features={},this.language))for(var _,x=_createForOfIteratorHelperLoose(this.language.featureIndexes);!(_=x()).done;){var k=_.value,P=this.table.featureList[k],O=this.substituteFeatureForVariations(k);this.features[P.tag]=O||P.feature}return this.scriptTag},r.lookupsForFeatures=function lookupsForFeatures(r,i){void 0===r&&(r=[]);for(var o,u=[],p=_createForOfIteratorHelperLoose(r);!(o=p()).done;){var g=o.value,y=this.features[g];if(y)for(var w,_=_createForOfIteratorHelperLoose(y.lookupListIndexes);!(w=_()).done;){var x=w.value;i&&-1!==i.indexOf(x)||u.push({feature:g,index:x,lookup:this.table.lookupList.get(x)})}}return u.sort((function(r,i){return r.index-i.index})),u},r.substituteFeatureForVariations=function substituteFeatureForVariations(r){if(-1===this.variationsIndex)return null;for(var i,o=_createForOfIteratorHelperLoose(this.table.featureVariations.featureVariationRecords[this.variationsIndex].featureTableSubstitution.substitutions);!(i=o()).done;){var u=i.value;if(u.featureIndex===r)return u.alternateFeatureTable}return null},r.findVariationsIndex=function findVariationsIndex(r){var i=this.table.featureVariations;if(!i)return-1;for(var o=i.featureVariationRecords,u=0;u<o.length;u++){var p=o[u].conditionSet.conditionTable;if(this.variationConditionsMatch(p,r))return u}return-1},r.variationConditionsMatch=function variationConditionsMatch(r,i){return r.every((function(r){var o=r.axisIndex<i.length?i[r.axisIndex]:0;return r.filterRangeMinValue<=o&&o<=r.filterRangeMaxValue}))},r.applyFeatures=function applyFeatures(r,i,o){var u=this.lookupsForFeatures(r);this.applyLookups(u,i,o)},r.applyLookups=function applyLookups(r,i,o){this.glyphs=i,this.positions=o,this.glyphIterator=new to(i);for(var u,p=_createForOfIteratorHelperLoose(r);!(u=p()).done;){var g=u.value,y=g.feature,w=g.lookup;for(this.currentFeature=y,this.glyphIterator.reset(w.flags);this.glyphIterator.index<i.length;)if(y in this.glyphIterator.cur.features){for(var _,x=_createForOfIteratorHelperLoose(w.subTables);!(_=x()).done;){var k=_.value;if(this.applyLookup(w.lookupType,k))break}this.glyphIterator.next()}else this.glyphIterator.next()}},r.applyLookup=function applyLookup(r,i){throw new Error("applyLookup must be implemented by subclasses")},r.applyLookupList=function applyLookupList(r){for(var i,o=this.glyphIterator.options,u=this.glyphIterator.index,p=_createForOfIteratorHelperLoose(r);!(i=p()).done;){var g=i.value;this.glyphIterator.reset(o,u),this.glyphIterator.increment(g.sequenceIndex);var y=this.table.lookupList.get(g.lookupListIndex);this.glyphIterator.reset(y.flags,this.glyphIterator.index);for(var w,_=_createForOfIteratorHelperLoose(y.subTables);!(w=_()).done;){var x=w.value;if(this.applyLookup(y.lookupType,x))break}}return this.glyphIterator.reset(o,u),!0},r.coverageIndex=function coverageIndex(r,i){switch(null==i&&(i=this.glyphIterator.cur.id),r.version){case 1:return r.glyphs.indexOf(i);case 2:for(var o,u=_createForOfIteratorHelperLoose(r.rangeRecords);!(o=u()).done;){var p=o.value;if(p.start<=i&&i<=p.end)return p.startCoverageIndex+i-p.start}}return-1},r.match=function match(r,i,o,u){for(var p=this.glyphIterator.index,g=this.glyphIterator.increment(r),y=0;y<i.length&&g&&o(i[y],g);)u&&u.push(this.glyphIterator.index),y++,g=this.glyphIterator.next();return this.glyphIterator.index=p,!(y<i.length)&&(u||!0)},r.sequenceMatches=function sequenceMatches(r,i){return this.match(r,i,(function(r,i){return r===i.id}))},r.sequenceMatchIndices=function sequenceMatchIndices(r,i){var o=this;return this.match(r,i,(function(r,i){return o.currentFeature in i.features&&r===i.id}),[])},r.coverageSequenceMatches=function coverageSequenceMatches(r,i){var o=this;return this.match(r,i,(function(r,i){return o.coverageIndex(r,i.id)>=0}))},r.getClassID=function getClassID(r,i){switch(i.version){case 1:var o=r-i.startGlyph;if(o>=0&&o<i.classValueArray.length)return i.classValueArray[o];break;case 2:for(var u,p=_createForOfIteratorHelperLoose(i.classRangeRecord);!(u=p()).done;){var g=u.value;if(g.start<=r&&r<=g.end)return g.class}}return 0},r.classSequenceMatches=function classSequenceMatches(r,i,o){var u=this;return this.match(r,i,(function(r,i){return r===u.getClassID(i.id,o)}))},r.applyContext=function applyContext(r){switch(r.version){case 1:var i=this.coverageIndex(r.coverage);if(-1===i)return!1;for(var o,u=r.ruleSets[i],p=_createForOfIteratorHelperLoose(u);!(o=p()).done;){var g=o.value;if(this.sequenceMatches(1,g.input))return this.applyLookupList(g.lookupRecords)}break;case 2:if(-1===this.coverageIndex(r.coverage))return!1;if(-1===(i=this.getClassID(this.glyphIterator.cur.id,r.classDef)))return!1;for(var y,w=_createForOfIteratorHelperLoose(u=r.classSet[i]);!(y=w()).done;){var _=y.value;if(this.classSequenceMatches(1,_.classes,r.classDef))return this.applyLookupList(_.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(0,r.coverages))return this.applyLookupList(r.lookupRecords)}return!1},r.applyChainingContext=function applyChainingContext(r){switch(r.version){case 1:var i=this.coverageIndex(r.coverage);if(-1===i)return!1;for(var o,u=_createForOfIteratorHelperLoose(r.chainRuleSets[i]);!(o=u()).done;){var p=o.value;if(this.sequenceMatches(-p.backtrack.length,p.backtrack)&&this.sequenceMatches(1,p.input)&&this.sequenceMatches(1+p.input.length,p.lookahead))return this.applyLookupList(p.lookupRecords)}break;case 2:if(-1===this.coverageIndex(r.coverage))return!1;i=this.getClassID(this.glyphIterator.cur.id,r.inputClassDef);var g=r.chainClassSet[i];if(!g)return!1;for(var y,w=_createForOfIteratorHelperLoose(g);!(y=w()).done;){var _=y.value;if(this.classSequenceMatches(-_.backtrack.length,_.backtrack,r.backtrackClassDef)&&this.classSequenceMatches(1,_.input,r.inputClassDef)&&this.classSequenceMatches(1+_.input.length,_.lookahead,r.lookaheadClassDef))return this.applyLookupList(_.lookupRecords)}break;case 3:if(this.coverageSequenceMatches(-r.backtrackGlyphCount,r.backtrackCoverage)&&this.coverageSequenceMatches(0,r.inputCoverage)&&this.coverageSequenceMatches(r.inputGlyphCount,r.lookaheadCoverage))return this.applyLookupList(r.lookupRecords)}return!1},OTProcessor}(),io=function(){function GlyphInfo(r,i,o,u){if(void 0===o&&(o=[]),this._font=r,this.codePoints=o,this.id=i,this.features={},Array.isArray(u))for(var p=0;p<u.length;p++){var g=u[p];this.features[g]=!0}else"object"==typeof u&&Object.assign(this.features,u);this.ligatureID=null,this.ligatureComponent=null,this.isLigated=!1,this.cursiveAttachment=null,this.markAttachment=null,this.shaperInfo=null,this.substituted=!1,this.isMultiplied=!1}return GlyphInfo.prototype.copy=function copy(){return new GlyphInfo(this._font,this.id,this.codePoints,this.features)},_createClass(GlyphInfo,[{key:"id",get:function get(){return this._id},set:function set(r){this._id=r,this.substituted=!0;var i=this._font.GDEF;if(i&&i.glyphClassDef){var o=no.prototype.getClassID(r,i.glyphClassDef);this.isBase=1===o,this.isLigature=2===o,this.isMark=3===o,this.markAttachmentType=i.markAttachClassDef?no.prototype.getClassID(r,i.markAttachClassDef):0}else this.isMark=this.codePoints.length>0&&this.codePoints.every(_.isMark),this.isBase=!this.isMark,this.isLigature=this.codePoints.length>1,this.markAttachmentType=0}}]),GlyphInfo}(),oo=function(r){function HangulShaper(){return r.apply(this,arguments)||this}return _inheritsLoose(HangulShaper,r),HangulShaper.planFeatures=function planFeatures(r){r.add(["ljmo","vjmo","tjmo"],!1)},HangulShaper.assignFeatures=function assignFeatures(r,i){for(var o=0,u=0;u<i.length;){var p,g=i[u].codePoints[0],y=getType(g),w=go[o][y];switch(p=w[0],o=w[1],p){case uo:r.font.hasGlyphForCodePoint(g)||(u=decompose(i,u,r.font));break;case fo:u=compose(i,u,r.font);break;case ho:reorderToneMark(i,u,r.font);break;case po:u=insertDottedCircle(i,u,r.font)}u++}},HangulShaper}(Ui);_defineProperty(oo,"zeroMarkWidths","NONE");var ao=44032,so=4352,co=4449,lo=4519;function getType(r){return function isL(r){return 4352<=r&&r<=4447||43360<=r&&r<=43388}(r)?1:function isV(r){return 4448<=r&&r<=4519||55216<=r&&r<=55238}(r)?2:function isT(r){return 4520<=r&&r<=4607||55243<=r&&r<=55291}(r)?3:function isLV(r){return r-ao<11173&&(r-ao)%28==0}(r)?4:function isLVT(r){return ao<=r&&r<=55204}(r)?5:function isTone(r){return 12334<=r&&r<=12335}(r)?6:0}var uo=1,fo=2,ho=4,po=5,go=[[[0,0],[0,1],[0,0],[0,0],[uo,2],[uo,3],[po,0]],[[0,0],[0,1],[fo,2],[0,0],[uo,2],[uo,3],[po,0]],[[0,0],[0,1],[0,0],[fo,3],[uo,2],[uo,3],[ho,0]],[[0,0],[0,1],[0,0],[0,0],[uo,2],[uo,3],[ho,0]]];function getGlyph(r,i,o){return new io(r,r.glyphForCodePoint(i).id,[i],o)}function decompose(r,i,o){var u=r[i],p=u.codePoints[0]-ao,g=lo+p%28,y=so+(p=p/28|0)/21|0,w=co+p%21;if(!o.hasGlyphForCodePoint(y)||!o.hasGlyphForCodePoint(w)||g!==lo&&!o.hasGlyphForCodePoint(g))return i;var _=getGlyph(o,y,u.features);_.features.ljmo=!0;var x=getGlyph(o,w,u.features);x.features.vjmo=!0;var k=[_,x];if(g>lo){var P=getGlyph(o,g,u.features);P.features.tjmo=!0,k.push(P)}return r.splice.apply(r,[i,1].concat(k)),i+k.length-1}function compose(r,i,o){var u,p,g,y,w=r[i],_=getType(r[i].codePoints[0]),x=r[i-1].codePoints[0],k=getType(x);if(4===k&&3===_)u=x,y=w;else{2===_?(p=r[i-1],g=w):(p=r[i-2],g=r[i-1],y=w);var P=p.codePoints[0],O=g.codePoints[0];(function isCombiningL(r){return so<=r&&r<=4370})(P)&&function isCombiningV(r){return co<=r&&r<=4469}(O)&&(u=ao+28*(21*(P-so)+(O-co)))}var I=y&&y.codePoints[0]||lo;if(null!=u&&(I===lo||function isCombiningT(r){return 1<=r&&r<=4546}(I))){var B=u+(I-lo);if(o.hasGlyphForCodePoint(B)){var R=2===k?3:2;return r.splice(i-R+1,R,getGlyph(o,B,w.features)),i-R+1}}return p&&(p.features.ljmo=!0),g&&(g.features.vjmo=!0),y&&(y.features.tjmo=!0),4===k?(decompose(r,i-1,o),i+1):i}function reorderToneMark(r,i,o){var u=r[i],p=r[i].codePoints[0];if(0!==o.glyphForCodePoint(p).advanceWidth){var g=function getLength(r){switch(getType(r)){case 4:case 5:return 1;case 2:return 2;case 3:return 3}}(r[i-1].codePoints[0]);return r.splice(i,1),r.splice(i-g,0,u)}}function insertDottedCircle(r,i,o){var u=r[i],p=r[i].codePoints[0];if(o.hasGlyphForCodePoint(9676)){var g=getGlyph(o,9676,u.features),y=0===o.glyphForCodePoint(p).advanceWidth?i:i+1;r.splice(y,0,g),i++}return i}var yo={stateTable:[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,14,15,16,17],[0,0,0,18,19,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,28,29,30,31,32,33,0,34,0,0,35,36,0,0,37,0],[0,0,0,38,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,39,0,0,0,40,41,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,12,43,0,0,0,0],[0,0,0,0,43,44,44,8,9,0,0,0,0,0,43,0,0,0,0],[0,0,0,45,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,50,0,0,51,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,0],[0,0,0,53,54,55,56,57,58,0,59,0,0,60,61,0,0,62,0],[0,0,0,4,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,63,64,0,0,40,41,0,9,0,10,0,0,0,42,0,63,0,0],[0,2,3,4,5,6,7,8,9,0,10,11,11,12,13,0,2,16,0],[0,0,0,18,65,20,21,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,0,0],[0,0,0,69,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,73,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,75,0,0,0,76,77,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,25,79,0,0,0,0],[0,0,0,18,19,20,74,22,23,0,24,0,0,25,26,0,0,27,0],[0,0,0,81,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,86,0,0,87,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,0],[0,0,0,18,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,89,90,0,0,76,77,0,23,0,24,0,0,0,78,0,89,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,0,0],[0,0,0,94,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,96,0,0,0,97,98,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,35,100,0,0,0,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,102,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,107,0,0,108,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,0],[0,0,0,28,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,110,111,0,0,97,98,0,33,0,34,0,0,0,99,0,110,0,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,0,0],[0,0,0,0,5,7,7,8,9,0,10,0,0,0,13,0,0,16,0],[0,0,0,115,116,117,118,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,39,0,122,0,123,123,8,9,0,10,0,0,0,42,0,39,0,0],[0,124,64,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0,0],[0,39,0,0,0,121,125,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,126,126,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,46,47,48,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,47,47,49,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,128,127,127,49,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,129,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,50,0,0,0,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,134,0,0,0,0,0,0,0,0],[0,0,0,135,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,136,0,0,0,137,138,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,60,140,0,0,0,0],[0,0,0,0,140,141,141,57,58,0,0,0,0,0,140,0,0,0,0],[0,0,0,142,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,147,0,0,148,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,149,0,0,0,0,0,0,0,0],[0,0,0,53,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,150,151,0,0,137,138,0,58,0,59,0,0,0,139,0,150,0,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,0,0],[0,0,0,155,116,156,157,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,0,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,75,3,4,5,159,160,8,161,0,162,0,11,12,163,0,75,16,0],[0,0,0,0,0,40,164,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,0,165,0,0,0,0],[0,124,64,0,0,40,164,0,9,0,10,0,0,0,42,0,124,0,0],[0,0,0,0,0,70,70,0,71,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,167,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0],[0,0,0,0,19,74,74,22,23,0,24,0,0,0,26,0,0,27,0],[0,0,0,0,79,80,80,22,23,0,0,0,0,0,79,0,0,0,0],[0,0,0,169,170,171,172,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,75,0,176,0,177,177,22,23,0,24,0,0,0,78,0,75,0,0],[0,178,90,0,0,0,0,0,0,0,0,0,0,0,0,0,178,0,0],[0,75,0,0,0,175,179,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,180,180,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,82,83,84,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,83,83,85,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,182,181,181,85,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,183,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,86,0,0,0,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,0],[0,0,0,189,170,190,191,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,0,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,76,193,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,0,194,0,0,0,0],[0,178,90,0,0,76,193,0,23,0,24,0,0,0,78,0,178,0,0],[0,0,0,0,29,95,31,32,33,0,34,0,0,0,36,0,0,37,0],[0,0,0,0,100,101,101,32,33,0,0,0,0,0,100,0,0,0,0],[0,0,0,195,196,197,198,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,96,0,202,0,203,203,32,33,0,34,0,0,0,99,0,96,0,0],[0,204,111,0,0,0,0,0,0,0,0,0,0,0,0,0,204,0,0],[0,96,0,0,0,201,205,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,206,206,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,103,104,105,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,104,104,106,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,208,207,207,106,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,209,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,107,0,0,0,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,0],[0,0,0,215,196,216,217,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,0,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,97,219,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,0,220,0,0,0,0],[0,204,111,0,0,97,219,0,33,0,34,0,0,0,99,0,204,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,223,0,0,0,40,224,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,119,225,0,0,0,0],[0,0,0,115,116,117,222,8,9,0,10,0,0,119,120,0,0,16,0],[0,0,0,115,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,226,64,0,0,40,224,0,9,0,10,0,0,0,42,0,226,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,39,0,0,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,44,44,8,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,227,0,228,229,0,9,0,10,0,0,230,0,0,0,0,0],[0,39,0,122,0,121,121,0,9,0,10,0,0,0,42,0,39,0,0],[0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,231,231,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,232,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,130,131,132,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,131,131,133,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,234,233,233,133,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,235,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,54,56,56,57,58,0,59,0,0,0,61,0,0,62,0],[0,0,0,240,241,242,243,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,136,0,247,0,248,248,57,58,0,59,0,0,0,139,0,136,0,0],[0,249,151,0,0,0,0,0,0,0,0,0,0,0,0,0,249,0,0],[0,136,0,0,0,246,250,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,251,251,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,143,144,145,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,144,144,146,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,253,252,252,146,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,254,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,147,0,0,0,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,259,0,0,0,0,0,0,0,0],[0,0,0,260,241,261,262,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,0,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,137,264,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,0,265,0,0,0,0],[0,249,151,0,0,137,264,0,58,0,59,0,0,0,139,0,249,0,0],[0,0,0,221,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,158,225,0,0,0,0],[0,0,0,155,116,156,222,8,9,0,10,0,0,158,120,0,0,16,0],[0,0,0,155,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,43,266,266,8,161,0,24,0,0,12,267,0,0,0,0],[0,75,0,176,43,268,268,269,161,0,24,0,0,0,267,0,75,0,0],[0,0,0,0,0,270,0,0,271,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,272,0,0,0,0,0,0,0,0],[0,273,274,0,0,40,41,0,9,0,10,0,0,0,42,0,273,0,0],[0,0,0,40,0,123,123,8,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,121,275,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,166,0,0,0,0,72,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,276,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,279,0,0,0,76,280,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,173,281,0,0,0,0],[0,0,0,169,170,171,278,22,23,0,24,0,0,173,174,0,0,27,0],[0,0,0,169,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,282,90,0,0,76,280,0,23,0,24,0,0,0,78,0,282,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,75,0,0,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,80,80,22,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,283,0,284,285,0,23,0,24,0,0,286,0,0,0,0,0],[0,75,0,176,0,175,175,0,23,0,24,0,0,0,78,0,75,0,0],[0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,287,287,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,288,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,184,185,186,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,185,185,187,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,290,289,289,187,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,291,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,277,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,192,281,0,0,0,0],[0,0,0,189,170,190,278,22,23,0,24,0,0,192,174,0,0,27,0],[0,0,0,189,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,76,0,177,177,22,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,175,296,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,299,0,0,0,97,300,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,199,301,0,0,0,0],[0,0,0,195,196,197,298,32,33,0,34,0,0,199,200,0,0,37,0],[0,0,0,195,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,302,111,0,0,97,300,0,33,0,34,0,0,0,99,0,302,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,96,0,0,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,101,101,32,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,303,0,304,305,0,33,0,34,0,0,306,0,0,0,0,0],[0,96,0,202,0,201,201,0,33,0,34,0,0,0,99,0,96,0,0],[0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,307,307,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,308,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,210,211,212,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,211,211,213,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,310,309,309,213,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,311,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,297,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,218,301,0,0,0,0],[0,0,0,215,196,216,298,32,33,0,34,0,0,218,200,0,0,37,0],[0,0,0,215,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,97,0,203,203,32,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,201,316,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,116,222,222,8,9,0,10,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,9,0,0,0,0,0,225,0,0,0,0],[0,0,0,317,318,319,320,8,9,0,10,0,0,321,322,0,0,16,0],[0,223,0,323,0,123,123,8,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,0,0,121,324,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,325,318,326,327,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,64,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,9,0,0,0,0,230,0,0,0,0,0],[0,0,0,227,0,228,121,0,9,0,10,0,0,230,0,0,0,0,0],[0,0,0,227,0,121,121,0,9,0,10,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0],[0,0,0,0,0,329,329,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,330,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,236,237,238,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,237,237,239,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,332,331,331,239,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,333,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,337,0,0,0,137,338,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,244,339,0,0,0,0],[0,0,0,240,241,242,336,57,58,0,59,0,0,244,245,0,0,62,0],[0,0,0,240,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,340,151,0,0,137,338,0,58,0,59,0,0,0,139,0,340,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,136,0,0,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,141,141,57,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,341,0,342,343,0,58,0,59,0,0,344,0,0,0,0,0],[0,136,0,247,0,246,246,0,58,0,59,0,0,0,139,0,136,0,0],[0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,345,345,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,346,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,255,256,257,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,256,256,258,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,348,347,347,258,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,349,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,335,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,263,339,0,0,0,0],[0,0,0,260,241,261,336,57,58,0,59,0,0,263,245,0,0,62,0],[0,0,0,260,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,137,0,248,248,57,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,246,354,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,126,126,8,23,0,0,0,0,0,0,0,0,0,0],[0,355,90,0,0,121,125,0,9,0,10,0,0,0,42,0,355,0,0],[0,0,0,0,0,356,356,269,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,357,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,270,0,0,0,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,363,0,0,0,0,0,0,0,0],[0,0,0,364,116,365,366,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,40,0,121,121,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,170,278,278,22,23,0,24,0,0,0,174,0,0,27,0],[0,0,0,0,281,80,80,22,23,0,0,0,0,0,281,0,0,0,0],[0,0,0,369,370,371,372,22,23,0,24,0,0,373,374,0,0,27,0],[0,279,0,375,0,177,177,22,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,0,0,175,376,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,377,370,378,379,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,90,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,23,0,0,0,0,286,0,0,0,0,0],[0,0,0,283,0,284,175,0,23,0,24,0,0,286,0,0,0,0,0],[0,0,0,283,0,175,175,0,23,0,24,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0],[0,0,0,0,0,381,381,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,382,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,292,293,294,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,293,293,295,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,0,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,384,383,383,295,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,385,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,76,0,175,175,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,196,298,298,32,33,0,34,0,0,0,200,0,0,37,0],[0,0,0,0,301,101,101,32,33,0,0,0,0,0,301,0,0,0,0],[0,0,0,387,388,389,390,32,33,0,34,0,0,391,392,0,0,37,0],[0,299,0,393,0,203,203,32,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,0,0,201,394,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,395,388,396,397,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,111,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,33,0,0,0,0,306,0,0,0,0,0],[0,0,0,303,0,304,201,0,33,0,34,0,0,306,0,0,0,0,0],[0,0,0,303,0,201,201,0,33,0,34,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,0,0],[0,0,0,0,0,399,399,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,312,313,314,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,313,313,315,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,0,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,402,401,401,315,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,403,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,97,0,201,201,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,407,0,0,0,40,408,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,321,409,0,0,0,0],[0,0,0,317,318,319,406,8,9,0,10,0,0,321,322,0,0,16,0],[0,0,0,317,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,410,64,0,0,40,408,0,9,0,10,0,0,0,42,0,410,0,0],[0,223,0,0,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,223,0,323,0,121,121,0,9,0,10,0,0,0,42,0,223,0,0],[0,0,0,405,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,328,409,0,0,0,0],[0,0,0,325,318,326,406,8,9,0,10,0,0,328,322,0,0,16,0],[0,0,0,325,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,0,0,0,133,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,130,0,0],[0,0,0,0,0,411,411,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,412,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,40,121,334,0,9,0,10,0,0,0,42,0,0,0,0],[0,0,0,0,413,0,0,0,9,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,241,336,336,57,58,0,59,0,0,0,245,0,0,62,0],[0,0,0,0,339,141,141,57,58,0,0,0,0,0,339,0,0,0,0],[0,0,0,414,415,416,417,57,58,0,59,0,0,418,419,0,0,62,0],[0,337,0,420,0,248,248,57,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,0,0,246,421,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,422,415,423,424,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,151,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,58,0,0,0,0,344,0,0,0,0,0],[0,0,0,341,0,342,246,0,58,0,59,0,0,344,0,0,0,0,0],[0,0,0,341,0,246,246,0,58,0,59,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0],[0,0,0,0,0,426,426,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,350,351,352,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,351,351,353,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,0,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,429,428,428,353,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,430,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,137,0,246,246,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,432,116,433,434,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,0,0,180,180,269,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,358,359,360,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,359,359,361,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,437,436,436,361,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,438,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,443,274,0,0,0,0,0,0,0,0,0,0,0,0,0,443,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,367,225,0,0,0,0],[0,0,0,364,116,365,445,8,161,0,162,0,0,367,120,0,0,16,0],[0,0,0,364,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,448,0,0,0,76,449,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,373,450,0,0,0,0],[0,0,0,369,370,371,447,22,23,0,24,0,0,373,374,0,0,27,0],[0,0,0,369,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,451,90,0,0,76,449,0,23,0,24,0,0,0,78,0,451,0,0],[0,279,0,0,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,279,0,375,0,175,175,0,23,0,24,0,0,0,78,0,279,0,0],[0,0,0,446,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,380,450,0,0,0,0],[0,0,0,377,370,378,447,22,23,0,24,0,0,380,374,0,0,27,0],[0,0,0,377,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0],[0,0,0,0,0,452,452,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,453,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,76,175,386,0,23,0,24,0,0,0,78,0,0,0,0],[0,0,0,0,454,0,0,0,23,0,0,0,0,0,0,0,0,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,457,0,0,0,97,458,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,391,459,0,0,0,0],[0,0,0,387,388,389,456,32,33,0,34,0,0,391,392,0,0,37,0],[0,0,0,387,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,460,111,0,0,97,458,0,33,0,34,0,0,0,99,0,460,0,0],[0,299,0,0,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,299,0,393,0,201,201,0,33,0,34,0,0,0,99,0,299,0,0],[0,0,0,455,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,398,459,0,0,0,0],[0,0,0,395,388,396,456,32,33,0,34,0,0,398,392,0,0,37,0],[0,0,0,395,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,0,0],[0,0,0,0,0,461,461,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,462,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,97,201,404,0,33,0,34,0,0,0,99,0,0,0,0],[0,0,0,0,463,0,0,0,33,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,318,406,406,8,9,0,10,0,0,0,322,0,0,16,0],[0,0,0,0,409,44,44,8,9,0,0,0,0,0,409,0,0,0,0],[0,0,0,464,465,466,467,8,9,0,10,0,0,468,469,0,0,16,0],[0,407,0,470,0,123,123,8,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,0,0,121,471,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,472,465,473,474,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,0,0,0,0,239,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,0,0],[0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,479,0,0,0,137,480,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,418,481,0,0,0,0],[0,0,0,414,415,416,478,57,58,0,59,0,0,418,419,0,0,62,0],[0,0,0,414,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,482,151,0,0,137,480,0,58,0,59,0,0,0,139,0,482,0,0],[0,337,0,0,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,337,0,420,0,246,246,0,58,0,59,0,0,0,139,0,337,0,0],[0,0,0,477,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,425,481,0,0,0,0],[0,0,0,422,415,423,478,57,58,0,59,0,0,425,419,0,0,62,0],[0,0,0,422,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,0,0,0,258,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,0],[0,0,0,0,0,483,483,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,484,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,137,246,431,0,58,0,59,0,0,0,139,0,0,0,0],[0,0,0,0,485,0,0,0,58,0,0,0,0,0,0,0,0,0,0],[0,0,0,444,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,435,225,0,0,0,0],[0,0,0,432,116,433,445,8,161,0,162,0,0,435,120,0,0,16,0],[0,0,0,432,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,0,486,486,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,487,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,439,440,441,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,440,440,442,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,489,488,488,442,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,490,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,495,0,496,497,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,0,116,445,445,8,161,0,162,0,0,0,120,0,0,16,0],[0,0,0,0,225,44,44,8,161,0,0,0,0,0,225,0,0,0,0],[0,0,0,0,370,447,447,22,23,0,24,0,0,0,374,0,0,27,0],[0,0,0,0,450,80,80,22,23,0,0,0,0,0,450,0,0,0,0],[0,0,0,499,500,501,502,22,23,0,24,0,0,503,504,0,0,27,0],[0,448,0,505,0,177,177,22,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,0,0,175,506,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,507,500,508,509,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,0,0,0,0,295,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,292,0,0],[0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,388,456,456,32,33,0,34,0,0,0,392,0,0,37,0],[0,0,0,0,459,101,101,32,33,0,0,0,0,0,459,0,0,0,0],[0,0,0,512,513,514,515,32,33,0,34,0,0,516,517,0,0,37,0],[0,457,0,518,0,203,203,32,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,0,0,201,519,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,520,513,521,522,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,0,0,0,0,315,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,312,0,0],[0,0,0,0,0,0,524,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,527,0,0,0,40,528,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,468,529,0,0,0,0],[0,0,0,464,465,466,526,8,9,0,10,0,0,468,469,0,0,16,0],[0,0,0,464,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,530,64,0,0,40,528,0,9,0,10,0,0,0,42,0,530,0,0],[0,407,0,0,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,407,0,470,0,121,121,0,9,0,10,0,0,0,42,0,407,0,0],[0,0,0,525,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,475,529,0,0,0,0],[0,0,0,472,465,473,526,8,9,0,10,0,0,475,469,0,0,16,0],[0,0,0,472,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0],[0,0,0,0,415,478,478,57,58,0,59,0,0,0,419,0,0,62,0],[0,0,0,0,481,141,141,57,58,0,0,0,0,0,481,0,0,0,0],[0,0,0,531,532,533,534,57,58,0,59,0,0,535,536,0,0,62,0],[0,479,0,537,0,248,248,57,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,0,0,246,538,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,539,532,540,541,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,0,0,0,0,353,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,350,0,0],[0,0,0,0,0,0,543,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,361,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,358,0,0],[0,0,0,0,0,544,544,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,545,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,491,492,493,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,492,492,494,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,547,546,546,494,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,548,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,274,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,161,0,0,0,0,498,0,0,0,0,0],[0,0,0,495,0,496,368,0,161,0,162,0,0,498,0,0,0,0,0],[0,0,0,495,0,368,368,0,161,0,162,0,0,0,0,0,0,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,553,0,0,0,76,554,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,503,555,0,0,0,0],[0,0,0,499,500,501,552,22,23,0,24,0,0,503,504,0,0,27,0],[0,0,0,499,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,556,90,0,0,76,554,0,23,0,24,0,0,0,78,0,556,0,0],[0,448,0,0,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,448,0,505,0,175,175,0,23,0,24,0,0,0,78,0,448,0,0],[0,0,0,551,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,510,555,0,0,0,0],[0,0,0,507,500,508,552,22,23,0,24,0,0,510,504,0,0,27,0],[0,0,0,507,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,559,0,0,0,97,560,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,516,561,0,0,0,0],[0,0,0,512,513,514,558,32,33,0,34,0,0,516,517,0,0,37,0],[0,0,0,512,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,562,111,0,0,97,560,0,33,0,34,0,0,0,99,0,562,0,0],[0,457,0,0,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,457,0,518,0,201,201,0,33,0,34,0,0,0,99,0,457,0,0],[0,0,0,557,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,523,561,0,0,0,0],[0,0,0,520,513,521,558,32,33,0,34,0,0,523,517,0,0,37,0],[0,0,0,520,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0],[0,0,0,0,465,526,526,8,9,0,10,0,0,0,469,0,0,16,0],[0,0,0,0,529,44,44,8,9,0,0,0,0,0,529,0,0,0,0],[0,0,0,563,66,564,565,8,9,0,10,0,0,566,68,0,0,16,0],[0,527,0,567,0,123,123,8,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,0,0,121,568,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,569,66,570,571,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,575,0,0,0,137,576,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,535,577,0,0,0,0],[0,0,0,531,532,533,574,57,58,0,59,0,0,535,536,0,0,62,0],[0,0,0,531,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,578,151,0,0,137,576,0,58,0,59,0,0,0,139,0,578,0,0],[0,479,0,0,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,479,0,537,0,246,246,0,58,0,59,0,0,0,139,0,479,0,0],[0,0,0,573,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,542,577,0,0,0,0],[0,0,0,539,532,540,574,57,58,0,59,0,0,542,536,0,0,62,0],[0,0,0,539,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,137,0,0],[0,0,0,0,0,0,0,442,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,439,0,0],[0,0,0,0,0,579,579,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,580,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,549,368,550,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,0,368,368,0,161,0,162,0,0,0,362,0,0,0,0],[0,0,0,0,581,0,0,0,161,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,500,552,552,22,23,0,24,0,0,0,504,0,0,27,0],[0,0,0,0,555,80,80,22,23,0,0,0,0,0,555,0,0,0,0],[0,0,0,582,91,583,584,22,23,0,24,0,0,585,93,0,0,27,0],[0,553,0,586,0,177,177,22,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,0,0,175,587,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,588,91,589,590,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,0,513,558,558,32,33,0,34,0,0,0,517,0,0,37,0],[0,0,0,0,561,101,101,32,33,0,0,0,0,0,561,0,0,0,0],[0,0,0,592,112,593,594,32,33,0,34,0,0,595,114,0,0,37,0],[0,559,0,596,0,203,203,32,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,0,0,201,597,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,598,112,599,600,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,566,165,0,0,0,0],[0,0,0,563,66,564,67,8,9,0,10,0,0,566,68,0,0,16,0],[0,0,0,563,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,527,0,0,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,527,0,567,0,121,121,0,9,0,10,0,0,0,42,0,527,0,0],[0,0,0,602,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,165,44,44,8,9,0,0,0,0,572,165,0,0,0,0],[0,0,0,569,66,570,67,8,9,0,10,0,0,572,68,0,0,16,0],[0,0,0,569,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,0,532,574,574,57,58,0,59,0,0,0,536,0,0,62,0],[0,0,0,0,577,141,141,57,58,0,0,0,0,0,577,0,0,0,0],[0,0,0,603,152,604,605,57,58,0,59,0,0,606,154,0,0,62,0],[0,575,0,607,0,248,248,57,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,0,0,246,608,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,609,152,610,611,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,0,0,0,0,494,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,491,0,0],[0,0,0,0,0,0,613,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,585,194,0,0,0,0],[0,0,0,582,91,583,92,22,23,0,24,0,0,585,93,0,0,27,0],[0,0,0,582,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,553,0,0,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,553,0,586,0,175,175,0,23,0,24,0,0,0,78,0,553,0,0],[0,0,0,614,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,194,80,80,22,23,0,0,0,0,591,194,0,0,0,0],[0,0,0,588,91,589,92,22,23,0,24,0,0,591,93,0,0,27,0],[0,0,0,588,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,595,220,0,0,0,0],[0,0,0,592,112,593,113,32,33,0,34,0,0,595,114,0,0,37,0],[0,0,0,592,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,559,0,0,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,559,0,596,0,201,201,0,33,0,34,0,0,0,99,0,559,0,0],[0,0,0,615,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,220,101,101,32,33,0,0,0,0,601,220,0,0,0,0],[0,0,0,598,112,599,113,32,33,0,34,0,0,601,114,0,0,37,0],[0,0,0,598,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,66,67,67,8,9,0,10,0,0,0,68,0,0,16,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,606,265,0,0,0,0],[0,0,0,603,152,604,153,57,58,0,59,0,0,606,154,0,0,62,0],[0,0,0,603,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,575,0,0,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,575,0,607,0,246,246,0,58,0,59,0,0,0,139,0,575,0,0],[0,0,0,616,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,265,141,141,57,58,0,0,0,0,612,265,0,0,0,0],[0,0,0,609,152,610,153,57,58,0,59,0,0,612,154,0,0,62,0],[0,0,0,609,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,549,0,0],[0,0,0,0,91,92,92,22,23,0,24,0,0,0,93,0,0,27,0],[0,0,0,0,112,113,113,32,33,0,34,0,0,0,114,0,0,37,0],[0,0,0,0,152,153,153,57,58,0,59,0,0,0,154,0,0,62,0]],accepting:[!1,!0,!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!1,!0,!1,!0,!0,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!0,!1,!1,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!0,!1,!0,!1,!0,!0,!1,!1,!0,!0,!1,!1,!0,!0,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!1,!1,!1,!1,!1,!1,!1,!0,!0,!1,!1,!0,!0,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!1,!0,!0,!1,!1,!1,!1,!1,!0,!0,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!0,!1,!1,!1,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!1,!0,!0,!1,!0,!0,!0],tags:[[],["broken_cluster"],["consonant_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["broken_cluster"],["broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],[],["broken_cluster"],["symbol_cluster"],[],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["symbol_cluster"],["symbol_cluster"],["symbol_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],["broken_cluster"],[],[],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["broken_cluster"],["symbol_cluster"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],["consonant_syllable"],[],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],["vowel_syllable"],[],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],[],[],[],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],["standalone_cluster"],[],[],["standalone_cluster"],["standalone_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],[],[],[],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],[],[],[],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],[],[],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],["standalone_cluster"],[],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],[],[],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],[],[],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],[],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],[],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],[],[],[],[],["consonant_syllable","broken_cluster"],["consonant_syllable","broken_cluster"],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],[],[],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],["consonant_syllable"],[],["consonant_syllable"],["consonant_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],["vowel_syllable"],[],["vowel_syllable"],["vowel_syllable"],["broken_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],["standalone_cluster"],[],["standalone_cluster"],["standalone_cluster"],[],["consonant_syllable"],["vowel_syllable"],["standalone_cluster"]]},vo={categories:["O","IND","S","GB","B","FM","CGJ","VMAbv","VMPst","VAbv","VPst","CMBlw","VPre","VBlw","H","VMBlw","CMAbv","MBlw","CS","R","SUB","MPst","MPre","FAbv","FPst","FBlw","null","SMAbv","SMBlw","VMPre","ZWNJ","ZWJ","WJ","M","VS","N","HN","MAbv"],decompositions:{2507:[2503,2494],2508:[2503,2519],2888:[2887,2902],2891:[2887,2878],2892:[2887,2903],3018:[3014,3006],3019:[3015,3006],3020:[3014,3031],3144:[3142,3158],3264:[3263,3285],3271:[3270,3285],3272:[3270,3286],3274:[3270,3266],3275:[3270,3266,3285],3402:[3398,3390],3403:[3399,3390],3404:[3398,3415],3546:[3545,3530],3548:[3545,3535],3549:[3545,3535,3530],3550:[3545,3551],3635:[3661,3634],3763:[3789,3762],3955:[3953,3954],3957:[3953,3956],3958:[4018,3968],3959:[4018,3953,3968],3960:[4019,3968],3961:[4019,3953,3968],3969:[3953,3968],6971:[6970,6965],6973:[6972,6965],6976:[6974,6965],6977:[6975,6965],6979:[6978,6965],69934:[69937,69927],69935:[69938,69927],70475:[70471,70462],70476:[70471,70487],70843:[70841,70842],70844:[70841,70832],70846:[70841,70845],71098:[71096,71087],71099:[71097,71087]},stateTable:[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[2,2,3,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,17,18,11,19,20,21,22,0,0,0,23,0,0,2,0,0,24,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,27,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,39,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,9,0,0,12,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,0,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,4,4,5,0,6,7,8,9,10,11,12,13,14,15,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,49,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,0,0,0,0,0,0,14,0,0,0,0,0,0,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0],[0,0,0,0,0,5,0,6,7,8,9,0,11,12,0,14,0,16,0,0,0,11,0,20,21,22,0,0,0,23,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,33,0,0,36,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,34,35,36,37,38,39,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,0,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,53,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,45,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,0,0,0,0,0,0,38,0,0,0,0,0,0,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,29,0,30,31,32,33,0,35,36,0,38,0,40,0,0,0,35,0,43,44,45,0,0,0,46,0,0,0,0,0,0,0,0],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,0,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,5,0,6,7,8,9,48,11,12,13,14,48,16,0,0,18,11,19,20,21,22,0,0,0,23,0,0,0,0,0,0,0,25],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,0,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,29,0,30,31,32,33,52,35,36,37,38,52,40,0,0,41,35,42,43,44,45,0,0,0,46,0,0,0,0,0,0,0,47],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,51,0]],accepting:[!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!1,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0,!0],tags:[[],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],[],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["broken_cluster"],["independent_cluster"],["symbol_cluster"],["symbol_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["virama_terminated_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["standard_cluster"],["broken_cluster"],["broken_cluster"],["numeral_cluster"],["number_joiner_terminated_cluster"],["standard_cluster"],["standard_cluster"],["numeral_cluster"]]},mo=1,bo=8,wo=16,_o=32,So=64,xo=128,Co=8192,ko=32768,Po=65536,Ao=1<<17,Eo={Start:1,Ra_To_Become_Reph:2,Pre_M:4,Pre_C:8,Base_C:16,After_Main:32,Above_C:64,Before_Sub:128,Below_C:256,After_Sub:512,Before_Post:1024,Post_C:2048,After_Post:4096,Final_C:8192,SMVD:16384,End:32768},To=2|Po|Ao|4|2048|4096,Oo=So|_o,Io=wo|16384,Bo={Default:{hasOldSpec:!1,virama:0,basePos:"Last",rephPos:Eo.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Devanagari:{hasOldSpec:!0,virama:2381,basePos:"Last",rephPos:Eo.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Bengali:{hasOldSpec:!0,virama:2509,basePos:"Last",rephPos:Eo.After_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gurmukhi:{hasOldSpec:!0,virama:2637,basePos:"Last",rephPos:Eo.Before_Sub,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Gujarati:{hasOldSpec:!0,virama:2765,basePos:"Last",rephPos:Eo.Before_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Oriya:{hasOldSpec:!0,virama:2893,basePos:"Last",rephPos:Eo.After_Main,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Tamil:{hasOldSpec:!0,virama:3021,basePos:"Last",rephPos:Eo.After_Post,rephMode:"Implicit",blwfMode:"Pre_And_Post"},Telugu:{hasOldSpec:!0,virama:3149,basePos:"Last",rephPos:Eo.After_Post,rephMode:"Explicit",blwfMode:"Post_Only"},Kannada:{hasOldSpec:!0,virama:3277,basePos:"Last",rephPos:Eo.After_Post,rephMode:"Implicit",blwfMode:"Post_Only"},Malayalam:{hasOldSpec:!0,virama:3405,basePos:"Last",rephPos:Eo.After_Main,rephMode:"Log_Repha",blwfMode:"Pre_And_Post"},Khmer:{hasOldSpec:!1,virama:6098,basePos:"First",rephPos:Eo.Ra_To_Become_Reph,rephMode:"Vis_Repha",blwfMode:"Pre_And_Post"}},Fo={6078:[6081,6078],6079:[6081,6079],6080:[6081,6080],6084:[6081,6084],6085:[6081,6085]},Lo=vo.decompositions,Ro=new x(p("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","base64")),Do=new k(yo),Mo=function(r){function IndicShaper(){return r.apply(this,arguments)||this}return _inheritsLoose(IndicShaper,r),IndicShaper.planFeatures=function planFeatures(r){r.addStage(setupSyllables),r.addStage(["locl","ccmp"]),r.addStage(initialReordering),r.addStage("nukt"),r.addStage("akhn"),r.addStage("rphf",!1),r.addStage("rkrf"),r.addStage("pref",!1),r.addStage("blwf",!1),r.addStage("abvf",!1),r.addStage("half",!1),r.addStage("pstf",!1),r.addStage("vatu"),r.addStage("cjct"),r.addStage("cfar",!1),r.addStage(finalReordering),r.addStage({local:["init"],global:["pres","abvs","blws","psts","haln","dist","abvm","blwm","calt","clig"]}),r.unicodeScript=function fromOpenType(r){return hi[r]}(r.script),r.indicConfig=Bo[r.unicodeScript]||Bo.Default,r.isOldSpec=r.indicConfig.hasOldSpec&&"2"!==r.script[r.script.length-1]},IndicShaper.assignFeatures=function assignFeatures(r,i){for(var o=function _loop(o){var u=i[o].codePoints[0],p=Fo[u]||Lo[u];if(p){var g=p.map((function(u){var p=r.font.glyphForCodePoint(u);return new io(r.font,p.id,[u],i[o].features)}));i.splice.apply(i,[o,1].concat(g))}},u=i.length-1;u>=0;u--)o(u)},IndicShaper}(Ui);function indicCategory(r){return Ro.get(r.codePoints[0])>>8}function indicPosition(r){return 1<<(255&Ro.get(r.codePoints[0]))}_defineProperty(Mo,"zeroMarkWidths","NONE");var No=function IndicInfo(r,i,o,u){this.category=r,this.position=i,this.syllableType=o,this.syllable=u};function setupSyllables(r,i){for(var o,u=0,p=0,g=_createForOfIteratorHelperLoose(Do.match(i.map(indicCategory)));!(o=g()).done;){var y=o.value,w=y[0],_=y[1],x=y[2];if(w>p){++u;for(var k=p;k<w;k++)i[k].shaperInfo=new No(mo,Eo.End,"non_indic_cluster",u)}++u;for(var P=w;P<=_;P++)i[P].shaperInfo=new No(1<<indicCategory(i[P]),indicPosition(i[P]),x[0],u);p=_+1}if(p<i.length){++u;for(var O=p;O<i.length;O++)i[O].shaperInfo=new No(mo,Eo.End,"non_indic_cluster",u)}}function isConsonant(r){return r.shaperInfo.category&To}function isJoiner(r){return r.shaperInfo.category&Oo}function isHalantOrCoeng(r){return r.shaperInfo.category&Io}function wouldSubstitute(r,i){for(var o,u=_createForOfIteratorHelperLoose(r);!(o=u()).done;){var p;o.value.features=((p={})[i]=!0,p)}return r[0]._font._layoutEngine.engine.GSUBProcessor.applyFeatures([i],r),1===r.length}function consonantPosition(r,i,o){var u=[o,i,o];return wouldSubstitute(u.slice(0,2),"blwf")||wouldSubstitute(u.slice(1,3),"blwf")?Eo.Below_C:wouldSubstitute(u.slice(0,2),"pstf")||wouldSubstitute(u.slice(1,3),"pstf")||wouldSubstitute(u.slice(0,2),"pref")||wouldSubstitute(u.slice(1,3),"pref")?Eo.Post_C:Eo.Base_C}function initialReordering(r,i,o){var u=o.indicConfig,p=r._layoutEngine.engine.GSUBProcessor.features,g=r.glyphForCodePoint(9676).id,y=r.glyphForCodePoint(u.virama).id;if(y)for(var w=new io(r,y,[u.virama]),_=0;_<i.length;_++)i[_].shaperInfo.position===Eo.Base_C&&(i[_].shaperInfo.position=consonantPosition(0,i[_].copy(),w));for(var x=0,k=nextSyllable(i,0);x<i.length;k=nextSyllable(i,x=k)){var P=i[x].shaperInfo,O=(P.category,P.syllableType);if("symbol_cluster"!==O&&"non_indic_cluster"!==O){if("broken_cluster"===O&&g){var I=new io(r,g,[9676]);I.shaperInfo=new No(1<<indicCategory(I),indicPosition(I),i[x].shaperInfo.syllableType,i[x].shaperInfo.syllable);for(var B=x;B<k&&i[B].shaperInfo.category===ko;)B++;i.splice(B++,0,I),k++}var R=k,D=x,N=!1;if(u.rephPos!==Eo.Ra_To_Become_Reph&&p.rphf&&x+3<=k&&("Implicit"===u.rephMode&&!isJoiner(i[x+2])||"Explicit"===u.rephMode&&i[x+2].shaperInfo.category===So)){var W=[i[x].copy(),i[x+1].copy(),i[x+2].copy()];if(wouldSubstitute(W.slice(0,2),"rphf")||"Explicit"===u.rephMode&&wouldSubstitute(W,"rphf")){for(D+=2;D<k&&isJoiner(i[D]);)D++;R=x,N=!0}}else if("Log_Repha"===u.rephMode&&i[x].shaperInfo.category===ko){for(D++;D<k&&isJoiner(i[D]);)D++;R=x,N=!0}switch(u.basePos){case"Last":var U=k,j=!1;do{var G=i[--U].shaperInfo;if(isConsonant(i[U])){if(G.position!==Eo.Below_C&&(G.position!==Eo.Post_C||j)){R=U;break}G.position===Eo.Below_C&&(j=!0),R=U}else if(x<U&&G.category===So&&i[U-1].shaperInfo.category===wo)break}while(U>D);break;case"First":for(var X=(R=x)+1;X<k;X++)isConsonant(i[X])&&(i[X].shaperInfo.position=Eo.Below_C)}N&&R===x&&D-R<=2&&(N=!1);for(var K=x;K<R;K++){var Y=i[K].shaperInfo;Y.position=Math.min(Eo.Pre_C,Y.position)}R<k&&(i[R].shaperInfo.position=Eo.Base_C);for(var J=R+1;J<k;J++)if(i[J].shaperInfo.category===xo){for(var $=J+1;$<k;$++)if(isConsonant(i[$])){i[$].shaperInfo.position=Eo.Final_C;break}break}if(N&&(i[x].shaperInfo.position=Eo.Ra_To_Become_Reph),o.isOldSpec)for(var ee="Malayalam"!==o.unicodeScript,te=R+1;te<k;te++)if(i[te].shaperInfo.category===wo){var re=void 0;for(re=k-1;re>te&&!(isConsonant(i[re])||ee&&i[re].shaperInfo.category===wo);re--);if(i[re].shaperInfo.category!==wo&&re>te){var ne=i[te];i.splice.apply(i,[te,0].concat(i.splice(te+1,re-te))),i[re]=ne}break}for(var ie=Eo.Start,oe=x;oe<k;oe++){var ae=i[oe].shaperInfo;if(ae.category&(Oo|bo|Co|Ao|Io&ae.category)){if(ae.position=ie,ae.category===wo&&ae.position===Eo.Pre_M)for(var se=oe;se>x;se--)if(i[se-1].shaperInfo.position!==Eo.Pre_M){ae.position=i[se-1].shaperInfo.position;break}}else ae.position!==Eo.SMVD&&(ie=ae.position)}for(var ce=R,le=R+1;le<k;le++)if(isConsonant(i[le])){for(var ue=ce+1;ue<le;ue++)i[ue].shaperInfo.position<Eo.SMVD&&(i[ue].shaperInfo.position=i[le].shaperInfo.position);ce=le}else i[le].shaperInfo.category===xo&&(ce=le);var fe=i.slice(x,k);fe.sort((function(r,i){return r.shaperInfo.position-i.shaperInfo.position})),i.splice.apply(i,[x,fe.length].concat(fe));for(var he=x;he<k;he++)if(i[he].shaperInfo.position===Eo.Base_C){R=he;break}for(var de=x;de<k&&i[de].shaperInfo.position===Eo.Ra_To_Become_Reph;de++)i[de].features.rphf=!0;for(var pe=!o.isOldSpec&&"Pre_And_Post"===u.blwfMode,ge=x;ge<R;ge++)i[ge].features.half=!0,pe&&(i[ge].features.blwf=!0);for(var ye=R+1;ye<k;ye++)i[ye].features.abvf=!0,i[ye].features.pstf=!0,i[ye].features.blwf=!0;if(o.isOldSpec&&"Devanagari"===o.unicodeScript)for(var ve=x;ve+1<R;ve++)i[ve].shaperInfo.category!==Po||i[ve+1].shaperInfo.category!==wo||ve+1!==R&&i[ve+2].shaperInfo.category!==So||(i[ve].features.blwf=!0,i[ve+1].features.blwf=!0);if(p.pref&&R+2<k)for(var me=R+1;me+2-1<k;me++){if(wouldSubstitute([i[me].copy(),i[me+1].copy()],"pref")){for(var be=0;be<2;be++)i[me++].features.pref=!0;if(p.cfar)for(;me<k;me++)i[me].features.cfar=!0;break}}for(var we=x+1;we<k;we++)if(isJoiner(i[we])){var _e=i[we].shaperInfo.category===_o,Se=we;do{Se--,_e&&delete i[Se].features.half}while(Se>x&&!isConsonant(i[Se]))}}}}function finalReordering(r,i,o){for(var u=o.indicConfig,p=r._layoutEngine.engine.GSUBProcessor.features,g=0,y=nextSyllable(i,0);g<i.length;y=nextSyllable(i,g=y)){for(var w=!!p.pref,x=g;x<y;x++)if(i[x].shaperInfo.position>=Eo.Base_C){if(w&&x+1<y)for(var k=x+1;k<y;k++)if(i[k].features.pref){if(!i[k].substituted||!i[k].isLigated||i[k].isMultiplied){for(x=k;x<y&&isHalantOrCoeng(i[x]);)x++;i[x].shaperInfo.position=Eo.BASE_C,w=!1}break}if("Malayalam"===o.unicodeScript)for(var P=x+1;P<y;P++){for(;P<y&&isJoiner(i[P]);)P++;if(P===y||!isHalantOrCoeng(i[P]))break;for(P++;P<y&&isJoiner(i[P]);)P++;P<y&&isConsonant(i[P])&&i[P].shaperInfo.position===Eo.Below_C&&(i[x=P].shaperInfo.position=Eo.Base_C)}g<x&&i[x].shaperInfo.position>Eo.Base_C&&x--;break}if(x===y&&g<x&&i[x-1].shaperInfo.category===So&&x--,x<y)for(;g<x&&i[x].shaperInfo.category&(bo|Io);)x--;if(g+1<y&&g<x){var O=x===y?x-2:x-1;if("Malayalam"!==o.unicodeScript&&"Tamil"!==o.unicodeScript){for(;O>g&&!(i[O].shaperInfo.category&(xo|Io));)O--;isHalantOrCoeng(i[O])&&i[O].shaperInfo.position!==Eo.Pre_M?O+1<y&&isJoiner(i[O+1])&&O++:O=g}if(g<O&&i[O].shaperInfo.position!==Eo.Pre_M)for(var I=O;I>g;I--)if(i[I-1].shaperInfo.position===Eo.Pre_M){var B=I-1;B<x&&x<=O&&x--;var R=i[B];i.splice.apply(i,[B,0].concat(i.splice(B+1,O-B))),i[O]=R,O--}}if(g+1<y&&i[g].shaperInfo.position===Eo.Ra_To_Become_Reph&&i[g].shaperInfo.category===ko!==(i[g].isLigated&&!i[g].isMultiplied)){var D=void 0,N=u.rephPos,W=!1;if(N!==Eo.After_Post){for(D=g+1;D<x&&!isHalantOrCoeng(i[D]);)D++;if(D<x&&isHalantOrCoeng(i[D])&&(D+1<x&&isJoiner(i[D+1])&&D++,W=!0),!W&&N===Eo.After_Main){for(D=x;D+1<y&&i[D+1].shaperInfo.position<=Eo.After_Main;)D++;W=D<y}if(!W&&N===Eo.After_Sub){for(D=x;D+1<y&&!(i[D+1].shaperInfo.position&(Eo.Post_C|Eo.After_Post|Eo.SMVD));)D++;W=D<y}}if(!W){for(D=g+1;D<x&&!isHalantOrCoeng(i[D]);)D++;D<x&&isHalantOrCoeng(i[D])&&(D+1<x&&isJoiner(i[D+1])&&D++,W=!0)}if(!W){for(D=y-1;D>g&&i[D].shaperInfo.position===Eo.SMVD;)D--;if(isHalantOrCoeng(i[D]))for(var U=x+1;U<D;U++)i[U].shaperInfo.category===xo&&D--}var j=i[g];i.splice.apply(i,[g,0].concat(i.splice(g+1,D-g))),i[D]=j,g<x&&x<=D&&x--}if(w&&x+1<y)for(var G=x+1;G<y;G++)if(i[G].features.pref){if(i[G].isLigated&&!i[G].isMultiplied){var X=x;if("Malayalam"!==o.unicodeScript&&"Tamil"!==o.unicodeScript){for(;X>g&&!(i[X-1].shaperInfo.category&(xo|Io));)X--;if(X>g&&i[X-1].shaperInfo.category===xo)for(var K=G,Y=x+1;Y<K;Y++)if(i[Y].shaperInfo.category===xo){X--;break}}X>g&&isHalantOrCoeng(i[X-1])&&X<y&&isJoiner(i[X])&&X++;var J=G,$=i[J];i.splice.apply(i,[X+1,0].concat(i.splice(X,J-X))),i[X]=$,X<=x&&x<J&&x++}break}i[g].shaperInfo.position!==Eo.Pre_M||g&&/Cf|Mn/.test(_.getCategory(i[g-1].codePoints[0]))||(i[g].features.init=!0)}}function nextSyllable(r,i){if(i>=r.length)return i;for(var o=r[i].shaperInfo.syllable;++i<r.length&&r[i].shaperInfo.syllable===o;);return i}var Wo=vo.categories,zo=vo.decompositions,Uo=new x(p("AAACAAAAAAAQugAAAQUO+vHtnHuMX0UVx2d3u/t7bXe7FlqgvB+mpQhFmhikMRAg0ZQmakMU+cPWBzZisEGNjUpoiIYCEgmGUGOEGqOVNPUZUGNA+QNIBU2KREEFFSMBUYRISMXE+B3vnPzOzp553tcWfif5ZO5jnufMzJ2ZO/eumlDqFLAWnAMuBBvBZnC5uXZeBe4WsA1sBzs8/naCXcL1G8GtYDfYA74NvgfuAfcZHmT+fwEeBb8DTwvxPQWeAavACyZvq8z9VYxXwCGglijVBcvACnA8eCM4E6wHG8BF4BLwbvA+8AHwUbAd7AA7wS5wC9gN7gR7wX5wN7gXPAAeBr8Gvwd/Ac+CF8EhoCaV6oBZsBKcAE4FZ0wWeV8P9zxwoTnfCHczuBxsAdvAx8Gnzf1r4X4B3AxuA1+bHJb9m5PzdVGW/Yjv+xXHyfmxFfd9OH8Q/Ar8Bjw1WZT3GfACeAX8N5CfqSmlZsAKsGqqCH8K3DXgbHCuuXYB3HeAd4HLpgrdarbi+EPgY+CT4HPg8ybMTcb9MtyvghtYut/A+b4pf95+ELgfw08Qx/3gADgInjDl0veehPtX8A/wsrn2KtzxDuogWNoJx38k/BzXKeI8Ee5qcBZYD9aZtDbg+AwT19uMX83F7JizCdcvBZdZ97c6/BMfMWmfzfTm88/95aLj+DDSvApcDXZ04uPfaen3TMHPLvi5BezuFPVtD4t/qUcfe3FvP7gb3Ouwo9T+H+gMy/UIjh8DfwBPm7T08d/M8WMBe1Sh3xEjXo+M2s+IESNGjBgxYsSI1wLrOsM1gRsi/P+TzV3/Zc1jvxgR/j8IM9Et1mEGcJeDFeA4cJq5/ia467uF/w1wzwdvB+80998LdwvYZs63w90Bdnbd6Wp/uzz3R4wYMWJEvZzTMm2Xf8SIEfVQd/v+EsaPt3eL90J3wP2WMJ78Trd4t6+P77Hu37cIxp9/ny6YXqrUJeCR6TA74e/nll81MzxejeMtYA94HBwy91bPYow+O/S3A8d7oIM/gRN7CAP29Iqx/B1ThfuwOecM+vA3NmRjf6Gfm3BtH7v+PI7XDpS6EuwDz4O10+0/f9om1F4ehO4OmHp6EO7jxl56nvhsN/15ut+4Z0b657yYkZ7UJ0jhX0bcr3bn+6P87vekN4762QNzvWHZtL+jcH5srzg/uTf0f3pvfj5i+6tYW7rK9+aefO+tuL4BXAQ2gs3gPeBJc//9OL4CXAWuNvc/A64DN4Jbwe0s7jtxvBfsAz8EPwX3gwPgoJAHPQ9/Atf/bO7p/TTP4fglwS/5/zfujfWH5z0cz4Gj+8X5Sf1ib4m+vwbHZ/fdOtP+z+3LOnPp/QL4vxhsApeCy8BWk/a2ftFmYu22Hf4/Ba4B14Hrwc0sP7fh+Cvg6+Au8F1WthA/8pT7UeTxZ/12njkuXT8UyM9i6iur1EEb6f+yPz/eg0b3v4X7x365fMaW42lPu7PTv6vi8i/G+lWF/cvUk7bLl1r+5/rN5tu3j2qvWTd/qV+4h+AqjDGnBsX59GDo94iBXDa6v6Yjl6vu+h8itJcsZq/ZykHhHg/3tMHhUe9s/Yfuny7YNxTvQ8LYdrER2+/c0GBezhrMv3ZNRv7PmYirh7oOv4W1Y72/cwPOzx8U7X8d2295sfE3MPnbBPfSQbHv9nK4HxTqiK/trI7Yy5mLzvuVg/nX+N7V51A3r+gMy/4J434W7l2dYf5PZWGuNX6uh3uzEPetuLY7sZ20zTETY2oxyBhj3DrnfsidYPeXRGLHpxzX6pbFofGRkFBdGhcgW40L4cYtd9JAElO36q4LEzXHX7VMtZ2BEhJjy9dT25fazOtJxhwsBrHzwfu8w12kMYN9fLhIbp2RxlI59rX1dzjpsKl2Fxt3iu6rbofc9q5+KcRrXVzzDn6/Crvk6p/y1GFgGhs9/6maHjBLgv8/18fTxl1q0bPoW8ywsFTGWaazHosrNn/kP2eeqEroZYLZphsZl7L82eephMIqNT8dyT9JjH1Jpg32ubZvTB/SF665ymSnnaqjUHum+1Qn+NyOtz9f2r6y5OQ51b6hYy0D40r2tYXar30+Y/mbVX6JqY+hMC60XZapoh3S/HdOpT3DYu3rs0lKnquyb277JZvyPlqp+f1zVVK2/dJYNpQGf04uYyh1+PTPqfalZ2tO/xwSu+3bOrDzmWvfcTW/fLmibRx6lkvlcOlc8qsE/y5/rnSk67F1iAu1VT6+4jKt5tufn8e2b+n57JKcckhrsKG1Cd6Wu+Y8tf2l5DenPafqQZ/7xstKLeyr+XnInjSelvRgS9n27JPQM5n6Am7jmLG8VK6m7OvyS2L313XYV2r/tth5LWPfNxhyhI+1Up7HVbe/HMgeZE8brtNQ/7tcyX0cn//H2LTO9kpir5VI6yYp9szJW9W2jI1Tqfl5ic2v1GZ5XaG6RDZbyvxMO/DVh1SdUj5y1vraaHs+2/TYNXvtSRoXk4wrf9w6fEctnFt0zL2y+xFsfSrLza2zOTqMiZv8xOpbn8+xsL5ykdj6VsxNKb/Lvxb7nX8u48y1x6yuMW3V9tNxTlouzXslibVxndjC14xda8g2NIbg5x01XAP2lfeIBFSi/zrQEporTXru8fCueiy1CUnqrhspSM9SzbSS64tep9R1ZsZcOxKsUEUfNZeYtr0vjY5DeXW915hT8/PRV8MxlR1HV4DHZZc9R7dzajgWoXikdLtGr0uEfPigsGS/NvYjSHW87XejoXZehZ74XrcqpQ4d5T5f7Gu8f6g7fQmefoqOqk4/VarQv2o4/VDetPDnhjR2dc3BCBp/9NVw7KGfwStVMf6aZNAajj6224j9HCZbpZa/LvH1gU30i/q5WnUdSNEprxv2eIOwx2pcjjLMsmObo008k0J4u69P3d9QdbspW/dy080Nb8PXqcrmj0vsc7tu6qwD1A5oLYr3U3XWSxqj6/a10nCMkudJMyxvrvbK55jUrqU+Xlr/Iai98jY7mVAml5QNHxq31j2m5TrSdmp6z5p+9kpzQntdQbI1Pafr6I9C60gxrALHGtdF6tyhLTtxeBuW+hhqyzPMX931xl6rJ5f6n5h3blpsW7vKbvdBfL1gpYfjDLrvob1drrRT+mcuMf1OrJSdW/P+RfufdUB+pOtdTzhpL5t0jfKr46P3obQfQdPGt1jS+DEkx4MT2PmEg1j72OthqfZNWX+JuZ4at/2sTAmn5cSIMqZIjk0pnD0+aUI6YS9ekdaspWsp8cWEC62dS66UTkq+ypajyvXSlPz4xhQhm/ns6wpXBVI560jHN9aKkdT46spvWT916rONdHNsGSNtl6Hp8oakTVukpF9n3U3Jx0TNefbp3R4jltVfFfpvQkJpNaH/puyco++qbZPz7sE1L3DFGVovc4XPLUPO3ELyrzLiSpmPhaTJfqeJ+t60PiTh9snNW2656upDQ+Wtyg6ueJquB7HSVPspW9a28lDWJouhb6iyv7XjTfVL67j2vjDpvUfMt1Vl4GvctMaeq/vYcFWXIfV5Ku3XaxK951H6dsWFrhcxa3pU/pz3C1xc71tTcaXjGjtJbYIj7UHm7wxSyx+D/d7SfpfJ3wPpfSQp32tS2dt8V2tD7+Bce3rpPa3eC6Dr8Ulq+K+J3HFvbn312Zv2RdStr9g0pP0P/B04XbP3Q8cIT2dlRF6orkrhY/Rv27FqHfL1DP480ffo/V6V7aTHXLKDbTdXOOrnyG1ScvSv6xqve30lPzdpj36M8Pilb+L5vr0xE3dd30nWIfZ45uSSxK4x+CRmTUK6F/LrSsfnj+aOdYyvpXyMK7/OpHWjlDTsa0rJum5K7Ppnj7F9c+0q0qtr7pQji2X9oMwcVrJfmblwU2V2SV3rEk3YuO46XXf8MfrQz077G2zftyDkj/ZqhcZr9nldkOg5ykAt3GunJbR3NGYsUfWafd3ts853C4dLHppOM6WcfM5C+xSbaC/2HMa1H9v1vXdoXm/LKSVpYh5wqmr/X67SfwHtPc9a97p/k8bt0hpbW0j1Svr2m+7Rd98qIQ1pvSF273dKOjHYNmk6fd8/JX3tWIddblBqoU5p7zrZKnd9TppjVq0DSitWqkwz12b2exb7vwjaRvS/TFd/S+8AYvIo+Suri5TwvvZRdV1IQevQ1/8SA+UeH5eto7n/X1Oe86ptaafl8kPjcF7P7W93eD9d5n+oSvn7fFe7I/G9q1IBfylSR71N6fft94ZU18hOXKR+JqUO8f4+5dvLsmWlMQb/Vov+CUDlpTGUndeQlG3fdZWdRPoPgl3mmDlsLnaey/4X3tVuU+o6L3/Pym+qlLV/jk6rlBRd8394hZ6JdnuqIv2ykOh3pfq96Wkq/E8qu2xl88/tOJ4R3tfmpbGi3c5T859bzqr7MbsN03iI5itUNj5eaEKWqIX/KJCQ/iFWNZMmHXs8ovWk53JzFq5vPul6zDjLV36pX7bzvNzB0YlQOZephWtRS5T7eeSq8030R77/HvC1d7tN83Zt9yltrDdwSR0XxsZd5l+MvvvU1/M9jSnj+Nh6FPJbBld/w6XHXH5MZeXrOfS/65g9RTl1JCa8chzX2RZ9/3lXSh4/VqWfEBNq4b82Ytp6m+9Qqxir1jX+rfPdT1vvsWhM6bPbmON6E1LnPCZW7L0qqXswmtqf0MQelZj4myrzYtzvIYmURlvtqapyx+gzRfd0XPfahVSOquMoG+dibBdl46iyfdbV1qvUW9m8+KTudMvkzZe/pqTJ+pWTflX5zw1fVfox6ZTVc8hvHflOSb+OuG1JsZ0kufXAJf8D","base64")),jo=new k(vo),Go=function(r){function UniversalShaper(){return r.apply(this,arguments)||this}return _inheritsLoose(UniversalShaper,r),UniversalShaper.planFeatures=function planFeatures(r){r.addStage(setupSyllables$1),r.addStage(["locl","ccmp","nukt","akhn"]),r.addStage(clearSubstitutionFlags),r.addStage(["rphf"],!1),r.addStage(recordRphf),r.addStage(clearSubstitutionFlags),r.addStage(["pref"]),r.addStage(recordPref),r.addStage(["rkrf","abvf","blwf","half","pstf","vatu","cjct"]),r.addStage(reorder),r.addStage(["abvs","blws","pres","psts","dist","abvm","blwm"])},UniversalShaper.assignFeatures=function assignFeatures(r,i){for(var o=function _loop(o){var u=i[o].codePoints[0];if(zo[u]){var p=zo[u].map((function(u){var p=r.font.glyphForCodePoint(u);return new io(r.font,p.id,[u],i[o].features)}));i.splice.apply(i,[o,1].concat(p))}},u=i.length-1;u>=0;u--)o(u)},UniversalShaper}(Ui);function useCategory(r){return Uo.get(r.codePoints[0])}_defineProperty(Go,"zeroMarkWidths","BEFORE_GPOS");var Vo=function USEInfo(r,i,o){this.category=r,this.syllableType=i,this.syllable=o};function setupSyllables$1(r,i){for(var o,u=0,p=_createForOfIteratorHelperLoose(jo.match(i.map(useCategory)));!(o=p()).done;){var g=o.value,y=g[0],w=g[1],_=g[2];++u;for(var x=y;x<=w;x++)i[x].shaperInfo=new Vo(Wo[useCategory(i[x])],_[0],u);for(var k="R"===i[y].shaperInfo.category?1:Math.min(3,w-y),P=y;P<y+k;P++)i[P].features.rphf=!0}}function clearSubstitutionFlags(r,i){for(var o,u=_createForOfIteratorHelperLoose(i);!(o=u()).done;){o.value.substituted=!1}}function recordRphf(r,i){for(var o,u=_createForOfIteratorHelperLoose(i);!(o=u()).done;){var p=o.value;p.substituted&&p.features.rphf&&(p.shaperInfo.category="R")}}function recordPref(r,i){for(var o,u=_createForOfIteratorHelperLoose(i);!(o=u()).done;){var p=o.value;p.substituted&&(p.shaperInfo.category="VPre")}}function reorder(r,i){for(var o=r.glyphForCodePoint(9676).id,u=0,p=nextSyllable$1(i,0);u<i.length;p=nextSyllable$1(i,u=p)){var g=void 0,y=void 0,w=i[u].shaperInfo,_=w.syllableType;if("virama_terminated_cluster"===_||"standard_cluster"===_||"broken_cluster"===_){if("broken_cluster"===_&&o){var x=new io(r,o,[9676]);for(x.shaperInfo=w,g=u;g<p&&"R"===i[g].shaperInfo.category;g++);i.splice(++g,0,x),p++}if("R"===w.category&&p-u>1)for(g=u+1;g<p;g++)if(isBase(w=i[g].shaperInfo)||isHalant(i[g])){isHalant(i[g])&&g--,i.splice.apply(i,[u,0].concat(i.splice(u+1,g-u),[i[g]]));break}for(g=u,y=p;g<p;g++)isBase(w=i[g].shaperInfo)||isHalant(i[g])?y=isHalant(i[g])?g+1:g:("VPre"===w.category||"VMPre"===w.category)&&y<g&&i.splice.apply(i,[y,1,i[g]].concat(i.splice(y,g-y)))}}}function nextSyllable$1(r,i){if(i>=r.length)return i;for(var o=r[i].shaperInfo.syllable;++i<r.length&&r[i].shaperInfo.syllable===o;);return i}function isHalant(r){return"H"===r.shaperInfo.category&&!r.isLigated}function isBase(r){return"B"===r.category||"GB"===r.category}var Ho={arab:eo,mong:eo,syrc:eo,"nko ":eo,phag:eo,mand:eo,mani:eo,phlp:eo,hang:oo,bng2:Mo,beng:Mo,dev2:Mo,deva:Mo,gjr2:Mo,gujr:Mo,guru:Mo,gur2:Mo,knda:Mo,knd2:Mo,mlm2:Mo,mlym:Mo,ory2:Mo,orya:Mo,taml:Mo,tml2:Mo,telu:Mo,tel2:Mo,khmr:Mo,bali:Go,batk:Go,brah:Go,bugi:Go,buhd:Go,cakm:Go,cham:Go,dupl:Go,egyp:Go,gran:Go,hano:Go,java:Go,kthi:Go,kali:Go,khar:Go,khoj:Go,sind:Go,lepc:Go,limb:Go,mahj:Go,mtei:Go,modi:Go,hmng:Go,rjng:Go,saur:Go,shrd:Go,sidd:Go,sinh:Go,sund:Go,sylo:Go,tglg:Go,tagb:Go,tale:Go,lana:Go,tavt:Go,takr:Go,tibt:Go,tfng:Go,tirh:Go,latn:Ui,DFLT:Ui};for(var qo=function(r){function GSUBProcessor(){return r.apply(this,arguments)||this}return _inheritsLoose(GSUBProcessor,r),GSUBProcessor.prototype.applyLookup=function applyLookup(r,i){var o=this;switch(r){case 1:var u=this.coverageIndex(i.coverage);if(-1===u)return!1;var p=this.glyphIterator.cur;switch(i.version){case 1:p.id=p.id+i.deltaGlyphID&65535;break;case 2:p.id=i.substitute.get(u)}return!0;case 2:var g=this.coverageIndex(i.coverage);if(-1!==g){var y,w=i.sequences.get(g);if(0===w.length)return this.glyphs.splice(this.glyphIterator.index,1),!0;this.glyphIterator.cur.id=w[0],this.glyphIterator.cur.ligatureComponent=0;var _=this.glyphIterator.cur.features,x=this.glyphIterator.cur,k=w.slice(1).map((function(r,i){var u=new io(o.font,r,void 0,_);return u.shaperInfo=x.shaperInfo,u.isLigated=x.isLigated,u.ligatureComponent=i+1,u.substituted=!0,u.isMultiplied=!0,u}));return(y=this.glyphs).splice.apply(y,[this.glyphIterator.index+1,0].concat(k)),!0}return!1;case 3:var P=this.coverageIndex(i.coverage);if(-1!==P){return this.glyphIterator.cur.id=i.alternateSet.get(P)[0],!0}return!1;case 4:var O=this.coverageIndex(i.coverage);if(-1===O)return!1;for(var I,B=_createForOfIteratorHelperLoose(i.ligatureSets.get(O));!(I=B()).done;){var R=I.value,D=this.sequenceMatchIndices(1,R.components);if(D){for(var N,W=this.glyphIterator.cur,U=W.codePoints.slice(),j=_createForOfIteratorHelperLoose(D);!(N=j()).done;){var G,X=N.value;(G=U).push.apply(G,this.glyphs[X].codePoints)}var K=new io(this.font,R.glyph,U,W.features);K.shaperInfo=W.shaperInfo,K.isLigated=!0,K.substituted=!0;for(var Y=W.isMark,J=0;J<D.length&&Y;J++)Y=this.glyphs[D[J]].isMark;K.ligatureID=Y?null:this.ligatureID++;for(var $,ee=W.ligatureID,te=W.codePoints.length,re=te,ne=this.glyphIterator.index+1,ie=_createForOfIteratorHelperLoose(D);!($=ie()).done;){var oe=$.value;if(Y)ne=oe;else for(;ne<oe;){var ae=re-te+Math.min(this.glyphs[ne].ligatureComponent||1,te);this.glyphs[ne].ligatureID=K.ligatureID,this.glyphs[ne].ligatureComponent=ae,ne++}ee=this.glyphs[ne].ligatureID,re+=te=this.glyphs[ne].codePoints.length,ne++}if(ee&&!Y)for(var se=ne;se<this.glyphs.length&&this.glyphs[se].ligatureID===ee;se++){ae=re-te+Math.min(this.glyphs[se].ligatureComponent||1,te);this.glyphs[se].ligatureComponent=ae}for(var ce=D.length-1;ce>=0;ce--)this.glyphs.splice(D[ce],1);return this.glyphs[this.glyphIterator.index]=K,!0}}return!1;case 5:return this.applyContext(i);case 6:return this.applyChainingContext(i);case 7:return this.applyLookup(i.lookupType,i.extension);default:throw new Error("GSUB lookupType ".concat(r," is not supported"))}},GSUBProcessor}(no),Xo=function(r){function GPOSProcessor(){return r.apply(this,arguments)||this}_inheritsLoose(GPOSProcessor,r);var i=GPOSProcessor.prototype;return i.applyPositionValue=function applyPositionValue(r,i){var o=this.positions[this.glyphIterator.peekIndex(r)];null!=i.xAdvance&&(o.xAdvance+=i.xAdvance),null!=i.yAdvance&&(o.yAdvance+=i.yAdvance),null!=i.xPlacement&&(o.xOffset+=i.xPlacement),null!=i.yPlacement&&(o.yOffset+=i.yPlacement);var u=this.font._variationProcessor,p=this.font.GDEF&&this.font.GDEF.itemVariationStore;u&&p&&(i.xPlaDevice&&(o.xOffset+=u.getDelta(p,i.xPlaDevice.a,i.xPlaDevice.b)),i.yPlaDevice&&(o.yOffset+=u.getDelta(p,i.yPlaDevice.a,i.yPlaDevice.b)),i.xAdvDevice&&(o.xAdvance+=u.getDelta(p,i.xAdvDevice.a,i.xAdvDevice.b)),i.yAdvDevice&&(o.yAdvance+=u.getDelta(p,i.yAdvDevice.a,i.yAdvDevice.b)))},i.applyLookup=function applyLookup(r,i){switch(r){case 1:var o=this.coverageIndex(i.coverage);if(-1===o)return!1;switch(i.version){case 1:this.applyPositionValue(0,i.value);break;case 2:this.applyPositionValue(0,i.values.get(o))}return!0;case 2:var u=this.glyphIterator.peek();if(!u)return!1;var p=this.coverageIndex(i.coverage);if(-1===p)return!1;switch(i.version){case 1:for(var g,y=_createForOfIteratorHelperLoose(i.pairSets.get(p));!(g=y()).done;){var w=g.value;if(w.secondGlyph===u.id)return this.applyPositionValue(0,w.value1),this.applyPositionValue(1,w.value2),!0}return!1;case 2:var _=this.getClassID(this.glyphIterator.cur.id,i.classDef1),x=this.getClassID(u.id,i.classDef2);if(-1===_||-1===x)return!1;var k=i.classRecords.get(_).get(x);return this.applyPositionValue(0,k.value1),this.applyPositionValue(1,k.value2),!0}case 3:var P=this.glyphIterator.peekIndex(),O=this.glyphs[P];if(!O)return!1;var I=i.entryExitRecords[this.coverageIndex(i.coverage)];if(!I||!I.exitAnchor)return!1;var B=i.entryExitRecords[this.coverageIndex(i.coverage,O.id)];if(!B||!B.entryAnchor)return!1;var R=this.getAnchor(B.entryAnchor),D=this.getAnchor(I.exitAnchor),N=this.positions[this.glyphIterator.index],W=this.positions[P];switch(this.direction){case"ltr":N.xAdvance=D.x+N.xOffset;var U=R.x+W.xOffset;W.xAdvance-=U,W.xOffset-=U;break;case"rtl":U=D.x+N.xOffset,N.xAdvance-=U,N.xOffset-=U,W.xAdvance=R.x+W.xOffset}return this.glyphIterator.flags.rightToLeft?(this.glyphIterator.cur.cursiveAttachment=P,N.yOffset=R.y-D.y):(O.cursiveAttachment=this.glyphIterator.index,N.yOffset=D.y-R.y),!0;case 4:var j=this.coverageIndex(i.markCoverage);if(-1===j)return!1;for(var G=this.glyphIterator.index;--G>=0&&(this.glyphs[G].isMark||this.glyphs[G].ligatureComponent>0););if(G<0)return!1;var X=this.coverageIndex(i.baseCoverage,this.glyphs[G].id);if(-1===X)return!1;var K=i.markArray[j],Y=i.baseArray[X][K.class];return this.applyAnchor(K,Y,G),!0;case 5:var J=this.coverageIndex(i.markCoverage);if(-1===J)return!1;for(var $=this.glyphIterator.index;--$>=0&&this.glyphs[$].isMark;);if($<0)return!1;var ee=this.coverageIndex(i.ligatureCoverage,this.glyphs[$].id);if(-1===ee)return!1;var te=i.ligatureArray[ee],re=this.glyphIterator.cur,ne=this.glyphs[$],ie=ne.ligatureID&&ne.ligatureID===re.ligatureID&&re.ligatureComponent>0?Math.min(re.ligatureComponent,ne.codePoints.length)-1:ne.codePoints.length-1,oe=i.markArray[J],ae=te[ie][oe.class];return this.applyAnchor(oe,ae,$),!0;case 6:var se=this.coverageIndex(i.mark1Coverage);if(-1===se)return!1;var ce=this.glyphIterator.peekIndex(-1),le=this.glyphs[ce];if(!le||!le.isMark)return!1;var ue=this.glyphIterator.cur,fe=!1;if(ue.ligatureID===le.ligatureID?ue.ligatureID?ue.ligatureComponent===le.ligatureComponent&&(fe=!0):fe=!0:(ue.ligatureID&&!ue.ligatureComponent||le.ligatureID&&!le.ligatureComponent)&&(fe=!0),!fe)return!1;var he=this.coverageIndex(i.mark2Coverage,le.id);if(-1===he)return!1;var de=i.mark1Array[se],pe=i.mark2Array[he][de.class];return this.applyAnchor(de,pe,ce),!0;case 7:return this.applyContext(i);case 8:return this.applyChainingContext(i);case 9:return this.applyLookup(i.lookupType,i.extension);default:throw new Error("Unsupported GPOS table: ".concat(r))}},i.applyAnchor=function applyAnchor(r,i,o){var u=this.getAnchor(i),p=this.getAnchor(r.markAnchor),g=(this.positions[o],this.positions[this.glyphIterator.index]);g.xOffset=u.x-p.x,g.yOffset=u.y-p.y,this.glyphIterator.cur.markAttachment=o},i.getAnchor=function getAnchor(r){var i=r.xCoordinate,o=r.yCoordinate,u=this.font._variationProcessor,p=this.font.GDEF&&this.font.GDEF.itemVariationStore;return u&&p&&(r.xDeviceTable&&(i+=u.getDelta(p,r.xDeviceTable.a,r.xDeviceTable.b)),r.yDeviceTable&&(o+=u.getDelta(p,r.yDeviceTable.a,r.yDeviceTable.b))),{x:i,y:o}},i.applyFeatures=function applyFeatures(i,o,u){r.prototype.applyFeatures.call(this,i,o,u);for(var p=0;p<this.glyphs.length;p++)this.fixCursiveAttachment(p);this.fixMarkAttachment()},i.fixCursiveAttachment=function fixCursiveAttachment(r){var i=this.glyphs[r];if(null!=i.cursiveAttachment){var o=i.cursiveAttachment;i.cursiveAttachment=null,this.fixCursiveAttachment(o),this.positions[r].yOffset+=this.positions[o].yOffset}},i.fixMarkAttachment=function fixMarkAttachment(){for(var r=0;r<this.glyphs.length;r++){var i=this.glyphs[r];if(null!=i.markAttachment){var o=i.markAttachment;if(this.positions[r].xOffset+=this.positions[o].xOffset,this.positions[r].yOffset+=this.positions[o].yOffset,"ltr"===this.direction)for(var u=o;u<r;u++)this.positions[r].xOffset-=this.positions[u].xAdvance,this.positions[r].yOffset-=this.positions[u].yAdvance;else for(var p=o+1;p<r+1;p++)this.positions[r].xOffset+=this.positions[p].xAdvance,this.positions[r].yOffset+=this.positions[p].yAdvance}}},GPOSProcessor}(no),Zo=function(){function OTLayoutEngine(r){this.font=r,this.glyphInfos=null,this.plan=null,this.GSUBProcessor=null,this.GPOSProcessor=null,this.fallbackPosition=!0,r.GSUB&&(this.GSUBProcessor=new qo(r,r.GSUB)),r.GPOS&&(this.GPOSProcessor=new Xo(r,r.GPOS))}var r=OTLayoutEngine.prototype;return r.setup=function setup(r){var i=this;this.glyphInfos=r.glyphs.map((function(r){return new io(i.font,r.id,[].concat(r.codePoints))}));var o=null;for(var u in this.GPOSProcessor&&(o=this.GPOSProcessor.selectScript(r.script,r.language,r.direction)),this.GSUBProcessor&&(o=this.GSUBProcessor.selectScript(r.script,r.language,r.direction)),this.shaper=function choose(r){Array.isArray(r)||(r=[r]);for(var i,o=_createForOfIteratorHelperLoose(r);!(i=o()).done;){var u=i.value,p=Ho[u];if(p)return p}return Ui}(o),this.plan=new Ri(this.font,o,r.direction),this.shaper.plan(this.plan,this.glyphInfos,r.features),this.plan.allFeatures)r.features[u]=!0},r.substitute=function substitute(r){var i=this;this.GSUBProcessor&&(this.plan.process(this.GSUBProcessor,this.glyphInfos),r.glyphs=this.glyphInfos.map((function(r){return i.font.getGlyph(r.id,r.codePoints)})))},r.position=function position(r){return"BEFORE_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(r.positions),this.GPOSProcessor&&this.plan.process(this.GPOSProcessor,this.glyphInfos,r.positions),"AFTER_GPOS"===this.shaper.zeroMarkWidths&&this.zeroMarkAdvances(r.positions),"rtl"===r.direction&&(r.glyphs.reverse(),r.positions.reverse()),this.GPOSProcessor&&this.GPOSProcessor.features},r.zeroMarkAdvances=function zeroMarkAdvances(r){for(var i=0;i<this.glyphInfos.length;i++)this.glyphInfos[i].isMark&&(r[i].xAdvance=0,r[i].yAdvance=0)},r.cleanup=function cleanup(){this.glyphInfos=null,this.plan=null,this.shaper=null},r.getAvailableFeatures=function getAvailableFeatures(r,i){var o=[];return this.GSUBProcessor&&(this.GSUBProcessor.selectScript(r,i),o.push.apply(o,Object.keys(this.GSUBProcessor.features))),this.GPOSProcessor&&(this.GPOSProcessor.selectScript(r,i),o.push.apply(o,Object.keys(this.GPOSProcessor.features))),o},OTLayoutEngine}(),Ko=function(){function LayoutEngine(r){this.font=r,this.unicodeLayoutEngine=null,this.kernProcessor=null,this.font.morx?this.engine=new Li(this.font):(this.font.GSUB||this.font.GPOS)&&(this.engine=new Zo(this.font))}var r=LayoutEngine.prototype;return r.layout=function layout(r,i,o,u,p){if("string"==typeof i&&(p=u,u=o,o=i,i=[]),"string"==typeof r){null==o&&(o=function forString(r){for(var i=r.length,o=0;o<i;){var u=r.charCodeAt(o++);if(55296<=u&&u<=56319&&o<i){var p=r.charCodeAt(o);56320<=p&&p<=57343&&(o++,u=((1023&u)<<10)+(1023&p)+65536)}var g=_.getScript(u);if("Common"!==g&&"Inherited"!==g&&"Unknown"!==g)return fi[g]}return fi.Unknown}(r));var g=this.font.glyphsForString(r)}else{if(null==o){for(var y,w=[],x=_createForOfIteratorHelperLoose(r);!(y=x()).done;){var k=y.value;w.push.apply(w,k.codePoints)}o=function forCodePoints(r){for(var i=0;i<r.length;i++){var o=r[i],u=_.getScript(o);if("Common"!==u&&"Inherited"!==u&&"Unknown"!==u)return fi[u]}return fi.Unknown}(w)}g=r}var P=new bi(g,i,o,u,p);return 0===g.length?(P.positions=[],P):(this.engine&&this.engine.setup&&this.engine.setup(P),this.substitute(P),this.position(P),this.hideDefaultIgnorables(P.glyphs,P.positions),this.engine&&this.engine.cleanup&&this.engine.cleanup(),P)},r.substitute=function substitute(r){this.engine&&this.engine.substitute&&this.engine.substitute(r)},r.position=function position(r){r.positions=r.glyphs.map((function(r){return new wi(r.advanceWidth)}));var i=null;this.engine&&this.engine.position&&(i=this.engine.position(r)),i||this.engine&&!this.engine.fallbackPosition||(this.unicodeLayoutEngine||(this.unicodeLayoutEngine=new li(this.font)),this.unicodeLayoutEngine.positionGlyphs(r.glyphs,r.positions)),i&&i.kern||!1===r.features.kern||!this.font.kern||(this.kernProcessor||(this.kernProcessor=new ci(this.font)),this.kernProcessor.process(r.glyphs,r.positions),r.features.kern=!0)},r.hideDefaultIgnorables=function hideDefaultIgnorables(r,i){for(var o=this.font.glyphForCodePoint(32),u=0;u<r.length;u++)this.isDefaultIgnorable(r[u].codePoints[0])&&(r[u]=o,i[u].xAdvance=0,i[u].yAdvance=0)},r.isDefaultIgnorable=function isDefaultIgnorable(r){var i=r>>16;if(0===i)switch(r>>8){case 0:return 173===r;case 3:return 847===r;case 6:return 1564===r;case 23:return 6068<=r&&r<=6069;case 24:return 6155<=r&&r<=6158;case 32:return 8203<=r&&r<=8207||8234<=r&&r<=8238||8288<=r&&r<=8303;case 254:return 65024<=r&&r<=65039||65279===r;case 255:return 65520<=r&&r<=65528;default:return!1}else switch(i){case 1:return 113824<=r&&r<=113827||119155<=r&&r<=119162;case 14:return 917504<=r&&r<=921599;default:return!1}},r.getAvailableFeatures=function getAvailableFeatures(r,i){var o=[];return this.engine&&o.push.apply(o,this.engine.getAvailableFeatures(r,i)),this.font.kern&&-1===o.indexOf("kern")&&o.push("kern"),o},r.stringsForGlyph=function stringsForGlyph(r){for(var i,o=new Set,u=_createForOfIteratorHelperLoose(this.font._cmapProcessor.codePointsForGlyph(r));!(i=u()).done;){var p=i.value;o.add(String.fromCodePoint(p))}if(this.engine&&this.engine.stringsForGlyph)for(var g,y=_createForOfIteratorHelperLoose(this.engine.stringsForGlyph(r));!(g=y()).done;){var w=g.value;o.add(w)}return Array.from(o)},LayoutEngine}(),Yo={moveTo:"M",lineTo:"L",quadraticCurveTo:"Q",bezierCurveTo:"C",closePath:"Z"},Jo=function(){function Path(){this.commands=[],this._bbox=null,this._cbox=null}var r=Path.prototype;return r.toFunction=function toFunction(){var r=this;return function(i){r.commands.forEach((function(r){return i[r.command].apply(i,r.args)}))}},r.toSVG=function toSVG(){return this.commands.map((function(r){var i=r.args.map((function(r){return Math.round(100*r)/100}));return"".concat(Yo[r.command]).concat(i.join(" "))})).join("")},r.mapPoints=function mapPoints(r){for(var i,o=new Path,u=_createForOfIteratorHelperLoose(this.commands);!(i=u()).done;){for(var p=i.value,g=[],y=0;y<p.args.length;y+=2){var w=r(p.args[y],p.args[y+1]),_=w[0],x=w[1];g.push(_,x)}o[p.command].apply(o,g)}return o},r.transform=function transform(r,i,o,u,p,g){return this.mapPoints((function(y,w){return[y=r*y+o*w+p,w=i*y+u*w+g]}))},r.translate=function translate(r,i){return this.transform(1,0,0,1,r,i)},r.rotate=function rotate(r){var i=Math.cos(r),o=Math.sin(r);return this.transform(i,o,-o,i,0,0)},r.scale=function scale(r,i){return void 0===i&&(i=r),this.transform(r,0,0,i,0,0)},_createClass(Path,[{key:"cbox",get:function get(){if(!this._cbox){for(var r,i=new ui,o=_createForOfIteratorHelperLoose(this.commands);!(r=o()).done;)for(var u=r.value,p=0;p<u.args.length;p+=2)i.addPoint(u.args[p],u.args[p+1]);this._cbox=Object.freeze(i)}return this._cbox}},{key:"bbox",get:function get(){if(this._bbox)return this._bbox;for(var r,i=new ui,o=0,u=0,p=function f(r){return Math.pow(1-r,3)*j[Y]+3*Math.pow(1-r,2)*r*G[Y]+3*(1-r)*Math.pow(r,2)*X[Y]+Math.pow(r,3)*K[Y]},g=_createForOfIteratorHelperLoose(this.commands);!(r=g()).done;){var y=r.value;switch(y.command){case"moveTo":case"lineTo":var w=y.args,_=w[0],x=w[1];i.addPoint(_,x),o=_,u=x;break;case"quadraticCurveTo":case"bezierCurveTo":if("quadraticCurveTo"===y.command)var k=y.args,P=k[0],O=k[1],I=o+2/3*(P-o),B=u+2/3*(O-u),R=(W=k[2])+2/3*(P-W),D=(U=k[3])+2/3*(O-U);else var N=y.args,W=(I=N[0],B=N[1],R=N[2],D=N[3],N[4]),U=N[5];i.addPoint(W,U);for(var j=[o,u],G=[I,B],X=[R,D],K=[W,U],Y=0;Y<=1;Y++){var J=6*j[Y]-12*G[Y]+6*X[Y],$=-3*j[Y]+9*G[Y]-9*X[Y]+3*K[Y];if(y=3*G[Y]-3*j[Y],0!==$){var ee=Math.pow(J,2)-4*y*$;if(!(ee<0)){var te=(-J+Math.sqrt(ee))/(2*$);0<te&&te<1&&(0===Y?i.addPoint(p(te),i.maxY):1===Y&&i.addPoint(i.maxX,p(te)));var re=(-J-Math.sqrt(ee))/(2*$);0<re&&re<1&&(0===Y?i.addPoint(p(re),i.maxY):1===Y&&i.addPoint(i.maxX,p(re)))}}else{if(0===J)continue;var ne=-y/J;0<ne&&ne<1&&(0===Y?i.addPoint(p(ne),i.maxY):1===Y&&i.addPoint(i.maxX,p(ne)))}}o=W,u=U}}return this._bbox=Object.freeze(i)}}]),Path}(),Qo=function _loop(r){Jo.prototype[r]=function(){this._bbox=this._cbox=null;for(var i=arguments.length,o=new Array(i),u=0;u<i;u++)o[u]=arguments[u];return this.commands.push({command:r,args:o}),this}},$o=0,ea=["moveTo","lineTo","quadraticCurveTo","bezierCurveTo","closePath"];$o<ea.length;$o++){Qo(ea[$o])}var ta,ra,na=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"],ia=(ta=function(){function Glyph(r,i,o){this.id=r,this.codePoints=i,this._font=o,this.isMark=this.codePoints.length>0&&this.codePoints.every(_.isMark),this.isLigature=this.codePoints.length>1}var r=Glyph.prototype;return r._getPath=function _getPath(){return new Jo},r._getCBox=function _getCBox(){return this.path.cbox},r._getBBox=function _getBBox(){return this.path.bbox},r._getTableMetrics=function _getTableMetrics(r){if(this.id<r.metrics.length)return r.metrics.get(this.id);var i=r.metrics.get(r.metrics.length-1);return{advance:i?i.advance:0,bearing:r.bearings.get(this.id-r.metrics.length)||0}},r._getMetrics=function _getMetrics(r){if(this._metrics)return this._metrics;var i,o=this._getTableMetrics(this._font.hmtx),u=o.advance,p=o.bearing;if(this._font.vmtx)var g=this._getTableMetrics(this._font.vmtx),y=g.advance,w=g.bearing;else if(null==r&&(r=this.cbox),(i=this._font["OS/2"])&&i.version>0)y=Math.abs(i.typoAscender-i.typoDescender),w=i.typoAscender-r.maxY;else{var _=this._font.hhea;y=Math.abs(_.ascent-_.descent),w=_.ascent-r.maxY}return this._font._variationProcessor&&this._font.HVAR&&(u+=this._font._variationProcessor.getAdvanceAdjustment(this.id,this._font.HVAR)),this._metrics={advanceWidth:u,advanceHeight:y,leftBearing:p,topBearing:w}},r.getScaledPath=function getScaledPath(r){var i=1/this._font.unitsPerEm*r;return this.path.scale(i)},r._getName=function _getName(){var r=this._font.post;if(!r)return null;switch(r.version){case 1:return na[this.id];case 2:var i=r.glyphNameIndex[this.id];return i<na.length?na[i]:r.names[i-na.length];case 2.5:return na[this.id+r.offsets[this.id]];case 4:return String.fromCharCode(r.map[this.id])}},r.render=function render(r,i){r.save();var o=1/this._font.head.unitsPerEm*i;r.scale(o,o),this.path.toFunction()(r),r.fill(),r.restore()},_createClass(Glyph,[{key:"cbox",get:function get(){return this._getCBox()}},{key:"bbox",get:function get(){return this._getBBox()}},{key:"path",get:function get(){return this._getPath()}},{key:"advanceWidth",get:function get(){return this._getMetrics().advanceWidth}},{key:"advanceHeight",get:function get(){return this._getMetrics().advanceHeight}},{key:"ligatureCaretPositions",get:function get(){}},{key:"name",get:function get(){return this._getName()}}]),Glyph}(),_applyDecoratedDescriptor(ta.prototype,"cbox",[cache],Object.getOwnPropertyDescriptor(ta.prototype,"cbox"),ta.prototype),_applyDecoratedDescriptor(ta.prototype,"bbox",[cache],Object.getOwnPropertyDescriptor(ta.prototype,"bbox"),ta.prototype),_applyDecoratedDescriptor(ta.prototype,"path",[cache],Object.getOwnPropertyDescriptor(ta.prototype,"path"),ta.prototype),_applyDecoratedDescriptor(ta.prototype,"advanceWidth",[cache],Object.getOwnPropertyDescriptor(ta.prototype,"advanceWidth"),ta.prototype),_applyDecoratedDescriptor(ta.prototype,"advanceHeight",[cache],Object.getOwnPropertyDescriptor(ta.prototype,"advanceHeight"),ta.prototype),_applyDecoratedDescriptor(ta.prototype,"name",[cache],Object.getOwnPropertyDescriptor(ta.prototype,"name"),ta.prototype),ta),oa=new g.Struct({numberOfContours:g.int16,xMin:g.int16,yMin:g.int16,xMax:g.int16,yMax:g.int16}),aa=function(){function Point(r,i,o,u){void 0===o&&(o=0),void 0===u&&(u=0),this.onCurve=r,this.endContour=i,this.x=o,this.y=u}return Point.prototype.copy=function copy(){return new Point(this.onCurve,this.endContour,this.x,this.y)},Point}(),sa=function Component(r,i,o){this.glyphID=r,this.dx=i,this.dy=o,this.pos=0,this.scaleX=this.scaleY=1,this.scale01=this.scale10=0},ca=function(r){function TTFGlyph(){return r.apply(this,arguments)||this}_inheritsLoose(TTFGlyph,r);var i=TTFGlyph.prototype;return i._getCBox=function _getCBox(r){if(this._font._variationProcessor&&!r)return this.path.cbox;var i=this._font._getTableStream("glyf");i.pos+=this._font.loca.offsets[this.id];var o=oa.decode(i),u=new ui(o.xMin,o.yMin,o.xMax,o.yMax);return Object.freeze(u)},i._parseGlyphCoord=function _parseGlyphCoord(r,i,o,u){if(o){var p=r.readUInt8();u||(p=-p),p+=i}else if(u)p=i;else p=i+r.readInt16BE();return p},i._decode=function _decode(){var r=this._font.loca.offsets[this.id];if(r===this._font.loca.offsets[this.id+1])return null;var i=this._font._getTableStream("glyf");i.pos+=r;var o=i.pos,u=oa.decode(i);return u.numberOfContours>0?this._decodeSimple(u,i):u.numberOfContours<0&&this._decodeComposite(u,i,o),u},i._decodeSimple=function _decodeSimple(r,i){r.points=[];var o=new g.Array(g.uint16,r.numberOfContours).decode(i);r.instructions=new g.Array(g.uint8,g.uint16).decode(i);for(var u=[],p=o[o.length-1]+1;u.length<p;){var y=i.readUInt8();if(u.push(y),8&y)for(var w=i.readUInt8(),_=0;_<w;_++)u.push(y)}for(var x=0;x<u.length;x++){y=u[x];var k=new aa(!!(1&y),o.indexOf(x)>=0,0,0);r.points.push(k)}var P=0;for(x=0;x<u.length;x++){y=u[x];r.points[x].x=P=this._parseGlyphCoord(i,P,2&y,16&y)}var O=0;for(x=0;x<u.length;x++){y=u[x];r.points[x].y=O=this._parseGlyphCoord(i,O,4&y,32&y)}if(this._font._variationProcessor){var I=r.points.slice();I.push.apply(I,this._getPhantomPoints(r)),this._font._variationProcessor.transformPoints(this.id,I),r.phantomPoints=I.slice(-4)}},i._decodeComposite=function _decodeComposite(r,i,o){void 0===o&&(o=0),r.components=[];for(var u=!1,p=32;32&p;){p=i.readUInt16BE();var g=i.pos-o,y=i.readUInt16BE();if(u||(u=0!=(256&p)),1&p)var w=i.readInt16BE(),_=i.readInt16BE();else w=i.readInt8(),_=i.readInt8();(P=new sa(y,w,_)).pos=g,8&p?P.scaleX=P.scaleY=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824:64&p?(P.scaleX=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824,P.scaleY=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824):128&p&&(P.scaleX=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824,P.scale01=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824,P.scale10=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824,P.scaleY=(i.readUInt8()<<24|i.readUInt8()<<16)/1073741824),r.components.push(P)}if(this._font._variationProcessor){for(var x=[],k=0;k<r.components.length;k++){var P=r.components[k];x.push(new aa(!0,!0,P.dx,P.dy))}x.push.apply(x,this._getPhantomPoints(r)),this._font._variationProcessor.transformPoints(this.id,x),r.phantomPoints=x.splice(-4,4);for(var O=0;O<x.length;O++){var I=x[O];r.components[O].dx=I.x,r.components[O].dy=I.y}}return u},i._getPhantomPoints=function _getPhantomPoints(r){var i=this._getCBox(!0);null==this._metrics&&(this._metrics=ia.prototype._getMetrics.call(this,i));var o=this._metrics,u=o.advanceWidth,p=o.advanceHeight,g=o.leftBearing,y=o.topBearing;return[new aa(!1,!0,r.xMin-g,0),new aa(!1,!0,r.xMin-g+u,0),new aa(!1,!0,0,r.yMax+y),new aa(!1,!0,0,r.yMax+y+p)]},i._getContours=function _getContours(){var r=this._decode();if(!r)return[];var i=[];if(r.numberOfContours<0)for(var o,u=_createForOfIteratorHelperLoose(r.components);!(o=u()).done;)for(var p=o.value,g=this._font.getGlyph(p.glyphID)._getContours(),y=0;y<g.length;y++)for(var w=g[y],_=0;_<w.length;_++){var x=w[_],k=x.x*p.scaleX+x.y*p.scale01+p.dx,P=x.y*p.scaleY+x.x*p.scale10+p.dy;i.push(new aa(x.onCurve,x.endContour,k,P))}else i=r.points||[];r.phantomPoints&&!this._font.directory.tables.HVAR&&(this._metrics.advanceWidth=r.phantomPoints[1].x-r.phantomPoints[0].x,this._metrics.advanceHeight=r.phantomPoints[3].y-r.phantomPoints[2].y,this._metrics.leftBearing=r.xMin-r.phantomPoints[0].x,this._metrics.topBearing=r.phantomPoints[2].y-r.yMax);for(var O=[],I=[],B=0;B<i.length;B++){var R=i[B];I.push(R),R.endContour&&(O.push(I),I=[])}return O},i._getMetrics=function _getMetrics(){if(this._metrics)return this._metrics;var i=this._getCBox(!0);return r.prototype._getMetrics.call(this,i),this._font._variationProcessor&&!this._font.HVAR&&this.path,this._metrics},i._getPath=function _getPath(){for(var r=this._getContours(),i=new Jo,o=0;o<r.length;o++){var u=r[o],p=u[0],g=u[u.length-1],y=0;if(p.onCurve){var w=null;y=1}else w=p=g.onCurve?g:new aa(!1,!1,(p.x+g.x)/2,(p.y+g.y)/2);i.moveTo(p.x,p.y);for(var _=y;_<u.length;_++){var x=u[_],k=0===_?p:u[_-1];if(k.onCurve&&x.onCurve)i.lineTo(x.x,x.y);else if(k.onCurve&&!x.onCurve)w=x;else if(k.onCurve||x.onCurve){if(k.onCurve||!x.onCurve)throw new Error("Unknown TTF path state");i.quadraticCurveTo(w.x,w.y,x.x,x.y);w=null}else{var P=(k.x+x.x)/2,O=(k.y+x.y)/2;i.quadraticCurveTo(k.x,k.y,P,O);var w=x}}w&&i.quadraticCurveTo(w.x,w.y,p.x,p.y),i.closePath()}return i},TTFGlyph}(ia),la=function(r){function CFFGlyph(){return r.apply(this,arguments)||this}_inheritsLoose(CFFGlyph,r);var i=CFFGlyph.prototype;return i._getName=function _getName(){return this._font.CFF2?r.prototype._getName.call(this):this._font["CFF "].getGlyphName(this.id)},i.bias=function bias(r){return r.length<1240?107:r.length<33900?1131:32768},i._getPath=function _getPath(){var r=this._font.CFF2||this._font["CFF "],i=r.stream,o=r.topDict.CharStrings[this.id],u=o.offset+o.length;i.pos=o.offset;var p,g,y=new Jo,w=[],_=[],x=null,k=0,P=0,O=0,I=!1;this._usedGsubrs=p={},this._usedSubrs=g={};var B=r.globalSubrIndex||[],R=this.bias(B),D=r.privateDictForGlyph(this.id)||{},N=D.Subrs||[],W=this.bias(N),U=r.topDict.vstore&&r.topDict.vstore.itemVariationStore,j=D.vsindex,G=this._font._variationProcessor;function checkWidth(){null==x&&(x=w.shift()+D.nominalWidthX)}function parseStems(){return w.length%2!=0&&checkWidth(),k+=w.length>>1,w.length=0}function moveTo(r,i){I&&y.closePath(),y.moveTo(r,i),I=!0}return function parse(){for(;i.pos<u;){var o=i.readUInt8();if(o<32)switch(o){case 1:case 3:case 18:case 23:parseStems();break;case 4:w.length>1&&checkWidth(),O+=w.shift(),moveTo(P,O);break;case 5:for(;w.length>=2;)P+=w.shift(),O+=w.shift(),y.lineTo(P,O);break;case 6:case 7:for(var x=6===o;w.length>=1;)x?P+=w.shift():O+=w.shift(),y.lineTo(P,O),x=!x;break;case 8:for(;w.length>0;){var D=P+w.shift(),X=O+w.shift(),K=D+w.shift(),Y=X+w.shift();P=K+w.shift(),O=Y+w.shift(),y.bezierCurveTo(D,X,K,Y,P,O)}break;case 10:var J=w.pop()+W,$=N[J];if($){g[J]=!0;var ee=i.pos,te=u;i.pos=$.offset,u=$.offset+$.length,parse(),i.pos=ee,u=te}break;case 11:if(r.version>=2)break;return;case 14:if(r.version>=2)break;w.length>0&&checkWidth(),I&&(y.closePath(),I=!1);break;case 15:if(r.version<2)throw new Error("vsindex operator not supported in CFF v1");j=w.pop();break;case 16:if(r.version<2)throw new Error("blend operator not supported in CFF v1");if(!G)throw new Error("blend operator in non-variation font");for(var re=G.getBlendVector(U,j),ne=w.pop(),ie=ne*re.length,oe=w.length-ie,ae=oe-ne,se=0;se<ne;se++){for(var ce=w[ae+se],le=0;le<re.length;le++)ce+=re[le]*w[oe++];w[ae+se]=ce}for(;ie--;)w.pop();break;case 19:case 20:parseStems(),i.pos+=k+7>>3;break;case 21:w.length>2&&checkWidth(),P+=w.shift(),O+=w.shift(),moveTo(P,O);break;case 22:w.length>1&&checkWidth(),moveTo(P+=w.shift(),O);break;case 24:for(;w.length>=8;){D=P+w.shift(),X=O+w.shift(),K=D+w.shift(),Y=X+w.shift();P=K+w.shift(),O=Y+w.shift(),y.bezierCurveTo(D,X,K,Y,P,O)}P+=w.shift(),O+=w.shift(),y.lineTo(P,O);break;case 25:for(;w.length>=8;)P+=w.shift(),O+=w.shift(),y.lineTo(P,O);D=P+w.shift(),X=O+w.shift(),K=D+w.shift(),Y=X+w.shift();P=K+w.shift(),O=Y+w.shift(),y.bezierCurveTo(D,X,K,Y,P,O);break;case 26:for(w.length%2&&(P+=w.shift());w.length>=4;)D=P,X=O+w.shift(),K=D+w.shift(),Y=X+w.shift(),P=K,O=Y+w.shift(),y.bezierCurveTo(D,X,K,Y,P,O);break;case 27:for(w.length%2&&(O+=w.shift());w.length>=4;)D=P+w.shift(),X=O,K=D+w.shift(),Y=X+w.shift(),P=K+w.shift(),O=Y,y.bezierCurveTo(D,X,K,Y,P,O);break;case 28:w.push(i.readInt16BE());break;case 29:if(J=w.pop()+R,$=B[J]){p[J]=!0;ee=i.pos,te=u;i.pos=$.offset,u=$.offset+$.length,parse(),i.pos=ee,u=te}break;case 30:case 31:for(x=31===o;w.length>=4;)x?(D=P+w.shift(),X=O,K=D+w.shift(),Y=X+w.shift(),O=Y+w.shift(),P=K+(1===w.length?w.shift():0)):(D=P,X=O+w.shift(),K=D+w.shift(),Y=X+w.shift(),P=K+w.shift(),O=Y+(1===w.length?w.shift():0)),y.bezierCurveTo(D,X,K,Y,P,O),x=!x;break;case 12:switch(o=i.readUInt8()){case 3:var ue=w.pop(),fe=w.pop();w.push(ue&&fe?1:0);break;case 4:ue=w.pop(),fe=w.pop(),w.push(ue||fe?1:0);break;case 5:ue=w.pop(),w.push(ue?0:1);break;case 9:ue=w.pop(),w.push(Math.abs(ue));break;case 10:ue=w.pop(),fe=w.pop(),w.push(ue+fe);break;case 11:ue=w.pop(),fe=w.pop(),w.push(ue-fe);break;case 12:ue=w.pop(),fe=w.pop(),w.push(ue/fe);break;case 14:ue=w.pop(),w.push(-ue);break;case 15:ue=w.pop(),fe=w.pop(),w.push(ue===fe?1:0);break;case 18:w.pop();break;case 20:var he=w.pop(),de=w.pop();_[de]=he;break;case 21:de=w.pop(),w.push(_[de]||0);break;case 22:var pe=w.pop(),ge=w.pop(),ye=w.pop(),ve=w.pop();w.push(ye<=ve?pe:ge);break;case 23:w.push(Math.random());break;case 24:ue=w.pop(),fe=w.pop(),w.push(ue*fe);break;case 26:ue=w.pop(),w.push(Math.sqrt(ue));break;case 27:ue=w.pop(),w.push(ue,ue);break;case 28:ue=w.pop(),fe=w.pop(),w.push(fe,ue);break;case 29:(de=w.pop())<0?de=0:de>w.length-1&&(de=w.length-1),w.push(w[de]);break;case 30:var me=w.pop(),be=w.pop();if(be>=0)for(;be>0;){for(var we=w[me-1],_e=me-2;_e>=0;_e--)w[_e+1]=w[_e];w[0]=we,be--}else for(;be<0;){we=w[0];for(var Se=0;Se<=me;Se++)w[Se]=w[Se+1];w[me-1]=we,be++}break;case 34:D=P+w.shift(),X=O,K=D+w.shift(),Y=X+w.shift();var xe=K+w.shift(),Ce=Y,ke=xe+w.shift(),Pe=Ce,Ae=ke+w.shift(),Ee=Pe,Te=Ae+w.shift(),Oe=Ee;P=Te,O=Oe,y.bezierCurveTo(D,X,K,Y,xe,Ce),y.bezierCurveTo(ke,Pe,Ae,Ee,Te,Oe);break;case 35:for(var Ie=[],Be=0;Be<=5;Be++)P+=w.shift(),O+=w.shift(),Ie.push(P,O);y.bezierCurveTo.apply(y,Ie.slice(0,6)),y.bezierCurveTo.apply(y,Ie.slice(6)),w.shift();break;case 36:D=P+w.shift(),X=O+w.shift(),K=D+w.shift(),Pe=Ce=Y=X+w.shift(),Ae=(ke=(xe=K+w.shift())+w.shift())+w.shift(),Ee=Pe+w.shift(),Te=Ae+w.shift(),P=Te,O=Oe=Ee,y.bezierCurveTo(D,X,K,Y,xe,Ce),y.bezierCurveTo(ke,Pe,Ae,Ee,Te,Oe);break;case 37:var Fe=P,Le=O;Ie=[];for(var Re=0;Re<=4;Re++)P+=w.shift(),O+=w.shift(),Ie.push(P,O);Math.abs(P-Fe)>Math.abs(O-Le)?(P+=w.shift(),O=Le):(P=Fe,O+=w.shift()),Ie.push(P,O),y.bezierCurveTo.apply(y,Ie.slice(0,6)),y.bezierCurveTo.apply(y,Ie.slice(6));break;default:throw new Error("Unknown op: 12 ".concat(o))}break;default:throw new Error("Unknown op: ".concat(o))}else if(o<247)w.push(o-139);else if(o<251){var De=i.readUInt8();w.push(256*(o-247)+De+108)}else if(o<255){De=i.readUInt8();w.push(256*-(o-251)-De-108)}else w.push(i.readInt32BE()/65536)}}(),I&&y.closePath(),y},CFFGlyph}(ia),ua=new g.Struct({originX:g.uint16,originY:g.uint16,type:new g.String(4),data:new g.Buffer((function(r){return r.parent.buflen-r._currentOffset}))}),fa=function(r){function SBIXGlyph(){return r.apply(this,arguments)||this}_inheritsLoose(SBIXGlyph,r);var i=SBIXGlyph.prototype;return i.getImageForSize=function getImageForSize(r){for(var i=0;i<this._font.sbix.imageTables.length;i++){var o=this._font.sbix.imageTables[i];if(o.ppem>=r)break}var u=o.imageOffsets,p=u[this.id],g=u[this.id+1];return p===g?null:(this._font.stream.pos=p,ua.decode(this._font.stream,{buflen:g-p}))},i.render=function render(i,o){var u=this.getImageForSize(o);if(null!=u){var p=o/this._font.unitsPerEm;i.image(u.data,{height:o,x:u.originX,y:(this.bbox.minY-u.originY)*p})}this._font.sbix.flags.renderOutlines&&r.prototype.render.call(this,i,o)},SBIXGlyph}(ca),ha=function COLRLayer(r,i){this.glyph=r,this.color=i},da=function(r){function COLRGlyph(){return r.apply(this,arguments)||this}_inheritsLoose(COLRGlyph,r);var i=COLRGlyph.prototype;return i._getBBox=function _getBBox(){for(var r=new ui,i=0;i<this.layers.length;i++){var o=this.layers[i].glyph.bbox;r.addPoint(o.minX,o.minY),r.addPoint(o.maxX,o.maxY)}return r},i.render=function render(r,i){for(var o,u=_createForOfIteratorHelperLoose(this.layers);!(o=u()).done;){var p=o.value,g=p.glyph,y=p.color;r.fillColor([y.red,y.green,y.blue],y.alpha/255*100),g.render(r,i)}},_createClass(COLRGlyph,[{key:"layers",get:function get(){for(var r=this._font.CPAL,i=this._font.COLR,o=0,u=i.baseGlyphRecord.length-1;o<=u;){var p=o+u>>1,g=i.baseGlyphRecord[p];if(this.id<g.gid)u=p-1;else{if(!(this.id>g.gid)){var y=g;break}o=p+1}}if(null==y){var w=this._font._getBaseGlyph(this.id);return[new ha(w,k={red:0,green:0,blue:0,alpha:255})]}for(var _=[],x=y.firstLayerIndex;x<y.firstLayerIndex+y.numLayers;x++){g=i.layerRecords[x];var k=r.colorRecords[g.paletteIndex];w=this._font._getBaseGlyph(g.gid);_.push(new ha(w,k))}return _}}]),COLRGlyph}(ia),pa=function(){function GlyphVariationProcessor(r,i){this.font=r,this.normalizedCoords=this.normalizeCoords(i),this.blendVectors=new Map}var r=GlyphVariationProcessor.prototype;return r.normalizeCoords=function normalizeCoords(r){for(var i=[],o=0;o<this.font.fvar.axis.length;o++){var u=this.font.fvar.axis[o];r[o]<u.defaultValue?i.push((r[o]-u.defaultValue+Number.EPSILON)/(u.defaultValue-u.minValue+Number.EPSILON)):i.push((r[o]-u.defaultValue+Number.EPSILON)/(u.maxValue-u.defaultValue+Number.EPSILON))}if(this.font.avar)for(o=0;o<this.font.avar.segment.length;o++)for(var p=this.font.avar.segment[o],g=0;g<p.correspondence.length;g++){var y=p.correspondence[g];if(g>=1&&i[o]<y.fromCoord){var w=p.correspondence[g-1];i[o]=((i[o]-w.fromCoord)*(y.toCoord-w.toCoord)+Number.EPSILON)/(y.fromCoord-w.fromCoord+Number.EPSILON)+w.toCoord;break}}return i},r.transformPoints=function transformPoints(r,i){if(this.font.fvar&&this.font.gvar){var o=this.font.gvar;if(!(r>=o.glyphCount)){var u=o.offsets[r];if(u!==o.offsets[r+1]){var p=this.font.stream;if(p.pos=u,!(p.pos>=p.length)){var g=p.readUInt16BE(),y=u+p.readUInt16BE();if(32768&g){var w=p.pos;p.pos=y;var _=this.decodePoints();y=p.pos,p.pos=w}var x=i.map((function(r){return r.copy()}));g&=4095;for(var k=0;k<g;k++){var P=p.readUInt16BE(),O=p.readUInt16BE();if(32768&O)for(var I=[],B=0;B<o.axisCount;B++)I.push(p.readInt16BE()/16384);else{if((4095&O)>=o.globalCoordCount)throw new Error("Invalid gvar table");I=o.globalCoords[4095&O]}if(16384&O){for(var R=[],D=0;D<o.axisCount;D++)R.push(p.readInt16BE()/16384);for(var N=[],W=0;W<o.axisCount;W++)N.push(p.readInt16BE()/16384)}var U=this.tupleFactor(O,I,R,N);if(0!==U){w=p.pos;if(p.pos=y,8192&O)var j=this.decodePoints();else j=_;var G=0===j.length?i.length:j.length,X=this.decodeDeltas(G),K=this.decodeDeltas(G);if(0===j.length)for(var Y=0;Y<i.length;Y++){var J=i[Y];J.x+=Math.round(X[Y]*U),J.y+=Math.round(K[Y]*U)}else{for(var $=x.map((function(r){return r.copy()})),ee=i.map((function(){return!1})),te=0;te<j.length;te++){var re=j[te];if(re<i.length){var ne=$[re];ee[re]=!0,ne.x+=Math.round(X[te]*U),ne.y+=Math.round(K[te]*U)}}this.interpolateMissingDeltas($,x,ee);for(var ie=0;ie<i.length;ie++){var oe=$[ie].x-x[ie].x,ae=$[ie].y-x[ie].y;i[ie].x+=oe,i[ie].y+=ae}}y+=P,p.pos=w}else y+=P}}}}}},r.decodePoints=function decodePoints(){var r=this.font.stream,i=r.readUInt8();128&i&&(i=(127&i)<<8|r.readUInt8());for(var o=new Uint16Array(i),u=0,p=0;u<i;)for(var g=r.readUInt8(),y=1+(127&g),w=128&g?r.readUInt16:r.readUInt8,_=0;_<y&&u<i;_++)p+=w.call(r),o[u++]=p;return o},r.decodeDeltas=function decodeDeltas(r){for(var i=this.font.stream,o=0,u=new Int16Array(r);o<r;){var p=i.readUInt8(),g=1+(63&p);if(128&p)o+=g;else for(var y=64&p?i.readInt16BE:i.readInt8,w=0;w<g&&o<r;w++)u[o++]=y.call(i)}return u},r.tupleFactor=function tupleFactor(r,i,o,u){for(var p=this.normalizedCoords,g=this.font.gvar,y=1,w=0;w<g.axisCount;w++)if(0!==i[w]){if(0===p[w])return 0;if(0==(16384&r)){if(p[w]<Math.min(0,i[w])||p[w]>Math.max(0,i[w]))return 0;y=(y*p[w]+Number.EPSILON)/(i[w]+Number.EPSILON)}else{if(p[w]<o[w]||p[w]>u[w])return 0;y=p[w]<i[w]?y*(p[w]-o[w]+Number.EPSILON)/(i[w]-o[w]+Number.EPSILON):y*(u[w]-p[w]+Number.EPSILON)/(u[w]-i[w]+Number.EPSILON)}}return y},r.interpolateMissingDeltas=function interpolateMissingDeltas(r,i,o){if(0!==r.length)for(var u=0;u<r.length;){for(var p=u,g=u,y=r[g];!y.endContour;)y=r[++g];for(;u<=g&&!o[u];)u++;if(!(u>g)){var w=u,_=u;for(u++;u<=g;)o[u]&&(this.deltaInterpolate(_+1,u-1,_,u,i,r),_=u),u++;_===w?this.deltaShift(p,g,_,i,r):(this.deltaInterpolate(_+1,g,_,w,i,r),w>0&&this.deltaInterpolate(p,w-1,_,w,i,r)),u=g+1}}},r.deltaInterpolate=function deltaInterpolate(r,i,o,u,p,g){if(!(r>i))for(var y=["x","y"],w=0;w<y.length;w++){var _=y[w];if(p[o][_]>p[u][_]){var x=o;o=u,u=x}var k=p[o][_],P=p[u][_],O=g[o][_],I=g[u][_];if(k!==P||O===I)for(var B=k===P?0:(I-O)/(P-k),R=r;R<=i;R++){var D=p[R][_];D<=k?D+=O-k:D>=P?D+=I-P:D=O+(D-k)*B,g[R][_]=D}}},r.deltaShift=function deltaShift(r,i,o,u,p){var g=p[o].x-u[o].x,y=p[o].y-u[o].y;if(0!==g||0!==y)for(var w=r;w<=i;w++)w!==o&&(p[w].x+=g,p[w].y+=y)},r.getAdvanceAdjustment=function getAdvanceAdjustment(r,i){var o,u;if(i.advanceWidthMapping){var p=r;p>=i.advanceWidthMapping.mapCount&&(p=i.advanceWidthMapping.mapCount-1);i.advanceWidthMapping.entryFormat;var g=i.advanceWidthMapping.mapData[p];o=g.outerIndex,u=g.innerIndex}else o=0,u=r;return this.getDelta(i.itemVariationStore,o,u)},r.getDelta=function getDelta(r,i,o){if(i>=r.itemVariationData.length)return 0;var u=r.itemVariationData[i];if(o>=u.deltaSets.length)return 0;for(var p=u.deltaSets[o],g=this.getBlendVector(r,i),y=0,w=0;w<u.regionIndexCount;w++)y+=p.deltas[w]*g[w];return y},r.getBlendVector=function getBlendVector(r,i){var o=r.itemVariationData[i];if(this.blendVectors.has(o))return this.blendVectors.get(o);for(var u=this.normalizedCoords,p=[],g=0;g<o.regionIndexCount;g++){for(var y=1,w=o.regionIndexes[g],_=r.variationRegionList.variationRegions[w],x=0;x<_.length;x++){var k=_[x];y*=k.startCoord>k.peakCoord||k.peakCoord>k.endCoord||k.startCoord<0&&k.endCoord>0&&0!==k.peakCoord||0===k.peakCoord?1:u[x]<k.startCoord||u[x]>k.endCoord?0:u[x]===k.peakCoord?1:u[x]<k.peakCoord?(u[x]-k.startCoord+Number.EPSILON)/(k.peakCoord-k.startCoord+Number.EPSILON):(k.endCoord-u[x]+Number.EPSILON)/(k.endCoord-k.peakCoord+Number.EPSILON)}p[g]=y}return this.blendVectors.set(o,p),p},GlyphVariationProcessor}(),ga=Promise.resolve(),ya=function(){function Subset(r){this.font=r,this.glyphs=[],this.mapping={},this.includeGlyph(0)}var r=Subset.prototype;return r.includeGlyph=function includeGlyph(r){return"object"==typeof r&&(r=r.id),null==this.mapping[r]&&(this.glyphs.push(r),this.mapping[r]=this.glyphs.length-1),this.mapping[r]},r.encodeStream=function encodeStream(){var r=this,i=new g.EncodeStream;return ga.then((function(){return r.encode(i),i.end()})),i},Subset}(),va=function(){function Point$1(){}return Point$1.size=function size(r){return r>=0&&r<=255?1:2},Point$1.encode=function encode(r,i){i>=0&&i<=255?r.writeUInt8(i):r.writeInt16BE(i)},Point$1}(),ma=new g.Struct({numberOfContours:g.int16,xMin:g.int16,yMin:g.int16,xMax:g.int16,yMax:g.int16,endPtsOfContours:new g.Array(g.uint16,"numberOfContours"),instructions:new g.Array(g.uint8,g.uint16),flags:new g.Array(g.uint8,0),xPoints:new g.Array(va,0),yPoints:new g.Array(va,0)}),ba=function(){function TTFGlyphEncoder(){}var r=TTFGlyphEncoder.prototype;return r.encodeSimple=function encodeSimple(r,i){void 0===i&&(i=[]);for(var o=[],u=[],p=[],y=[],w=0,_=0,x=0,k=0,P=0,O=0;O<r.commands.length;O++){for(var I=r.commands[O],B=0;B<I.args.length;B+=2){var R=I.args[B],D=I.args[B+1],N=0;if("quadraticCurveTo"===I.command&&2===B){var W=r.commands[O+1];if(W&&"quadraticCurveTo"===W.command){var U=(_+W.args[0])/2,j=(x+W.args[1])/2;if(R===U&&D===j)continue}}"quadraticCurveTo"===I.command&&0===B||(N|=1),N=this._encodePoint(R,_,u,N,2,16),(N=this._encodePoint(D,x,p,N,4,32))===k&&w<255?(y[y.length-1]|=8,w++):(w>0&&(y.push(w),w=0),y.push(N),k=N),_=R,x=D,P++}"closePath"===I.command&&o.push(P-1)}r.commands.length>1&&"closePath"!==r.commands[r.commands.length-1].command&&o.push(P-1);var G=r.bbox,X={numberOfContours:o.length,xMin:G.minX,yMin:G.minY,xMax:G.maxX,yMax:G.maxY,endPtsOfContours:o,instructions:i,flags:y,xPoints:u,yPoints:p},K=ma.size(X),Y=4-K%4,J=new g.EncodeStream(K+Y);return ma.encode(J,X),0!==Y&&J.fill(0,Y),J.buffer},r._encodePoint=function _encodePoint(r,i,o,u,p,g){var y=r-i;return r===i?u|=g:(-255<=y&&y<=255&&(u|=p,y<0?y=-y:u|=g),o.push(y)),u},TTFGlyphEncoder}(),wa=function(r){function TTFSubset(i){var o;return(o=r.call(this,i)||this).glyphEncoder=new ba,o}_inheritsLoose(TTFSubset,r);var i=TTFSubset.prototype;return i._addGlyph=function _addGlyph(r){var i=this.font.getGlyph(r),o=i._decode(),u=this.font.loca.offsets[r],g=this.font.loca.offsets[r+1],y=this.font._getTableStream("glyf");y.pos+=u;var w=y.readBuffer(g-u);if(o&&o.numberOfContours<0){w=p.from(w);for(var _,x=_createForOfIteratorHelperLoose(o.components);!(_=x()).done;){var k=_.value;r=this.includeGlyph(k.glyphID),w.writeUInt16BE(r,k.pos)}}else o&&this.font._variationProcessor&&(w=this.glyphEncoder.encodeSimple(i.path,o.instructions));return this.glyf.push(w),this.loca.offsets.push(this.offset),this.hmtx.metrics.push({advance:i.advanceWidth,bearing:i._getMetrics().leftBearing}),this.offset+=w.length,this.glyf.length-1},i.encode=function encode(r){this.glyf=[],this.offset=0,this.loca={offsets:[],version:this.font.loca.version},this.hmtx={metrics:[],bearings:[]};for(var i=0;i<this.glyphs.length;)this._addGlyph(this.glyphs[i++]);var o=P(this.font.maxp);o.numGlyphs=this.glyf.length,this.loca.offsets.push(this.offset);var u=P(this.font.head);u.indexToLocFormat=this.loca.version;var p=P(this.font.hhea);p.numberOfMetrics=this.hmtx.metrics.length,oi.encode(r,{tables:{head:u,hhea:p,loca:this.loca,maxp:o,"cvt ":this.font["cvt "],prep:this.font.prep,glyf:this.glyf,hmtx:this.hmtx,fpgm:this.font.fpgm}})},TTFSubset}(ya),_a=function(r){function CFFSubset(i){var o;if((o=r.call(this,i)||this).cff=o.font["CFF "],!o.cff)throw new Error("Not a CFF Font");return o}_inheritsLoose(CFFSubset,r);var i=CFFSubset.prototype;return i.subsetCharstrings=function subsetCharstrings(){this.charstrings=[];for(var r,i={},o=_createForOfIteratorHelperLoose(this.glyphs);!(r=o()).done;){var u=r.value;this.charstrings.push(this.cff.getCharString(u));var p=this.font.getGlyph(u);p.path;for(var g in p._usedGsubrs)i[g]=!0}this.gsubrs=this.subsetSubrs(this.cff.globalSubrIndex,i)},i.subsetSubrs=function subsetSubrs(r,i){for(var o=[],u=0;u<r.length;u++){var g=r[u];i[u]?(this.cff.stream.pos=g.offset,o.push(this.cff.stream.readBuffer(g.length))):o.push(p.from([11]))}return o},i.subsetFontdict=function subsetFontdict(r){r.FDArray=[],r.FDSelect={version:0,fds:[]};for(var i,o={},u=[],p={},g=_createForOfIteratorHelperLoose(this.glyphs);!(i=g()).done;){var y=i.value,w=this.cff.fdForGlyph(y);if(null!=w){o[w]||(r.FDArray.push(Object.assign({},this.cff.topDict.FDArray[w])),u.push({}),p[w]=r.FDArray.length-1),o[w]=!0,r.FDSelect.fds.push(p[w]);var _=this.font.getGlyph(y);_.path;for(var x in _._usedSubrs)u[p[w]][x]=!0}}for(var k=0;k<r.FDArray.length;k++){var P=r.FDArray[k];delete P.FontName,P.Private&&P.Private.Subrs&&(P.Private=Object.assign({},P.Private),P.Private.Subrs=this.subsetSubrs(P.Private.Subrs,u[k]))}},i.createCIDFontdict=function createCIDFontdict(r){for(var i,o={},u=_createForOfIteratorHelperLoose(this.glyphs);!(i=u()).done;){var p=i.value,g=this.font.getGlyph(p);g.path;for(var y in g._usedSubrs)o[y]=!0}var w=Object.assign({},this.cff.topDict.Private);return this.cff.topDict.Private&&this.cff.topDict.Private.Subrs&&(w.Subrs=this.subsetSubrs(this.cff.topDict.Private.Subrs,o)),r.FDArray=[{Private:w}],r.FDSelect={version:3,nRanges:1,ranges:[{first:0,fd:0}],sentinel:this.charstrings.length}},i.addString=function addString(r){return r?(this.strings||(this.strings=[]),this.strings.push(r),Ee.length+this.strings.length-1):null},i.encode=function encode(r){this.subsetCharstrings();var i={version:this.charstrings.length>255?2:1,ranges:[{first:1,nLeft:this.charstrings.length-2}]},o=Object.assign({},this.cff.topDict);o.Private=null,o.charset=i,o.Encoding=null,o.CharStrings=this.charstrings;for(var u=0,p=["version","Notice","Copyright","FullName","FamilyName","Weight","PostScript","BaseFontName","FontName"];u<p.length;u++){var g=p[u];o[g]=this.addString(this.cff.string(o[g]))}o.ROS=[this.addString("Adobe"),this.addString("Identity"),0],o.CIDCount=this.charstrings.length,this.cff.isCIDFont?this.subsetFontdict(o):this.createCIDFontdict(o);var y={version:1,hdrSize:this.cff.hdrSize,offSize:4,header:this.cff.header,nameIndex:[this.cff.postscriptName],topDictIndex:[o],stringIndex:this.strings,globalSubrIndex:this.gsubrs};Tt.encode(r,y)},CFFSubset}(ya),Sa=(ra=function(){function TTFFont(r,i){for(var o in void 0===i&&(i=null),this.defaultLanguage=null,this.stream=r,this.variationCoords=i,this._directoryPos=this.stream.pos,this._tables={},this._glyphs={},this._decodeDirectory(),this.directory.tables){var u=this.directory.tables[o];ri[o]&&u.length>0&&Object.defineProperty(this,o,{get:this._getTable.bind(this,u)})}}TTFFont.probe=function probe(r){var i=r.toString("ascii",0,4);return"true"===i||"OTTO"===i||i===String.fromCharCode(0,1,0,0)};var r=TTFFont.prototype;return r.setDefaultLanguage=function setDefaultLanguage(r){void 0===r&&(r=null),this.defaultLanguage=r},r._getTable=function _getTable(r){if(!(r.tag in this._tables))try{this._tables[r.tag]=this._decodeTable(r)}catch(r){R.logErrors}return this._tables[r.tag]},r._getTableStream=function _getTableStream(r){var i=this.directory.tables[r];return i?(this.stream.pos=i.offset,this.stream):null},r._decodeDirectory=function _decodeDirectory(){return this.directory=oi.decode(this.stream,{_startOffset:0})},r._decodeTable=function _decodeTable(r){var i=this.stream.pos,o=this._getTableStream(r.tag),u=ri[r.tag].decode(o,this,r.length);return this.stream.pos=i,u},r.getName=function getName(r,i){void 0===i&&(i=this.defaultLanguage||R.defaultLanguage);var o=this.name&&this.name.records[r];return o&&(o[i]||o[this.defaultLanguage]||o[R.defaultLanguage]||o.en||o[Object.keys(o)[0]])||null},r.hasGlyphForCodePoint=function hasGlyphForCodePoint(r){return!!this._cmapProcessor.lookup(r)},r.glyphForCodePoint=function glyphForCodePoint(r){return this.getGlyph(this._cmapProcessor.lookup(r),[r])},r.glyphsForString=function glyphsForString(r){for(var i=[],o=r.length,u=0,p=-1,g=-1;u<=o;){var y=0,w=0;if(u<o){if(55296<=(y=r.charCodeAt(u++))&&y<=56319&&u<o){var _=r.charCodeAt(u);56320<=_&&_<=57343&&(u++,y=((1023&y)<<10)+(1023&_)+65536)}w=65024<=y&&y<=65039||917760<=y&&y<=917999?1:0}else u++;0===g&&1===w?i.push(this.getGlyph(this._cmapProcessor.lookup(p,y),[p,y])):0===g&&0===w&&i.push(this.glyphForCodePoint(p)),p=y,g=w}return i},r.layout=function layout(r,i,o,u,p){return this._layoutEngine.layout(r,i,o,u,p)},r.stringsForGlyph=function stringsForGlyph(r){return this._layoutEngine.stringsForGlyph(r)},r.getAvailableFeatures=function getAvailableFeatures(r,i){return this._layoutEngine.getAvailableFeatures(r,i)},r._getBaseGlyph=function _getBaseGlyph(r,i){return void 0===i&&(i=[]),this._glyphs[r]||(this.directory.tables.glyf?this._glyphs[r]=new ca(r,i,this):(this.directory.tables["CFF "]||this.directory.tables.CFF2)&&(this._glyphs[r]=new la(r,i,this))),this._glyphs[r]||null},r.getGlyph=function getGlyph(r,i){return void 0===i&&(i=[]),this._glyphs[r]||(this.directory.tables.sbix?this._glyphs[r]=new fa(r,i,this):this.directory.tables.COLR&&this.directory.tables.CPAL?this._glyphs[r]=new da(r,i,this):this._getBaseGlyph(r,i)),this._glyphs[r]||null},r.createSubset=function createSubset(){return this.directory.tables["CFF "]?new _a(this):new wa(this)},r.getVariation=function getVariation(r){if(!this.directory.tables.fvar||!(this.directory.tables.gvar&&this.directory.tables.glyf||this.directory.tables.CFF2))throw new Error("Variations require a font with the fvar, gvar and glyf, or CFF2 tables.");if("string"==typeof r&&(r=this.namedVariations[r]),"object"!=typeof r)throw new Error("Variation settings must be either a variation name or settings object.");var i=this.fvar.axis.map((function(i,o){var u=i.axisTag.trim();return u in r?Math.max(i.minValue,Math.min(i.maxValue,r[u])):i.defaultValue})),o=new g.DecodeStream(this.stream.buffer);o.pos=this._directoryPos;var u=new TTFFont(o,i);return u._tables=this._tables,u},r.getFont=function getFont(r){return this.getVariation(r)},_createClass(TTFFont,[{key:"postscriptName",get:function get(){return this.getName("postscriptName")}},{key:"fullName",get:function get(){return this.getName("fullName")}},{key:"familyName",get:function get(){return this.getName("fontFamily")}},{key:"subfamilyName",get:function get(){return this.getName("fontSubfamily")}},{key:"copyright",get:function get(){return this.getName("copyright")}},{key:"version",get:function get(){return this.getName("version")}},{key:"ascent",get:function get(){return this.hhea.ascent}},{key:"descent",get:function get(){return this.hhea.descent}},{key:"lineGap",get:function get(){return this.hhea.lineGap}},{key:"underlinePosition",get:function get(){return this.post.underlinePosition}},{key:"underlineThickness",get:function get(){return this.post.underlineThickness}},{key:"italicAngle",get:function get(){return this.post.italicAngle}},{key:"capHeight",get:function get(){var r=this["OS/2"];return r?r.capHeight:this.ascent}},{key:"xHeight",get:function get(){var r=this["OS/2"];return r?r.xHeight:0}},{key:"numGlyphs",get:function get(){return this.maxp.numGlyphs}},{key:"unitsPerEm",get:function get(){return this.head.unitsPerEm}},{key:"bbox",get:function get(){return Object.freeze(new ui(this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax))}},{key:"_cmapProcessor",get:function get(){return new si(this.cmap)}},{key:"characterSet",get:function get(){return this._cmapProcessor.getCharacterSet()}},{key:"_layoutEngine",get:function get(){return new Ko(this)}},{key:"availableFeatures",get:function get(){return this._layoutEngine.getAvailableFeatures()}},{key:"variationAxes",get:function get(){var r={};if(!this.fvar)return r;for(var i,o=_createForOfIteratorHelperLoose(this.fvar.axis);!(i=o()).done;){var u=i.value;r[u.axisTag.trim()]={name:u.name.en,min:u.minValue,default:u.defaultValue,max:u.maxValue}}return r}},{key:"namedVariations",get:function get(){var r={};if(!this.fvar)return r;for(var i,o=_createForOfIteratorHelperLoose(this.fvar.instance);!(i=o()).done;){for(var u=i.value,p={},g=0;g<this.fvar.axis.length;g++){p[this.fvar.axis[g].axisTag.trim()]=u.coord[g]}r[u.name.en]=p}return r}},{key:"_variationProcessor",get:function get(){if(!this.fvar)return null;var r=this.variationCoords;return r||this.CFF2?(r||(r=this.fvar.axis.map((function(r){return r.defaultValue}))),new pa(this,r)):null}}]),TTFFont}(),_applyDecoratedDescriptor(ra.prototype,"bbox",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"bbox"),ra.prototype),_applyDecoratedDescriptor(ra.prototype,"_cmapProcessor",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"_cmapProcessor"),ra.prototype),_applyDecoratedDescriptor(ra.prototype,"characterSet",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"characterSet"),ra.prototype),_applyDecoratedDescriptor(ra.prototype,"_layoutEngine",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"_layoutEngine"),ra.prototype),_applyDecoratedDescriptor(ra.prototype,"variationAxes",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"variationAxes"),ra.prototype),_applyDecoratedDescriptor(ra.prototype,"namedVariations",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"namedVariations"),ra.prototype),_applyDecoratedDescriptor(ra.prototype,"_variationProcessor",[cache],Object.getOwnPropertyDescriptor(ra.prototype,"_variationProcessor"),ra.prototype),ra),xa=new g.Struct({tag:new g.String(4),offset:new g.Pointer(g.uint32,"void",{type:"global"}),compLength:g.uint32,length:g.uint32,origChecksum:g.uint32}),Ca=new g.Struct({tag:new g.String(4),flavor:g.uint32,length:g.uint32,numTables:g.uint16,reserved:new g.Reserved(g.uint16),totalSfntSize:g.uint32,majorVersion:g.uint16,minorVersion:g.uint16,metaOffset:g.uint32,metaLength:g.uint32,metaOrigLength:g.uint32,privOffset:g.uint32,privLength:g.uint32,tables:new g.Array(xa,"numTables")});Ca.process=function(){for(var r,i={},o=_createForOfIteratorHelperLoose(this.tables);!(r=o()).done;){var u=r.value;i[u.tag]=u}this.tables=i};var ka=function(r){function WOFFFont(){return r.apply(this,arguments)||this}_inheritsLoose(WOFFFont,r),WOFFFont.probe=function probe(r){return"wOFF"===r.toString("ascii",0,4)};var i=WOFFFont.prototype;return i._decodeDirectory=function _decodeDirectory(){this.directory=Ca.decode(this.stream,{_startOffset:0})},i._getTableStream=function _getTableStream(r){var i=this.directory.tables[r];if(i){if(this.stream.pos=i.offset,i.compLength<i.length){this.stream.pos+=2;var o=p.alloc(i.length),u=O(this.stream.readBuffer(i.compLength-2),o);return new g.DecodeStream(u)}return this.stream}return null},WOFFFont}(Sa),Pa=function(r){function WOFF2Glyph(){return r.apply(this,arguments)||this}_inheritsLoose(WOFF2Glyph,r);var i=WOFF2Glyph.prototype;return i._decode=function _decode(){return this._font._transformedGlyphs[this.id]},i._getCBox=function _getCBox(){return this.path.bbox},WOFF2Glyph}(ca),Aa={decode:function decode(r){for(var i=0,o=[0,1,2,3,4],u=0;u<o.length;u++){var p=r.readUInt8();if(3758096384&i)throw new Error("Overflow");if(i=i<<7|127&p,0==(128&p))return i}throw new Error("Bad base 128 number")}},Ea=["cmap","head","hhea","hmtx","maxp","name","OS/2","post","cvt ","fpgm","glyf","loca","prep","CFF ","VORG","EBDT","EBLC","gasp","hdmx","kern","LTSH","PCLT","VDMX","vhea","vmtx","BASE","GDEF","GPOS","GSUB","EBSC","JSTF","MATH","CBDT","CBLC","COLR","CPAL","SVG ","sbix","acnt","avar","bdat","bloc","bsln","cvar","fdsc","feat","fmtx","fvar","gvar","hsty","just","lcar","mort","morx","opbd","prop","trak","Zapf","Silf","Glat","Gloc","Feat","Sill"],Ta=new g.Struct({flags:g.uint8,customTag:new g.Optional(new g.String(4),(function(r){return 63==(63&r.flags)})),tag:function tag(r){return r.customTag||Ea[63&r.flags]},length:Aa,transformVersion:function transformVersion(r){return r.flags>>>6&3},transformed:function transformed(r){return"glyf"===r.tag||"loca"===r.tag?0===r.transformVersion:0!==r.transformVersion},transformLength:new g.Optional(Aa,(function(r){return r.transformed}))}),Oa=new g.Struct({tag:new g.String(4),flavor:g.uint32,length:g.uint32,numTables:g.uint16,reserved:new g.Reserved(g.uint16),totalSfntSize:g.uint32,totalCompressedSize:g.uint32,majorVersion:g.uint16,minorVersion:g.uint16,metaOffset:g.uint32,metaLength:g.uint32,metaOrigLength:g.uint32,privOffset:g.uint32,privLength:g.uint32,tables:new g.Array(Ta,"numTables")});Oa.process=function(){for(var r={},i=0;i<this.tables.length;i++){var o=this.tables[i];r[o.tag]=o}return this.tables=r};var Ia=function(r){function WOFF2Font(){return r.apply(this,arguments)||this}_inheritsLoose(WOFF2Font,r),WOFF2Font.probe=function probe(r){return"wOF2"===r.toString("ascii",0,4)};var i=WOFF2Font.prototype;return i._decodeDirectory=function _decodeDirectory(){this.directory=Oa.decode(this.stream),this._dataPos=this.stream.pos},i._decompress=function _decompress(){if(!this._decompressed){this.stream.pos=this._dataPos;var r=this.stream.readBuffer(this.directory.totalCompressedSize),i=0;for(var o in this.directory.tables){var u=this.directory.tables[o];u.offset=i,i+=null!=u.transformLength?u.transformLength:u.length}var y=I(r,i);if(!y)throw new Error("Error decoding compressed data in WOFF2");this.stream=new g.DecodeStream(p.from(y)),this._decompressed=!0}},i._decodeTable=function _decodeTable(i){return this._decompress(),r.prototype._decodeTable.call(this,i)},i._getBaseGlyph=function _getBaseGlyph(i,o){if(void 0===o&&(o=[]),!this._glyphs[i])return this.directory.tables.glyf&&this.directory.tables.glyf.transformed?(this._transformedGlyphs||this._transformGlyfTable(),this._glyphs[i]=new Pa(i,o,this)):r.prototype._getBaseGlyph.call(this,i,o)},i._transformGlyfTable=function _transformGlyfTable(){this._decompress(),this.stream.pos=this.directory.tables.glyf.offset;for(var r=Fa.decode(this.stream),i=[],o=0;o<r.numGlyphs;o++){var u={},p=r.nContours.readInt16BE();if(u.numberOfContours=p,p>0){for(var g=[],y=0,w=0;w<p;w++){y+=read255UInt16(r.nPoints),g.push(y)}u.points=decodeTriplet(r.flags,r.glyphs,y);for(var _=0;_<p;_++)u.points[g[_]-1].endContour=!0;read255UInt16(r.glyphs)}else if(p<0){if(ca.prototype._decodeComposite.call({_font:this},u,r.composites))read255UInt16(r.glyphs)}i.push(u)}this._transformedGlyphs=i},WOFF2Font}(Sa),Ba=function(){function Substream(r){this.length=r,this._buf=new g.Buffer(r)}return Substream.prototype.decode=function decode(r,i){return new g.DecodeStream(this._buf.decode(r,i))},Substream}(),Fa=new g.Struct({version:g.uint32,numGlyphs:g.uint16,indexFormat:g.uint16,nContourStreamSize:g.uint32,nPointsStreamSize:g.uint32,flagStreamSize:g.uint32,glyphStreamSize:g.uint32,compositeStreamSize:g.uint32,bboxStreamSize:g.uint32,instructionStreamSize:g.uint32,nContours:new Ba("nContourStreamSize"),nPoints:new Ba("nPointsStreamSize"),flags:new Ba("flagStreamSize"),glyphs:new Ba("glyphStreamSize"),composites:new Ba("compositeStreamSize"),bboxes:new Ba("bboxStreamSize"),instructions:new Ba("instructionStreamSize")});function read255UInt16(r){var i=r.readUInt8();return 253===i?r.readUInt16BE():255===i?r.readUInt8()+253:254===i?r.readUInt8()+506:i}function withSign(r,i){return 1&r?i:-i}function decodeTriplet(r,i,o){for(var u,p=u=0,g=[],y=0;y<o;y++){var w=0,_=0,x=r.readUInt8(),k=!(x>>7);if((x&=127)<10)w=0,_=withSign(x,((14&x)<<7)+i.readUInt8());else if(x<20)w=withSign(x,((x-10&14)<<7)+i.readUInt8()),_=0;else if(x<84){w=withSign(x,1+(48&(P=x-20))+((O=i.readUInt8())>>4)),_=withSign(x>>1,1+((12&P)<<2)+(15&O))}else if(x<120){var P;w=withSign(x,1+((P=x-84)/12<<8)+i.readUInt8()),_=withSign(x>>1,1+(P%12>>2<<8)+i.readUInt8())}else if(x<124){var O=i.readUInt8(),I=i.readUInt8();w=withSign(x,(O<<4)+(I>>4)),_=withSign(x>>1,((15&I)<<8)+i.readUInt8())}else w=withSign(x,i.readUInt16BE()),_=withSign(x>>1,i.readUInt16BE());p+=w,u+=_,g.push(new aa(k,!1,p,u))}return g}var La=new g.VersionedStruct(g.uint32,{65536:{numFonts:g.uint32,offsets:new g.Array(g.uint32,"numFonts")},131072:{numFonts:g.uint32,offsets:new g.Array(g.uint32,"numFonts"),dsigTag:g.uint32,dsigLength:g.uint32,dsigOffset:g.uint32}}),Ra=function(){function TrueTypeCollection(r){if(this.stream=r,"ttcf"!==r.readString(4))throw new Error("Not a TrueType collection");this.header=La.decode(r)}return TrueTypeCollection.probe=function probe(r){return"ttcf"===r.toString("ascii",0,4)},TrueTypeCollection.prototype.getFont=function getFont(r){for(var i,o=_createForOfIteratorHelperLoose(this.header.offsets);!(i=o()).done;){var u=i.value,p=new g.DecodeStream(this.stream.buffer);p.pos=u;var y=new Sa(p);if(y.postscriptName===r)return y}return null},_createClass(TrueTypeCollection,[{key:"fonts",get:function get(){for(var r,i=[],o=_createForOfIteratorHelperLoose(this.header.offsets);!(r=o()).done;){var u=r.value,p=new g.DecodeStream(this.stream.buffer);p.pos=u,i.push(new Sa(p))}return i}}]),TrueTypeCollection}(),Da=new g.String(g.uint8),Ma=(new g.Struct({len:g.uint32,buf:new g.Buffer("len")}),new g.Struct({id:g.uint16,nameOffset:g.int16,attr:g.uint8,dataOffset:g.uint24,handle:g.uint32})),Na=new g.Struct({name:new g.String(4),maxTypeIndex:g.uint16,refList:new g.Pointer(g.uint16,new g.Array(Ma,(function(r){return r.maxTypeIndex+1})),{type:"parent"})}),Wa=new g.Struct({length:g.uint16,types:new g.Array(Na,(function(r){return r.length+1}))}),za=new g.Struct({reserved:new g.Reserved(g.uint8,24),typeList:new g.Pointer(g.uint16,Wa),nameListOffset:new g.Pointer(g.uint16,"void")}),Ua=new g.Struct({dataOffset:g.uint32,map:new g.Pointer(g.uint32,za),dataLength:g.uint32,mapLength:g.uint32}),ja=function(){function DFont(r){this.stream=r,this.header=Ua.decode(this.stream);for(var i,o=_createForOfIteratorHelperLoose(this.header.map.typeList.types);!(i=o()).done;){for(var u,p=i.value,g=_createForOfIteratorHelperLoose(p.refList);!(u=g()).done;){var y=u.value;y.nameOffset>=0?(this.stream.pos=y.nameOffset+this.header.map.nameListOffset,y.name=Da.decode(this.stream)):y.name=null}"sfnt"===p.name&&(this.sfnt=p)}}return DFont.probe=function probe(r){var i=new g.DecodeStream(r);try{var o=Ua.decode(i)}catch(r){return!1}for(var u,p=_createForOfIteratorHelperLoose(o.map.typeList.types);!(u=p()).done;){if("sfnt"===u.value.name)return!0}return!1},DFont.prototype.getFont=function getFont(r){if(!this.sfnt)return null;for(var i,o=_createForOfIteratorHelperLoose(this.sfnt.refList);!(i=o()).done;){var u=i.value,p=this.header.dataOffset+u.dataOffset+4,y=new g.DecodeStream(this.stream.buffer.slice(p)),w=new Sa(y);if(w.postscriptName===r)return w}return null},_createClass(DFont,[{key:"fonts",get:function get(){for(var r,i=[],o=_createForOfIteratorHelperLoose(this.sfnt.refList);!(r=o()).done;){var u=r.value,p=this.header.dataOffset+u.dataOffset+4,y=new g.DecodeStream(this.stream.buffer.slice(p));i.push(new Sa(y))}return i}}]),DFont}();R.registerFormat(Sa),R.registerFormat(ka),R.registerFormat(Ia),R.registerFormat(Ra),R.registerFormat(ja),r.exports=R},7337:function(r,i,o){"use strict";var u=o(4781),p=o(9742),g=o(2055),y=g.BK,w=g.CR,_=g.LF,x=g.NL,k=g.SG,P=g.WJ,O=g.SP,I=g.ZWJ,B=g.BA,R=g.HY,D=g.NS,N=g.AI,W=g.AL,U=g.CJ,j=g.HL,G=g.RI,X=g.SA,K=g.XX,Y=o(8383),J=Y.DI_BRK,$=Y.IN_BRK,ee=Y.CI_BRK,te=Y.CP_BRK,re=(Y.PR_BRK,Y.pairTable),ne=new u(p.toByteArray("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")),ie=function mapClass(r){switch(r){case N:case X:case k:case K:return W;case U:return D;default:return r}},oe=function mapFirst(r){switch(r){case _:case x:return y;case O:return P;default:return r}},ae=function Break(r,i){void 0===i&&(i=!1),this.position=r,this.required=i},se=function(){function LineBreaker(r){this.string=r,this.pos=0,this.lastPos=0,this.curClass=null,this.nextClass=null,this.LB8a=!1,this.LB21a=!1,this.LB30a=0}var r=LineBreaker.prototype;return r.nextCodePoint=function nextCodePoint(){var r=this.string.charCodeAt(this.pos++),i=this.string.charCodeAt(this.pos);return 55296<=r&&r<=56319&&56320<=i&&i<=57343?(this.pos++,1024*(r-55296)+(i-56320)+65536):r},r.nextCharClass=function nextCharClass(){return ie(ne.get(this.nextCodePoint()))},r.getSimpleBreak=function getSimpleBreak(){switch(this.nextClass){case O:return!1;case y:case _:case x:return this.curClass=y,!1;case w:return this.curClass=w,!1}return null},r.getPairTableBreak=function getPairTableBreak(r){var i=!1;switch(re[this.curClass][this.nextClass]){case J:i=!0;break;case $:i=r===O;break;case ee:if(!(i=r===O))return i=!1;break;case te:if(r!==O)return i}return this.LB8a&&(i=!1),!this.LB21a||this.curClass!==R&&this.curClass!==B?this.LB21a=this.curClass===j:(i=!1,this.LB21a=!1),this.curClass===G?(this.LB30a++,2==this.LB30a&&this.nextClass===G&&(i=!0,this.LB30a=0)):this.LB30a=0,this.curClass=this.nextClass,i},r.nextBreak=function nextBreak(){if(null==this.curClass){var r=this.nextCharClass();this.curClass=oe(r),this.nextClass=r,this.LB8a=r===I,this.LB30a=0}for(;this.pos<this.string.length;){this.lastPos=this.pos;var i=this.nextClass;if(this.nextClass=this.nextCharClass(),this.curClass===y||this.curClass===w&&this.nextClass!==_)return this.curClass=oe(ie(this.nextClass)),new ae(this.lastPos,!0);var o=this.getSimpleBreak();if(null===o&&(o=this.getPairTableBreak(i)),this.LB8a=this.nextClass===I,o)return new ae(this.lastPos)}return this.lastPos<this.string.length?(this.lastPos=this.string.length,new ae(this.string.length)):null},LineBreaker}();r.exports=se},4927:function(r,i,o){function config(r){try{if(!o.g.localStorage)return!1}catch(r){return!1}var i=o.g.localStorage[r];return null!=i&&"true"===String(i).toLowerCase()}r.exports=function deprecate(r,i){if(config("noDeprecation"))return r;var o=!1;return function deprecated(){if(!o){if(config("throwDeprecation"))throw new Error(i);config("traceDeprecation"),o=!0}return r.apply(this,arguments)}}},384:function(r){r.exports=function isBuffer(r){return r&&"object"==typeof r&&"function"==typeof r.copy&&"function"==typeof r.fill&&"function"==typeof r.readUInt8}},5955:function(r,i,o){"use strict";var u=o(2584),p=o(8662),g=o(6430),y=o(5692);function uncurryThis(r){return r.call.bind(r)}var w="undefined"!=typeof BigInt,_="undefined"!=typeof Symbol,x=uncurryThis(Object.prototype.toString),k=uncurryThis(Number.prototype.valueOf),P=uncurryThis(String.prototype.valueOf),O=uncurryThis(Boolean.prototype.valueOf);if(w)var I=uncurryThis(BigInt.prototype.valueOf);if(_)var B=uncurryThis(Symbol.prototype.valueOf);function checkBoxedPrimitive(r,i){if("object"!=typeof r)return!1;try{return i(r),!0}catch(r){return!1}}function isMapToString(r){return"[object Map]"===x(r)}function isSetToString(r){return"[object Set]"===x(r)}function isWeakMapToString(r){return"[object WeakMap]"===x(r)}function isWeakSetToString(r){return"[object WeakSet]"===x(r)}function isArrayBufferToString(r){return"[object ArrayBuffer]"===x(r)}function isArrayBuffer(r){return"undefined"!=typeof ArrayBuffer&&(isArrayBufferToString.working?isArrayBufferToString(r):r instanceof ArrayBuffer)}function isDataViewToString(r){return"[object DataView]"===x(r)}function isDataView(r){return"undefined"!=typeof DataView&&(isDataViewToString.working?isDataViewToString(r):r instanceof DataView)}i.isArgumentsObject=u,i.isGeneratorFunction=p,i.isTypedArray=y,i.isPromise=function isPromise(r){return"undefined"!=typeof Promise&&r instanceof Promise||null!==r&&"object"==typeof r&&"function"==typeof r.then&&"function"==typeof r.catch},i.isArrayBufferView=function isArrayBufferView(r){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(r):y(r)||isDataView(r)},i.isUint8Array=function isUint8Array(r){return"Uint8Array"===g(r)},i.isUint8ClampedArray=function isUint8ClampedArray(r){return"Uint8ClampedArray"===g(r)},i.isUint16Array=function isUint16Array(r){return"Uint16Array"===g(r)},i.isUint32Array=function isUint32Array(r){return"Uint32Array"===g(r)},i.isInt8Array=function isInt8Array(r){return"Int8Array"===g(r)},i.isInt16Array=function isInt16Array(r){return"Int16Array"===g(r)},i.isInt32Array=function isInt32Array(r){return"Int32Array"===g(r)},i.isFloat32Array=function isFloat32Array(r){return"Float32Array"===g(r)},i.isFloat64Array=function isFloat64Array(r){return"Float64Array"===g(r)},i.isBigInt64Array=function isBigInt64Array(r){return"BigInt64Array"===g(r)},i.isBigUint64Array=function isBigUint64Array(r){return"BigUint64Array"===g(r)},isMapToString.working="undefined"!=typeof Map&&isMapToString(new Map),i.isMap=function isMap(r){return"undefined"!=typeof Map&&(isMapToString.working?isMapToString(r):r instanceof Map)},isSetToString.working="undefined"!=typeof Set&&isSetToString(new Set),i.isSet=function isSet(r){return"undefined"!=typeof Set&&(isSetToString.working?isSetToString(r):r instanceof Set)},isWeakMapToString.working="undefined"!=typeof WeakMap&&isWeakMapToString(new WeakMap),i.isWeakMap=function isWeakMap(r){return"undefined"!=typeof WeakMap&&(isWeakMapToString.working?isWeakMapToString(r):r instanceof WeakMap)},isWeakSetToString.working="undefined"!=typeof WeakSet&&isWeakSetToString(new WeakSet),i.isWeakSet=function isWeakSet(r){return isWeakSetToString(r)},isArrayBufferToString.working="undefined"!=typeof ArrayBuffer&&isArrayBufferToString(new ArrayBuffer),i.isArrayBuffer=isArrayBuffer,isDataViewToString.working="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView&&isDataViewToString(new DataView(new ArrayBuffer(1),0,1)),i.isDataView=isDataView;var R="undefined"!=typeof SharedArrayBuffer?SharedArrayBuffer:void 0;function isSharedArrayBufferToString(r){return"[object SharedArrayBuffer]"===x(r)}function isSharedArrayBuffer(r){return void 0!==R&&(void 0===isSharedArrayBufferToString.working&&(isSharedArrayBufferToString.working=isSharedArrayBufferToString(new R)),isSharedArrayBufferToString.working?isSharedArrayBufferToString(r):r instanceof R)}function isNumberObject(r){return checkBoxedPrimitive(r,k)}function isStringObject(r){return checkBoxedPrimitive(r,P)}function isBooleanObject(r){return checkBoxedPrimitive(r,O)}function isBigIntObject(r){return w&&checkBoxedPrimitive(r,I)}function isSymbolObject(r){return _&&checkBoxedPrimitive(r,B)}i.isSharedArrayBuffer=isSharedArrayBuffer,i.isAsyncFunction=function isAsyncFunction(r){return"[object AsyncFunction]"===x(r)},i.isMapIterator=function isMapIterator(r){return"[object Map Iterator]"===x(r)},i.isSetIterator=function isSetIterator(r){return"[object Set Iterator]"===x(r)},i.isGeneratorObject=function isGeneratorObject(r){return"[object Generator]"===x(r)},i.isWebAssemblyCompiledModule=function isWebAssemblyCompiledModule(r){return"[object WebAssembly.Module]"===x(r)},i.isNumberObject=isNumberObject,i.isStringObject=isStringObject,i.isBooleanObject=isBooleanObject,i.isBigIntObject=isBigIntObject,i.isSymbolObject=isSymbolObject,i.isBoxedPrimitive=function isBoxedPrimitive(r){return isNumberObject(r)||isStringObject(r)||isBooleanObject(r)||isBigIntObject(r)||isSymbolObject(r)},i.isAnyArrayBuffer=function isAnyArrayBuffer(r){return"undefined"!=typeof Uint8Array&&(isArrayBuffer(r)||isSharedArrayBuffer(r))},["isProxy","isExternal","isModuleNamespaceObject"].forEach((function(r){Object.defineProperty(i,r,{enumerable:!1,value:function(){throw new Error(r+" is not supported in userland")}})}))},9539:function(r,i,o){var u=o(4155),p=Object.getOwnPropertyDescriptors||function getOwnPropertyDescriptors(r){for(var i=Object.keys(r),o={},u=0;u<i.length;u++)o[i[u]]=Object.getOwnPropertyDescriptor(r,i[u]);return o},g=/%[sdj%]/g;i.format=function(r){if(!isString(r)){for(var i=[],o=0;o<arguments.length;o++)i.push(inspect(arguments[o]));return i.join(" ")}o=1;for(var u=arguments,p=u.length,y=String(r).replace(g,(function(r){if("%%"===r)return"%";if(o>=p)return r;switch(r){case"%s":return String(u[o++]);case"%d":return Number(u[o++]);case"%j":try{return JSON.stringify(u[o++])}catch(r){return"[Circular]"}default:return r}})),w=u[o];o<p;w=u[++o])isNull(w)||!isObject(w)?y+=" "+w:y+=" "+inspect(w);return y},i.deprecate=function(r,o){if(void 0!==u&&!0===u.noDeprecation)return r;if(void 0===u)return function(){return i.deprecate(r,o).apply(this,arguments)};var p=!1;return function deprecated(){if(!p){if(u.throwDeprecation)throw new Error(o);u.traceDeprecation,p=!0}return r.apply(this,arguments)}};var y={},w=/^$/;if(u.env.NODE_DEBUG){var _=u.env.NODE_DEBUG;_=_.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),w=new RegExp("^"+_+"$","i")}function inspect(r,o){var u={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(u.depth=arguments[2]),arguments.length>=4&&(u.colors=arguments[3]),isBoolean(o)?u.showHidden=o:o&&i._extend(u,o),isUndefined(u.showHidden)&&(u.showHidden=!1),isUndefined(u.depth)&&(u.depth=2),isUndefined(u.colors)&&(u.colors=!1),isUndefined(u.customInspect)&&(u.customInspect=!0),u.colors&&(u.stylize=stylizeWithColor),formatValue(u,r,u.depth)}function stylizeWithColor(r,i){var o=inspect.styles[i];return o?"["+inspect.colors[o][0]+"m"+r+"["+inspect.colors[o][1]+"m":r}function stylizeNoColor(r,i){return r}function formatValue(r,o,u){if(r.customInspect&&o&&isFunction(o.inspect)&&o.inspect!==i.inspect&&(!o.constructor||o.constructor.prototype!==o)){var p=o.inspect(u,r);return isString(p)||(p=formatValue(r,p,u)),p}var g=function formatPrimitive(r,i){if(isUndefined(i))return r.stylize("undefined","undefined");if(isString(i)){var o="'"+JSON.stringify(i).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return r.stylize(o,"string")}if(isNumber(i))return r.stylize(""+i,"number");if(isBoolean(i))return r.stylize(""+i,"boolean");if(isNull(i))return r.stylize("null","null")}(r,o);if(g)return g;var y=Object.keys(o),w=function arrayToHash(r){var i={};return r.forEach((function(r,o){i[r]=!0})),i}(y);if(r.showHidden&&(y=Object.getOwnPropertyNames(o)),isError(o)&&(y.indexOf("message")>=0||y.indexOf("description")>=0))return formatError(o);if(0===y.length){if(isFunction(o)){var _=o.name?": "+o.name:"";return r.stylize("[Function"+_+"]","special")}if(isRegExp(o))return r.stylize(RegExp.prototype.toString.call(o),"regexp");if(isDate(o))return r.stylize(Date.prototype.toString.call(o),"date");if(isError(o))return formatError(o)}var x,k="",P=!1,O=["{","}"];(isArray(o)&&(P=!0,O=["[","]"]),isFunction(o))&&(k=" [Function"+(o.name?": "+o.name:"")+"]");return isRegExp(o)&&(k=" "+RegExp.prototype.toString.call(o)),isDate(o)&&(k=" "+Date.prototype.toUTCString.call(o)),isError(o)&&(k=" "+formatError(o)),0!==y.length||P&&0!=o.length?u<0?isRegExp(o)?r.stylize(RegExp.prototype.toString.call(o),"regexp"):r.stylize("[Object]","special"):(r.seen.push(o),x=P?function formatArray(r,i,o,u,p){for(var g=[],y=0,w=i.length;y<w;++y)hasOwnProperty(i,String(y))?g.push(formatProperty(r,i,o,u,String(y),!0)):g.push("");return p.forEach((function(p){p.match(/^\d+$/)||g.push(formatProperty(r,i,o,u,p,!0))})),g}(r,o,u,w,y):y.map((function(i){return formatProperty(r,o,u,w,i,P)})),r.seen.pop(),function reduceToSingleString(r,i,o){var u=r.reduce((function(r,i){return i.indexOf("\n")>=0&&0,r+i.replace(/\u001b\[\d\d?m/g,"").length+1}),0);if(u>60)return o[0]+(""===i?"":i+"\n ")+" "+r.join(",\n  ")+" "+o[1];return o[0]+i+" "+r.join(", ")+" "+o[1]}(x,k,O)):O[0]+k+O[1]}function formatError(r){return"["+Error.prototype.toString.call(r)+"]"}function formatProperty(r,i,o,u,p,g){var y,w,_;if((_=Object.getOwnPropertyDescriptor(i,p)||{value:i[p]}).get?w=_.set?r.stylize("[Getter/Setter]","special"):r.stylize("[Getter]","special"):_.set&&(w=r.stylize("[Setter]","special")),hasOwnProperty(u,p)||(y="["+p+"]"),w||(r.seen.indexOf(_.value)<0?(w=isNull(o)?formatValue(r,_.value,null):formatValue(r,_.value,o-1)).indexOf("\n")>-1&&(w=g?w.split("\n").map((function(r){return"  "+r})).join("\n").slice(2):"\n"+w.split("\n").map((function(r){return"   "+r})).join("\n")):w=r.stylize("[Circular]","special")),isUndefined(y)){if(g&&p.match(/^\d+$/))return w;(y=JSON.stringify(""+p)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(y=y.slice(1,-1),y=r.stylize(y,"name")):(y=y.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),y=r.stylize(y,"string"))}return y+": "+w}function isArray(r){return Array.isArray(r)}function isBoolean(r){return"boolean"==typeof r}function isNull(r){return null===r}function isNumber(r){return"number"==typeof r}function isString(r){return"string"==typeof r}function isUndefined(r){return void 0===r}function isRegExp(r){return isObject(r)&&"[object RegExp]"===objectToString(r)}function isObject(r){return"object"==typeof r&&null!==r}function isDate(r){return isObject(r)&&"[object Date]"===objectToString(r)}function isError(r){return isObject(r)&&("[object Error]"===objectToString(r)||r instanceof Error)}function isFunction(r){return"function"==typeof r}function objectToString(r){return Object.prototype.toString.call(r)}i.debuglog=function(r){if(r=r.toUpperCase(),!y[r])if(w.test(r)){u.pid;y[r]=function(){i.format.apply(i,arguments)}}else y[r]=function(){};return y[r]},i.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},i.types=o(5955),i.isArray=isArray,i.isBoolean=isBoolean,i.isNull=isNull,i.isNullOrUndefined=function isNullOrUndefined(r){return null==r},i.isNumber=isNumber,i.isString=isString,i.isSymbol=function isSymbol(r){return"symbol"==typeof r},i.isUndefined=isUndefined,i.isRegExp=isRegExp,i.types.isRegExp=isRegExp,i.isObject=isObject,i.isDate=isDate,i.types.isDate=isDate,i.isError=isError,i.types.isNativeError=isError,i.isFunction=isFunction,i.isPrimitive=function isPrimitive(r){return null===r||"boolean"==typeof r||"number"==typeof r||"string"==typeof r||"symbol"==typeof r||void 0===r},i.isBuffer=o(384);function hasOwnProperty(r,i){return Object.prototype.hasOwnProperty.call(r,i)}i.log=function(){},i.inherits=o(5717),i._extend=function(r,i){if(!i||!isObject(i))return r;for(var o=Object.keys(i),u=o.length;u--;)r[o[u]]=i[o[u]];return r};var x="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function callbackifyOnRejected(r,i){if(!r){var o=new Error("Promise was rejected with a falsy value");o.reason=r,r=o}return i(r)}i.promisify=function promisify(r){if("function"!=typeof r)throw new TypeError('The "original" argument must be of type Function');if(x&&r[x]){var i;if("function"!=typeof(i=r[x]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(i,x,{value:i,enumerable:!1,writable:!1,configurable:!0}),i}function i(){for(var i,o,u=new Promise((function(r,u){i=r,o=u})),p=[],g=0;g<arguments.length;g++)p.push(arguments[g]);p.push((function(r,u){r?o(r):i(u)}));try{r.apply(this,p)}catch(r){o(r)}return u}return Object.setPrototypeOf(i,Object.getPrototypeOf(r)),x&&Object.defineProperty(i,x,{value:i,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(i,p(r))},i.promisify.custom=x,i.callbackify=function callbackify(r){if("function"!=typeof r)throw new TypeError('The "original" argument must be of type Function');function callbackified(){for(var i=[],o=0;o<arguments.length;o++)i.push(arguments[o]);var p=i.pop();if("function"!=typeof p)throw new TypeError("The last argument must be of type Function");var g=this,cb=function(){return p.apply(g,arguments)};r.apply(this,i).then((function(r){u.nextTick(cb.bind(null,null,r))}),(function(r){u.nextTick(callbackifyOnRejected.bind(null,r,cb))}))}return Object.setPrototypeOf(callbackified,Object.getPrototypeOf(r)),Object.defineProperties(callbackified,p(r)),callbackified}},6430:function(r,i,o){"use strict";var u=o(4029),p=o(3083),g=o(1924),y=o(7296),w=g("Object.prototype.toString"),_=o(6410)(),x="undefined"==typeof globalThis?o.g:globalThis,k=p(),P=g("String.prototype.slice"),O={},I=Object.getPrototypeOf;_&&y&&I&&u(k,(function(r){if("function"==typeof x[r]){var i=new x[r];if(Symbol.toStringTag in i){var o=I(i),u=y(o,Symbol.toStringTag);if(!u){var p=I(o);u=y(p,Symbol.toStringTag)}O[r]=u.get}}}));var B=o(5692);r.exports=function whichTypedArray(r){return!!B(r)&&(_&&Symbol.toStringTag in r?function tryAllTypedArrays(r){var i=!1;return u(O,(function(o,u){if(!i)try{var p=o.call(r);p===u&&(i=p)}catch(r){}})),i}(r):P(w(r),8,-1))}},6513:function(r,i,o){r.exports=o(5011)},5011:function(r,i,o){!function(){var i;if(r.exports&&!o.g.xmldocAssumeBrowser)i=o(6099);else if(!(i=this.sax))throw new Error("Expected sax to be defined. Make sure you're including sax.js before this file.");function XmlElement(r){var i=u[u.length-1].parser;this.name=r.name,this.attr=r.attributes,this.val="",this.children=[],this.firstChild=null,this.lastChild=null,this.line=i.line,this.column=i.column,this.position=i.position,this.startTagPosition=i.startTagPosition}function XmlTextNode(r){this.text=r}function XmlCDataNode(r){this.cdata=r}function XmlCommentNode(r){this.comment=r}function XmlDocument(r){if(r&&(r=r.toString().trim()),!r)throw new Error("No XML to parse!");this.doctype="",this.parser=i.parser(!0),function addParserEvents(r){r.onopentag=parser_opentag,r.onclosetag=parser_closetag,r.ontext=parser_text,r.oncdata=parser_cdata,r.oncomment=parser_comment,r.ondoctype=parser_doctype,r.onerror=parser_error}(this.parser),u=[this],this.parser.write(r),delete this.parser}XmlElement.prototype._addChild=function(r){this.children.push(r),this.firstChild||(this.firstChild=r),this.lastChild=r},XmlElement.prototype._opentag=function(r){var i=new XmlElement(r);this._addChild(i),u.unshift(i)},XmlElement.prototype._closetag=function(){u.shift()},XmlElement.prototype._text=function(r){void 0!==this.children&&(this.val+=r,this._addChild(new XmlTextNode(r)))},XmlElement.prototype._cdata=function(r){this.val+=r,this._addChild(new XmlCDataNode(r))},XmlElement.prototype._comment=function(r){void 0!==this.children&&this._addChild(new XmlCommentNode(r))},XmlElement.prototype._error=function(r){throw r},XmlElement.prototype.eachChild=function(r,i){for(var o=0,u=this.children.length;o<u;o++)if("element"===this.children[o].type&&!1===r.call(i,this.children[o],o,this.children))return},XmlElement.prototype.childNamed=function(r){for(var i=0,o=this.children.length;i<o;i++){var u=this.children[i];if(u.name===r)return u}},XmlElement.prototype.childrenNamed=function(r){for(var i=[],o=0,u=this.children.length;o<u;o++)this.children[o].name===r&&i.push(this.children[o]);return i},XmlElement.prototype.childWithAttribute=function(r,i){for(var o=0,u=this.children.length;o<u;o++){var p=this.children[o];if("element"===p.type&&(i&&p.attr[r]===i||!i&&p.attr[r]))return p}},XmlElement.prototype.descendantsNamed=function(r){for(var i=[],o=0,u=this.children.length;o<u;o++){var p=this.children[o];"element"===p.type&&(p.name===r&&i.push(p),i=i.concat(p.descendantsNamed(r)))}return i},XmlElement.prototype.descendantWithPath=function(r){for(var i=this,o=r.split("."),u=0,p=o.length;u<p;u++){if(!i||"element"!==i.type)return;i=i.childNamed(o[u])}return i},XmlElement.prototype.valueWithPath=function(r){var i=r.split("@"),o=this.descendantWithPath(i[0]);return o?i.length>1?o.attr[i[1]]:o.val:void 0},XmlElement.prototype.toString=function(r){return this.toStringWithIndent("",r)},XmlElement.prototype.toStringWithIndent=function(r,i){var o=r+"<"+this.name,u=i&&i.compressed?"":"\n";i&&i.preserveWhitespace;for(var p in this.attr)Object.prototype.hasOwnProperty.call(this.attr,p)&&(o+=" "+p+'="'+escapeXML(this.attr[p])+'"');if(1===this.children.length&&"element"!==this.children[0].type)o+=">"+this.children[0].toString(i)+"</"+this.name+">";else if(this.children.length){o+=">"+u;for(var g=r+(i&&i.compressed?"":"  "),y=0,w=this.children.length;y<w;y++)o+=this.children[y].toStringWithIndent(g,i)+u;o+=r+"</"+this.name+">"}else if(i&&i.html){-1!==["area","base","br","col","embed","frame","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"].indexOf(this.name)?o+="/>":o+="></"+this.name+">"}else o+="/>";return o},XmlTextNode.prototype.toString=function(r){return formatText(escapeXML(this.text),r)},XmlTextNode.prototype.toStringWithIndent=function(r,i){return r+this.toString(i)},XmlCDataNode.prototype.toString=function(r){return"<![CDATA["+formatText(this.cdata,r)+"]]>"},XmlCDataNode.prototype.toStringWithIndent=function(r,i){return r+this.toString(i)},XmlCommentNode.prototype.toString=function(r){return"\x3c!--"+formatText(escapeXML(this.comment),r)+"--\x3e"},XmlCommentNode.prototype.toStringWithIndent=function(r,i){return r+this.toString(i)},XmlElement.prototype.type="element",XmlTextNode.prototype.type="text",XmlCDataNode.prototype.type="cdata",XmlCommentNode.prototype.type="comment",function extend(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])}(XmlDocument.prototype,XmlElement.prototype),XmlDocument.prototype._opentag=function(r){void 0===this.children?XmlElement.call(this,r):XmlElement.prototype._opentag.apply(this,arguments)},XmlDocument.prototype._doctype=function(r){this.doctype+=r};var u=null;function parser_opentag(){u[0]&&u[0]._opentag.apply(u[0],arguments)}function parser_closetag(){u[0]&&u[0]._closetag.apply(u[0],arguments)}function parser_text(){u[0]&&u[0]._text.apply(u[0],arguments)}function parser_cdata(){u[0]&&u[0]._cdata.apply(u[0],arguments)}function parser_comment(){u[0]&&u[0]._comment.apply(u[0],arguments)}function parser_doctype(){u[0]&&u[0]._doctype.apply(u[0],arguments)}function parser_error(){u[0]&&u[0]._error.apply(u[0],arguments)}function escapeXML(r){return r.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&apos;").replace(/"/g,"&quot;")}function formatText(r,i){var o=r;return i&&i.trimmed&&r.length>25&&(o=o.substring(0,25).trim()+"…"),i&&i.preserveWhitespace||(o=o.trim()),o}r.exports&&!o.g.xmldocAssumeBrowser?(r.exports.XmlDocument=XmlDocument,r.exports.XmlElement=XmlElement,r.exports.XmlTextNode=XmlTextNode,r.exports.XmlCDataNode=XmlCDataNode,r.exports.XmlCommentNode=XmlCommentNode):(this.XmlDocument=XmlDocument,this.XmlElement=XmlElement,this.XmlTextNode=XmlTextNode,this.XmlCDataNode=XmlCDataNode,this.XmlCommentNode=XmlCommentNode)}()},6255:function(r,i,o){"use strict";"undefined"==typeof window||window.Promise||o(3867),o(4667);function URLBrowserResolver(r){this.fs=r,this.resolving={}}URLBrowserResolver.prototype.resolve=function(r,i){if(!this.resolving[r]){var o=this;this.resolving[r]=new Promise((function(u,p){0===r.toLowerCase().indexOf("https://")||0===r.toLowerCase().indexOf("http://")?o.fs.existsSync(r)?u():function(r,i){return new Promise((function(o,u){var p=new XMLHttpRequest;for(var g in p.open("GET",r,!0),i)p.setRequestHeader(g,i[g]);p.responseType="arraybuffer",p.onreadystatechange=function(){4===p.readyState&&(p.status>=200&&p.status<300||setTimeout((function(){u(new TypeError('Failed to fetch (url: "'+r+'")'))}),0))},p.onload=function(){p.status>=200&&p.status<300&&o(p.response)},p.onerror=function(){setTimeout((function(){u(new TypeError('Network request failed (url: "'+r+'")'))}),0)},p.ontimeout=function(){setTimeout((function(){u(new TypeError('Network request failed (url: "'+r+'")'))}),0)},p.send()}))}(r,i).then((function(i){o.fs.writeFileSync(r,i),u()}),(function(r){p(r)})):u()}))}return this.resolving[r]},URLBrowserResolver.prototype.resolved=function(){var r=this;return new Promise((function(i,o){Promise.all(Object.values(r.resolving)).then((function(){i()}),(function(r){o(r)}))}))},r.exports=URLBrowserResolver},4275:function(r,i,o){"use strict";var u=o(8823).Buffer,p=o(6225).isFunction,g=o(6225).isUndefined,y=(o(6225).isNull,o(2984).saveAs),w={Roboto:{normal:"Roboto-Regular.ttf",bold:"Roboto-Medium.ttf",italics:"Roboto-Italic.ttf",bolditalics:"Roboto-MediumItalic.ttf"}};function Document(r,i,o,u){this.docDefinition=r,this.tableLayouts=i||null,this.fonts=o||w,this.vfs=u}Document.prototype._createDoc=function(r,i){var getExtendedUrl=function(r){return"object"==typeof r?{url:r.url,headers:r.headers}:{url:r,headers:{}}};r=r||{},this.tableLayouts&&(r.tableLayouts=this.tableLayouts);var u=new(o(8617))(this.fonts);if(o(3857).bindFS(this.vfs),!p(i))return u.createPdfKitDocument(this.docDefinition,r);var g=new(o(6255))(o(3857));for(var y in this.fonts)if(this.fonts.hasOwnProperty(y)){if(this.fonts[y].normal)if(Array.isArray(this.fonts[y].normal)){var w=getExtendedUrl(this.fonts[y].normal[0]);g.resolve(w.url,w.headers),this.fonts[y].normal[0]=w.url}else{w=getExtendedUrl(this.fonts[y].normal);g.resolve(w.url,w.headers),this.fonts[y].normal=w.url}if(this.fonts[y].bold)if(Array.isArray(this.fonts[y].bold)){w=getExtendedUrl(this.fonts[y].bold[0]);g.resolve(w.url,w.headers),this.fonts[y].bold[0]=w.url}else{w=getExtendedUrl(this.fonts[y].bold);g.resolve(w.url,w.headers),this.fonts[y].bold=w.url}if(this.fonts[y].italics)if(Array.isArray(this.fonts[y].italics)){w=getExtendedUrl(this.fonts[y].italics[0]);g.resolve(w.url,w.headers),this.fonts[y].italics[0]=w.url}else{w=getExtendedUrl(this.fonts[y].italics);g.resolve(w.url,w.headers),this.fonts[y].italics=w.url}if(this.fonts[y].bolditalics)if(Array.isArray(this.fonts[y].bolditalics)){w=getExtendedUrl(this.fonts[y].bolditalics[0]);g.resolve(w.url,w.headers),this.fonts[y].bolditalics[0]=w.url}else{w=getExtendedUrl(this.fonts[y].bolditalics);g.resolve(w.url,w.headers),this.fonts[y].bolditalics=w.url}}if(this.docDefinition.images)for(var _ in this.docDefinition.images)if(this.docDefinition.images.hasOwnProperty(_)){w=getExtendedUrl(this.docDefinition.images[_]);g.resolve(w.url,w.headers),this.docDefinition.images[_]=w.url}var x=this;g.resolved().then((function(){var o=u.createPdfKitDocument(x.docDefinition,r);i(o)}),(function(r){throw r}))},Document.prototype._flushDoc=function(r,i){var o,p=[];r.on("readable",(function(){for(var i;null!==(i=r.read(9007199254740991));)p.push(i)})),r.on("end",(function(){o=u.concat(p),i(o,r._pdfMakePages)})),r.end()},Document.prototype._getPages=function(r,i){if(!i)throw"_getPages is an async method and needs a callback argument";var o=this;this._createDoc(r,(function(r){o._flushDoc(r,(function(r,o){i(o)}))}))},Document.prototype._bufferToBlob=function(r){var i;try{i=new Blob([r],{type:"application/pdf"})}catch(u){if("InvalidStateError"===u.name){var o=new Uint8Array(r);i=new Blob([o.buffer],{type:"application/pdf"})}}if(!i)throw"Could not generate blob";return i},Document.prototype._openWindow=function(){var r=window.open("","_blank");if(null===r)throw"Open PDF in new window blocked by browser";return r},Document.prototype._openPdf=function(r,i){i||(i=this._openWindow());try{this.getBlob((function(r){var o=(window.URL||window.webkitURL).createObjectURL(r);i.location.href=o}),r)}catch(r){throw i.close(),r}},Document.prototype.open=function(r,i){(r=r||{}).autoPrint=!1,i=i||null,this._openPdf(r,i)},Document.prototype.print=function(r,i){(r=r||{}).autoPrint=!0,i=i||null,this._openPdf(r,i)},Document.prototype.download=function(r,i,o){p(r)&&(g(i)||(o=i),i=r,r=null),r=r||"file.pdf",this.getBlob((function(o){y(o,r),p(i)&&i()}),o)},Document.prototype.getBase64=function(r,i){if(!r)throw"getBase64 is an async method and needs a callback argument";this.getBuffer((function(i){r(i.toString("base64"))}),i)},Document.prototype.getDataUrl=function(r,i){if(!r)throw"getDataUrl is an async method and needs a callback argument";this.getBuffer((function(i){r("data:application/pdf;base64,"+i.toString("base64"))}),i)},Document.prototype.getBlob=function(r,i){if(!r)throw"getBlob is an async method and needs a callback argument";var o=this;this.getBuffer((function(i){var u=o._bufferToBlob(i);r(u)}),i)},Document.prototype.getBuffer=function(r,i){if(!r)throw"getBuffer is an async method and needs a callback argument";var o=this;this._createDoc(i,(function(i){o._flushDoc(i,(function(i){r(i)}))}))},Document.prototype.getStream=function(r,i){if(!p(i))return this._createDoc(r);this._createDoc(r,(function(r){i(r)}))},r.exports={createPdf:function(r,i,u,p){if(!function canCreatePdf(){try{var r=new Uint8Array(1),i={foo:function(){return 42}};return Object.setPrototypeOf(i,Uint8Array.prototype),Object.setPrototypeOf(r,i),42===r.foo()}catch(r){return!1}}())throw"Your browser does not provide the level of support needed";return new Document(r,i||o.g.pdfMake.tableLayouts,u||o.g.pdfMake.fonts,p||o.g.pdfMake.vfs)}}},3857:function(r,i,o){"use strict";var u=o(8823).Buffer;function VirtualFileSystem(){this.fileSystem={},this.dataSystem={}}function fixFilename(r){return 0===r.indexOf("/")&&(r=r.substring("/".length)),0===r.indexOf("/")&&(r=r.substring(1)),r}VirtualFileSystem.prototype.existsSync=function(r){return r=fixFilename(r),void 0!==this.fileSystem[r]||void 0!==this.dataSystem[r]},VirtualFileSystem.prototype.readFileSync=function(r,i){r=fixFilename(r);var o=this.dataSystem[r];if("string"==typeof o&&"utf8"===i)return o;if(o)return new u(o,"string"==typeof o?"base64":void 0);var p=this.fileSystem[r];if(p)return p;throw"File '"+r+"' not found in virtual file system"},VirtualFileSystem.prototype.writeFileSync=function(r,i){this.fileSystem[fixFilename(r)]=i},VirtualFileSystem.prototype.bindFS=function(r){this.dataSystem=r||{}},r.exports=new VirtualFileSystem},4498:function(r,i,o){"use strict";var u=o(6225).isString;function isAutoColumn(r){return"auto"===r.width}function isStarColumn(r){return null===r.width||void 0===r.width||"*"===r.width||"star"===r.width}r.exports={buildColumnWidths:function buildColumnWidths(r,i){var o=[],p=0,g=0,y=[],w=0,_=0,x=[],k=i;r.forEach((function(r){isAutoColumn(r)?(o.push(r),p+=r._minWidth,g+=r._maxWidth):isStarColumn(r)?(y.push(r),w=Math.max(w,r._minWidth),_=Math.max(_,r._maxWidth)):x.push(r)})),x.forEach((function(r){u(r.width)&&/\d+%/.test(r.width)&&(r.width=parseFloat(r.width)*k/100),r.width<r._minWidth&&r.elasticWidth?r._calcWidth=r._minWidth:r._calcWidth=r.width,i-=r._calcWidth}));var P=p+w*y.length,O=g+_*y.length;if(P>=i)o.forEach((function(r){r._calcWidth=r._minWidth})),y.forEach((function(r){r._calcWidth=w}));else{if(O<i)o.forEach((function(r){r._calcWidth=r._maxWidth,i-=r._calcWidth}));else{var I=i-P,B=O-P;o.forEach((function(r){var o=r._maxWidth-r._minWidth;r._calcWidth=r._minWidth+o*I/B,i-=r._calcWidth}))}if(y.length>0){var R=i/y.length;y.forEach((function(r){r._calcWidth=R}))}}},measureMinMax:function measureMinMax(r){for(var i={min:0,max:0},o={min:0,max:0},u=0,p=0,g=r.length;p<g;p++){var y=r[p];isStarColumn(y)?(o.min=Math.max(o.min,y._minWidth),o.max=Math.max(o.max,y._maxWidth),u++):isAutoColumn(y)?(i.min+=y._minWidth,i.max+=y._maxWidth):(i.min+=void 0!==y.width&&y.width||y._minWidth,i.max+=void 0!==y.width&&y.width||y._maxWidth)}return u&&(i.min+=u*o.min,i.max+=u*o.max),i},isAutoColumn:isAutoColumn,isStarColumn:isStarColumn}},1728:function(r,i,o){"use strict";var u=o(1350),p=o(7597),g=o(4498),y=o(6225).isString,w=o(6225).isNumber,_=o(6225).isObject,x=o(6225).isArray,k=o(6225).fontStringify,P=o(6225).getNodeId,O=o(6225).pack,I=o(145);function DocMeasure(r,i,o,g,y,w,_){this.textTools=new u(r),this.styleStack=new p(i,o),this.imageMeasure=g,this.svgMeasure=y,this.tableLayouts=w,this.images=_,this.autoImageIndex=1}DocMeasure.prototype.measureDocument=function(r){return this.measureNode(r)},DocMeasure.prototype.measureNode=function(r){var i=this;return this.styleStack.auto(r,(function(){if(r._margin=function getNodeMargin(){function processSingleMargins(r,i){return r.marginLeft||r.marginTop||r.marginRight||r.marginBottom?[r.marginLeft||i[0]||0,r.marginTop||i[1]||0,r.marginRight||i[2]||0,r.marginBottom||i[3]||0]:i}function flattenStyleArray(r){for(var o={},u=r.length-1;u>=0;u--){var p=r[u],g=i.styleStack.styleDictionary[p];for(var y in g)g.hasOwnProperty(y)&&(o[y]=g[y])}return o}function convertMargin(r){return w(r)?r=[r,r,r,r]:x(r)&&2===r.length&&(r=[r[0],r[1],r[0],r[1]]),r}var o=[void 0,void 0,void 0,void 0];if(r.style){var u=flattenStyleArray(x(r.style)?r.style:[r.style]);u&&(o=processSingleMargins(u,o)),u.margin&&(o=convertMargin(u.margin))}o=processSingleMargins(r,o),r.margin&&(o=convertMargin(r.margin));return void 0===o[0]&&void 0===o[1]&&void 0===o[2]&&void 0===o[3]?null:o}(),r.columns)return extendMargins(i.measureColumns(r));if(r.stack)return extendMargins(i.measureVerticalContainer(r));if(r.ul)return extendMargins(i.measureUnorderedList(r));if(r.ol)return extendMargins(i.measureOrderedList(r));if(r.table)return extendMargins(i.measureTable(r));if(void 0!==r.text)return extendMargins(i.measureLeaf(r));if(r.toc)return extendMargins(i.measureToc(r));if(r.image)return extendMargins(i.measureImage(r));if(r.svg)return extendMargins(i.measureSVG(r));if(r.canvas)return extendMargins(i.measureCanvas(r));if(r.qr)return extendMargins(i.measureQr(r));throw"Unrecognized document structure: "+JSON.stringify(r,k)}));function extendMargins(r){var i=r._margin;return i&&(r._minWidth+=i[0]+i[2],r._maxWidth+=i[0]+i[2]),r}},DocMeasure.prototype.convertIfBase64Image=function(r){if(/^data:image\/(jpeg|jpg|png);base64,/.test(r.image)){var i="$$pdfmake$$"+this.autoImageIndex++;this.images[i]=r.image,r.image=i}},DocMeasure.prototype.measureImageWithDimensions=function(r,i){if(r.fit){var o=i.width/i.height>r.fit[0]/r.fit[1]?r.fit[0]/i.width:r.fit[1]/i.height;r._width=r._minWidth=r._maxWidth=i.width*o,r._height=i.height*o}else r._width=r._minWidth=r._maxWidth=r.width||i.width,r._height=r.height||i.height*r._width/i.width,w(r.maxWidth)&&r.maxWidth<r._width&&(r._width=r._minWidth=r._maxWidth=r.maxWidth,r._height=r._width*i.height/i.width),w(r.maxHeight)&&r.maxHeight<r._height&&(r._height=r.maxHeight,r._width=r._minWidth=r._maxWidth=r._height*i.width/i.height),w(r.minWidth)&&r.minWidth>r._width&&(r._width=r._minWidth=r._maxWidth=r.minWidth,r._height=r._width*i.height/i.width),w(r.minHeight)&&r.minHeight>r._height&&(r._height=r.minHeight,r._width=r._minWidth=r._maxWidth=r._height*i.width/i.height);r._alignment=this.styleStack.getProperty("alignment")},DocMeasure.prototype.measureImage=function(r){this.images&&this.convertIfBase64Image(r);var i=this.imageMeasure.measureImage(r.image);return this.measureImageWithDimensions(r,i),r},DocMeasure.prototype.measureSVG=function(r){var i=this.svgMeasure.measureSVG(r.svg);return this.measureImageWithDimensions(r,i),r.font=this.styleStack.getProperty("font"),r.svg=this.svgMeasure.writeDimensions(r.svg,{width:r._width,height:r._height}),r},DocMeasure.prototype.measureLeaf=function(r){r._textRef&&r._textRef._textNodeRef.text&&(r.text=r._textRef._textNodeRef.text);var i=this.styleStack.clone();i.push(r);var o=this.textTools.buildInlines(r.text,i);return r._inlines=o.items,r._minWidth=o.minWidth,r._maxWidth=o.maxWidth,r},DocMeasure.prototype.measureToc=function(r){if(r.toc.title&&(r.toc.title=this.measureNode(r.toc.title)),r.toc._items.length>0){for(var i=[],o=r.toc.textStyle||{},u=r.toc.numberStyle||o,p=r.toc.textMargin||[0,0,0,0],g=0,y=r.toc._items.length;g<y;g++){var w=r.toc._items[g],_=w._textNodeRef.tocStyle||o,x=w._textNodeRef.tocMargin||p,k=w._textNodeRef.tocNumberStyle||u,O=P(w._nodeRef);i.push([{text:w._textNodeRef.text,linkToDestination:O,alignment:"left",style:_,margin:x},{text:"00000",linkToDestination:O,alignment:"right",_tocItemRef:w._nodeRef,style:k,margin:[0,x[1],0,x[3]]}])}r.toc._table={table:{dontBreakRows:!0,widths:["*","auto"],body:i},layout:"noBorders"},r.toc._table=this.measureNode(r.toc._table)}return r},DocMeasure.prototype.measureVerticalContainer=function(r){var i=r.stack;r._minWidth=0,r._maxWidth=0;for(var o=0,u=i.length;o<u;o++)i[o]=this.measureNode(i[o]),r._minWidth=Math.max(r._minWidth,i[o]._minWidth),r._maxWidth=Math.max(r._maxWidth,i[o]._maxWidth);return r},DocMeasure.prototype.gapSizeForList=function(){return this.textTools.sizeOfString("9. ",this.styleStack)},DocMeasure.prototype.buildUnorderedMarker=function(r,i,o){var u,p=r.getProperty("markerColor")||r.getProperty("color")||"black";switch(o){case"circle":u=function buildCircle(r,i){var o=r.fontSize/6;return{canvas:[{x:o,y:r.height/r.lineHeight+r.descender-r.fontSize/3,r1:o,r2:o,type:"ellipse",lineColor:i}]}}(i,p);break;case"square":u=function buildSquare(r,i){var o=r.fontSize/3;return{canvas:[{x:0,y:r.height/r.lineHeight+r.descender-r.fontSize/3-o/2,h:o,w:o,type:"rect",color:i}]}}(i,p);break;case"none":u={};break;default:u=function buildDisc(r,i){var o=r.fontSize/6;return{canvas:[{x:o,y:r.height/r.lineHeight+r.descender-r.fontSize/3,r1:o,r2:o,type:"ellipse",color:i}]}}(i,p)}return u._minWidth=u._maxWidth=i.width,u._minHeight=u._maxHeight=i.height,u},DocMeasure.prototype.buildOrderedMarker=function(r,i,o,u){function prepareAlpha(r){return r<1?r.toString():function toAlpha(r){return(r>=26?toAlpha((r/26>>0)-1):"")+"abcdefghijklmnopqrstuvwxyz"[r%26>>0]}(r-1)}function prepareRoman(r){if(r<1||r>4999)return r.toString();var i,o=r,u={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1},p="";for(i in u)for(;o>=u[i];)p+=i,o-=u[i];return p}var p;switch(o){case"none":p=null;break;case"upper-alpha":p=prepareAlpha(r).toUpperCase();break;case"lower-alpha":p=prepareAlpha(r);break;case"upper-roman":p=prepareRoman(r);break;case"lower-roman":p=prepareRoman(r).toLowerCase();break;default:p=function prepareDecimal(r){return r.toString()}(r)}if(null===p)return{};u&&(x(u)?(u[0]&&(p=u[0]+p),u[1]&&(p+=u[1]),p+=" "):p+=u+" ");var g={text:p},y=i.getProperty("markerColor");return y&&(g.color=y),{_inlines:this.textTools.buildInlines(g,i).items}},DocMeasure.prototype.measureUnorderedList=function(r){var i=this.styleStack.clone(),o=r.ul;r.type=r.type||"disc",r._gapSize=this.gapSizeForList(),r._minWidth=0,r._maxWidth=0;for(var u=0,p=o.length;u<p;u++){var g=o[u]=this.measureNode(o[u]);g.ol||g.ul||(g.listMarker=this.buildUnorderedMarker(i,r._gapSize,g.listType||r.type)),r._minWidth=Math.max(r._minWidth,o[u]._minWidth+r._gapSize.width),r._maxWidth=Math.max(r._maxWidth,o[u]._maxWidth+r._gapSize.width)}return r},DocMeasure.prototype.measureOrderedList=function(r){var i=this.styleStack.clone(),o=r.ol;r.type=r.type||"decimal",r.separator=r.separator||".",r.reversed=r.reversed||!1,w(r.start)||(r.start=r.reversed?o.length:1),r._gapSize=this.gapSizeForList(),r._minWidth=0,r._maxWidth=0;for(var u=r.start,p=0,g=o.length;p<g;p++){if(!(_=o[p]=this.measureNode(o[p])).ol&&!_.ul){var y=w(_.counter)?_.counter:u;_.listMarker=this.buildOrderedMarker(y,i,_.listType||r.type,r.separator),_.listMarker._inlines&&(r._gapSize.width=Math.max(r._gapSize.width,_.listMarker._inlines[0].width))}r._minWidth=Math.max(r._minWidth,o[p]._minWidth),r._maxWidth=Math.max(r._maxWidth,o[p]._maxWidth),r.reversed?u--:u++}r._minWidth+=r._gapSize.width,r._maxWidth+=r._gapSize.width;for(p=0,g=o.length;p<g;p++){var _;(_=o[p]).ol||_.ul||(_.listMarker._minWidth=_.listMarker._maxWidth=r._gapSize.width)}return r},DocMeasure.prototype.measureColumns=function(r){var i=r.columns;r._gap=this.styleStack.getProperty("columnGap")||0;for(var o=0,u=i.length;o<u;o++)i[o]=this.measureNode(i[o]);var p=g.measureMinMax(i),y=i.length>0?i.length-1:0;return r._minWidth=p.min+r._gap*y,r._maxWidth=p.max+r._gap*y,r},DocMeasure.prototype.measureTable=function(r){!function extendTableWidths(r){r.table.widths||(r.table.widths="auto");if(y(r.table.widths))for(r.table.widths=[r.table.widths];r.table.widths.length<r.table.body[0].length;)r.table.widths.push(r.table.widths[r.table.widths.length-1]);for(var i=0,o=r.table.widths.length;i<o;i++){var u=r.table.widths[i];(w(u)||y(u))&&(r.table.widths[i]={width:u})}}(r),r._layout=function getLayout(i){var o=r.layout;y(o)&&(o=i[o]);return O({hLineWidth:function(r,i){return 1},vLineWidth:function(r,i){return 1},hLineColor:function(r,i){return"black"},vLineColor:function(r,i){return"black"},hLineStyle:function(r,i){return null},vLineStyle:function(r,i){return null},paddingLeft:function(r,i){return 4},paddingRight:function(r,i){return 4},paddingTop:function(r,i){return 2},paddingBottom:function(r,i){return 2},fillColor:function(r,i){return null},fillOpacity:function(r,i){return 1},defaultBorder:!0},o)}(this.tableLayouts),r._offsets=function getOffsets(i){for(var o=[],u=0,p=0,g=0,y=r.table.widths.length;g<y;g++){var w=p+i.vLineWidth(g,r)+i.paddingLeft(g,r);o.push(w),u+=w,p=i.paddingRight(g,r)}return{total:u+=p+i.vLineWidth(r.table.widths.length,r),offsets:o}}(r._layout);var i,o,u,p,x=[];for(i=0,u=r.table.body[0].length;i<u;i++){var k=r.table.widths[i];for(k._minWidth=0,k._maxWidth=0,o=0,p=r.table.body.length;o<p;o++){var P=r.table.body[o],I=P[i];if(void 0===I)throw"Malformed table row, a cell is undefined.";null===I&&(I=""),I._span||((I=P[i]=this.styleStack.auto(I,measureCb(this,I))).colSpan&&I.colSpan>1?(markSpans(P,i,I.colSpan),x.push({col:i,span:I.colSpan,minWidth:I._minWidth,maxWidth:I._maxWidth})):(k._minWidth=Math.max(k._minWidth,I._minWidth),k._maxWidth=Math.max(k._maxWidth,I._maxWidth))),I.rowSpan&&I.rowSpan>1&&markVSpans(r.table,o,i,I.rowSpan)}}!function extendWidthsForColSpans(){for(var i,o,u=0,p=x.length;u<p;u++){var g=x[u],y=getMinMax(g.col,g.span,r._offsets),w=g.minWidth-y.minWidth,_=g.maxWidth-y.maxWidth;if(w>0)for(i=w/g.span,o=0;o<g.span;o++)r.table.widths[g.col+o]._minWidth+=i;if(_>0)for(i=_/g.span,o=0;o<g.span;o++)r.table.widths[g.col+o]._maxWidth+=i}}();var B=g.measureMinMax(r.table.widths);return r._minWidth=B.min+r._offsets.total,r._maxWidth=B.max+r._offsets.total,r;function measureCb(r,i){return function(){return _(i)&&(i.fillColor=r.styleStack.getProperty("fillColor"),i.fillOpacity=r.styleStack.getProperty("fillOpacity")),r.measureNode(i)}}function getMinMax(i,o,u){for(var p={minWidth:0,maxWidth:0},g=0;g<o;g++)p.minWidth+=r.table.widths[i+g]._minWidth+(g?u.offsets[i+g]:0),p.maxWidth+=r.table.widths[i+g]._maxWidth+(g?u.offsets[i+g]:0);return p}function markSpans(r,i,o){for(var u=1;u<o;u++)r[i+u]={_span:!0,_minWidth:0,_maxWidth:0,rowSpan:r[i].rowSpan}}function markVSpans(r,i,o,u){for(var p=1;p<u;p++)r.body[i+p][o]={_span:!0,_minWidth:0,_maxWidth:0,fillColor:r.body[i][o].fillColor,fillOpacity:r.body[i][o].fillOpacity}}},DocMeasure.prototype.measureCanvas=function(r){for(var i=0,o=0,u=0,p=r.canvas.length;u<p;u++){var g=r.canvas[u];switch(g.type){case"ellipse":i=Math.max(i,g.x+g.r1),o=Math.max(o,g.y+g.r2);break;case"rect":i=Math.max(i,g.x+g.w),o=Math.max(o,g.y+g.h);break;case"line":i=Math.max(i,g.x1,g.x2),o=Math.max(o,g.y1,g.y2);break;case"polyline":for(var y=0,w=g.points.length;y<w;y++)i=Math.max(i,g.points[y].x),o=Math.max(o,g.points[y].y)}}return r._minWidth=r._maxWidth=i,r._minHeight=r._maxHeight=o,r._alignment=this.styleStack.getProperty("alignment"),r},DocMeasure.prototype.measureQr=function(r){return(r=I.measure(r))._alignment=this.styleStack.getProperty("alignment"),r},r.exports=DocMeasure},4889:function(r,i,o){"use strict";var u=o(8823).Buffer,p=o(6225).isString,g=o(6225).isNumber,y=o(6225).isBoolean,w=o(6225).isArray,_=o(6225).isUndefined,x=o(6225).fontStringify;function DocPreprocessor(){}DocPreprocessor.prototype.preprocessDocument=function(r){return this.parentNode=null,this.tocs=[],this.nodeReferences=[],this.preprocessNode(r)},DocPreprocessor.prototype.preprocessNode=function(r){if(w(r)?r={stack:r}:p(r)?r={text:r}:g(r)||y(r)?r={text:r.toString()}:null==r||0===Object.keys(r).length?r={text:""}:!("text"in r)||void 0!==r.text&&null!==r.text||(r.text=""),r.columns)return this.preprocessColumns(r);if(r.stack)return this.preprocessVerticalContainer(r);if(r.ul)return this.preprocessList(r);if(r.ol)return this.preprocessList(r);if(r.table)return this.preprocessTable(r);if(void 0!==r.text)return this.preprocessText(r);if(r.toc)return this.preprocessToc(r);if(r.image)return this.preprocessImage(r);if(r.svg)return this.preprocessSVG(r);if(r.canvas)return this.preprocessCanvas(r);if(r.qr)return this.preprocessQr(r);if(r.pageReference||r.textReference)return this.preprocessText(r);throw"Unrecognized document structure: "+JSON.stringify(r,x)},DocPreprocessor.prototype.preprocessColumns=function(r){for(var i=r.columns,o=0,u=i.length;o<u;o++)i[o]=this.preprocessNode(i[o]);return r},DocPreprocessor.prototype.preprocessVerticalContainer=function(r){for(var i=r.stack,o=0,u=i.length;o<u;o++)i[o]=this.preprocessNode(i[o]);return r},DocPreprocessor.prototype.preprocessList=function(r){for(var i=r.ul||r.ol,o=0,u=i.length;o<u;o++)i[o]=this.preprocessNode(i[o]);return r},DocPreprocessor.prototype.preprocessTable=function(r){var i,o,u,p;for(i=0,u=r.table.body[0].length;i<u;i++)for(o=0,p=r.table.body.length;o<p;o++){var g=r.table.body[o],y=g[i];void 0!==y&&(null===y&&(y=""),y._span||(g[i]=this.preprocessNode(y)))}return r},DocPreprocessor.prototype.preprocessText=function(r){if(r.tocItem){w(r.tocItem)||(r.tocItem=[r.tocItem]);for(var i=0,o=r.tocItem.length;i<o;i++){p(r.tocItem[i])||(r.tocItem[i]="_default_");var u=r.tocItem[i];this.tocs[u]||(this.tocs[u]={toc:{_items:[],_pseudo:!0}}),r.id||(r.id="toc-"+u+"-"+this.tocs[u].toc._items.length);var g={_nodeRef:this._getNodeForNodeRef(r),_textNodeRef:r};this.tocs[u].toc._items.push(g)}}if(r.id)if(this.nodeReferences[r.id]){if(!this.nodeReferences[r.id]._pseudo)throw"Node id '"+r.id+"' already exists";this.nodeReferences[r.id]._nodeRef=this._getNodeForNodeRef(r),this.nodeReferences[r.id]._textNodeRef=r,this.nodeReferences[r.id]._pseudo=!1}else this.nodeReferences[r.id]={_nodeRef:this._getNodeForNodeRef(r),_textNodeRef:r};if(r.pageReference&&(this.nodeReferences[r.pageReference]||(this.nodeReferences[r.pageReference]={_nodeRef:{},_textNodeRef:{},_pseudo:!0}),r.text="00000",r.linkToDestination=r.pageReference,r._pageRef=this.nodeReferences[r.pageReference]),r.textReference&&(this.nodeReferences[r.textReference]||(this.nodeReferences[r.textReference]={_nodeRef:{},_pseudo:!0}),r.text="",r.linkToDestination=r.textReference,r._textRef=this.nodeReferences[r.textReference]),r.text&&r.text.text)r.text=[this.preprocessNode(r.text)];else if(w(r.text)){var y=!1;null===this.parentNode&&(this.parentNode=r,y=!0);for(i=0,o=r.text.length;i<o;i++)r.text[i]=this.preprocessNode(r.text[i]);y&&(this.parentNode=null)}return r},DocPreprocessor.prototype.preprocessToc=function(r){if(r.toc.id||(r.toc.id="_default_"),r.toc.title=r.toc.title?this.preprocessNode(r.toc.title):null,r.toc._items=[],this.tocs[r.toc.id]){if(!this.tocs[r.toc.id].toc._pseudo)throw"TOC '"+r.toc.id+"' already exists";r.toc._items=this.tocs[r.toc.id].toc._items}return this.tocs[r.toc.id]=r,r},DocPreprocessor.prototype.preprocessImage=function(r){return _(r.image.type)||_(r.image.data)||"Buffer"!==r.image.type||!w(r.image.data)||(r.image=u.from(r.image.data)),r},DocPreprocessor.prototype.preprocessSVG=function(r){return r},DocPreprocessor.prototype.preprocessCanvas=function(r){return r},DocPreprocessor.prototype.preprocessQr=function(r){return r},DocPreprocessor.prototype._getNodeForNodeRef=function(r){return this.parentNode?this.parentNode:r},r.exports=DocPreprocessor},3858:function(r,i,o){"use strict";var u=o(8537),p=o(6225).isString;function DocumentContext(r,i){this.pages=[],this.pageMargins=i,this.x=i.left,this.availableWidth=r.width-i.left-i.right,this.availableHeight=0,this.page=-1,this.snapshots=[],this.endingCell=null,this.tracker=new u,this.backgroundLength=[],this.addPage(r)}DocumentContext.prototype.beginColumnGroup=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,bottomMost:{x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page},endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth}),this.lastColumnWidth=0},DocumentContext.prototype.beginColumn=function(r,i,o){var u=this.snapshots[this.snapshots.length-1];this.calculateBottomMost(u),this.endingCell=o,this.page=u.page,this.x=this.x+this.lastColumnWidth+(i||0),this.y=u.y,this.availableWidth=r,this.availableHeight=u.availableHeight,this.lastColumnWidth=r},DocumentContext.prototype.calculateBottomMost=function(r){this.endingCell?(this.saveContextInEndingCell(this.endingCell),this.endingCell=null):r.bottomMost=function bottomMostContext(r,i){var o;o=r.page>i.page?r:i.page>r.page?i:r.y>i.y?r:i;return{page:o.page,x:o.x,y:o.y,availableHeight:o.availableHeight,availableWidth:o.availableWidth}}(this,r.bottomMost)},DocumentContext.prototype.markEnding=function(r){this.page=r._columnEndingContext.page,this.x=r._columnEndingContext.x,this.y=r._columnEndingContext.y,this.availableWidth=r._columnEndingContext.availableWidth,this.availableHeight=r._columnEndingContext.availableHeight,this.lastColumnWidth=r._columnEndingContext.lastColumnWidth},DocumentContext.prototype.saveContextInEndingCell=function(r){r._columnEndingContext={page:this.page,x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,lastColumnWidth:this.lastColumnWidth}},DocumentContext.prototype.completeColumnGroup=function(r){var i=this.snapshots.pop();this.calculateBottomMost(i),this.endingCell=null,this.x=i.x;var o=i.bottomMost.y;r&&(i.page===i.bottomMost.page?i.y+r>o&&(o=i.y+r):o+=r),this.y=o,this.page=i.bottomMost.page,this.availableWidth=i.availableWidth,this.availableHeight=i.bottomMost.availableHeight,r&&(this.availableHeight-=o-i.bottomMost.y),this.lastColumnWidth=i.lastColumnWidth},DocumentContext.prototype.addMargin=function(r,i){this.x+=r,this.availableWidth-=r+(i||0)},DocumentContext.prototype.moveDown=function(r){return this.y+=r,this.availableHeight-=r,this.availableHeight>0},DocumentContext.prototype.initializePage=function(){this.y=this.pageMargins.top,this.availableHeight=this.getCurrentPage().pageSize.height-this.pageMargins.top-this.pageMargins.bottom,this.pageSnapshot().availableWidth=this.getCurrentPage().pageSize.width-this.pageMargins.left-this.pageMargins.right},DocumentContext.prototype.pageSnapshot=function(){return this.snapshots[0]?this.snapshots[0]:this},DocumentContext.prototype.moveTo=function(r,i){null!=r&&(this.x=r,this.availableWidth=this.getCurrentPage().pageSize.width-this.x-this.pageMargins.right),null!=i&&(this.y=i,this.availableHeight=this.getCurrentPage().pageSize.height-this.y-this.pageMargins.bottom)},DocumentContext.prototype.moveToRelative=function(r,i){null!=r&&(this.x=this.x+r),null!=i&&(this.y=this.y+i)},DocumentContext.prototype.beginDetachedBlock=function(){this.snapshots.push({x:this.x,y:this.y,availableHeight:this.availableHeight,availableWidth:this.availableWidth,page:this.page,endingCell:this.endingCell,lastColumnWidth:this.lastColumnWidth})},DocumentContext.prototype.endDetachedBlock=function(){var r=this.snapshots.pop();this.x=r.x,this.y=r.y,this.availableWidth=r.availableWidth,this.availableHeight=r.availableHeight,this.page=r.page,this.endingCell=r.endingCell,this.lastColumnWidth=r.lastColumnWidth};var getPageSize=function(r,i){return(i=function pageOrientation(r,i){return void 0===r?i:p(r)&&"landscape"===r.toLowerCase()?"landscape":"portrait"}(i,r.pageSize.orientation))!==r.pageSize.orientation?{orientation:i,width:r.pageSize.height,height:r.pageSize.width}:{orientation:r.pageSize.orientation,width:r.pageSize.width,height:r.pageSize.height}};DocumentContext.prototype.moveToNextPage=function(r){var i=this.page+1,o=this.page,u=this.y,p=i>=this.pages.length;if(p){var g=this.availableWidth,y=this.getCurrentPage().pageSize.orientation,w=getPageSize(this.getCurrentPage(),r);this.addPage(w),y===w.orientation&&(this.availableWidth=g)}else this.page=i,this.initializePage();return{newPageCreated:p,prevPage:o,prevY:u,y:this.y}},DocumentContext.prototype.addPage=function(r){var i={items:[],pageSize:r};return this.pages.push(i),this.backgroundLength.push(0),this.page=this.pages.length-1,this.initializePage(),this.tracker.emit("pageAdded"),i},DocumentContext.prototype.getCurrentPage=function(){return this.page<0||this.page>=this.pages.length?null:this.pages[this.page]},DocumentContext.prototype.getCurrentPosition=function(){var r=this.getCurrentPage().pageSize,i=r.height-this.pageMargins.top-this.pageMargins.bottom,o=r.width-this.pageMargins.left-this.pageMargins.right;return{pageNumber:this.page+1,pageOrientation:r.orientation,pageInnerHeight:i,pageInnerWidth:o,left:this.x,top:this.y,verticalRatio:(this.y-this.pageMargins.top)/i,horizontalRatio:(this.x-this.pageMargins.left)/o}},r.exports=DocumentContext},1196:function(r,i,o){"use strict";var u=o(4775),p=o(6225).isNumber,g=o(6225).pack,y=o(6225).offsetVector,w=o(3858);function ElementWriter(r,i){this.context=r,this.contextStack=[],this.tracker=i}function addPageItem(r,i,o){null==o||o<0||o>r.items.length?r.items.push(i):r.items.splice(o,0,i)}ElementWriter.prototype.addLine=function(r,i,o){var u=r.getHeight(),p=this.context,g=p.getCurrentPage(),y=this.getCurrentPositionOnPage();return!(p.availableHeight<u||!g)&&(r.x=p.x+(r.x||0),r.y=p.y+(r.y||0),this.alignLine(r),addPageItem(g,{type:"line",item:r},o),this.tracker.emit("lineAdded",r),i||p.moveDown(u),y)},ElementWriter.prototype.alignLine=function(r){var i=this.context.availableWidth,o=r.getWidth(),u=r.inlines&&r.inlines.length>0&&r.inlines[0].alignment,p=0;switch(u){case"right":p=i-o;break;case"center":p=(i-o)/2}if(p&&(r.x=(r.x||0)+p),"justify"===u&&!r.newLineForced&&!r.lastLineInParagraph&&r.inlines.length>1)for(var g=(i-o)/(r.inlines.length-1),y=1,w=r.inlines.length;y<w;y++)p=y*g,r.inlines[y].x+=p,r.inlines[y].justifyShift=g},ElementWriter.prototype.addImage=function(r,i,o){var u=this.context,p=u.getCurrentPage(),g=this.getCurrentPositionOnPage();return!(!p||void 0===r.absolutePosition&&u.availableHeight<r._height&&p.items.length>0)&&(void 0===r._x&&(r._x=r.x||0),r.x=u.x+r._x,r.y=u.y,this.alignImage(r),addPageItem(p,{type:o||"image",item:r},i),u.moveDown(r._height),g)},ElementWriter.prototype.addSVG=function(r,i){return this.addImage(r,i,"svg")},ElementWriter.prototype.addQr=function(r,i){var o=this.context,u=o.getCurrentPage(),p=this.getCurrentPositionOnPage();if(!u||void 0===r.absolutePosition&&o.availableHeight<r._height)return!1;void 0===r._x&&(r._x=r.x||0),r.x=o.x+r._x,r.y=o.y,this.alignImage(r);for(var g=0,y=r._canvas.length;g<y;g++){var w=r._canvas[g];w.x+=r.x,w.y+=r.y,this.addVector(w,!0,!0,i)}return o.moveDown(r._height),p},ElementWriter.prototype.alignImage=function(r){var i=this.context.availableWidth,o=r._minWidth,u=0;switch(r._alignment){case"right":u=i-o;break;case"center":u=(i-o)/2}u&&(r.x=(r.x||0)+u)},ElementWriter.prototype.alignCanvas=function(r){var i=this.context.availableWidth,o=r._minWidth,u=0;switch(r._alignment){case"right":u=i-o;break;case"center":u=(i-o)/2}u&&r.canvas.forEach((function(r){y(r,u,0)}))},ElementWriter.prototype.addVector=function(r,i,o,u){var p=this.context,g=p.getCurrentPage(),w=this.getCurrentPositionOnPage();if(g)return y(r,i?0:p.x,o?0:p.y),addPageItem(g,{type:"vector",item:r},u),w},ElementWriter.prototype.beginClip=function(r,i){var o=this.context;return o.getCurrentPage().items.push({type:"beginClip",item:{x:o.x,y:o.y,width:r,height:i}}),!0},ElementWriter.prototype.endClip=function(){return this.context.getCurrentPage().items.push({type:"endClip"}),!0},ElementWriter.prototype.addFragment=function(r,i,o,p){var w=this.context,_=w.getCurrentPage();return!(!i&&r.height>w.availableHeight)&&(r.items.forEach((function(p){switch(p.type){case"line":var x=function cloneLine(r){var i=new u(r.maxWidth);for(var o in r)r.hasOwnProperty(o)&&(i[o]=r[o]);return i}(p.item);x._node&&(x._node.positions[0].pageNumber=w.page+1),x.x=(x.x||0)+(i?r.xOffset||0:w.x),x.y=(x.y||0)+(o?r.yOffset||0:w.y),_.items.push({type:"line",item:x});break;case"vector":var k=g(p.item);y(k,i?r.xOffset||0:w.x,o?r.yOffset||0:w.y),_.items.push({type:"vector",item:k});break;case"image":case"svg":var P=g(p.item);P.x=(P.x||0)+(i?r.xOffset||0:w.x),P.y=(P.y||0)+(o?r.yOffset||0:w.y),_.items.push({type:p.type,item:P})}})),p||w.moveDown(r.height),!0)},ElementWriter.prototype.pushContext=function(r,i){void 0===r&&(i=this.context.getCurrentPage().height-this.context.pageMargins.top-this.context.pageMargins.bottom,r=this.context.availableWidth),p(r)&&(r=new w({width:r,height:i},{left:0,right:0,top:0,bottom:0})),this.contextStack.push(this.context),this.context=r},ElementWriter.prototype.popContext=function(){this.context=this.contextStack.pop()},ElementWriter.prototype.getCurrentPositionOnPage=function(){return(this.contextStack[0]||this.context).getCurrentPosition()},r.exports=ElementWriter},2249:function(r,i,o){"use strict";var u=o(6225).isArray;function FontProvider(r,i){for(var o in this.fonts={},this.pdfKitDoc=i,this.fontCache={},r)if(r.hasOwnProperty(o)){var u=r[o];this.fonts[o]={normal:u.normal,bold:u.bold,italics:u.italics,bolditalics:u.bolditalics}}}FontProvider.prototype.getFontType=function(r,i){return function typeName(r,i){var o="normal";return r&&i?o="bolditalics":r?o="bold":i&&(o="italics"),o}(r,i)},FontProvider.prototype.getFontFile=function(r,i,o){var u=this.getFontType(i,o);return this.fonts[r]&&this.fonts[r][u]?this.fonts[r][u]:null},FontProvider.prototype.provideFont=function(r,i,o){var p=this.getFontType(i,o);if(null===this.getFontFile(r,i,o))throw new Error("Font '"+r+"' in style '"+p+"' is not defined in the font section of the document definition.");if(this.fontCache[r]=this.fontCache[r]||{},!this.fontCache[r][p]){var g=this.fonts[r][p];u(g)||(g=[g]),this.fontCache[r][p]=this.pdfKitDoc.font.apply(this.pdfKitDoc,g)._font}return this.fontCache[r][p]},r.exports=FontProvider},6225:function(r){"use strict";function isArray(r){return Array.isArray(r)}r.exports={isString:function isString(r){return"string"==typeof r||r instanceof String},isNumber:function isNumber(r){return"number"==typeof r||r instanceof Number},isBoolean:function isBoolean(r){return"boolean"==typeof r},isArray:isArray,isFunction:function isFunction(r){return"function"==typeof r},isObject:function isObject(r){return null!==r&&"object"==typeof r},isNull:function isNull(r){return null===r},isUndefined:function isUndefined(r){return void 0===r},pack:function pack(){for(var r={},i=0,o=arguments.length;i<o;i++){var u=arguments[i];if(u)for(var p in u)u.hasOwnProperty(p)&&(r[p]=u[p])}return r},fontStringify:function fontStringify(r,i){return"font"===r?"font":i},offsetVector:function offsetVector(r,i,o){switch(r.type){case"ellipse":case"rect":r.x+=i,r.y+=o;break;case"line":r.x1+=i,r.x2+=i,r.y1+=o,r.y2+=o;break;case"polyline":for(var u=0,p=r.points.length;u<p;u++)r.points[u].x+=i,r.points[u].y+=o}},getNodeId:function getNodeId(r){if(r.id)return r.id;if(isArray(r.text))for(var i=0,o=r.text.length;i<o;i++){var u=getNodeId(r.text[i]);if(u)return u}return null},isPattern:function isPattern(r){return isArray(r)&&2===r.length},getPattern:function getPattern(r,i){return[i[r[0]],r[1]]}}},3090:function(r,i,o){"use strict";var u=o(8823).Buffer,p=o(3857);function ImageMeasure(r,i){this.pdfKitDoc=r,this.imageDictionary=i||{}}ImageMeasure.prototype.measureImage=function(r){var i,o=this;if(this.pdfKitDoc._imageRegistry[r])i=this.pdfKitDoc._imageRegistry[r];else{try{if(i=this.pdfKitDoc.openImage(function realImageSrc(r){var i=o.imageDictionary[r];if(!i)return r;if(p.existsSync(i))return p.readFileSync(i);var g=i.indexOf("base64,");if(g<0)return o.imageDictionary[r];return u.from(i.substring(g+7),"base64")}(r)),!i)throw"No image"}catch(r){throw"Invalid image: "+r.toString()+"\nImages dictionary should contain dataURL entries (or local file paths in node.js)"}i.embed(this.pdfKitDoc),this.pdfKitDoc._imageRegistry[r]=i}return{width:i.width,height:i.height}},r.exports=ImageMeasure},2678:function(r,i,o){"use strict";var u=o(8537),p=o(4889),g=o(1728),y=o(3858),w=o(2912),_=o(4498),x=o(9342),k=o(4775),P=o(6225).isString,O=o(6225).isArray,I=o(6225).isUndefined,B=o(6225).isNull,R=o(6225).pack,D=o(6225).offsetVector,N=o(6225).fontStringify,W=o(6225).getNodeId,U=o(6225).isFunction,j=o(1350),G=o(7597),X=o(6225).isNumber;function addAll(r,i){i.forEach((function(i){r.push(i)}))}function LayoutBuilder(r,i,o,p){this.pageSize=r,this.pageMargins=i,this.tracker=new u,this.imageMeasure=o,this.svgMeasure=p,this.tableLayouts={}}LayoutBuilder.prototype.registerTableLayouts=function(r){this.tableLayouts=R(this.tableLayouts,r)},LayoutBuilder.prototype.layoutDocument=function(r,i,o,u,y,w,_,x,k,P){function addPageBreaksIfNecessary(r,i){if(!U(P))return!1;r=r.filter((function(r){return r.positions.length>0})),r.forEach((function(r){var o={};["id","text","ul","ol","table","image","qr","canvas","svg","columns","headlineLevel","style","pageBreak","pageOrientation","width","height"].forEach((function(i){void 0!==r[i]&&(o[i]=r[i])})),o.startPosition=r.positions[0],o.pageNumbers=Array.from(new Set(r.positions.map((function(r){return r.pageNumber})))),o.pages=i.length,o.stack=O(r.stack),r.nodeInfo=o}));for(var o=0;o<r.length;o++){var u=r[o];if("before"!==u.pageBreak&&!u.pageBreakCalculated){u.pageBreakCalculated=!0;var p=u.nodeInfo.pageNumbers[0],g=[],y=[],w=[];if(P.length>1)for(var _=o+1,x=r.length;_<x;_++)r[_].nodeInfo.pageNumbers.indexOf(p)>-1&&g.push(r[_].nodeInfo),P.length>2&&r[_].nodeInfo.pageNumbers.indexOf(p+1)>-1&&y.push(r[_].nodeInfo);if(P.length>3)for(_=0;_<o;_++)r[_].nodeInfo.pageNumbers.indexOf(p)>-1&&w.push(r[_].nodeInfo);if(P(u.nodeInfo,g,y,w))return u.pageBreak="before",!0}}return!1}function resetXYs(r){r.linearNodeList.forEach((function(r){r.resetXY()}))}this.docPreprocessor=new p,this.docMeasure=new g(i,o,u,this.imageMeasure,this.svgMeasure,this.tableLayouts,x);for(var I=this.tryLayoutDocument(r,i,o,u,y,w,_,x,k);addPageBreaksIfNecessary(I.linearNodeList,I.pages);)resetXYs(I),I=this.tryLayoutDocument(r,i,o,u,y,w,_,x,k);return I.pages},LayoutBuilder.prototype.tryLayoutDocument=function(r,i,o,u,p,g,_,x,k,P){this.linearNodeList=[],r=this.docPreprocessor.preprocessDocument(r),r=this.docMeasure.measureDocument(r),this.writer=new w(new y(this.pageSize,this.pageMargins),this.tracker);var O=this;return this.writer.context().tracker.startTracking("pageAdded",(function(){O.addBackground(p)})),this.addBackground(p),this.processNode(r),this.addHeadersAndFooters(g,_),null!=k&&this.addWatermark(k,i,u),{pages:this.writer.context().pages,linearNodeList:this.linearNodeList}},LayoutBuilder.prototype.addBackground=function(r){var i=U(r)?r:function(){return r},o=this.writer.context(),u=o.getCurrentPage().pageSize,p=i(o.page+1,u);p&&(this.writer.beginUnbreakableBlock(u.width,u.height),p=this.docPreprocessor.preprocessDocument(p),this.processNode(this.docMeasure.measureDocument(p)),this.writer.commitUnbreakableBlock(0,0),o.backgroundLength[o.page]+=p.positions.length)},LayoutBuilder.prototype.addStaticRepeatable=function(r,i){this.addDynamicRepeatable((function(){return JSON.parse(JSON.stringify(r))}),i)},LayoutBuilder.prototype.addDynamicRepeatable=function(r,i){for(var o=0,u=this.writer.context().pages.length;o<u;o++){this.writer.context().page=o;var p=r(o+1,u,this.writer.context().pages[o].pageSize);if(p){var g=i(this.writer.context().getCurrentPage().pageSize,this.pageMargins);this.writer.beginUnbreakableBlock(g.width,g.height),p=this.docPreprocessor.preprocessDocument(p),this.processNode(this.docMeasure.measureDocument(p)),this.writer.commitUnbreakableBlock(g.x,g.y)}}},LayoutBuilder.prototype.addHeadersAndFooters=function(r,i){var headerSizeFct=function(r,i){return{x:0,y:0,width:r.width,height:i.top}},footerSizeFct=function(r,i){return{x:0,y:r.height-i.bottom,width:r.width,height:i.bottom}};U(r)?this.addDynamicRepeatable(r,headerSizeFct):r&&this.addStaticRepeatable(r,headerSizeFct),U(i)?this.addDynamicRepeatable(i,footerSizeFct):i&&this.addStaticRepeatable(i,footerSizeFct)},LayoutBuilder.prototype.addWatermark=function(r,i,o){if(P(r)&&(r={text:r}),r.text){r.font=r.font||o.font||"Roboto",r.fontSize=r.fontSize||"auto",r.color=r.color||"black",r.opacity=X(r.opacity)?r.opacity:.6,r.bold=r.bold||!1,r.italics=r.italics||!1,r.angle=I(r.angle)||B(r.angle)?null:r.angle,null===r.angle&&(r.angle=-180*Math.atan2(this.pageSize.height,this.pageSize.width)/Math.PI),"auto"===r.fontSize&&(r.fontSize=function getWatermarkFontSize(r,i,o){var u,p=new j(o),g=new G(null,{font:i.font,bold:i.bold,italics:i.italics}),y=0,w=1e3,_=(y+w)/2;for(;Math.abs(y-w)>1;)g.push({fontSize:_}),(u=p.sizeOfRotatedText(i.text,i.angle,g)).width>r.width?_=(y+(w=_))/2:u.width<r.width&&(_=u.height>r.height?(y+(w=_))/2:((y=_)+w)/2),g.pop();return _}(this.pageSize,r,i));var u={text:r.text,font:i.provideFont(r.font,r.bold,r.italics),fontSize:r.fontSize,color:r.color,opacity:r.opacity,angle:r.angle};u._size=function getWatermarkSize(r,i){var o=new j(i),u=new G(null,{font:r.font,bold:r.bold,italics:r.italics});u.push({fontSize:r.fontSize});var p=o.sizeOfString(r.text,u),g=o.sizeOfRotatedText(r.text,r.angle,u);return{size:p,rotatedSize:g}}(r,i);for(var p=this.writer.context().pages,g=0,y=p.length;g<y;g++)p[g].watermark=u}},LayoutBuilder.prototype.processNode=function(r){var i=this;this.linearNodeList.push(r),function decorateNode(r){var i=r.x,o=r.y;r.positions=[],O(r.canvas)&&r.canvas.forEach((function(r){var i=r.x,o=r.y,u=r.x1,p=r.y1,g=r.x2,y=r.y2;r.resetXY=function(){r.x=i,r.y=o,r.x1=u,r.y1=p,r.x2=g,r.y2=y}})),r.resetXY=function(){r.x=i,r.y=o,O(r.canvas)&&r.canvas.forEach((function(r){r.resetXY()}))}}(r),function applyMargins(o){var u=r._margin;"before"===r.pageBreak?i.writer.moveToNextPage(r.pageOrientation):"beforeOdd"===r.pageBreak?(i.writer.moveToNextPage(r.pageOrientation),(i.writer.context().page+1)%2==1&&i.writer.moveToNextPage(r.pageOrientation)):"beforeEven"===r.pageBreak&&(i.writer.moveToNextPage(r.pageOrientation),(i.writer.context().page+1)%2==0&&i.writer.moveToNextPage(r.pageOrientation));u&&(i.writer.context().moveDown(u[1]),i.writer.context().addMargin(u[0],u[2]));o(),u&&(i.writer.context().addMargin(-u[0],-u[2]),i.writer.context().moveDown(u[3]));"after"===r.pageBreak?i.writer.moveToNextPage(r.pageOrientation):"afterOdd"===r.pageBreak?(i.writer.moveToNextPage(r.pageOrientation),(i.writer.context().page+1)%2==1&&i.writer.moveToNextPage(r.pageOrientation)):"afterEven"===r.pageBreak&&(i.writer.moveToNextPage(r.pageOrientation),(i.writer.context().page+1)%2==0&&i.writer.moveToNextPage(r.pageOrientation))}((function(){var o=r.unbreakable;o&&i.writer.beginUnbreakableBlock();var u=r.absolutePosition;u&&(i.writer.context().beginDetachedBlock(),i.writer.context().moveTo(u.x||0,u.y||0));var p=r.relativePosition;if(p&&(i.writer.context().beginDetachedBlock(),i.writer.context().moveToRelative(p.x||0,p.y||0)),r.stack)i.processVerticalContainer(r);else if(r.columns)i.processColumns(r);else if(r.ul)i.processList(!1,r);else if(r.ol)i.processList(!0,r);else if(r.table)i.processTable(r);else if(void 0!==r.text)i.processLeaf(r);else if(r.toc)i.processToc(r);else if(r.image)i.processImage(r);else if(r.svg)i.processSVG(r);else if(r.canvas)i.processCanvas(r);else if(r.qr)i.processQr(r);else if(!r._span)throw"Unrecognized document structure: "+JSON.stringify(r,N);(u||p)&&i.writer.context().endDetachedBlock(),o&&i.writer.commitUnbreakableBlock()}))},LayoutBuilder.prototype.processVerticalContainer=function(r){var i=this;r.stack.forEach((function(o){i.processNode(o),addAll(r.positions,o.positions)}))},LayoutBuilder.prototype.processColumns=function(r){var i=r.columns,o=this.writer.context().availableWidth,u=function gapArray(r){if(!r)return null;var o=[];o.push(0);for(var u=i.length-1;u>0;u--)o.push(r);return o}(r._gap);u&&(o-=(u.length-1)*r._gap),_.buildColumnWidths(i,o);var p=this.processRow(i,i,u);addAll(r.positions,p.positions)},LayoutBuilder.prototype.processRow=function(r,i,o,u,p,g){var y=this,w=[],_=[];return this.tracker.auto("pageChanged",(function storePageBreakData(r){for(var i,o=0,u=w.length;o<u;o++){var p=w[o];if(p.prevPage===r.prevPage){i=p;break}}i||(i=r,w.push(i));i.prevY=Math.max(i.prevY,r.prevY),i.y=Math.min(i.y,r.y)}),(function(){i=i||r,y.writer.context().beginColumnGroup();for(var u=0,p=r.length;u<p;u++){var w=r[u],x=i[u]._calcWidth,k=colLeftOffset(u);if(w.colSpan&&w.colSpan>1)for(var P=1;P<w.colSpan;P++)x+=i[++u]._calcWidth+o[u];y.writer.context().beginColumn(x,k,getEndingCell(w,u)),w._span?w._columnEndingContext&&y.writer.context().markEnding(w):(y.processNode(w),addAll(_,w.positions))}y.writer.context().completeColumnGroup(g)})),{pageBreaks:w,positions:_};function colLeftOffset(r){return o&&o.length>r?o[r]:0}function getEndingCell(r,i){if(r.rowSpan&&r.rowSpan>1){var o=p+r.rowSpan-1;if(o>=u.length)throw"Row span for column "+i+" (with indexes starting from 0) exceeded row count";return u[o][i]}return null}},LayoutBuilder.prototype.processList=function(r,i){var o,u=this,p=r?i.ol:i.ul,g=i._gapSize;this.writer.context().addMargin(g.width),this.tracker.auto("lineAdded",(function addMarkerToFirstLeaf(r){if(o){var i=o;if(o=null,i.canvas){var p=i.canvas[0];D(p,-i._minWidth,0),u.writer.addVector(p)}else if(i._inlines){var g=new k(u.pageSize.width);g.addInline(i._inlines[0]),g.x=-i._minWidth,g.y=r.getAscenderHeight()-g.getAscenderHeight(),u.writer.addLine(g,!0)}}}),(function(){p.forEach((function(r){o=r.listMarker,u.processNode(r),addAll(i.positions,r.positions)}))})),this.writer.context().addMargin(-g.width)},LayoutBuilder.prototype.processTable=function(r){var i=new x(r);i.beginTable(this.writer);for(var o=r.table.heights,u=0,p=r.table.body.length;u<p;u++){var g;i.beginRow(u,this.writer),"auto"===(g=U(o)?o(u):O(o)?o[u]:o)&&(g=void 0);var y=this.processRow(r.table.body[u],r.table.widths,r._offsets.offsets,r.table.body,u,g);addAll(r.positions,y.positions),i.endRow(u,this.writer,y.pageBreaks)}i.endTable(this.writer)},LayoutBuilder.prototype.processLeaf=function(r){var i=this.buildNextLine(r);i&&(r.tocItem||r.id)&&(i._node=r);var o=i?i.getHeight():0,u=r.maxHeight||-1;if(i){var p=W(r);p&&(i.id=p)}if(r._tocItemRef&&(i._pageNodeRef=r._tocItemRef),r._pageRef&&(i._pageNodeRef=r._pageRef._nodeRef),i&&i.inlines&&O(i.inlines))for(var g=0,y=i.inlines.length;g<y;g++)i.inlines[g]._tocItemRef&&(i.inlines[g]._pageNodeRef=i.inlines[g]._tocItemRef),i.inlines[g]._pageRef&&(i.inlines[g]._pageNodeRef=i.inlines[g]._pageRef._nodeRef);for(;i&&(-1===u||o<u);){var w=this.writer.addLine(i);r.positions.push(w),(i=this.buildNextLine(r))&&(o+=i.getHeight())}},LayoutBuilder.prototype.processToc=function(r){r.toc.title&&this.processNode(r.toc.title),r.toc._table&&this.processNode(r.toc._table)},LayoutBuilder.prototype.buildNextLine=function(r){function cloneInline(r){var i=r.constructor();for(var o in r)i[o]=r[o];return i}if(!r._inlines||0===r._inlines.length)return null;for(var i=new k(this.writer.context().availableWidth),o=new j(null),u=!1;r._inlines&&r._inlines.length>0&&(i.hasEnoughSpaceForInline(r._inlines[0],r._inlines.slice(1))||u);){var p=!1,g=r._inlines.shift();if(u=!1,!g.noWrap&&g.text.length>1&&g.width>i.getAvailableWidth()){var y=g.width/g.text.length,w=Math.floor(i.getAvailableWidth()/y);if(w<1&&(w=1),w<g.text.length){var _=cloneInline(g);_.text=g.text.substr(w),g.text=g.text.substr(0,w),_.width=o.widthOfString(_.text,_.font,_.fontSize,_.characterSpacing,_.fontFeatures),g.width=o.widthOfString(g.text,g.font,g.fontSize,g.characterSpacing,g.fontFeatures),r._inlines.unshift(_),p=!0}}i.addInline(g),u=g.noNewLine&&!p}return i.lastLineInParagraph=0===r._inlines.length,i},LayoutBuilder.prototype.processImage=function(r){var i=this.writer.addImage(r);r.positions.push(i)},LayoutBuilder.prototype.processSVG=function(r){var i=this.writer.addSVG(r);r.positions.push(i)},LayoutBuilder.prototype.processCanvas=function(r){var i=r._minHeight;void 0===r.absolutePosition&&this.writer.context().availableHeight<i&&this.writer.moveToNextPage(),this.writer.alignCanvas(r),r.canvas.forEach((function(i){var o=this.writer.addVector(i);r.positions.push(o)}),this),this.writer.context().moveDown(i)},LayoutBuilder.prototype.processQr=function(r){var i=this.writer.addQr(r);r.positions.push(i)},r.exports=LayoutBuilder},4775:function(r){"use strict";function Line(r){this.maxWidth=r,this.leadingCut=0,this.trailingCut=0,this.inlineWidths=0,this.inlines=[]}Line.prototype.getAscenderHeight=function(){var r=0;return this.inlines.forEach((function(i){r=Math.max(r,i.font.ascender/1e3*i.fontSize)})),r},Line.prototype.hasEnoughSpaceForInline=function(r,i){if(i=i||[],0===this.inlines.length)return!0;if(this.newLineForced)return!1;var o=r.width,u=r.trailingCut||0;if(r.noNewLine)for(var p=0,g=i.length;p<g;p++){var y=i[p];if(o+=y.width,u+=y.trailingCut||0,!y.noNewLine)break}return this.inlineWidths+o-this.leadingCut-u<=this.maxWidth},Line.prototype.addInline=function(r){0===this.inlines.length&&(this.leadingCut=r.leadingCut||0),this.trailingCut=r.trailingCut||0,r.x=this.inlineWidths-this.leadingCut,this.inlines.push(r),this.inlineWidths+=r.width,r.lineEnd&&(this.newLineForced=!0)},Line.prototype.getWidth=function(){return this.inlineWidths-this.leadingCut-this.trailingCut},Line.prototype.getAvailableWidth=function(){return this.maxWidth-this.getWidth()},Line.prototype.getHeight=function(){var r=0;return this.inlines.forEach((function(i){r=Math.max(r,i.height||0)})),r},r.exports=Line},2912:function(r,i,o){"use strict";var u=o(6225).isUndefined,p=o(1196);function PageElementWriter(r,i){this.transactionLevel=0,this.repeatables=[],this.tracker=i,this.writer=new p(r,i)}function fitOnPage(r,i){var o=i(r);return o||(r.moveToNextPage(),o=i(r)),o}PageElementWriter.prototype.addLine=function(r,i,o){return fitOnPage(this,(function(u){return u.writer.addLine(r,i,o)}))},PageElementWriter.prototype.addImage=function(r,i){return fitOnPage(this,(function(o){return o.writer.addImage(r,i)}))},PageElementWriter.prototype.addSVG=function(r,i){return fitOnPage(this,(function(o){return o.writer.addSVG(r,i)}))},PageElementWriter.prototype.addQr=function(r,i){return fitOnPage(this,(function(o){return o.writer.addQr(r,i)}))},PageElementWriter.prototype.addVector=function(r,i,o,u){return this.writer.addVector(r,i,o,u)},PageElementWriter.prototype.beginClip=function(r,i){return this.writer.beginClip(r,i)},PageElementWriter.prototype.endClip=function(){return this.writer.endClip()},PageElementWriter.prototype.alignCanvas=function(r){this.writer.alignCanvas(r)},PageElementWriter.prototype.addFragment=function(r,i,o,u){this.writer.addFragment(r,i,o,u)||(this.moveToNextPage(),this.writer.addFragment(r,i,o,u))},PageElementWriter.prototype.moveToNextPage=function(r){var i=this.writer.context.moveToNextPage(r);this.repeatables.forEach((function(r){u(r.insertedOnPages[this.writer.context.page])?(r.insertedOnPages[this.writer.context.page]=!0,this.writer.addFragment(r,!0)):this.writer.context.moveDown(r.height)}),this),this.writer.tracker.emit("pageChanged",{prevPage:i.prevPage,prevY:i.prevY,y:this.writer.context.y})},PageElementWriter.prototype.beginUnbreakableBlock=function(r,i){0==this.transactionLevel++&&(this.originalX=this.writer.context.x,this.writer.pushContext(r,i))},PageElementWriter.prototype.commitUnbreakableBlock=function(r,i){if(0==--this.transactionLevel){var o=this.writer.context;this.writer.popContext();var u=o.pages.length;if(u>0){var p=o.pages[0];if(p.xOffset=r,p.yOffset=i,u>1)if(void 0!==r||void 0!==i)p.height=o.getCurrentPage().pageSize.height-o.pageMargins.top-o.pageMargins.bottom;else{p.height=this.writer.context.getCurrentPage().pageSize.height-this.writer.context.pageMargins.top-this.writer.context.pageMargins.bottom;for(var g=0,y=this.repeatables.length;g<y;g++)p.height-=this.repeatables[g].height}else p.height=o.y;void 0!==r||void 0!==i?this.writer.addFragment(p,!0,!0,!0):this.addFragment(p)}}},PageElementWriter.prototype.currentBlockToRepeatable=function(){var r=this.writer.context,i={items:[]};return r.pages[0].items.forEach((function(r){i.items.push(r)})),i.xOffset=this.originalX,i.height=r.y,i.insertedOnPages=[],i},PageElementWriter.prototype.pushToRepeatables=function(r){this.repeatables.push(r)},PageElementWriter.prototype.popFromRepeatables=function(){this.repeatables.pop()},PageElementWriter.prototype.context=function(){return this.writer.context},r.exports=PageElementWriter},6079:function(r,i,o){"use strict";var u=function _interopDefault(r){return r&&"object"==typeof r&&"default"in r?r.default:r}(o(5219));r.exports={getEngineInstance:function getEngineInstance(){return u},createPdfDocument:function createPdfDocument(r){return new u(r=r||{})}}},8617:function(r,i,o){"use strict";var u=o(6079),p=o(2249),g=o(2678),y=o(4762),w=o(3090),_=o(7601),x=o(3497),k=o(1350),P=o(6225).isFunction,O=o(6225).isString,I=o(6225).isNumber,B=o(6225).isBoolean,R=o(6225).isArray,D=o(6225).isUndefined,N=o(6225).isPattern,W=o(6225).getPattern,U=o(8071);function PdfPrinter(r){this.fontDescriptors=r}function createMetadata(r){function standardizePropertyKey(r){var i=r.charAt(0).toUpperCase()+r.slice(1);return-1!==["Title","Author","Subject","Keywords","Creator","Producer","CreationDate","ModDate","Trapped"].indexOf(i)?i:r.replace(/\s+/g,"")}var i={Producer:"pdfmake",Creator:"pdfmake"};if(r.info)for(var o in r.info){var u=r.info[o];u&&(i[o=standardizePropertyKey(o)]=u)}return i}function fixPageMargins(r){if(I(r))r={left:r,right:r,top:r,bottom:r};else if(R(r))if(2===r.length)r={left:r[0],top:r[1],right:r[0],bottom:r[1]};else{if(4!==r.length)throw"Invalid pageMargins definition";r={left:r[0],top:r[1],right:r[2],bottom:r[3]}}return r}function updatePageOrientationInOptions(r,i){var o=i.options.size[0]>i.options.size[1]?"landscape":"portrait";if(r.pageSize.orientation!==o){var u=i.options.size[0],p=i.options.size[1];i.options.size=[p,u]}}function offsetText(r,i){var o=r;return i.sup&&(o-=.75*i.fontSize),i.sub&&(o+=.35*i.fontSize),o}function renderLine(r,i,o,u,p){function preparePageNodeRefLine(r,i){var o,u,p=new k(null);if(D(r.positions))throw"Page reference id not found";var g=r.positions[0].pageNumber.toString();switch(i.text=g,o=p.widthOfString(i.text,i.font,i.fontSize,i.characterSpacing,i.fontFeatures),u=i.width-o,i.width=o,i.alignment){case"right":i.x+=u;break;case"center":i.x+=u/2}}r._pageNodeRef&&preparePageNodeRefLine(r._pageNodeRef,r.inlines[0]),i=i||0,o=o||0;var g=r.getHeight(),y=g-r.getAscenderHeight();x.drawBackground(r,i,o,u,p);for(var w=0,_=r.inlines.length;w<_;w++){var P=r.inlines[w],O=g-P.font.ascender/1e3*P.fontSize-y;P._pageNodeRef&&preparePageNodeRefLine(P._pageNodeRef,P);var B={lineBreak:!1,textWidth:P.width,characterSpacing:P.characterSpacing,wordCount:1,link:P.link};P.linkToDestination&&(B.goTo=P.linkToDestination),r.id&&0===w&&(B.destination=r.id),P.fontFeatures&&(B.features=P.fontFeatures);var R=I(P.opacity)?P.opacity:1;p.opacity(R),p.fill(P.color||"black"),p._font=P.font,p.fontSize(P.fontSize);var N=offsetText(o+O,P);if(p.text(P.text,i+P.x,N,B),P.linkToPage){p.ref({Type:"Action",S:"GoTo",D:[P.linkToPage,0,0]}).end();p.annotate(i+P.x,N,P.width,P.height,{Subtype:"Link",Dest:[P.linkToPage-1,"XYZ",null,null,null]})}}x.drawDecorations(r,i,o,p)}function renderWatermark(r,i){var o=r.watermark;i.fill(o.color),i.opacity(o.opacity),i.save(),i.rotate(o.angle,{origin:[i.page.width/2,i.page.height/2]});var u=i.page.width/2-o._size.size.width/2,p=i.page.height/2-o._size.size.height/2;i._font=o.font,i.fontSize(o.fontSize),i.text(o.text,u,p,{lineBreak:!1}),i.restore()}function renderVector(r,i,o){o.lineWidth(r.lineWidth||1),r.dash?o.dash(r.dash.length,{space:r.dash.space||r.dash.length,phase:r.dash.phase||0}):o.undash(),o.lineJoin(r.lineJoin||"miter"),o.lineCap(r.lineCap||"butt");var u=null;switch(r.type){case"ellipse":o.ellipse(r.x,r.y,r.r1,r.r2),r.linearGradient&&(u=o.linearGradient(r.x-r.r1,r.y,r.x+r.r1,r.y));break;case"rect":r.r?o.roundedRect(r.x,r.y,r.w,r.h,r.r):o.rect(r.x,r.y,r.w,r.h),r.linearGradient&&(u=o.linearGradient(r.x,r.y,r.x+r.w,r.y));break;case"line":o.moveTo(r.x1,r.y1),o.lineTo(r.x2,r.y2);break;case"polyline":if(0===r.points.length)break;o.moveTo(r.points[0].x,r.points[0].y);for(var p=1,g=r.points.length;p<g;p++)o.lineTo(r.points[p].x,r.points[p].y);if(r.points.length>1){var y=r.points[0],w=r.points[r.points.length-1];(r.closePath||y.x===w.x&&y.y===w.y)&&o.closePath()}break;case"path":o.path(r.d)}if(r.linearGradient&&u){var _=1/(r.linearGradient.length-1);for(p=0;p<r.linearGradient.length;p++)u.stop(p*_,r.linearGradient[p]);r.color=u}N(r.color)&&(r.color=W(r.color,i));var x=I(r.fillOpacity)?r.fillOpacity:1,k=I(r.strokeOpacity)?r.strokeOpacity:1;r.color&&r.lineColor?(o.fillColor(r.color,x),o.strokeColor(r.lineColor,k),o.fillAndStroke()):r.color?(o.fillColor(r.color,x),o.fill()):(o.strokeColor(r.lineColor||"black",k),o.stroke())}function renderImage(r,i,o,u){var p=I(r.opacity)?r.opacity:1;if(u.opacity(p),r.cover){var g=r.cover.align||"center",y=r.cover.valign||"center",w=r.cover.width?r.cover.width:r.width,_=r.cover.height?r.cover.height:r.height;u.save(),u.rect(r.x,r.y,w,_).clip(),u.image(r.image,r.x,r.y,{cover:[w,_],align:g,valign:y}),u.restore()}else u.image(r.image,r.x,r.y,{width:r._width,height:r._height});r.link&&u.link(r.x,r.y,r._width,r._height,r.link),r.linkToPage&&(u.ref({Type:"Action",S:"GoTo",D:[r.linkToPage,0,0]}).end(),u.annotate(r.x,r.y,r._width,r._height,{Subtype:"Link",Dest:[r.linkToPage-1,"XYZ",null,null,null]})),r.linkToDestination&&u.goTo(r.x,r.y,r._width,r._height,r.linkToDestination)}function renderSVG(r,i,o,u,p){var g=Object.assign({width:r._width,height:r._height,assumePt:!0},r.options);g.fontCallback=function(i,o,u){var g=i.split(",").map((function(r){return r.trim().replace(/('|")/g,"")})),y=function(r,i,o){for(var u=0;u<i.length;u++){var p=i[u].toLowerCase();for(var g in r)if(g.toLowerCase()===p)return g}return o}(p.fonts,g,r.font||"Roboto"),w=p.getFontFile(y,o,u);if(null===w){var _=p.getFontType(o,u);throw new Error("Font '"+y+"' in style '"+_+"' is not defined in the font section of the document definition.")}return w},U(u,r.svg,r.x,r.y,g)}function beginClip(r,i){i.save(),i.addContent(r.x+" "+r.y+" "+r.width+" "+r.height+" re"),i.clip()}function endClip(r){r.restore()}PdfPrinter.prototype.createPdfKitDocument=function(r,i){i=i||{},r.version=r.version||"1.3",r.compress=!B(r.compress)||r.compress,r.images=r.images||{},r.pageMargins=void 0!==r.pageMargins&&null!==r.pageMargins?r.pageMargins:40;var o=function fixPageSize(r,i){function isNeedSwapPageSizes(r){return!!O(r)&&("portrait"===(r=r.toLowerCase())&&o.width>o.height||"landscape"===r&&o.width<o.height)}r&&"auto"===r.height&&(r.height=1/0);var o=function pageSize2widthAndHeight(r){if(O(r)){var i=y[r.toUpperCase()];if(!i)throw"Page size "+r+" not recognized";return{width:i[0],height:i[1]}}return r}(r||"A4");isNeedSwapPageSizes(i)&&(o={width:o.height,height:o.width});return o.orientation=o.width>o.height?"landscape":"portrait",o}(r.pageSize,r.pageOrientation),x={size:[o.width,o.height],pdfVersion:r.version,compress:r.compress,userPassword:r.userPassword,ownerPassword:r.ownerPassword,permissions:r.permissions,fontLayoutCache:!B(i.fontLayoutCache)||i.fontLayoutCache,bufferPages:i.bufferPages||!1,autoFirstPage:!1,info:createMetadata(r),font:null};this.pdfKitDoc=u.createPdfDocument(x),this.fontProvider=new p(this.fontDescriptors,this.pdfKitDoc);var k=new g(o,fixPageMargins(r.pageMargins),new w(this.pdfKitDoc,r.images),new _);!function registerDefaultTableLayouts(r){r.registerTableLayouts({noBorders:{hLineWidth:function(r){return 0},vLineWidth:function(r){return 0},paddingLeft:function(r){return r?4:0},paddingRight:function(r,i){return r<i.table.widths.length-1?4:0}},headerLineOnly:{hLineWidth:function(r,i){return 0===r||r===i.table.body.length?0:r===i.table.headerRows?2:0},vLineWidth:function(r){return 0},paddingLeft:function(r){return 0===r?0:8},paddingRight:function(r,i){return r===i.table.widths.length-1?0:8}},lightHorizontalLines:{hLineWidth:function(r,i){return 0===r||r===i.table.body.length?0:r===i.table.headerRows?2:1},vLineWidth:function(r){return 0},hLineColor:function(r){return 1===r?"black":"#aaa"},paddingLeft:function(r){return 0===r?0:8},paddingRight:function(r,i){return r===i.table.widths.length-1?0:8}}})}(k),i.tableLayouts&&k.registerTableLayouts(i.tableLayouts);var R=k.layoutDocument(r.content,this.fontProvider,r.styles||{},r.defaultStyle||{fontSize:12,font:"Roboto"},r.background,r.header,r.footer,r.images,r.watermark,r.pageBreakBefore),D=r.maxPagesNumber||-1;if(I(D)&&D>-1&&(R=R.slice(0,D)),o.height===1/0){var N=function calculatePageHeight(r,i){function getItemHeight(r){return P(r.item.getHeight)?r.item.getHeight():r.item._height?r.item._height:"vector"===r.type?void 0!==r.item.y1?r.item.y1>r.item.y2?r.item.y1:r.item.y2:r.item.h:0}function getBottomPosition(r){return(r.item.y||0)+getItemHeight(r)}var o=fixPageMargins(i||40),u=o.top;return r.forEach((function(r){r.items.forEach((function(r){var i=getBottomPosition(r);i>u&&(u=i)}))})),u+=o.bottom}(R,r.pageMargins);this.pdfKitDoc.options.size=[o.width,N]}var W=function createPatterns(r,i){var o={};return Object.keys(r).forEach((function(u){var p=r[u];o[u]=i.pattern(p.boundingBox,p.xStep,p.yStep,p.pattern,p.colored)})),o}(r.patterns||{},this.pdfKitDoc);if(function renderPages(r,i,o,u,p){o._pdfMakePages=r,o.addPage();var g=0;p&&r.forEach((function(r){g+=r.items.length}));var y=0;p=p||function(){};for(var w=0;w<r.length;w++){w>0&&(updatePageOrientationInOptions(r[w],o),o.addPage(o.options));for(var _=r[w],x=0,k=_.items.length;x<k;x++){var P=_.items[x];switch(P.type){case"vector":renderVector(P.item,u,o);break;case"line":renderLine(P.item,P.item.x,P.item.y,u,o);break;case"image":renderImage(P.item,P.item.x,P.item.y,o);break;case"svg":renderSVG(P.item,P.item.x,P.item.y,o,i);break;case"beginClip":beginClip(P.item,o);break;case"endClip":endClip(o)}p(++y/g)}_.watermark&&renderWatermark(_,o)}}(R,this.fontProvider,this.pdfKitDoc,W,i.progressCallback),i.autoPrint){var U=this.pdfKitDoc.ref({Type:"Action",S:"Named",N:"Print"});this.pdfKitDoc._root.data.OpenAction=U,U.end()}return this.pdfKitDoc},r.exports=PdfPrinter},145:function(r){"use strict";for(var i=[null,[[10,7,17,13],[1,1,1,1],[]],[[16,10,28,22],[1,1,1,1],[4,16]],[[26,15,22,18],[1,1,2,2],[4,20]],[[18,20,16,26],[2,1,4,2],[4,24]],[[24,26,22,18],[2,1,4,4],[4,28]],[[16,18,28,24],[4,2,4,4],[4,32]],[[18,20,26,18],[4,2,5,6],[4,20,36]],[[22,24,26,22],[4,2,6,6],[4,22,40]],[[22,30,24,20],[5,2,8,8],[4,24,44]],[[26,18,28,24],[5,4,8,8],[4,26,48]],[[30,20,24,28],[5,4,11,8],[4,28,52]],[[22,24,28,26],[8,4,11,10],[4,30,56]],[[22,26,22,24],[9,4,16,12],[4,32,60]],[[24,30,24,20],[9,4,16,16],[4,24,44,64]],[[24,22,24,30],[10,6,18,12],[4,24,46,68]],[[28,24,30,24],[10,6,16,17],[4,24,48,72]],[[28,28,28,28],[11,6,19,16],[4,28,52,76]],[[26,30,28,28],[13,6,21,18],[4,28,54,80]],[[26,28,26,26],[14,7,25,21],[4,28,56,84]],[[26,28,28,30],[16,8,25,20],[4,32,60,88]],[[26,28,30,28],[17,8,25,23],[4,26,48,70,92]],[[28,28,24,30],[17,9,34,23],[4,24,48,72,96]],[[28,30,30,30],[18,9,30,25],[4,28,52,76,100]],[[28,30,30,30],[20,10,32,27],[4,26,52,78,104]],[[28,26,30,30],[21,12,35,29],[4,30,56,82,108]],[[28,28,30,28],[23,12,37,34],[4,28,56,84,112]],[[28,30,30,30],[25,12,40,34],[4,32,60,88,116]],[[28,30,30,30],[26,13,42,35],[4,24,48,72,96,120]],[[28,30,30,30],[28,14,45,38],[4,28,52,76,100,124]],[[28,30,30,30],[29,15,48,40],[4,24,50,76,102,128]],[[28,30,30,30],[31,16,51,43],[4,28,54,80,106,132]],[[28,30,30,30],[33,17,54,45],[4,32,58,84,110,136]],[[28,30,30,30],[35,18,57,48],[4,28,56,84,112,140]],[[28,30,30,30],[37,19,60,51],[4,32,60,88,116,144]],[[28,30,30,30],[38,19,63,53],[4,28,52,76,100,124,148]],[[28,30,30,30],[40,20,66,56],[4,22,48,74,100,126,152]],[[28,30,30,30],[43,21,70,59],[4,26,52,78,104,130,156]],[[28,30,30,30],[45,22,74,62],[4,30,56,82,108,134,160]],[[28,30,30,30],[47,24,77,65],[4,24,52,80,108,136,164]],[[28,30,30,30],[49,25,81,68],[4,28,56,84,112,140,168]]],o=/^\d*$/,u=/^[A-Za-z0-9 $%*+\-./:]*$/,p=/^[A-Z0-9 $%*+\-./:]*$/,g=[],y=[-1],w=0,_=1;w<255;++w)g.push(_),y[_]=w,_=2*_^(_>=128?285:0);var x=[[]];for(w=0;w<30;++w){for(var k=x[w],P=[],O=0;O<=w;++O){var I=O<w?g[k[O]]:0,B=g[(w+(k[O-1]||0))%255];P.push(y[I^B])}x.push(P)}var R={};for(w=0;w<45;++w)R["0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:".charAt(w)]=w;var D=[function(r,i){return(r+i)%2==0},function(r,i){return r%2==0},function(r,i){return i%3==0},function(r,i){return(r+i)%3==0},function(r,i){return((r/2|0)+(i/3|0))%2==0},function(r,i){return r*i%2+r*i%3==0},function(r,i){return(r*i%2+r*i%3)%2==0},function(r,i){return((r+i)%2+r*i%3)%2==0}],needsverinfo=function(r){return r>6},ndatabits=function(r,o){var u=-8&function(r){var o=i[r],u=16*r*r+128*r+64;return needsverinfo(r)&&(u-=36),o[2].length&&(u-=25*o[2].length*o[2].length-10*o[2].length-55),u}(r),p=i[r];return u-=8*p[0][o]*p[1][o]},ndatalenbits=function(r,i){switch(i){case 1:return r<10?10:r<27?12:14;case 2:return r<10?9:r<27?11:13;case 4:return r<10?8:16;case 8:return r<10?8:r<27?10:12}},getmaxdatalen=function(r,i,o){var u=ndatabits(r,o)-4-ndatalenbits(r,i);switch(i){case 1:return 3*(u/10|0)+(u%10<4?0:u%10<7?1:2);case 2:return 2*(u/11|0)+(u%11<6?0:1);case 4:return u/8|0;case 8:return u/13|0}},calculateecc=function(r,i){for(var o=r.slice(0),u=r.length,p=i.length,w=0;w<p;++w)o.push(0);for(w=0;w<u;){var _=y[o[w++]];if(_>=0)for(var x=0;x<p;++x)o[w+x]^=g[(_+i[x])%255]}return o.slice(u)},augumentbch=function(r,i,o,u){for(var p=r<<u,g=i-1;g>=0;--g)p>>u+g&1&&(p^=o<<g);return r<<u|p},maskdata=function(r,i,o){for(var u=D[o],p=r.length,g=0;g<p;++g)for(var y=0;y<p;++y)i[g][y]||(r[g][y]^=u(g,y));return r},putformatinfo=function(r,i,o,u){for(var p=r.length,g=21522^augumentbch(o<<3|u,5,1335,10),y=0;y<15;++y){var w=[p-1,p-2,p-3,p-4,p-5,p-6,p-7,p-8,7,5,4,3,2,1,0][y];r[[0,1,2,3,4,5,7,8,p-7,p-6,p-5,p-4,p-3,p-2,p-1][y]][8]=r[8][w]=g>>y&1}return r},evaluatematrix=function(r){for(var evaluategroup=function(r){for(var i=0,o=0;o<r.length;++o)r[o]>=5&&(i+=r[o]-5+3);for(o=5;o<r.length;o+=2){var u=r[o];r[o-1]==u&&r[o-2]==3*u&&r[o-3]==u&&r[o-4]==u&&(r[o-5]>=4*u||r[o+1]>=4*u)&&(i+=40)}return i},i=r.length,o=0,u=0,p=0;p<i;++p){var g,y=r[p];g=[0];for(var w=0;w<i;){for(_=0;w<i&&y[w];++_)++w;for(g.push(_),_=0;w<i&&!y[w];++_)++w;g.push(_)}o+=evaluategroup(g),g=[0];for(w=0;w<i;){var _;for(_=0;w<i&&r[w][p];++_)++w;for(g.push(_),_=0;w<i&&!r[w][p];++_)++w;g.push(_)}o+=evaluategroup(g);var x=r[p+1]||[];u+=y[0];for(w=1;w<i;++w){var k=y[w];u+=k,y[w-1]==k&&x[w]===k&&x[w-1]===k&&(o+=3)}}return o+=10*(Math.abs(u/i/i-.5)/.05|0)},generate=function(r,o,u,p,g){var y=i[o],w=function(r,i,o,u){var p=[],g=0,y=8,w=o.length,pack=function(r,i){if(i>=y){for(p.push(g|r>>(i-=y));i>=8;)p.push(r>>(i-=8)&255);g=0,y=8}i>0&&(g|=(r&(1<<i)-1)<<(y-=i))},_=ndatalenbits(r,i);switch(pack(i,4),pack(w,_),i){case 1:for(var x=2;x<w;x+=3)pack(parseInt(o.substring(x-2,x+1),10),10);pack(parseInt(o.substring(x-2),10),[0,4,7][w%3]);break;case 2:for(x=1;x<w;x+=2)pack(45*R[o.charAt(x-1)]+R[o.charAt(x)],11);w%2==1&&pack(R[o.charAt(x-1)],6);break;case 4:for(x=0;x<w;++x)pack(o[x],8)}for(pack(0,4),y<8&&p.push(g);p.length+1<u;)p.push(236,17);return p.length<u&&p.push(236),p}(o,u,r,ndatabits(o,p)>>3);w=function(r,i,o){for(var u=[],p=r.length/i|0,g=0,y=i-r.length%i,w=0;w<y;++w)u.push(g),g+=p;for(w=y;w<i;++w)u.push(g),g+=p+1;u.push(g);var _=[];for(w=0;w<i;++w)_.push(calculateecc(r.slice(u[w],u[w+1]),o));var x=[],k=r.length/i|0;for(w=0;w<k;++w)for(var P=0;P<i;++P)x.push(r[u[P]+w]);for(P=y;P<i;++P)x.push(r[u[P+1]-1]);for(w=0;w<o.length;++w)for(P=0;P<i;++P)x.push(_[P][w]);return x}(w,y[1][p],x[y[0][p]]);var _=function(r){for(var o=i[r],u=function(r){return 4*r+17}(r),p=[],g=[],y=0;y<u;++y)p.push([]),g.push([]);var blit=function(r,i,o,u,y){for(var w=0;w<o;++w)for(var _=0;_<u;++_)p[r+w][i+_]=y[w]>>_&1,g[r+w][i+_]=1};for(blit(0,0,9,9,[127,65,93,93,93,65,383,0,64]),blit(u-8,0,8,9,[256,127,65,93,93,93,65,127]),blit(0,u-8,9,8,[254,130,186,186,186,130,254,0,0]),y=9;y<u-8;++y)p[6][y]=p[y][6]=1&~y,g[6][y]=g[y][6]=1;var w=o[2],_=w.length;for(y=0;y<_;++y)for(var x=0===y?_-1:_,k=0===y||y===_-1?1:0;k<x;++k)blit(w[y],w[k],5,5,[31,17,21,17,31]);if(needsverinfo(r)){var P=augumentbch(r,6,7973,12),O=0;for(y=0;y<6;++y)for(k=0;k<3;++k)p[y][u-11+k]=p[u-11+k][y]=P>>O++&1,g[y][u-11+k]=g[u-11+k][y]=1}return{matrix:p,reserved:g}}(o),k=_.matrix,P=_.reserved;if(function(r,i,o){for(var u=r.length,p=0,g=-1,y=u-1;y>=0;y-=2){6==y&&--y;for(var w=g<0?u-1:0,_=0;_<u;++_){for(var x=y;x>y-2;--x)i[w][x]||(r[w][x]=o[p>>3]>>(7&~p)&1,++p);w+=g}g=-g}}(k,P,w),g<0){maskdata(k,P,0),putformatinfo(k,0,p,0);var O=0,I=evaluatematrix(k);for(maskdata(k,P,0),g=1;g<8;++g){maskdata(k,P,g),putformatinfo(k,0,p,g);var B=evaluatematrix(k);I>B&&(I=B,O=g),maskdata(k,P,g)}g=O}return maskdata(k,P,g),putformatinfo(k,0,p,g),k};function generateFrame(r,i){var g={numeric:1,alphanumeric:2,octet:4},y={L:1,M:0,Q:3,H:2},w=(i=i||{}).version||-1,_=y[(i.eccLevel||"L").toUpperCase()],x=i.mode?g[i.mode.toLowerCase()]:-1,k="mask"in i?i.mask:-1;if(x<0)x="string"==typeof r?r.match(o)?1:r.match(p)?2:4:4;else if(1!=x&&2!=x&&4!=x)throw"invalid or unsupported mode";if(r=function(r,i){switch(r){case 1:return i.match(o)?i:null;case 2:return i.match(u)?i.toUpperCase():null;case 4:if("string"==typeof i){for(var p=[],g=0;g<i.length;++g){var y=i.charCodeAt(g);y<128?p.push(y):y<2048?p.push(192|y>>6,128|63&y):y<65536?p.push(224|y>>12,128|y>>6&63,128|63&y):p.push(240|y>>18,128|y>>12&63,128|y>>6&63,128|63&y)}return p}return i}}(x,r),null===r)throw"invalid data format";if(_<0||_>3)throw"invalid ECC level";if(w<0){for(w=1;w<=40&&!(r.length<=getmaxdatalen(w,x,_));++w);if(w>40)throw"too large data for the Qr format"}else if(w<1||w>40)throw"invalid Qr version! should be between 1 and 40";if(-1!=k&&(k<0||k>8))throw"invalid mask";return generate(r,w,x,_,k)}r.exports={measure:function measure(r){var i=function buildCanvas(r,i){var o=[],u=i.background||"#fff",p=i.foreground||"#000",g=generateFrame(r,i),y=g.length,w=Math.floor(i.fit?i.fit/y:5),_=y*w;o.push({type:"rect",x:0,y:0,w:_,h:_,lineWidth:0,color:u});for(var x=0;x<y;++x)for(var k=0;k<y;++k)g[x][k]&&o.push({type:"rect",x:w*k,y:w*x,w:w,h:w,lineWidth:0,color:p});return{canvas:o,size:_}}(r.qr,r);return r._canvas=i.canvas,r._width=r._height=r._minWidth=r._maxWidth=r._minHeight=r._maxHeight=i.size,r}}},4762:function(r){"use strict";r.exports={"4A0":[4767.87,6740.79],"2A0":[3370.39,4767.87],A0:[2383.94,3370.39],A1:[1683.78,2383.94],A2:[1190.55,1683.78],A3:[841.89,1190.55],A4:[595.28,841.89],A5:[419.53,595.28],A6:[297.64,419.53],A7:[209.76,297.64],A8:[147.4,209.76],A9:[104.88,147.4],A10:[73.7,104.88],B0:[2834.65,4008.19],B1:[2004.09,2834.65],B2:[1417.32,2004.09],B3:[1000.63,1417.32],B4:[708.66,1000.63],B5:[498.9,708.66],B6:[354.33,498.9],B7:[249.45,354.33],B8:[175.75,249.45],B9:[124.72,175.75],B10:[87.87,124.72],C0:[2599.37,3676.54],C1:[1836.85,2599.37],C2:[1298.27,1836.85],C3:[918.43,1298.27],C4:[649.13,918.43],C5:[459.21,649.13],C6:[323.15,459.21],C7:[229.61,323.15],C8:[161.57,229.61],C9:[113.39,161.57],C10:[79.37,113.39],RA0:[2437.8,3458.27],RA1:[1729.13,2437.8],RA2:[1218.9,1729.13],RA3:[864.57,1218.9],RA4:[609.45,864.57],SRA0:[2551.18,3628.35],SRA1:[1814.17,2551.18],SRA2:[1275.59,1814.17],SRA3:[907.09,1275.59],SRA4:[637.8,907.09],EXECUTIVE:[521.86,756],FOLIO:[612,936],LEGAL:[612,1008],LETTER:[612,792],TABLOID:[792,1224]}},7597:function(r,i,o){"use strict";var u=o(6225).isString,p=o(6225).isArray,g=o(6225).isUndefined,y=o(6225).isNull;function StyleContextStack(r,i){this.defaultStyle=i||{},this.styleDictionary=r,this.styleOverrides=[]}StyleContextStack.prototype.clone=function(){var r=new StyleContextStack(this.styleDictionary,this.defaultStyle);return this.styleOverrides.forEach((function(i){r.styleOverrides.push(i)})),r},StyleContextStack.prototype.push=function(r){this.styleOverrides.push(r)},StyleContextStack.prototype.pop=function(r){for(r=r||1;r-- >0;)this.styleOverrides.pop()},StyleContextStack.prototype.autopush=function(r){if(u(r))return 0;var i=[];r.style&&(i=p(r.style)?r.style:[r.style]);for(var o=0,w=i.length;o<w;o++)this.push(i[o]);var _={},x=!1;return["font","fontSize","fontFeatures","bold","italics","alignment","color","columnGap","fillColor","fillOpacity","decoration","decorationStyle","decorationColor","background","lineHeight","characterSpacing","noWrap","markerColor","leadingIndent","sup","sub"].forEach((function(i){g(r[i])||y(r[i])||(_[i]=r[i],x=!0)})),x&&this.push(_),i.length+(x?1:0)},StyleContextStack.prototype.auto=function(r,i){var o=this.autopush(r),u=i();return o>0&&this.pop(o),u},StyleContextStack.prototype.getProperty=function(r){if(this.styleOverrides)for(var i=this.styleOverrides.length-1;i>=0;i--){var o=this.styleOverrides[i];if(u(o)){var p=this.styleDictionary[o];if(p&&!g(p[r])&&!y(p[r]))return p[r]}else if(!g(o[r])&&!y(o[r]))return o[r]}return this.defaultStyle&&this.defaultStyle[r]},r.exports=StyleContextStack},7601:function(r,i,o){"use strict";var u=o(6513);function stripUnits(r){var i=parseFloat(r);if("number"==typeof i&&!isNaN(i))return i}function parseSVG(r){var i;try{i=new u.XmlDocument(r)}catch(r){throw new Error("SVGMeasure: "+r)}if("svg"!==i.name)throw new Error("SVGMeasure: expected <svg> document");return i}function SVGMeasure(){}SVGMeasure.prototype.measureSVG=function(r){var i=parseSVG(r),o=stripUnits(i.attr.width),u=stripUnits(i.attr.height);if((null==o||null==u)&&"string"==typeof i.attr.viewBox){var p=i.attr.viewBox.split(/[,\s]+/);if(4!==p.length)throw new Error("Unexpected svg viewbox format, should have 4 entries but found: '"+i.attr.viewBox+"'");null==o&&(o=stripUnits(p[2])),null==u&&(u=stripUnits(p[3]))}return{width:o,height:u}},SVGMeasure.prototype.writeDimensions=function(r,i){var o=parseSVG(r);return o.attr.width=""+i.width,o.attr.height=""+i.height,o.toString()},r.exports=SVGMeasure},9342:function(r,i,o){"use strict";var u=o(4498),p=o(6225).isFunction,g=o(6225).isNumber;function TableProcessor(r){this.tableNode=r}TableProcessor.prototype.beginTable=function(r){var i,o,p=this;i=this.tableNode,this.offsets=i._offsets,this.layout=i._layout,o=r.context().availableWidth-this.offsets.total,u.buildColumnWidths(i.table.widths,o),this.tableWidth=i._offsets.total+function getTableInnerContentWidth(){var r=0;return i.table.widths.forEach((function(i){r+=i._calcWidth})),r}(),this.rowSpanData=function prepareRowSpanData(){var r=[],i=0,o=0;r.push({left:0,rowSpan:0});for(var u=0,g=p.tableNode.table.body[0].length;u<g;u++){o=p.layout.paddingLeft(u,p.tableNode)+p.layout.paddingRight(u,p.tableNode)+p.layout.vLineWidth(u,p.tableNode)+p.tableNode.table.widths[u]._calcWidth,r[r.length-1].width=o,i+=o,r.push({left:i,rowSpan:0,width:0})}return r}(),this.cleanUpRepeatables=!1,this.headerRows=i.table.headerRows||0,this.rowsWithoutPageBreak=this.headerRows+(i.table.keepWithHeaderRows||0),this.dontBreakRows=i.table.dontBreakRows||!1,this.rowsWithoutPageBreak&&r.beginUnbreakableBlock(),function prepareCellBorders(r){for(var i=0;i<r.length;i++)for(var o=r[i],u=0;u<o.length;u++){var p=o[u];if(p.border){for(var g=p.rowSpan||1,y=p.colSpan||1,w=0;w<g;w++)void 0!==p.border[0]&&w>0&&setBorder(i+w,u,0,p.border[0]),void 0!==p.border[2]&&setBorder(i+w,u+y-1,2,p.border[2]);for(var _=0;_<y;_++)void 0!==p.border[1]&&_>0&&setBorder(i,u+_,1,p.border[1]),void 0!==p.border[3]&&setBorder(i+g-1,u+_,3,p.border[3])}}function setBorder(i,o,u,p){var g=r[i][o];g.border=g.border||{},g.border[u]=p}}(this.tableNode.table.body),this.drawHorizontalLine(0,r)},TableProcessor.prototype.onRowBreak=function(r,i){var o=this;return function(){var r=o.rowPaddingTop+(o.headerRows?0:o.topLineWidth);i.context().availableHeight-=o.reservedAtBottom,i.context().moveDown(r)}},TableProcessor.prototype.beginRow=function(r,i){this.topLineWidth=this.layout.hLineWidth(r,this.tableNode),this.rowPaddingTop=this.layout.paddingTop(r,this.tableNode),this.bottomLineWidth=this.layout.hLineWidth(r+1,this.tableNode),this.rowPaddingBottom=this.layout.paddingBottom(r,this.tableNode),this.rowCallback=this.onRowBreak(r,i),i.tracker.startTracking("pageChanged",this.rowCallback),this.dontBreakRows&&i.beginUnbreakableBlock(),this.rowTopY=i.context().y,this.reservedAtBottom=this.bottomLineWidth+this.rowPaddingBottom,i.context().availableHeight-=this.reservedAtBottom,i.context().moveDown(this.rowPaddingTop)},TableProcessor.prototype.drawHorizontalLine=function(r,i,o){var u=this.layout.hLineWidth(r,this.tableNode);if(u){var g,y=this.layout.hLineStyle(r,this.tableNode);y&&y.dash&&(g=y.dash);for(var w,_,x,k=u/2,P=null,O=this.tableNode.table.body,I=0,B=this.rowSpanData.length;I<B;I++){var R=this.rowSpanData[I],D=!R.rowSpan,N=null;if(D&&I<B-1){var W=!1,U=!1,j=!1;r>0&&(U=(w=O[r-1][I]).border?w.border[3]:this.layout.defaultBorder)&&w.borderColor&&(N=w.borderColor[3]),r<O.length&&(W=(_=O[r][I]).border?_.border[1]:this.layout.defaultBorder)&&null==N&&_.borderColor&&(N=_.borderColor[1]),D=W||U}if(w&&w._rowSpanCurrentOffset&&(j=(x=O[r-1-w._rowSpanCurrentOffset][I])&&x.border?x.border[3]:this.layout.defaultBorder)&&x&&x.borderColor&&(N=x.borderColor[3]),null==N&&(N=p(this.layout.hLineColor)?this.layout.hLineColor(r,this.tableNode,I):this.layout.hLineColor),!P&&D&&(P={left:R.left,width:0}),D){var G=0;if(x&&x.colSpan&&j){for(;x.colSpan>G;)P.width+=this.rowSpanData[I+G++].width||0;I+=G-1}else if(w&&w.colSpan&&U){for(;w.colSpan>G;)P.width+=this.rowSpanData[I+G++].width||0;I+=G-1}else if(_&&_.colSpan&&W){for(;_.colSpan>G;)P.width+=this.rowSpanData[I+G++].width||0;I+=G-1}else P.width+=this.rowSpanData[I].width||0}var X=(o||0)+k;D&&P&&P.width&&(i.addVector({type:"line",x1:P.left,x2:P.left+P.width,y1:X,y2:X,lineWidth:u,dash:g,lineColor:N},!1,o),P=null,N=null,w=null,_=null,x=null)}i.context().moveDown(u)}},TableProcessor.prototype.drawVerticalLine=function(r,i,o,u,g,y,w){var _=this.layout.vLineWidth(u,this.tableNode);if(0!==_){var x,k=this.layout.vLineStyle(u,this.tableNode);k&&k.dash&&(x=k.dash);var P,O,I,B=this.tableNode.table.body;if(u>0&&(P=B[y][w])&&P.borderColor&&(P.border?P.border[2]:this.layout.defaultBorder)&&(I=P.borderColor[2]),null==I&&u<B.length&&(O=B[y][u])&&O.borderColor&&(O.border?O.border[0]:this.layout.defaultBorder)&&(I=O.borderColor[0]),null==I&&P&&P._rowSpanCurrentOffset){var R=B[y-P._rowSpanCurrentOffset][w];R.borderColor&&(R.border?R.border[2]:this.layout.defaultBorder)&&(I=R.borderColor[2])}if(null==I&&O&&O._rowSpanCurrentOffset){var D=B[y-O._rowSpanCurrentOffset][u];D.borderColor&&(D.border?D.border[2]:this.layout.defaultBorder)&&(I=D.borderColor[2])}null==I&&(I=p(this.layout.vLineColor)?this.layout.vLineColor(u,this.tableNode,y):this.layout.vLineColor),g.addVector({type:"line",x1:r+_/2,x2:r+_/2,y1:i,y2:o,lineWidth:_,dash:x,lineColor:I},!1,!0),P=null,O=null,I=null}},TableProcessor.prototype.endTable=function(r){this.cleanUpRepeatables&&r.popFromRepeatables()},TableProcessor.prototype.endRow=function(r,i,o){var u,y,w=this;i.tracker.stopTracking("pageChanged",this.rowCallback),i.context().moveDown(this.layout.paddingBottom(r,this.tableNode)),i.context().availableHeight+=this.reservedAtBottom;var _=i.context().page,x=i.context().y,k=function getLineXs(){for(var i=[],o=0,u=0,p=w.tableNode.table.body[r].length;u<p;u++){if(!o){i.push({x:w.rowSpanData[u].left,index:u});var g=w.tableNode.table.body[r][u];o=g._colSpan||g.colSpan||0}o>0&&o--}return i.push({x:w.rowSpanData[w.rowSpanData.length-1].left,index:w.rowSpanData.length-1}),i}(),P=[],O=o&&o.length>0,I=this.tableNode.table.body;if(P.push({y0:this.rowTopY,page:O?o[0].prevPage:_}),O)for(y=0,u=o.length;y<u;y++){var B=o[y];P[P.length-1].y1=B.prevY,P.push({y0:B.y,page:B.prevPage+1})}P[P.length-1].y1=x;for(var R=P[0].y1-P[0].y0===this.rowPaddingTop?1:0,D=P.length;R<D;R++){var N=R<P.length-1,W=R>0&&!this.headerRows,U=W?0:this.topLineWidth,j=P[R].y0,G=P[R].y1;for(N&&(G+=this.rowPaddingBottom),i.context().page!=P[R].page&&(i.context().page=P[R].page,this.reservedAtBottom=0),y=0,u=k.length;y<u;y++){var X,K=!1,Y=!1,J=k[y].index;if(J<I[r].length)K=(X=I[r][J]).border?X.border[0]:this.layout.defaultBorder,Y=X.border?X.border[2]:this.layout.defaultBorder;if(J>0&&!K)K=(X=I[r][J-1]).border?X.border[2]:this.layout.defaultBorder;if(J+1<I[r].length&&!Y)Y=(X=I[r][J+1]).border?X.border[0]:this.layout.defaultBorder;if(K&&this.drawVerticalLine(k[y].x,j-U,G+this.bottomLineWidth,k[y].index,i,r,k[y-1]?k[y-1].index:null),y<u-1){var $=I[r][J].fillColor,ee=I[r][J].fillOpacity;$||($=p(this.layout.fillColor)?this.layout.fillColor(r,this.tableNode,J):this.layout.fillColor),g(ee)||(ee=p(this.layout.fillOpacity)?this.layout.fillOpacity(r,this.tableNode,J):this.layout.fillOpacity);var te=I[r][J].overlayPattern,re=I[r][J].overlayOpacity;if($||te){var ne,ie=K?this.layout.vLineWidth(J,this.tableNode):0;ne=0!==J&&J+1!=I[r].length||Y?Y?this.layout.vLineWidth(J+1,this.tableNode)/2:0:this.layout.vLineWidth(J+1,this.tableNode);var oe=this.dontBreakRows?k[y].x+ie:k[y].x+ie/2,ae=this.dontBreakRows?j:j-U/2,se=k[y+1].x+ne-oe,ce=(this.dontBreakRows?G+this.bottomLineWidth:G+this.bottomLineWidth/2)-ae;$&&i.addVector({type:"rect",x:oe,y:ae,w:se,h:ce,lineWidth:0,color:$,fillOpacity:ee},!1,!0,i.context().backgroundLength[i.context().page]),te&&i.addVector({type:"rect",x:oe,y:ae,w:se,h:ce,lineWidth:0,color:te,fillOpacity:re},!1,!0)}}}N&&!1!==this.layout.hLineWhenBroken&&this.drawHorizontalLine(r+1,i,G),W&&!1!==this.layout.hLineWhenBroken&&this.drawHorizontalLine(r,i,j)}i.context().page=_,i.context().y=x;var le=this.tableNode.table.body[r];for(y=0,u=le.length;y<u;y++){if(le[y].rowSpan){if(this.rowSpanData[y].rowSpan=le[y].rowSpan,le[y].colSpan&&le[y].colSpan>1)for(var ue=1;ue<le[y].rowSpan;ue++)this.tableNode.table.body[r+ue][y]._colSpan=le[y].colSpan;if(le[y].rowSpan&&le[y].rowSpan>1)for(ue=1;ue<le[y].rowSpan;ue++)this.tableNode.table.body[r+ue][y]._rowSpanCurrentOffset=ue}this.rowSpanData[y].rowSpan>0&&this.rowSpanData[y].rowSpan--}this.drawHorizontalLine(r+1,i),this.headerRows&&r===this.headerRows-1&&(this.headerRepeatable=i.currentBlockToRepeatable()),this.dontBreakRows&&i.tracker.auto("pageChanged",(function(){w.headerRows||!1===w.layout.hLineWhenBroken||w.drawHorizontalLine(r,i)}),(function(){i.commitUnbreakableBlock()})),!this.headerRepeatable||r!==this.rowsWithoutPageBreak-1&&r!==this.tableNode.table.body.length-1||(i.commitUnbreakableBlock(),i.pushToRepeatables(this.headerRepeatable),this.cleanUpRepeatables=!0,this.headerRepeatable=null)},r.exports=TableProcessor},3497:function(r,i,o){"use strict";var u=o(6225).isArray,p=o(6225).isPattern,g=o(6225).getPattern;function drawDecoration(r,i,o,u){var p=r.inlines[0],g=function maxInline(){for(var i=0,o=0,u=r.inlines.length;o<u;o++){i=r.inlines[o].fontSize>i?o:i}return r.inlines[i]}(),y=function width(){for(var i=0,o=0,u=r.inlines.length;o<u;o++){var p=r.inlines[o].justifyShift||0;i+=r.inlines[o].width+p}return i}(),w=r.line.getAscenderHeight(),_=g.font.ascender/1e3*g.fontSize,x=g.height-_,k=.5+.12*Math.floor(Math.max(g.fontSize-8,0)/2);switch(r.decoration){case"underline":o+=w+.45*x;break;case"overline":o+=w-.85*_;break;case"lineThrough":o+=w-.25*_;break;default:throw"Unkown decoration : "+r.decoration}if(u.save(),"double"===r.decorationStyle){var P=Math.max(.5,2*k);u.fillColor(r.decorationColor).rect(i+p.x,o-k/2,y,k/2).fill().rect(i+p.x,o+P-k/2,y,k/2).fill()}else if("dashed"===r.decorationStyle){var O=Math.ceil(y/6.8),I=i+p.x;u.rect(I,o,y,k).clip(),u.fillColor(r.decorationColor);for(var B=0;B<O;B++)u.rect(I,o-k/2,3.96,k).fill(),I+=6.8}else if("dotted"===r.decorationStyle){var R=Math.ceil(y/(3*k)),D=i+p.x;u.rect(D,o,y,k).clip(),u.fillColor(r.decorationColor);for(var N=0;N<R;N++)u.rect(D,o-k/2,k,k).fill(),D+=3*k}else if("wavy"===r.decorationStyle){var W=.7,U=Math.ceil(y/1.4)+1,j=i+p.x-1;u.rect(i+p.x,o-1,y,o+1).clip(),u.lineWidth(.24),u.moveTo(j,o);for(var G=0;G<U;G++)u.bezierCurveTo(j+W,o-1,j+1.4,o-1,j+3*W,o).bezierCurveTo(j+2.8,o+1,j+3.5,o+1,j+6*W,o),j+=6*W;u.stroke(r.decorationColor)}else u.fillColor(r.decorationColor).rect(i+p.x,o-k/2,y,k).fill();u.restore()}r.exports={drawBackground:function drawBackground(r,i,o,u,y){for(var w=r.getHeight(),_=0,x=r.inlines.length;_<x;_++){var k=r.inlines[_];if(k.background){var P=k.background;p(k.background)&&(P=g(k.background,u));var O=k.justifyShift||0;y.fillColor(P).rect(i+k.x-O,o,k.width+O,w).fill()}}},drawDecorations:function drawDecorations(r,i,o,p){for(var g=function groupDecorations(r){for(var i=[],o=null,p=0,g=r.inlines.length;p<g;p++){var y=r.inlines[p],w=y.decoration;if(w){u(w)||(w=[w]);for(var _=y.decorationColor||y.color||"black",x=y.decorationStyle||"solid",k=0,P=w.length;k<P;k++){var O=w[k];o&&O===o.decoration&&x===o.decorationStyle&&_===o.decorationColor?o.inlines.push(y):(o={line:r,decoration:O,decorationColor:_,decorationStyle:x,inlines:[y]},i.push(o))}}else o=null}return i}(r),y=0,w=g.length;y<w;y++)drawDecoration(g[y],i,o,p)}}},1350:function(r,i,o){"use strict";var u=o(6225).isString,p=o(6225).isNumber,g=o(6225).isObject,y=o(6225).isArray,w=o(6225).isUndefined,_=o(7337),x=/^(\s)+/g,k=/(\s)+$/g;function TextTools(r){this.fontProvider=r}function splitWords(r,i){var o=[];if(r=r.replace(/\t/g,"    "),i)return o.push({text:r}),o;for(var u,p=new _(r),g=0;u=p.nextBreak();){var y=r.slice(g,u.position);u.required||y.match(/\r?\n$|\r$/)?(y=y.replace(/\r?\n$|\r$/,""),o.push({text:y,lineEnd:!0})):o.push({text:y}),g=u.position}return o}function copyStyle(r,i){for(var o in i=i||{},r=r||{})"text"!=o&&r.hasOwnProperty(o)&&(i[o]=r[o]);return i}function normalizeString(r){return null==r?"":p(r)?r.toString():u(r)?r:r.toString()}function getStyleProperty(r,i,o,u){var p;return void 0!==r[o]&&null!==r[o]?r[o]:i?(i.auto(r,(function(){p=i.getProperty(o)})),null!=p?p:u):u}function widthOfString(r,i,o,u,p){return i.widthOfString(r,o,p)+(u||0)*(r.length-1)}TextTools.prototype.buildInlines=function(r,i){var o,u=function measure(r,i,o){var u=function normalizeTextArray(r,i){function flatten(r){return r.reduce((function(r,i){var o=y(i.text)?flatten(i.text):i,u=[].concat(o).some(Array.isArray);return r.concat(u?flatten(o):o)}),[])}function getOneWord(r,i,o){if(w(i[r]))return null;if(i[r].lineEnd)return null;var u=i[r].text;if(o){var p=splitWords(normalizeString(u),!1);if(w(p[p.length-1]))return null;u=p[p.length-1].text}return u}var o=[];y(r)||(r=[r]);r=flatten(r);for(var u=null,p=0,_=r.length;p<_;p++){var x,k=r[p],P=null,O=getStyleProperty(k||{},i,"noWrap",!1);if(g(k)?(k._textRef&&k._textRef._textNodeRef.text&&(k.text=k._textRef._textNodeRef.text),x=splitWords(normalizeString(k.text),O),P=copyStyle(k)):x=splitWords(normalizeString(k),O),u&&x.length)1===splitWords(normalizeString(u+getOneWord(0,x,O)),!1).length&&(o[o.length-1].noNewLine=!0);for(var I=0,B=x.length;I<B;I++){var R={text:x[I].text};x[I].lineEnd&&(R.lineEnd=!0),copyStyle(P,R),o.push(R)}u=null,p+1<_&&(u=getOneWord(x.length-1,x,O))}return o}(i,o);if(u.length){var p=getStyleProperty(u[0],o,"leadingIndent",0);p&&(u[0].leadingCut=-p,u[0].leadingIndent=p)}return u.forEach((function(i){var u=getStyleProperty(i,o,"font","Roboto"),p=getStyleProperty(i,o,"fontSize",12),g=getStyleProperty(i,o,"fontFeatures",null),y=getStyleProperty(i,o,"bold",!1),w=getStyleProperty(i,o,"italics",!1),_=getStyleProperty(i,o,"color","black"),P=getStyleProperty(i,o,"decoration",null),O=getStyleProperty(i,o,"decorationColor",null),I=getStyleProperty(i,o,"decorationStyle",null),B=getStyleProperty(i,o,"background",null),R=getStyleProperty(i,o,"lineHeight",1),D=getStyleProperty(i,o,"characterSpacing",0),N=getStyleProperty(i,o,"link",null),W=getStyleProperty(i,o,"linkToPage",null),U=getStyleProperty(i,o,"linkToDestination",null),j=getStyleProperty(i,o,"noWrap",null),G=getStyleProperty(i,o,"preserveLeadingSpaces",!1),X=getStyleProperty(i,o,"preserveTrailingSpaces",!1),K=getStyleProperty(i,o,"opacity",1),Y=getStyleProperty(i,o,"sup",!1),J=getStyleProperty(i,o,"sub",!1);(Y||J)&&void 0===i.fontSize&&(p*=.58);var $,ee,te=r.provideFont(u,y,w);i.width=widthOfString(i.text,te,p,D,g),i.height=te.lineHeight(p)*R,i.leadingCut||(i.leadingCut=0),!G&&($=i.text.match(x))&&(i.leadingCut+=widthOfString($[0],te,p,D,g)),!X&&(ee=i.text.match(k))?i.trailingCut=widthOfString(ee[0],te,p,D,g):i.trailingCut=0,i.alignment=getStyleProperty(i,o,"alignment","left"),i.font=te,i.fontSize=p,i.fontFeatures=g,i.characterSpacing=D,i.color=_,i.decoration=P,i.decorationColor=O,i.decorationStyle=I,i.background=B,i.link=N,i.linkToPage=W,i.linkToDestination=U,i.noWrap=j,i.opacity=K,i.sup=Y,i.sub=J})),u}(this.fontProvider,r,i),p=0,_=0;return u.forEach((function(r){p=Math.max(p,r.width-r.leadingCut-r.trailingCut),o||(o={width:0,leadingCut:r.leadingCut,trailingCut:0}),o.width+=r.width,o.trailingCut=r.trailingCut,_=Math.max(_,function getTrimmedWidth(r){return Math.max(0,r.width-r.leadingCut-r.trailingCut)}(o)),r.lineEnd&&(o=null)})),getStyleProperty({},i,"noWrap",!1)&&(p=_),{items:u,minWidth:p,maxWidth:_}},TextTools.prototype.sizeOfString=function(r,i){r=r?r.toString().replace(/\t/g,"    "):"";var o=getStyleProperty({},i,"font","Roboto"),u=getStyleProperty({},i,"fontSize",12),p=getStyleProperty({},i,"fontFeatures",null),g=getStyleProperty({},i,"bold",!1),y=getStyleProperty({},i,"italics",!1),w=getStyleProperty({},i,"lineHeight",1),_=getStyleProperty({},i,"characterSpacing",0),x=this.fontProvider.provideFont(o,g,y);return{width:widthOfString(r,x,u,_,p),height:x.lineHeight(u)*w,fontSize:u,lineHeight:w,ascender:x.ascender/1e3*u,descender:x.descender/1e3*u}},TextTools.prototype.sizeOfRotatedText=function(r,i,o){var u=i*Math.PI/-180,p=this.sizeOfString(r,o);return{width:Math.abs(p.height*Math.sin(u))+Math.abs(p.width*Math.cos(u)),height:Math.abs(p.width*Math.sin(u))+Math.abs(p.height*Math.cos(u))}},TextTools.prototype.widthOfString=function(r,i,o,u,p){return widthOfString(r,i,o,u,p)},r.exports=TextTools},8537:function(r){"use strict";function TraversalTracker(){this.events={}}TraversalTracker.prototype.startTracking=function(r,i){var o=this.events[r]||(this.events[r]=[]);o.indexOf(i)<0&&o.push(i)},TraversalTracker.prototype.stopTracking=function(r,i){var o=this.events[r];if(o){var u=o.indexOf(i);u>=0&&o.splice(u,1)}},TraversalTracker.prototype.emit=function(r){var i=Array.prototype.slice.call(arguments,1),o=this.events[r];o&&o.forEach((function(r){r.apply(this,i)}))},TraversalTracker.prototype.auto=function(r,i,o){this.startTracking(r,i),o(),this.stopTracking(r,i)},r.exports=TraversalTracker},2480:function(){},5832:function(){},9862:function(){},964:function(){},3083:function(r,i,o){"use strict";var u=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],p="undefined"==typeof globalThis?o.g:globalThis;r.exports=function availableTypedArrays(){for(var r=[],i=0;i<u.length;i++)"function"==typeof p[u[i]]&&(r[r.length]=u[i]);return r}},3631:function(r,i,o){var u=o(9742),p=o(4781);function $parcel$interopDefault(r){return r&&r.__esModule?r.default:r}function $parcel$export(r,i,o,u){Object.defineProperty(r,i,{get:o,set:u,enumerable:!0,configurable:!0})}!function $parcel$defineInteropFlag(r){Object.defineProperty(r,"__esModule",{value:!0,configurable:!0})}(r.exports),$parcel$export(r.exports,"getCategory",(()=>$43d7963e56408b24$export$410364bbb673ddbc)),$parcel$export(r.exports,"getCombiningClass",(()=>$43d7963e56408b24$export$c03b919c6651ed55)),$parcel$export(r.exports,"getScript",(()=>$43d7963e56408b24$export$941569448d136665)),$parcel$export(r.exports,"getEastAsianWidth",(()=>$43d7963e56408b24$export$92f6187db8ca6d26)),$parcel$export(r.exports,"getNumericValue",(()=>$43d7963e56408b24$export$7d1258ebb7625a0d)),$parcel$export(r.exports,"isAlphabetic",(()=>$43d7963e56408b24$export$52c8ea63abd07594)),$parcel$export(r.exports,"isDigit",(()=>$43d7963e56408b24$export$727d9dbc4fbb948f)),$parcel$export(r.exports,"isPunctuation",(()=>$43d7963e56408b24$export$a5b49f4dc6a07d2c)),$parcel$export(r.exports,"isLowerCase",(()=>$43d7963e56408b24$export$7b6804e8df61fcf5)),$parcel$export(r.exports,"isUpperCase",(()=>$43d7963e56408b24$export$aebd617640818cda)),$parcel$export(r.exports,"isTitleCase",(()=>$43d7963e56408b24$export$de8b4ee23b2cf823)),$parcel$export(r.exports,"isWhiteSpace",(()=>$43d7963e56408b24$export$3c52dd84024ae72c)),$parcel$export(r.exports,"isBaseForm",(()=>$43d7963e56408b24$export$a11bdcffe109e74b)),$parcel$export(r.exports,"isMark",(()=>$43d7963e56408b24$export$e33ad6871e762338)),$parcel$export(r.exports,"default",(()=>U));var g;g=JSON.parse('{"categories":["Cc","Zs","Po","Sc","Ps","Pe","Sm","Pd","Nd","Lu","Sk","Pc","Ll","So","Lo","Pi","Cf","No","Pf","Lt","Lm","Mn","Me","Mc","Nl","Zl","Zp","Cs","Co"],"combiningClasses":["Not_Reordered","Above","Above_Right","Below","Attached_Above_Right","Attached_Below","Overlay","Iota_Subscript","Double_Below","Double_Above","Below_Right","Above_Left","CCC10","CCC11","CCC12","CCC13","CCC14","CCC15","CCC16","CCC17","CCC18","CCC19","CCC20","CCC21","CCC22","CCC23","CCC24","CCC25","CCC30","CCC31","CCC32","CCC27","CCC28","CCC29","CCC33","CCC34","CCC35","CCC36","Nukta","Virama","CCC84","CCC91","CCC103","CCC107","CCC118","CCC122","CCC129","CCC130","CCC132","Attached_Above","Below_Left","Left","Kana_Voicing","CCC26","Right"],"scripts":["Common","Latin","Bopomofo","Inherited","Greek","Coptic","Cyrillic","Armenian","Hebrew","Arabic","Syriac","Thaana","Nko","Samaritan","Mandaic","Devanagari","Bengali","Gurmukhi","Gujarati","Oriya","Tamil","Telugu","Kannada","Malayalam","Sinhala","Thai","Lao","Tibetan","Myanmar","Georgian","Hangul","Ethiopic","Cherokee","Canadian_Aboriginal","Ogham","Runic","Tagalog","Hanunoo","Buhid","Tagbanwa","Khmer","Mongolian","Limbu","Tai_Le","New_Tai_Lue","Buginese","Tai_Tham","Balinese","Sundanese","Batak","Lepcha","Ol_Chiki","Braille","Glagolitic","Tifinagh","Han","Hiragana","Katakana","Yi","Lisu","Vai","Bamum","Syloti_Nagri","Phags_Pa","Saurashtra","Kayah_Li","Rejang","Javanese","Cham","Tai_Viet","Meetei_Mayek","null","Linear_B","Lycian","Carian","Old_Italic","Gothic","Old_Permic","Ugaritic","Old_Persian","Deseret","Shavian","Osmanya","Osage","Elbasan","Caucasian_Albanian","Linear_A","Cypriot","Imperial_Aramaic","Palmyrene","Nabataean","Hatran","Phoenician","Lydian","Meroitic_Hieroglyphs","Meroitic_Cursive","Kharoshthi","Old_South_Arabian","Old_North_Arabian","Manichaean","Avestan","Inscriptional_Parthian","Inscriptional_Pahlavi","Psalter_Pahlavi","Old_Turkic","Old_Hungarian","Hanifi_Rohingya","Old_Sogdian","Sogdian","Elymaic","Brahmi","Kaithi","Sora_Sompeng","Chakma","Mahajani","Sharada","Khojki","Multani","Khudawadi","Grantha","Newa","Tirhuta","Siddham","Modi","Takri","Ahom","Dogra","Warang_Citi","Nandinagari","Zanabazar_Square","Soyombo","Pau_Cin_Hau","Bhaiksuki","Marchen","Masaram_Gondi","Gunjala_Gondi","Makasar","Cuneiform","Egyptian_Hieroglyphs","Anatolian_Hieroglyphs","Mro","Bassa_Vah","Pahawh_Hmong","Medefaidrin","Miao","Tangut","Nushu","Duployan","SignWriting","Nyiakeng_Puachue_Hmong","Wancho","Mende_Kikakui","Adlam"],"eaw":["N","Na","A","W","H","F"]}');const y=new($parcel$interopDefault(p))($parcel$interopDefault(u).toByteArray("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")),w=Math.log2||(r=>Math.log(r)/Math.LN2),$43d7963e56408b24$var$bits=r=>w(r)+1|0,_=$43d7963e56408b24$var$bits($parcel$interopDefault(g).categories.length-1),x=$43d7963e56408b24$var$bits($parcel$interopDefault(g).combiningClasses.length-1),k=$43d7963e56408b24$var$bits($parcel$interopDefault(g).scripts.length-1),P=$43d7963e56408b24$var$bits($parcel$interopDefault(g).eaw.length-1),O=x+k+P+10,I=k+P+10,B=P+10,R=(1<<_)-1,D=(1<<x)-1,N=(1<<k)-1,W=(1<<P)-1;function $43d7963e56408b24$export$410364bbb673ddbc(r){const i=y.get(r);return $parcel$interopDefault(g).categories[i>>O&R]}function $43d7963e56408b24$export$c03b919c6651ed55(r){const i=y.get(r);return $parcel$interopDefault(g).combiningClasses[i>>I&D]}function $43d7963e56408b24$export$941569448d136665(r){const i=y.get(r);return $parcel$interopDefault(g).scripts[i>>B&N]}function $43d7963e56408b24$export$92f6187db8ca6d26(r){const i=y.get(r);return $parcel$interopDefault(g).eaw[i>>10&W]}function $43d7963e56408b24$export$7d1258ebb7625a0d(r){let i=y.get(r),o=1023&i;if(0===o)return null;if(o<=50)return o-1;if(o<480){return((o>>4)-12)/(1+(15&o))}if(o<768){i=(o>>5)-14;let r=2+(31&o);for(;r>0;)i*=10,r--;return i}{i=(o>>2)-191;let r=1+(3&o);for(;r>0;)i*=60,r--;return i}}function $43d7963e56408b24$export$52c8ea63abd07594(r){const i=$43d7963e56408b24$export$410364bbb673ddbc(r);return"Lu"===i||"Ll"===i||"Lt"===i||"Lm"===i||"Lo"===i||"Nl"===i}function $43d7963e56408b24$export$727d9dbc4fbb948f(r){return"Nd"===$43d7963e56408b24$export$410364bbb673ddbc(r)}function $43d7963e56408b24$export$a5b49f4dc6a07d2c(r){const i=$43d7963e56408b24$export$410364bbb673ddbc(r);return"Pc"===i||"Pd"===i||"Pe"===i||"Pf"===i||"Pi"===i||"Po"===i||"Ps"===i}function $43d7963e56408b24$export$7b6804e8df61fcf5(r){return"Ll"===$43d7963e56408b24$export$410364bbb673ddbc(r)}function $43d7963e56408b24$export$aebd617640818cda(r){return"Lu"===$43d7963e56408b24$export$410364bbb673ddbc(r)}function $43d7963e56408b24$export$de8b4ee23b2cf823(r){return"Lt"===$43d7963e56408b24$export$410364bbb673ddbc(r)}function $43d7963e56408b24$export$3c52dd84024ae72c(r){const i=$43d7963e56408b24$export$410364bbb673ddbc(r);return"Zs"===i||"Zl"===i||"Zp"===i}function $43d7963e56408b24$export$a11bdcffe109e74b(r){const i=$43d7963e56408b24$export$410364bbb673ddbc(r);return"Nd"===i||"No"===i||"Nl"===i||"Lu"===i||"Ll"===i||"Lt"===i||"Lm"===i||"Lo"===i||"Me"===i||"Mc"===i}function $43d7963e56408b24$export$e33ad6871e762338(r){const i=$43d7963e56408b24$export$410364bbb673ddbc(r);return"Mn"===i||"Me"===i||"Mc"===i}var U={getCategory:$43d7963e56408b24$export$410364bbb673ddbc,getCombiningClass:$43d7963e56408b24$export$c03b919c6651ed55,getScript:$43d7963e56408b24$export$941569448d136665,getEastAsianWidth:$43d7963e56408b24$export$92f6187db8ca6d26,getNumericValue:$43d7963e56408b24$export$7d1258ebb7625a0d,isAlphabetic:$43d7963e56408b24$export$52c8ea63abd07594,isDigit:$43d7963e56408b24$export$727d9dbc4fbb948f,isPunctuation:$43d7963e56408b24$export$a5b49f4dc6a07d2c,isLowerCase:$43d7963e56408b24$export$7b6804e8df61fcf5,isUpperCase:$43d7963e56408b24$export$aebd617640818cda,isTitleCase:$43d7963e56408b24$export$de8b4ee23b2cf823,isWhiteSpace:$43d7963e56408b24$export$3c52dd84024ae72c,isBaseForm:$43d7963e56408b24$export$a11bdcffe109e74b,isMark:$43d7963e56408b24$export$e33ad6871e762338}},3480:function(r){"use strict";r.exports=JSON.parse('[["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー[]✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","¬¦'"㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","■"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]')},3336:function(r){"use strict";r.exports=JSON.parse('[["0","\\u0000",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1"," 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","!"#¥%",88," ̄"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]')},7348:function(r){"use strict";r.exports=JSON.parse('[["0","\\u0000",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛!",58,"₩]",32," ̄"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆÐªĦ"],["a8a6","IJ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]')},4284:function(r){"use strict";r.exports=JSON.parse('[["0","\\u0000",127],["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢",4,"~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/"],["a240","\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳0",9,"Ⅰ",9,"〡",8,"十卄卅A",25,"a",21],["a340","wxyzΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]')},5633:function(r){"use strict";r.exports=JSON.parse('[["0","\\u0000",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]')},6258:function(r){"use strict";r.exports=JSON.parse('{"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]}')},4346:function(r){"use strict";r.exports=JSON.parse('[["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31," "],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc","ḿ"],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93],["8135f437",""]]')},7014:function(r){"use strict";r.exports=JSON.parse('[["0","\\u0000",128],["a1","。",62],["8140"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×"],["8180","÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨¬⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","ʼn♯♭♪†‡¶"],["81fc","◯"],["824f","0",9],["8260","A",25],["8281","a",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"¬¦'""],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]')}},i={};function __webpack_require__(o){var u=i[o];if(void 0!==u)return u.exports;var p=i[o]={id:o,loaded:!1,exports:{}};return r[o].call(p.exports,p,p.exports,__webpack_require__),p.loaded=!0,p.exports}return __webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(r){if("object"==typeof window)return window}}(),__webpack_require__.nmd=function(r){return r.paths=[],r.children||(r.children=[]),r},__webpack_require__(2536)}()}));
+//# sourceMappingURL=pdfmake.min.js.map
 
 this.pdfMake = this.pdfMake || {}; this.pdfMake.vfs = {
-  "Roboto-Italic.ttf": "AAEAAAASAQAABAAgR0RFRtRX1FkAAgp8AAACREdQT1NKcuCzAAIMwAAAUiRHU1VCw4aZEQACXuQAABfoT1MvMqCnsO0AAAGoAAAAYGNtYXBAbb9DAAAafAAABoBjdnQgJEEG5QAAI5QAAABMZnBnbWf0XKsAACD8AAABvGdhc3AACAATAAIKcAAAAAxnbHlmoLsktAAALagAAdn2aGRteCEe/AUAABWQAAAE7GhlYWT4gasAAAABLAAAADZoaGVhDKYSegAAAWQAAAAkaG10eHJO1ygAAAIIAAATiGxvY2EXM5zBAAAj4AAACcZtYXhwBxICWwAAAYgAAAAgbmFtZTlLZFAAAgegAAACrnBvc3T/YQBkAAIKUAAAACBwcmVwdKCP7AAAIrgAAADbAAEAAAACAAAcadIiXw889QAbCAAAAAAAxPARLgAAAADQ206M+jj91QlMCHMAAgAJAAIAAAAAAAAAAQAAB2z+DAAACRb6OP52CUwIAAGzAAAAAAAAAAAAAAAABOIAAQAABOIAkAAWAFYABQABAAAAAAAOAAACAAFzAAYAAQADBAsBkAAFAAAFmgUzAAABHwWaBTMAAAPRAGYCAAAAAgAAAAAAAAAAAOAACv9QACF/AAAAIQAAAABHT09HAAEAAP/9BgD+AABmB5oCACAAAZ8AAAAABDoFsAAgACAAAgOWAGQACgAAAAoAAAH2AAAB9gAAAgkAQwKFAMgE0QBSBGYASgW5ALsE3QA6AWQAqgKxAG0Cvf+PA2IAawRwAEwBkP+PAi4AGQIVADUDPf+PBGYAaARmAPkEZgAXBGYANARmAAUEZgByBGYAcARmAJ0EZgBBBGYAlAHrACsBrv+bA/wAQQRMAHAEGAA6A7QApQcCAEQFGv+vBN8AOwUXAHQFIQA7BHMAOwRUADsFUwB5BZIAOwImAEkEUgAKBOcAOwQ3ADsG0AA7BZIAOwVgAHcE7wA7BWAAbwTRADoEpQAnBKsAqAUSAGcE+gCkBuwAwwTn/9QEswCoBK//6wIZ//8DOQC/Ahn/egNIAE8Div+BAnAAzwRDADMEZQAfBBoARgRqAEsEJgBFArwAdARlAAQEUAAfAewALwHk/xQD+QAgAewALwbXAB4EUgAfBHcARQRl/9cEcwBJAqoAHwQKAC4CkwBDBFEAWwPMAG4F3wCAA+P/xAO2/6UD4//tAqoAOAHuACECqv+MBVEAaQHu//EESABSBIz/8wWSABIEvQBTAeb/9wTM/90DSADbBiMAYgOCAMMDrgBZBFYAgQYkAGEDmADjAvAA6AQvACUC4gBcAuIAbgJ5ANUEb//lA9UAewIQAKUB9v/IAuIA3wORAMADrQAPBbkAuQYPALQGEwCeA7b/0wdL/4QELQAoBWAAIASgADgEpwAeBpcAEwSWAFwEeABEBG8AOQSD/+AFeQA1AfUALgRbAC0EOAAiAiIAIwVqADUEbwAkB3AAVAcWAEcB9wAzBWcAUQKu/0kFXgBnBHkAQgVvAGcE1wBaAf7/CQQhAD4DsQEXA3wBJgOZAOMDWgEHAewBDgKiAQECI/+vA7MA3QLvAMICUv/pAAr9agAK/esACv0LAAr99QAK/NsB6vy7AgcBIQP2APMCEQClBFsAQwWD/7EFUQBpBSD/xAR4AAwFkwBEBHj/2gWZAFQFaACGBTMACgRsAEgEo//wA+0AhARvAEMEOQApBA8AggRvACQEdQBzAo0AhQRW/7cD2AA/BKkAYARv/9wENgBOBG8ASgQWAIcERQBnBYIAQQV5AE8GbgBmBIcAUQQrAGcGIgBmBdsAoQVFAHgIWf/MCGwAQwZaALQFkgBCBO4ANAXg/4sHFf+sBKUAJQWSAEMFiP/KBOoAkwYHAFsFtgBBBVoAzgdXAEIHjgBCBe0AiQbAAEUE6AA2BUUAdAb6AEkE+//oBFQARgR5ADADSwAtBLn/jQX7/6UD+wAhBIUALwQ7AC8Ehv/IBcsAMASEAC8EhQAvA8QAYAWqAEwEowAvBEIAewZQAC8GdQAkBNsAVgYQADAEQQAwBDYANAZfADAETP+/BFAAHwQ2AE4Gn//DBrkALwRwAB8EhQAvBtwAbwYGAE8EPwAuBv4ASQXUACwEt/+6BC//ogbfAFoF5wBOBqcAJgW+ACkIyQBIB58ALgQN/84Dx//KBVEAaQRyAEIE7QCtA+4AhAVRAGoEbwBEBtUAdAX/AFIG3ABvBgYATwUUAGYEMABNBOEAQAAK/OgACv0LAAr+FwAK/jsACvo4AAr6TwQ/AC4E/gA6BHD/1wRLADUDfwAkBMAAQwPwACQE7AA2BGYALQZkALsFYwB0B50AOgWSACQH/ABCBskAJAXKAHEEuABfBv8ArAU9AFcFTwDEBFIAmAVQAOwGCgCKBKMABwTsADUEQwAtBZAAQwRvACQFZwBRBI4APASO//wEnf/4Azr/6QTaADEGawAyBrkATAYvAK0FDQBoBDIArwPyAKAHj//fBk3/2gfIADsGeAAjBNoAagQHAEwFiwCaBQMAfQVFAGoDEgDyA/8AAAf0AAAD/wAAB/QAAAKuAAACBAAAAVwAAARmAAACKQAAAZ8AAADVAAAACgAAAi0AGQItABkFIgCnBhkAmQOU/18BlwCuAZcAiQGV/5gBlwDUAsgAtgLPAJUCtv+UBFEAdwR2//YCpwCgA7EAOQU7ADkA+QAaB3kAlwJeAF8CXgACA5H/7wLiAGEDUAB+BIz/8wYuAAoGaAA5CD8AOgc0ACIGBgAfBGYAUQW3AEMEDABJBFwACgUp//IFMP/lBcQAzAO7AEsIBQA1BOUA6gT6AIIGAQC1BqwAkgalAI8GQwC+BHYATQVtACQElf+sBHkAqwSqAEEIBQBNAgb/GgRpADEETABwA/z/1AQZABkD8wBBAkQAeAKFAHAB/v/jBNcAdARWAFgEcgB0BqoAdAaqAHQE0gB0BnIAKQAKAAAH/v+rCDUAXAQKAGIEhQBBAff/DwGP/70DkgETA4wBEgONARED4ADNA/kAzgPfACID2wDSA5IBEQH4APwEbP+lBDkAHQRkAEcEZwAdA9IAHQO4AB0EkgBMBMcAHQHjACoDvP/2BD0AHQOiAB0F3gAdBMcAHQShAEoERQAdBKEARQQzAB0ECgARBBAAbQRkAEUETwB6BfAAlQQ9/7YEFQB0BA3/3ALiAB0C4gBrAuL/6QLi//sC4v/wAuIAFgLiAB4C4gAvAuIACwLiADYDhACTAqoBCwQk/5oEqABLBS0AQwUHAEQD/gAlBR8ARAP6ACUECgASBB0ABgQlADQDnQAdBE//sAShAEoET/+wA3j/0wSzAB0D2//VBUgAUQT6AH4E1gAMBVIAbARkAEcHE//EByEAHQVUAG0EsgAdBEIAHwUH/4kF5/+vBCgAEQTQAB8ENwAeBKb/xAQJAFgFCgAdBFIAWgYqAB0GgwAdBQAAUAXNAB8ENwAfBGMAIAZOAB0Ebv/fA/z/+gYh/68EYQAeBOwAHgUZAGkFoABQBEcAdASO/7YGOgBsBFIAWgRSAB0FoQAvBK8AQQQoABEEoQBKBB3//wPPAB4H7gAdBJH/3QRlAB8EHABDBHoARwRzACQDaACpBHT/1wSDAEYEJgBFBGUANQVhAIEFjACEBXIARAW9AIUFwACFA8IAuwRpADkDnQAdBEH/gQS0/9MC4gCQAuIAYQLiAIkC4gCRAuIAogLiAH4C4gCpBFP/1QQYACsGewBJBJ8APwTkAGQCAP8JAf//CQH2AC4B9v96AfYALgH2//EEOQAdAfYAAAIuABkFPwAvBT8ALwRuAD0EqwCoApP/9AUa/68FGv+vBRr/rwUa/68FGv+vBRr/rwUa/68FFwB0BHMAOwRzADsEcwA7BHMAOwImAEkCJgBJAiYASQImAEkFkgA7BWAAdwVgAHcFYAB3BWAAdwVgAHcFEgBnBRIAZwUSAGcFEgBnBLMAqARDADMEQwAzBEMAMwRDADMEQwAzBEMAMwRDADMEGgBGBCYARQQmAEUEJgBFBCYARQH1AC4B9QAuAfUALgH1AC4EUgAfBHcARQR3AEUEdwBFBHcARQR3AEUEUQBbBFEAWwRRAFsEUQBbA7b/pQO2/6UFGv+vBEMAMwUa/68EQwAzBRr/rwRDADMFFwB0BBoARgUXAHQEGgBGBRcAdAQaAEYFFwB0BBoARgUhADsFAABLBHMAOwQmAEUEcwA7BCYARQRzADsEJgBFBHMAOwQmAEUEcwA7BCYARQVTAHkEZQAEBVMAeQRlAAQFUwB5BGUABAVTAHkEZQAEBZIAOwRQAB8CJgBJAfUAEQImAEkB9QAaAiYASQH1AC4CJv+OAez/cAImAEkGeABJA9AALwRSAAoB/v8JBOcAOwP5ACAENwA7AewALwQ3ADsB7P+jBDcAOwKCAC8ENwA7AsgALwWSADsEUgAfBZIAOwRSAB8FkgA7BFIAHwRSAB8FYAB3BHcARQVgAHcEdwBFBWAAdwR3AEUE0QA6AqoAHwTRADoCqv+fBNEAOgKqAB8EpQAnBAoALgSlACcECgAuBKUAJwQKAC4EpQAnBAoALgSlACcECgAuBKsAqAKTAEMEqwCoApMAQwSrAKgCuwBDBRIAZwRRAFsFEgBnBFEAWwUSAGcEUQBbBRIAZwRRAFsFEgBnBFEAWwUSAGcEUQBbBuwAwwXfAIAEswCoA7b/pQSzAKgEr//rA+P/7QSv/+sD4//tBK//6wPj/+0HS/+EBpcAEwVgACAEbwA5BGf/sARn/7AEEABtBGz/pQRs/6UEbP+lBGz/pQRs/6UEbP+lBGz/pQRkAEcD0gAdA9IAHQPSAB0D0gAdAeMAKgHjACoB4wAqAeMAKgTHAB0EoQBKBKEASgShAEoEoQBKBKEASgRkAEUEZABFBGQARQRkAEUEFQB0BGz/pQRs/6UEbP+lBGQARwRkAEcEZABHBGQARwRnAB0D0gAdA9IAHQPSAB0D0gAdA9IAHQSSAEwEkgBMBJIATASSAEwExwAdAeMADwHjABgB4wAqAeP/egHjACoDvP/2BD0AHQOiAB0DogAdA6IAHQOiAB0ExwAdBMcAHQTHAB0EoQBKBKEASgShAEoEMwAdBDMAHQQzAB0ECgARBAoAEQQKABEECgARBBAAbQQQAG0EEABtBGQARQRkAEUEZABFBGQARQRkAEUEZABFBfAAlQQVAHQEFQB0BA3/3AQN/9wEDf/cBRr/rwTXAGMF9gBxAooAdwV0AGoFF//uBUcAHgKNACAFGv+vBN8AOwRzADsEr//rBZIAOwImAEkE5wA7BtAAOwWSADsFYAB3BO8AOwSrAKgEswCoBOf/1AImAEkEswCoBGwASAQ5ACkEbwAkAo0AhQRFAGcEWwAtBHcARQRv/+UDzABuA+P/xAKNAGcERQBnBHcARQRFAGcGbgBmBHMAOwRbAEMEpQAnAiYASQImAEkEUgAKBQcARATnADsE6gCTBRr/rwTfADsEWwBDBHMAOwWSAEMG0AA7BZIAOwVgAHcFkwBEBO8AOwUXAHQEqwCoBOf/1ARDADMEJgBFBIUALwR3AEUEZf/XBBoARgO2/6UD4//EBCYARQNLAC0ECgAuAewALwH1AC4B5P8UBDsALwO2/6UG7ADDBd8AgAbsAMMF3wCABuwAwwXfAIAEswCoA7b/pQFkAKoChQDIBBIAQwH+/wkBlwCJBtAAOwbXAB4FGv+vBEMAMwRzADsFkgBDBCYARQSFAC8FaACGBXkATwTtAK0D7gCECC0ARQkWAHcEpQAlA/sAIQUXAHQEGgBGBLMAqAPtAIQCJgBJBxX/rAX7/6UCJgBJBRr/rwRDADMFGv+vBEMAMwdL/4QGlwATBHMAOwQmAEUFZwBRBCEAPgQhAD4HFf+sBfv/pQSlACUD+wAhBZIAQwSFAC8FkgBDBIUALwVgAHcEdwBFBVEAaQRyAEIFUQBpBHIAQgVFAHQENgA0BOoAkwO2/6UE6gCTA7b/pQTqAJMDtv+lBVoAzgRCAHsGwABFBhAAMATn/9QD4//EBGoASwWI/8oEhv/IBRr/rwRDADMFGv+vBEMAMwUa/68EQwAzBRr/rwRDADMFGv+vBEMAMwUa/68EQwAzBRr/rwRDADMFGv+vBEMAMwUa/68EQwAzBRr/rwRDADMFGv+vBEMAMwUa/68EQwAzBHMAOwQmAEUEcwA7BCYARQRzADsEJgBFBHMAOwQmAEUEcwA7BCYARQRzADsEJgBFBHMAOwQmAEUEcwA7BCYARQImAEkB9QAuAiYADgHs//EFYAB3BHcARQVgAHcEdwBFBWAAdwR3AEUFYAB3BHcARQVgAHcEdwBFBWAAdwR3AEUFYAB3BHcARQVeAGcEeQBCBV4AZwR5AEIFXgBnBHkAQgVeAGcEeQBCBV4AZwR5AEIFEgBnBFEAWwUSAGcEUQBbBW8AZwTXAFoFbwBnBNcAWgVvAGcE1wBaBW8AZwTXAFoFbwBnBNcAWgSzAKgDtv+lBLMAqAO2/6UEswCoA7b/pQSIAEsEiAAABQcARAQ7AC8FkgA7BIQALwSrAKgDxABgBOf/1APj/8QFWgDOBEIAewVaAM4EQgB7BFsAQwNLAC0HFf+sBfv/pQYKAIoEowAHBFAAHwToACsE6AArBFsAEANL/+YFGwBYBBIAOQWSAEMEhQAvBZIAOwSEAC8G0AA7BcsAMAWI/8oEhv/IBLMAqAPtAF0E5//UA+P/xAQ5ACkEVP/XBhkAmQRmABcEZgA0BGYABQRmAHIEegCUBI4AfAVTAHkEZQAEBZIAOwRSAB8FGv+vBEMAMwRzADsEJgBFAib/3wH1/40FYAB3BHcARQTRADoCqgAfBRIAZwRRAFsEj/+yBN8AOwRlAB8FIQA7BGoASwUhADsEagBLBZIAOwRQAB8E5wA7A/kAIATnADsD+QAgBDcAOwHs//IG0AA7BtcAHgWSADsEUgAfBO8AOwRl/9cE0QA6Aqr/7gSlACcECgAuBKsAqAKTAEME+gCkA8wAbgT6AKQDzABuBuwAwwXfAIAEr//rA+P/7QWm/wwEbP+lBA7/4QUD//0CHwABBKsAHQRR/5sE4AAWBGz/pQQ5AB0D0gAdBA3/3ATHAB0B4wAqBD0AHQXeAB0EoQBKBEUAHQQQAG0EFQB0BD3/tgHjACoEFQB0A9IAHQOdAB0ECgARAeMAKgHjACoDvP/2BD0AHQQJAFgEbP+lBDkAHQOdAB0D0gAdBNAAHwXeAB0ExwAdBKEASgSzAB0ERQAdBGQARwQQAG0EPf+2BCgAEQTHAB0EZABIBBUAdAWhAC8E0AAfBAkAWAVIAFEFGv+vBEMAMwRzADsEJgBFAAAAAQAABOQJCgQAAAICAgMFBQYFAgMDBAUCAgIEBQUFBQUFBQUFBQICBAUFBAgGBQYGBQUGBgIFBgUIBgYGBgUFBQYGCAYFBQIEAgQEAwUFBQUFAwUFAgIEAggFBQUFAwUDBQQHBAQEAwIDBgIFBQYFAgUEBwQEBQcEAwUDAwMFBAICAwQEBgcHBAgFBgUFBwUFBQUGAgUFAgYFCAgCBgMGBQYFAgUEBAQEAgMCBAMDAAAAAAACAgQCBQYGBgUGBQYGBgUFBAUFBQUFAwUEBQUFBQUFBgYHBQUHBwYJCQcGBgcIBQYGBgcGBggJBwgGBggGBQUEBQcEBQUFBwUFBAYFBQcHBQcFBQcFBQUHCAUFCAcFCAcFBQgHBwYKCQUEBgUGBAYFCAcIBwYFBQAAAAAAAAUGBQUEBQQGBQcGCQYJCAcFCAYGBQYHBQYFBgUGBQUFBAUHCAcGBQQJBwkHBQUGBgYDBQkFCQMCAgUCAgEAAgIGBwQCAgICAwMDBQUDBAYBCAMDBAMEBQcHCQgHBQYFBQYGBgQJBgYHCAcHBQYFBQUJAgUFBAUEAwMCBQUFCAgFBwAJCQUFAgIEBAQEBAQEBAIFBQUFBAQFBQIEBQQHBQUFBQUFBQUFBwUFBQMDAwMDAwMDAwMEAwUFBgYEBgQFBQUEBQUFBAUEBgYFBgUICAYFBQYHBQUFBQUGBQcHBgcFBQcFBAcFBgYGBQUHBQUGBQUFBQQJBQUFBQUEBQUFBQYGBgYGBAUEBQUDAwMDAwMDBQUHBQYCAgICAgIFAgIGBgUFAwYGBgYGBgYGBQUFBQICAgIGBgYGBgYGBgYGBQUFBQUFBQUFBQUFBQICAgIFBQUFBQUFBQUFBAQGBQYFBgUGBQYFBgUGBQYGBQUFBQUFBQUFBQYFBgUGBQYFBgUCAgICAgICAgIHBAUCBgQFAgUCBQMFAwYFBgUGBQUGBQYFBgUFAwUDBQMFBQUFBQUFBQUFBQMFAwUDBgUGBQYFBgUGBQYFCAcFBAUFBAUEBQQIBwYFBQUFBQUF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c3dzd3N/c4dzkXObc7Jz0XPvdA50LnQ6dEZ0d3S4dR11QnVOdV51cnZGdmJ2f3aSdqZ273d6eBx4qXi1eXh503pZewR7ZnvpfEd8uH1dfcl+W368fyR/Pn9Yf3J/jH//gCeAYYB9gLKBO4GBgfiCOYJHglWCjoKbgsKC24Lng0qDo4Q3hMKFQ4YXhheHlIfxiCKIgIiviMWJKIl6ibqKLIqFisWLCItIi2KLqIwejHqMx40TjU+Nto4EjiKOWI6cjsSPFo9Uj7OQA5BhkLWRI5FPkYuRvpISkleSi5LIkxuTRpOVlAaUSJSolQiVNZW+liCWN5aBlz6XuZgtmHyYwpkEmUyZzJo4mq+a2psQm4ibuZwHnDqcepzunVCdu54enoyfA597n9KgDaBpoMGhN6G8ofqiS6KUotijE6Nbo5uj5aRApEyknaURpZyl+aZIptCnM6eYp/iooqiuqQGpTamiqeuqZarSqzerq6xHrM6tb63irk+uqK8Tr5yvpLAQsH6w6bFysdWyQLKSsvSzWrOFs9q0BLRdtKG0tbTJtNu077UBtRi1LLWOtba2RLa0tw23FbcdtyW3MLc4t0S3sLewt7i4KLiYuPq5QLmoub+51rntugS6HLovuju6R7peunC6h7qaurG6w7rauu27BLsbuy27RLtbu267hbuXu667wbvTu+q7/LwSvCO8NrxJvFW8Ybx4vIq8oLyzvMm82rzxvQm9Gr0xvUO9Wb1qvX29lL2mvby9z73hvfO+Cr4gvje+Sb62v2S/dr+Iv5q/q7+9v8+/4b/ywATAEMAiwDPARcBXwGnAe8DvwX3Bj8GgwbLBw8HVwefB+cILwhfCKcI7wk/CYcJzwoXCl8KpwrvCxsLRwuPC78L7ww3DH8MrwzfDScNbw2fDc8OIw5TDoMOsw77D0MPcw+jD+sQLxBfEKcQ6xEzEXsRxxITElsSoxLTEwMTSxOPE9cUHxRnFKsU2xULFTsVaxWzFfcWJxZXFocWtxb/Fy8Xdxe7GAMYRxiPGNcZIxlvGbsaBxuLHUcdjx3XHh8eYx6vHvcfPx+HH88gFyBbILchEyFvIcsiVyLjIyMjfyPHJB8kYySvJPslKyVbJbcl/yZDJosm4ycnJ28nuygDKF8opyjvKTcpgynfKicqayq3Kv8rQyuLLSctby2zLfsuQy6HLssvDy9XMT8xg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AdMAAAEHAKEBFwAeAAkAsAcvsBPcMDEA////3AAABA4GIAImAdMAAAEGAJ5VHwAJALAHL7AO3DAxAP///68AAASLBj8CJgAlAAAABgCtBAD//wBjAAAFFQY/ACYAKWQAAAcArf9CAAD//wBxAAAF2wZBACYALGQAAAcArf9QAAL//wB3AAACZQZAACYALWQAAAcArf9WAAH//wBq/+cFIQY/ACYAMxQAAAcArf9JAAD////uAAAFlgY/ACYAPWQAAAcArf7NAAD//wAeAAAE7gY/ACYAuRQAAAcArf9MAAD//wAg//QDGwZ0AiYAwgAAAQcArv8t/+wAHACwAEVYsA4vG7EOGD5ZsBvcsBHQsBsQsCTQMDH///+vAAAEiwWwAgYAJQAA//8AOwAABKAFsAIGACYAAP//ADsAAASxBbACBgApAAD////rAAAEzgWwAgYAPgAA//8AOwAABXcFsAIGACwAAP//AEkAAAIBBbACBgAtAAD//wA7AAAFUAWwAgYALwAA//8AOwAABrcFsAIGADEAAP//ADsAAAV3BbACBgAyAAD//wB3/+cFDQXIAgYAMwAA//8AOwAABPMFsAIGADQAAP//AKgAAAUJBbACBgA4AAD//wCoAAAFMgWwAgYAPQAA////1AAABSsFsAIGADwAAP//AEkAAAMKBwkCJgAtAAABBwBq/7gBQgAMALACL7AZ3LAE0DAx//8AqAAABTIG/QImAD0AAAEHAGoA/QE2AAwAsAEvsB7csAnQMDH//wBI/+cEMgY6AiYAugAAAQcArQFo//sACQCwFS+wKNwwMQD//wAp/+cD5QY5AiYAvgAAAQcArQEh//oACQCwGi+wK9wwMQD//wAk/mED8wY6AiYAwAAAAQcArQE7//sACQCwAy+wFdwwMQD//wCF//QCZQYlAiYAwgAAAQYArSTmAAkAsAAvsBHcMDEA//8AZ//lBAoGdAImAMoAAAEGAK4c7AASALALL7Ar3LAW0LArELAa0DAx//8ALQAABFcEOgIGAI0AAP//AEX/6AQfBFICBgBTAAD////l/mAEJQQ6AgYAdgAA//8AbgAAA+0EOgIGAFoAAP///8QAAAP0BDoCBgBcAAD//wBn//QC3gWzAiYAwgAAAQYAaozsAAwAsAAvsCTcsA/QMDH//wBn/+UD+gWzAiYAygAAAQYAanvs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3LAi0DAx//8Ak//mBUAG+gImAN0AAAEHAHAA7AFKAAkAsAEvsBHcMDEA////pf5FA+wFuAImAF0AAAEGAHAvCAAJALABL7AQ3DAxAP//AJP/5gVABwkCJgDdAAABBwBqARsBQgAMALABL7Am3LAR0DAx////pf5FA+wFxwImAF0AAAEGAGpeAAAMALABL7Al3LAQ0DAx//8Ak//mBUAHQQImAN0AAAEHAKUBXQFCABYAsABFWLABLxuxARw+WbAT3LAX0DAx////pf5FBF4F/wImAF0AAAEHAKUAoAAAABYAsABFWLABLxuxARg+WbAS3LAW0DAx//8AzgAABUQHCQImAOAAAAEHAGoBRAFCABYAsABFWLASLxuxEhw+WbAo3LAc0DAx//8AewAABAAFswImAPgAAAEGAGpp7AAMALAIL7Ao3LAT0DAx//8ARQAABpYHCQAmAOUPAAAnAC0ElQAAAQcAagIIAUIAFgCwAEVYsAovG7EKHD5ZsCHcsC3QMDH//wAwAAAFqQWzACYA/QAAACcAjAQKAAABBwBqAWr/7AAWALAARViwCi8bsQoYPlmwIdywLdAwMf///9T+RQUrBbACJgA8AAAABwGvA5UAAP///8T+RQP0BDoCJgBcAAAABwGvAqoAAP//AEv/6AR1BgACBgBIAAD////K/kUFZQWwAiYA3AAAAAcBrwQkAAD////I/kUESgQ6AiYA8QAAAAcBrwM7AAD///+v/p8EiwWwAiYAJQAAAAcArATcAAD//wAz/p8DzwRRAiYARQAAAAcArAQpAAD///+vAAAEiwe5AiYAJQAAAQcAqgUBAUYACQCwBC+wGNwwMQD//wAz/+gDzwaDAiYARQAAAQcAqgRzABAACQCwGC+wOdwwMQD///+vAAAF7QfDAiYAJQAAAQcBtwDyAS4AFgCwAEVYsAUvG7EFHD5ZsA7csBTQMDH//wAz/+gFXwaOAiYARQAAAQYBt2T5ABYAsABFWLAYLxuxGBg+WbAv3LA10DAx////rwAABIsHvwImACUAAAEHAbYA+AE9ABYAsABFWLAFLxuxBRw+WbAM3LAT0DAx//8AM//oA/0GiQImAEUAAAEGAbZqBwAWALAARViwGC8bsRgYPlmwL9ywNNAwMf///68AAAVsB+oCJgAlAAABBwG1APMBGwAWALAARViwBS8bsQUcPlmwDNywINAwMf//ADP/6ATeBrUCJgBFAAABBgG1ZeYAFgCwAEVYsBgvG7EYGD5ZsC/csDPQMDH///+vAAAEiwfZAiYAJQAAAQcBtADvAQYAFgCwAEVYsAQvG7EEHD5ZsA7csBXQMDH//wAz/+gD9wakAiYARQAAAQYBtGHRABYAsABFWLAYLxuxGBg+WbAt3LA20DAx////r/6fBIsHNgImACUAAAAnAJ0A+QE2AQcArATcAAAAEwCwAEVYsAQvG7EEHD5ZsBDcMDEA//8AM/6fA88GAAImAEUAAAAmAJ1rAAEHAKwEKQAAABMAsABFWLAYLxuxGBg+WbAx3DAxAP///68AAASLB7cCJgAlAAABBwGzARcBLQAMALAEL7AO3LAa0DAx//8AM//oA+UGggImAEUAAAEHAbMAif/4AAwAsBgvsC/csDvQMDH///+vAAAEiwe3AiYAJQAAAQcBuAEXAS0ADACwBC+wDtywGtAwMf//ADP/6APlBoICJgBFAAABBwG4AIn/+AAMALAYL7Av3LA70DAx////rwAABIsIQAImACUAAAEHAbIBHgE9AAwAsAQvsA7csBfQMDH//wAz/+gD1QcKAiYARQAAAQcBsgCQAAcADACwGC+wL9ywONAwMf///68AAASSCBQCJgAlAAABBwGxAR8BRQAMALAEL7AO3LAX0DAx//8AM//oBAQG3gImAEUAAAEHAbEAkQAPAAwAsBgvsC/csDjQMDH///+v/p8EiwcPAiYAJQAAACcAoAEuATcBBwCsBNwAAAATALAARViwBC8bsQQcPlmwDtwwMQD//wAz/p8D7AXZAiYARQAAACcAoACgAAEBBwCsBCkAAAATALAARViwGC8bsRgYPlmwL9wwMQD//wA7/qkEsQWwAiYAKQAAAAcArASdAAr//wBF/p8D4ARRAiYASQAAAAcArAR0AAD//wA7AAAEsQfFAiYAKQAAAQcAqgTPAVIACQCwBi+wGdwwMQD//wBF/+oD4AaDAiYASQAAAQcAqgRYABAACQCwCC+wLdwwMQD//wA7AAAEsQctAiYAKQAAAQcApADPAUYACQCwBi+wFtwwMQD//wBF/+oEBgXrAiYASQAAAQYApFgEAAkAsAgvsCrcMDEA//8AOwAABbsHzwImACkAAAEHAbcAwAE6ABYAsABFWLAGLxuxBhw+WbAR3LAV0DAx//8ARf/qBUQGjgImAEkAAAEGAbdJ+QAWALAARViwCC8bsQgYPlmwI9ywKdAwMf//ADsAAASxB8sCJgApAAABBwG2AMYBSQAWALAARViwBi8bsQYcPlmwD9ywFNAwMf//AEX/6gPiBokCJgBJAAABBgG2TwcAFgCwAEVYsAgvG7EIGD5ZsCPcsCjQMDH//wA7AAAFOgf2AiYAKQAAAQcBtQDBAScAFgCwAEVYsAYvG7EGHD5ZsA/csCHQMDH//wBF/+oEwwa1AiYASQAAAQYBtUrmABYAsABFWLAILxuxCBg+WbAh3LA10DAx//8AOwAABLEH5QImACkAAAEHAbQAvQESABYAsABFWLAGLxuxBhw+WbAP3LAW0DAx//8ARf/qA+AGpAImAEkAAAEGAbRG0QAWALAARViwCC8bsQgYPlmwI9ywKtAwMf//ADv+qQSxB0ICJgApAAAAJwCdAMcBQgEHAKwEnQAKABMAsABFWLAGLxuxBhw+WbAR3DAxAP//AEX+nwPgBgACJgBJAAAAJgCdUAABBwCsBHQAAAATALAARViwCC8bsQgYPlmwJdwwMQD//wBJAAACuwfFAiYALQAAAQcAqgOFAVIACQCwAi+wEdwwMQD//wAuAAACaQaBAiYAjAAAAQcAqgMzAA4ACQCwAi+wEdwwMQD//wAO/qgCAQWwAiYALQAAAAcArANTAAn////x/qkB4wXHAiYATQAAAAcArAM2AAr//wB3/p8FDQXIAiYAMwAAAAcArATxAAD//wBF/p8EHwRSAiYAUwAAAAcArASEAAD//wB3/+cFDQe7AiYAMwAAAQcAqgUiAUgACQCwCi+wMNwwMQD//wBF/+gEHwaDAiYAUwAAAQcAqgRhABAACQCwAC+wMNwwMQD//wB3/+cGDgfFAiYAMwAAAQcBtwETATAAFgCwAEVYsAovG7EKHD5ZsCbcsCzQMDH//wBF/+gFTQaOAiYAUwAAAQYBt1L5ABYAsABFWLAALxuxABg+WbAm3LAs0DAx//8Ad//nBQ0HwQImADMAAAEHAbYBGQE/ABYAsABFWLAKLxuxChw+WbAm3LAr0DAx//8ARf/oBB8GiQImAFMAAAEGAbZYBwAWALAARViwAC8bsQAYPlmwJtywK9AwMf//AHf/5wWNB+wCJgAzAAABBwG1ARQBHQAWALAARViwCi8bsQocPlmwJtywKtAwMf//AEX/6ATMBrUCJgBTAAABBgG1U+YAFgCwAEVYsAAvG7EAGD5ZsCTcsDjQMDH//wB3/+cFDQfbAiYAMwAAAQcBtAEQAQgAFgCwAEVYsAovG7EKHD5ZsCTcsC3QMDH//wBF/+gEHwakAiYAUwAAAQYBtE/RABYAsABFWLAALxuxABg+WbAk3LAt0DAx//8Ad/6fBQ0HOAImADMAAAAnAJ0BGgE4AQcArATxAAAAEwCwAEVYsAovG7EKHD5ZsCjcMDEA//8ARf6fBB8GAAImAFMAAAAmAJ1ZAAEHAKwEhAAAABMAsABFWLAALxuxABg+WbAo3DAxAP//AGf/6QYbBy8CJgCXAAABBwB1Ag8BMQATALAARViwCi8bsQocPlmwK9wwMQD//wBC/+cE/wX+AiYAmAAAAQcAdQFmAAAAEwCwAEVYsAAvG7EAGD5ZsCjcMDEA//8AZ//pBhsHLwImAJcAAAEHAEQBhQExABMAsABFWLAKLxuxChw+WbAq3DAxAP//AEL/5wT/Bf4CJgCYAAABBwBEANwAAAATALAARViwAC8bsQAYPlmwJ9wwMQD//wBn/+kGGwe0AiYAlwAAAQcAqgUdAUEAEwCwAEVYsAovG7EKHD5ZsCncMDEA//8AQv/nBP8GgwImAJgAAAEHAKoEdAAQABMAsABFWLAALxuxABg+WbAm3DAxAP//AGf/6QYbBxwCJgCXAAABBwCkAR0BNQATALAARViwCi8bsQocPlmwLNwwMQD//wBC/+cE/wXrAiYAmAAAAQYApHQEABMAsABFWLAALxuxABg+WbAp3DAxAP//AGf+nwYbBjcCJgCXAAAABwCsBOMAAP//AEL+lgT/BLACJgCYAAAABwCsBHb/9///AGf+nwUgBbACJgA5AAAABwCsBMgAAP//AFv+nwQeBDoCJgBZAAAABwCsBDAAAP//AGf/5wUgB7kCJgA5AAABBwCqBPwBRgAJALAAL7Ag3DAxAP//AFv/6AQeBoMCJgBZAAABBwCqBGUAEAAJALAGL7Ah3DAxAP//AGf/6AaaB0ACJgCZAAABBwB1AgkBQgATALAARViwGi8bsRocPlmwHdwwMQD//wBa/+gFTgXqAiYAmgAAAQcAdQFg/+wAEwCwAEVYsBYvG7EWGD5ZsB7cMDEA//8AZ//oBpoHQAImAJkAAAEHAEQBfwFCABMAsABFWLASLxuxEhw+WbAc3DAxAP//AFr/6AVOBeoCJgCaAAABBwBEANb/7AATALAARViwDS8bsQ0YPlmwHdwwMQD//wBn/+gGmgfFAiYAmQAAAQcAqgUXAVIAEwCwAEVYsBovG7EaHD5ZsCjcMDEA//8AWv/oBU4GbwImAJoAAAEHAKoEbv/8ABMAsABFWLANLxuxDRg+WbAc3DAxAP//AGf/6AaaBy0CJgCZAAABBwCkARcBRgATALAARViwGi8bsRocPlmwHtwwMQD//wBa/+gFTgXXAiYAmgAAAQYApG7wABMAsABFWLAWLxuxFhg+WbAf3DAxAP//AGf+lwaaBgICJgCZAAAABwCsBOH/+P//AFr+nwVOBJECJgCaAAAABwCsBDYAAP//AKj+nwUyBbACJgA9AAAABwCsBJcAAP///6X+AgPsBDoCJgBdAAAABwCsBNr/Y///AKgAAAUyB7kCJgA9AAABBwCqBMsBRgAJALABL7AW3DAxAP///6X+RQPsBoMCJgBdAAABBwCqBCwAEAAJALABL7Ad3DAxAP//AKgAAAUyByECJgA9AAABBwCkAMsBOgAJALABL7AT3DAxAP///6X+RQPsBesCJgBdAAABBgCkLAQACQCwAS+wGtwwMQAAAgBL/+gFEQYAABkAJQB8ALAWL7AARViwDy8bsQ8YPlmwAEVYsAMvG7EDED5ZsABFWLAGLxuxBhA+WbIPFgFdsi8WAV2yFAMWERI5sBQvsBjQsgEBCitYIdgb9FmyBAYPERI5shEPBhESObAS0LAGELIdAQorWCHYG/RZsA8QsiIBCitYIdgb9FkwMQEjAyM3BicmJicmNzYSNhcWFxMjNzM3MwczAQYWFxY3EyYnJgYGBPa11qUTgLyWsgcDCBSO0H21YTD8G/0ctRq2+/ADbGidelY8nmujVQTS+y50jAQE4787UqUBCoQDBIABB5eXl/xOj54CB6UB9JQEA4fz//8AAP7NBREGAAAmAEgAAAAnAd4B+QJHAAcAQwB//2T//wBE/pgFagWwAiYB4wAAAAcBsAQC/////wAv/pkEVwQ6AiYA8AAAAAcBsANGAAD//wA7/pkFdwWwAiYALAAAAAcBsARlAAD//wAv/pkENgQ6AiYA8wAAAAcBsANmAAD//wCo/pkFCQWwAiYAOAAAAAcBsAItAAD//wBg/pkD6AQ6AiYA9QAAAAcBsAG4AAD////U/pkFKwWwAiYAPAAAAAcBsAPDAAD////E/pkD9AQ6AiYAXAAAAAcBsALYAAD//wDO/pkFRAWwAiYA4AAAAAcBsAQkAAD//wB7/pkEAAQ7AiYA+AAAAAcBsAMkAAD//wDO/pkFRAWwAiYA4AAAAAcBsALnAAD//wB7/pkEAAQ7AiYA+AAAAAcBsAHmAAD//wBD/pkEpQWwAiYAsAAAAAcBsADnAAD//wAt/pkDgwQ6AiYA6wAAAAcBsADOAAD///+s/pkHdQWwAiYA2QAAAAcBsAYwAAD///+l/pkGDgQ6AiYA7QAAAAcBsAT0AAD//wCK/lUFxQXIAiYBPwAAAAcBsALj/7z//wAH/lkERwRTAiYBQAAAAAcBsAHn/8D//wAfAAAD4wYAAgYATAAAAAIAKwAABIEFsAASABsAbrIVHB0REjmwFRCwANAAsABFWLAPLxuxDxw+WbAARViwCS8bsQkQPlmyDg8JERI5sA4vsgsBCitYIdgb9FmwANCyAg8JERI5sAIvsA4QsBHQsAIQshMBCitYIdgb9FmwCRCyFAEKK1gh2Bv0WTAxASMHBRYWBwYEIyETIzczNzMHMwEDBTI2NzYmJwKV5CoBNtjsERD+2On957/KG8kjvCPl/rxgAUqNwBEOfHwEUPIBAeK/x/QEUJfJyf3Z/d0BnoN2iAQAAgArAAAEgQWwABIAGwBxshUcHRESObAVELAA0ACwAEVYsBAvG7EQHD5ZsABFWLAJLxuxCRA+WbISEAkREjmwEi+yAAEKK1gh2Bv0WbIDEAkREjmwAy+wABCwC9CwEhCwDdCwCRCyFQEKK1gh2Bv0WbADELIbAQorWCHYG/RZMDEBIwcFFhYHBgQjIRMjNzM3MwczAQMFMjY3NiYnApXkKgE22OwREP7Y6f3nv8obySO8I+X+vGABSo3AEQ58fARQ8gEB4r/H9ARQl8nJ/dn93QGeg3aIBAAAAQAQAAAEpQWwAA0AULILDg8REjkAsABFWLAILxuxCBw+WbAARViwAi8bsQIQPlmyDQgCERI5sA0vsgABCitYIdgb9FmwBNCwDRCwBtCwCBCyCgEKK1gh2Bv0WTAxASEDIxMjNzMTIQchAyECev78dr13qhupbANlHP1YUQEFAqz9VAKslwJtnv4xAAAB/+YAAAODBDoADQBQsgsODxESOQCwAEVYsAgvG7EIGD5ZsABFWLACLxuxAhA+WbINCAIREjmwDS+yAAEKK1gh2Bv0WbAE0LANELAG0LAIELIKAQorWCHYG/RZMDEBIQMjEyM3MxMhByEDIQJQ/uZTtlOaG5lPApoc/h00ARsB3/4hAd+XAcSZ/tUAAAEAWAAABX4FsAAUAG0AsABFWLASLxuxEhw+WbAARViwBC8bsQQcPlmwAEVYsAsvG7ELED5ZsABFWLAILxuxCBA+WbITEgsREjmwEy+wENCyDQEKK1gh2Bv0WbAB0LALELAC0LACL7IKAQorWCHYG/RZsgYKAhESOTAxASMDMwEzAQEjASMDIxMjNzM3MwczAsf4LokCXff9YQG81v5ysnG8u7YbtSi7J/kEN/73AoL9Nf0bAo79cgQ3l+LiAAABADkAAAQyBgAAFABmALARL7AARViwBC8bsQQYPlmwAEVYsAsvG7ELED5ZsABFWLAILxuxCBA+WbIQEQsREjmwEC+wE9CyAQEKK1gh2Bv0WbALELAC0LACL7IKAQorWCHYG/RZsgYKAhESObABELAN0DAxASMDMwEzAQEjASMDIxMjNzM3MwczAqnoYXIBfOT+MgE3yP71gle2080bzR21HegEwf3NAaz+Cv28AfX+CwTBl6io//8AQ/6aBW4HGwImANsAAAAnAKABawFDAQcAEARQ/70AEwCwAEVYsAgvG7EIHD5ZsA3cMDEA//8AL/6aBEUFxQImAO8AAAAnAKAApf/tAQcAEANb/70AEwCwAEVYsAgvG7EIGD5ZsA3cMDEA//8AO/6aBXcFsAImACwAAAAHABAEWf+9//8AL/6aBEQEOgImAPMAAAAHABADWv+9//8AO/6aBrcFsAImADEAAAAHABAFjP+9//8AMP6aBYsEOgImAPIAAAAHABAEof+9////yv6aBWUFsAImANwAAAAHABAERv+9////yP6aBEcEOgImAPEAAAAHABADXf+9AAEAqAAABTIFsAAOAFayCg8QERI5ALAARViwCC8bsQgcPlmwAEVYsAsvG7ELHD5ZsABFWLACLxuxAhA+WbIGAggREjmwBi+yBQEKK1gh2Bv0WbAA0LIKCAIREjmwBhCwDtAwMQEjAyMTIzczATMTATMBMwN82Vu7WtUblf7mzO8B7+D91ZACCf33AgmXAxD9JgLa/PAAAAEAXf5gBBoEOgAOAGOyAQ8QERI5ALAARViwCS8bsQkYPlmwAEVYsAsvG7ELGD5ZsABFWLADLxuxAxI+WbAARViwAC8bsQAQPlmwAEVYsAQvG7EEED5ZsgYBCitYIdgb9FmyCgsAERI5sA3QsA7QMDEFIwMjEyM3MwMzEwEzATMCx99GtUbWG72xsYkBnMD+Cr4L/msBlZcDrvzcAyT8UgAB/9QAAAUrBbAAEQBiALAARViwDC8bsQwcPlmwAEVYsA4vG7EOHD5ZsABFWLAFLxuxBRA+WbAARViwAy8bsQMQPlmyCQwFERI5fLAJLxiwENCyAAEKK1gh2Bv0WbIEBQwREjmwCNCyDQwFERI5MDEBIwEjAQEjASM3MwEzEwEzATMDsaQBOtP+/v5K6AIKlxuR/trQ/QGp6P4TjgKe/WICN/3JAp6XAnv90wIt/YUAAAH/xAAAA/QEOgARAGoAsABFWLAMLxuxDBg+WbAARViwDi8bsQ4YPlmwAEVYsAUvG7EFED5ZsABFWLADLxuxAxA+WbIJBQwREjl8sAkvGLIIAQorWCHYG/RZsAHQsgQFDBESObINDAUREjmwCRCwEdB8sBEvGDAxASMTIwMBIwEjNzMDMxMBMwEzAw+x7MWz/s/dAYKhG57bxqcBJt7+mZ0B4f4fAZT+bAHhlwHC/nYBiv4+//8AKf/nA+UETQIGAL4AAP///9cAAASkBbACJgAqAAAABwHe/0T+f///AJkCiwXXAyIARgGXiABmZkAA//8AFwAABCsFxwIGABYAAP//ADT/6AQhBccCBgAXAAD//wAFAAAEHQWwAgYAGAAA//8Acv/nBGoFsAIGABkAAP//AJT//gQTBcgABgAdAAD//wB8/+cEPwXJAAYAFBQA//8Aef/qBQYHVQImACsAAAEHAHUB9wFXABMAsABFWLAMLxuxDBw+WbAk3DAxAP//AAT+TwQoBf4CJgBLAAABBwB1AU0AAAATALAARViwBC8bsQQYPlmwLNwwMQD//wA7AAAFdwc0AiYAMgAAAQcARAGdATYAEwCwAEVYsAYvG7EGHD5ZsAvcMDEA//8AHwAAA+MF/gImAFIAAAEHAEQA0gAAABMAsABFWLADLxuxAxg+WbAU3DAxAP///68AAASLByACJgAlAAABBwCrBIABMgAWALAARViwBC8bsQQcPlmwDNywENAwMf//ADP/6APPBesCJgBFAAABBwCrA/L//QAWALAARViwGC8bsRgYPlmwLdywMdAwMf//ADsAAASxBywCJgApAAABBwCrBE4BPgAWALAARViwBi8bsQYcPlmwDdywEdAwMf//AEX/6gPgBesCJgBJAAABBwCrA9f//QAWALAARViwCC8bsQgYPlmwIdywJdAwMf///98AAAKKBywCJgAtAAABBwCrAwQBPgAWALAARViwAi8bsQIcPlmwBdywCdAwMf///40AAAI4BekCJgCMAAABBwCrArL/+wAWALAARViwAi8bsQIYPlmwBdywCdAwMf//AHf/5wUNByICJgAzAAABBwCrBKEBNAAWALAARViwCi8bsQocPlmwJNywKNAwMf//AEX/6AQfBesCJgBTAAABBwCrA+D//QAWALAARViwAC8bsQAYPlmwJNywKNAwMf//ADoAAATCByACJgA2AAABBwCrBEMBMgAWALAARViwBC8bsQQcPlmwGdywHdAwMf//AB8AAALUBesCJgBWAAABBwCrA0n//QAWALAARViwCi8bsQoYPlmwEtywDdAwMf//AGf/5wUgByACJgA5AAABBwCrBHsBMgAWALAARViwCi8bsQocPlmwFNywGNAwMf//AFv/6AQeBesCJgBZAAABBwCrA+T//QAWALAARViwBy8bsQcYPlmwFdywGdAwMf///7IAAAU8Bj8AJgDPZAAABwCt/pEAAP//ADv+qQSgBbACJgAmAAAABwCsBJgACv//AB/+lgP+BgACJgBGAAAABwCsBIb/9///ADv+qQTVBbACJgAoAAAABwCsBJcACv//AEv+nwR1BgACJgBIAAAABwCsBJkAAP//ADv+CQTVBbACJgAoAAAABwGiAR/+qv//AEv9/wR1BgACJgBIAAAABwGiASH+oP//ADv+qQV3BbACJgAsAAAABwCsBPoACv//AB/+qQPjBgACJgBMAAAABwCsBH8ACv//ADsAAAVQBy4CJgAvAAABBwB1AbABMAATALAARViwBS8bsQUcPlmwDtwwMQD//wAgAAAEIgc/AiYATwAAAQcAdQF9AUEACQCwBS+wD9wwMQD//wA7/vgFUAWwAiYALwAAAAcArATSAFn//wAg/uUEGgYAAiYATwAAAAcArARQAEb//wA7/qkDsQWwAiYAMAAAAAcArASdAAr////y/qkB7gYAAiYAUAAAAAcArAM3AAr//wA7/qkGtwWwAiYAMQAAAAcArAWnAAr//wAe/qkGagRSAiYAUQAAAAcArAWrAAr//wA7/qkFdwWwAiYAMgAAAAcArAT+AAr//wAf/qkD4wRSAiYAUgAAAAcArARmAAr//wA7AAAE8wdAAiYANAAAAQcAdQG0AUIAEwCwAEVYsAMvG7EDHD5ZsBbcMDEA////1/5gBDYF9QImAFQAAAEHAHUBkf/3ABMAsABFWLANLxuxDRg+WbAh3DAxAP//ADr+qQTCBbACJgA2AAAABwCsBJUACv///+7+qQLUBFQCJgBWAAAABwCsAzMACv//ACf+nwSjBccCJgA3AAAABwCsBKQAAP//AC7+lwO2BFACJgBXAAAABwCsBG3/+P//AKj+nwUJBbACJgA4AAAABwCsBJYAAP//AEP+nwKUBUACJgBYAAAABwCsA/oAAP//AKQAAAVhBy0CJgA6AAABBwCkAOEBRgATALAARViwAS8bsQEcPlmwCtwwMQD//wBuAAAD7QXiAiYAWgAAAQYApBv7ABMAsABFWLABLxuxARg+WbAK3DAxAP//AKT+qQVhBbACJgA6AAAABwCsBMoACv//AG7+qQPtBDoCJgBaAAAABwCsBDgACv//AMP+qQdBBbACJgA7AAAABwCsBc0ACv//AID+qQX+BDoCJgBbAAAABwCsBSwACv///+v+qQTOBbACJgA+AAAABwCsBJgACv///+3+qQPOBDoCJgBeAAAABwCsBEIACv///wz/5wVTBdYAJgAzRgAABwFa/hoAAP///6UAAAPjBRwCJgG6AAAABwCt/6v+3f///+EAAAQrBR8AJgG+PAAABwCt/sD+4P////0AAATWBRwAJgHBPAAABwCt/tz+3f//AAEAAAHmBR4AJgHCPAAABwCt/uD+3///AB3/6gRYBRwAJgHICgAABwCt/vz+3f///5sAAAShBRwAJgHSPAAABwCt/nr+3f//ABYAAAR0BRsAJgHzCgAABwCt/xT+3P///6UAAAPjBI0CBgG6AAD//wAdAAAD5wSNAgYBuwAA//8AHQAAA+8EjQIGAb4AAP///9wAAAQOBI0CBgHTAAD//wAdAAAEmgSNAgYBwQAA//8AKgAAAaoEjQIGAcIAAP//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DAAGiA7uDu4MRg6gCiIO7g7uD5oKigaSDGYMRgrYCqwNUg8QCl4L4gsQDBYGmA22DbYNtgwgCxAKUAxMDbAMTAsQBqYN5gtwD5oLcAasBrIGvAbCBsgMTAbOBtgNtgb+BxQHKgcwB0YHTAdSB4QHigeQDcANwAe+Du4H4AgCDVIIMA7uDu4LJg7uDu4IRg3ADcAIeAiCCIwIpg1ICLgNsAjSCOgLEAkyCUwJaAloCxAJYgloCWgJaAtwDCAK2AxMCxAN5g1IDqAOoA1ICtIK0grSCtIK0gmKCbAJugnECeIJ9AoGChgK/g+aD5oPmg+aDGYLcAtwC3ALcAtwC3ALcAr+DAAMAAwADAAO7g7uDu4O7g7uD5oPmg+aD5oPmgxGDEYMRgxGDxAL4gviC+IL4gviC+IL4gwWDBYMFgwWDbYMIAwgDCAMIAwgDEwMTAtwC+ILcAviC3AL4gr+Cv4K/gr+D5oMAAwWDAAMFgwADBYMAAwWDAAMFg7uDbYO7g7uDu4O7g7uDEYOoAoiCiIKIgoiDu4Ntg7uDbYO7g22DbYPmgwgD5oMIA+aDCAKUApQClAMZgxmDGYMRgxGDEYMRgxGDEYKrA8QDEwPEApeCl4KXgtwDAAO7g7uD5oPEAtwCoAMAApeDu4O7g6gDu4O7g+aCooMZg8QDVIO7g8QDbYMIAxMDCAMAA3mDu4O7gxGDqAOoAsmC3AKgA3mDAAO7g7uD5oKigr+DGYNUgviDBYMIAsQDEwNsAwWDUgMTAqsCqwKrA8QDEwK0grSCtIO7g22C3AL4gwADBYK2AxMCv4PEAxMDu4NUg2wDu4LcAviC3AL4gwADBYMFgwWDVINsA+aDCAMIAsQCyYMTAsmDEwLJgxMDVINsAtwC+ILcAviC3AL4gtwC+ILcAviC3AL4gtwC+ILcAviC3AL4gtwC+ILcAviC3AL4gwADBYMAAwWDAAMFgwADBYMAAwWDAAMFgwADBYMAAwWDu4O7g+aDCAPmgwgD5oMIA+aDCAPmgwgD5oMIA+aDCAMIAxGDEYPEAxMDxAMTA8QDEwOoA7uDGYNUg2wDeYNSA1SDbANtg3ADeYOoA7uDu4PEA+aAAIAhwAGAAYAAAALAAsAAQATABMAAgAlACoAAwAsADUACQA4AD4AEwBFAEYAGgBJAEoAHABMAEwAHgBRAFQAHwBWAFYAIwBaAFoAJABcAF0AJQCKAIoAJwCcAJwAKACwALQAKQC2ALgALgC6ALoAMQC8AL0AMgC/AMAANADCAMQANgDGAMsAOQDRANEAPwDTAN0AQADfAN8ASwDhAOMATADlAOcATwDpAO0AUgDwAPAAVwD1APcAWAD6APsAWwD9AP8AXQEDAQQAYAEJAQkAYgEMAQwAYwEXARkAZAErAS0AZwEwATAAagEyATIAawFJAUkAbAFsAW0AbQFvAXEAbwG6AboAcgG9Ab0AcwHEAcUAdAHIAcgAdgHKAcsAdwHNAc0AeQIoAigAegIqAisAewJHAkgAfQJKAkoAfwJMAm0AgAJvAnIAogJ3AnwApgKBAokArAKLAosAtQKNAo0AtgKPAo8AtwKRApEAuAKTApwAuQKlAqcAwwKpAqkAxgKrAqsAxwKtAq0AyAKvAq8AyQKyArIAygK0ArQAywK2ArYAzAK4ArgAzQK6AroAzgK8ArwAzwK+AsoA0ALMAswA3QLOAs4A3gLQAtAA3wLbAtsA4ALdAt0A4QLfAt8A4gLhAuEA4wLjAuMA5ALlAuUA5QLnAucA5gLpAukA5wLrAusA6ALtAu0A6QLvAvIA6gL0AvQA7gL2AvYA7wNTA1gA8ANbA2oA9gNtA20BBgNxA3EBBwNzA3MBCAN3A3cBCQN6A3sBCgN9A4YBDAOIA4oBFgOMA5EBGQOTA5QBHwOWA5kBIQOfA6ABJQOiA6IBJwOkA6QBKAOmA6kBKQOsA7EBLQOzA7MBMwO3A7gBNAO9A70BNgO/A8gBNwPLA8wBQQPOA9EBQwPYA9kBRwPdA90BSQPfA+UBSgPqA+sBUQPvBBcBUwQZBBkBfAQbBCgBfQQwBDABiwQzBDMBjAQ1BDUBjQRBBEYBjgRJBEkBlARLBEsBlQRNBE0BlgRPBFABlwRVBFgBmQRbBFsBnQRdBF4BngRgBGABoARkBGQBoQRmBGYBogRqBGoBowSqBKoBpAABABP/IAACAFb/5gG6/8AAAQG6AA4AAwANABQAQQASAGEAEwABAPX/9QABAMMADQACALf/wgDDABAAAQDD/+IAAQDG//IAAQDDAA4AAgDJ/+0A9f/AAAkAvv/mAMH/6wDC/+kAxP/wAMX/5wDJ/+MAy//OAMz/1ADN/9sABQDB/+wAwwAPAMX/6gDJ/8QAy//nAAUASv/pAMH/7gDD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Aor/6wKM/+sCjv/rApD/6wKS/+sClP/rApb/6wKY/+sCmv/rApz/6wKe/+sCoP/rAqL/6wKk/+sCsv74Asb/6wLI/+sCyv/rAtsAFALdABQC3wAUAuL/6gLk/+oC5v/qAuj/6gLq/+oC7P/qAvD/6ANT/1YDW/9WA2v/6wNv/+oDcf/rA3P/6AN2/+oDd//rA3j/6gN//vgDg/9WA44AFAOQ/94Dkf/rA5P/6wOV/+sDlv/oA5j/6wOf/+gDp//oA6//VgOw/94Ds//rA7j/6AO5/+sDvv/rA8D/6APF/1YDxv/eA8f/VgPI/94DzP/rA87/6wPP/+sD2f/rA9v/6wPd/+sD4f/oA+P/6APl/+gD7P/rA+//VgPw/94D8f9WA/L/3gPz/1YD9P/eA/X/VgP2/94D9/9WA/j/3gP5/1YD+v/eA/v/VgP8/94D/f9WA/7/3gP//1YEAP/eBAH/VgQC/94EA/9WBAT/3gQF/1YEBv/eBAj/6wQK/+sEDP/rBA7/6wQQ/+sEEv/rBBT/6wQW/+sEHP/rBB7/6wQg/+sEIv/rBCT/6wQm/+sEKP/rBCr/6wQs/+sELv/rBDD/6wQy/+sENP/qBDb/6gQ4/+oEOv/qBDz/6gQ+/+oEQP/qBEL/6ARE/+gERv/oBE0AFAAfADj/1QA6/+QAO//sAD3/3QDR/9UA1f/VARj/5AEy/9UBOv/VAmb/3QLb/9UC3f/VAt//1QLt/+wC7//dAvH/3QNY/90DZ//dA2r/3QOO/9UDoP/sA6L/7AOk/+wDpv/dA7f/5AO//90EQf/dBEP/3QRF/90ETf/VBGr/3QAaADj/sAA6/+0APf/QANH/sADV/7ABGP/tATL/sAE6/7ACZv/QAtv/sALd/7AC3/+wAu//0ALx/9ADWP/QA2f/0ANq/9ADjv+wA6b/0AO3/+0Dv//QBEH/0ARD/9AERf/QBE3/sARq/9AAEAAu/+4AOf/uAmL/7gJj/+4CZP/uAmX/7gKy/+4C4f/uAuP/7gLl/+4C5//uAun/7gLr/+4Df//uBDP/7gQ1/+4ARwAGABAACwAQAEf/6ABI/+gASf/oAEv/6ABV/+gAk//oAJj/6AC6/+gAx//oAMj/6AD2/+gBAv/oAR3/6AEh/+gBOf/oAUv/6AFM/+gBVv/oAWwAEAFtABABbwAQAXAAEAFxABACbv/o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/90AWv/hAF3/4QCT/9wAmP/cAJr/3QC6/9wAvP/hAMD/8wDH/9wAyP/cAMr/3QDr//MA7//zAPD/8wDy//MA8//zAPT/8wD2/9wA9//zAPn/8wD6//MA/f/zAP//8wEC/9wBBP/zARf/1gEZ/+EBHf/cASH/3AE1//MBOf/cAUT/8wFJ//MBS//cAUz/3AFW/9wCbv/cAm//3AJw/9wCcf/cAnL/3AJ3//MCeP/WAnn/1gJ6/9YCe//WAnz/1gJ9/90Cfv/dAn//3QKA/90Cgf/hAoL/4QKK/9wCjP/cAo7/3AKQ/9wCkv/cApT/3AKW/9wCmP/cApr/3AKc/9wCnv/cAqD/3AKi/9wCpP/cAr//8wLB//MCw//zAsT/8wLG/9YCyP/WAsr/1gLi/90C5P/dAub/3QLo/90C6v/dAuz/3QLw/+EDa//cA23/8wNv/90Dcf/WA3P/4QN2/90Dd//WA3j/3QOR/9wDkv/zA5P/1gOU//MDlf/cA5b/4QOY/9wDmf/zA57/8wOf/+EDp//hA67/8wOz/9wDtP/zA7j/4QO5/9wDvv/cA8D/4QPM/9wDzv/cA8//3APV//MD1//zA9n/1gPb/9wD3f/WA+H/4QPj/+ED5f/hA+n/8wPs/9wECP/cBAr/3AQM/9wEDv/cBBD/3AQS/9wEFP/cBBb/3AQc/9YEHv/WBCD/1gQi/9YEJP/WBCb/1gQo/9YEKv/cBCz/3AQu/9wEMP/WBDL/3AQ0/90ENv/dBDj/3QQ6/90EPP/dBD7/3QRA/90EQv/hBET/4QRG/+EESv/zBEz/8wRW//MEY//zBGX/8wRn//MAcQAG/9oAC//aAEf/8ABI//AASf/wAEv/8ABV//AAWf/vAFr/3ABd/9wAk//wAJj/8ACa/+8Auv/wALz/3ADH//AAyP/wAMr/7wD2//ABAv/wARn/3AEd//ABIf/wATn/8AFL//ABTP/wAVb/8AFs/9oBbf/aAW//2gFw/9oBcf/aAm7/8AJv//ACcP/wAnH/8AJy//ACff/vAn7/7wJ//+8CgP/vAoH/3AKC/9wCiv/wAoz/8AKO//ACkP/wApL/8AKU//AClv/wApj/8AKa//ACnP/wAp7/8AKg//ACov/wAqT/8ALi/+8C5P/vAub/7wLo/+8C6v/vAuz/7wLw/9wDa//wA2//7wNz/9wDdv/v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//UA1f/xANn/9ADc//UA3f/zARj/9AEy//EBOv/xAVH/9QJm//AC2//xAt3/8QLf//EC7//wAvH/8ANY//ADZ//wA2j/9ANq//ADgv/zA47/8QOP//QDpv/wA7f/9AO///ADwv/0A9D/9APg//MD4v/zA+T/8wPq//QD7f/1BEH/8ARD//AERf/wBE3/8QRP//QEV//0BGj/9QRq//AAWQAlAA8AOP/mADr/5gA8AA4APf/mALEADwCzAA8A0f/mANMADgDV/+YA2QAOANwADgDdAAsA4P/lAPEADwD4/+gBAwAPAQwADwEY/+YBMv/mATr/5gFRAA4CTAAPAk0ADwJOAA8CTwAPAlAADwJRAA8CUgAPAmb/5gKDAA8ChQAPAocADwLb/+YC3f/mAt//5gLv/+YC8f/mA1MADwNY/+YDWwAPA2f/5gNoAA4Dav/mA4IACwODAA8Djv/mA48ADgOm/+YDrwAPA7f/5gO//+YDwgAOA8UADwPHAA8D0AAOA+AACwPiAAsD5AALA+b/5QPn/+gD6gAOA+0ADgPuAA8D7wAPA/EADwPzAA8D9QAPA/cADwP5AA8D+wAPA/0ADwP/AA8EAQAPBAMADwQFAA8EQf/mBEP/5gRF/+YETf/mBE8ADgRR/+UEUv/oBFP/5QRU/+gEVwAOBGgADgRpAA8Eav/mAC4AOP/jADz/5QA9/+QA0f/jANP/5QDV/+MA2f/lANz/5QDd/+kA8f/qAQP/6gEy/+MBOv/jAVH/5QJm/+QC2//jAt3/4wLf/+MC7//kAvH/5ANY/+QDZ//kA2j/5QNq/+QDgv/pA47/4wOP/+UDpv/kA7//5APC/+UD0P/lA+D/6QPi/+kD5P/pA+r/5QPt/+UD7v/qBEH/5ARD/+QERf/kBE3/4wRP/+UEV//lBGj/5QRp/+oEav/kACEAOP/iADz/5ADR/+IA0//kANX/4gDZ/+QA3P/kAN3/6QDx/+sBA//rATL/4gE6/+IBUf/kAtv/4gLd/+IC3//iA2j/5AOC/+kDjv/iA4//5APC/+QD0P/kA+D/6QPi/+kD5P/pA+r/5APt/+QD7v/rBE3/4gRP/+QEV//kBGj/5ARp/+sAFwA4/+sAPf/zANH/6wDV/+sBMv/rATr/6wJm//MC2//rAt3/6wLf/+sC7//zAvH/8wNY//MDZ//zA2r/8wOO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ABgEJwQnAAMEKAQoABgEMAQwABgEMwQzAAwENQQ1AAwEQQRBAA8EQgRCABkEQwRDAA8ERAREABkERQRFAA8ERgRGABkESQRJAAkESwRLAAIETQRNAAYETwRPAA4EUARQABsEVQRVAAcEVgRWAAgEVwRXAA4EWARYABsEWwRbABcEXQRdAB8EXgReAAcEYARgAAkEZARkAAIEZgRmAAIEagRqAA8EqgSqAAMAAgFtAAYABgAHAAsACwAHABAAEAATABEAEQAXABIAEgATACUAJQARACcAJwAFACsAKwAFAC4ALgAcADMAMwAFADUANQAFADcANwAZADgAOAAKADkAOQAGADoAOgANADsAOwAJADwAPAASAD0APQAOAD4APgAUAEUARQAaAEcASQAVAEsASwAVAFEAUgAYAFMAUwAIAFQAVAAYAFUAVQAVAFcAVwAbAFkAWQALAFoAWgACAFwAXAAWAF0AXQACAF4AXgAMAIMAgwAFAJIAkgAFAJMAkwAVAJcAlwAFAJgAmAAVAJoAmgALALEAsQARALIAsgAFALMAswARALoAugAVALwAvAACAMAAwAAYAMcAyAAVAMoAygALANEA0QAKANIA0gAFANMA0wABANUA1QAKANkA2QASANwA3AABAN0A3QAQAOAA4AAPAOsA6wAYAO0A7QAWAO8A8AAYAPEA8QAEAPIA9AAYAPYA9gAVAPcA9wAYAPgA+AADAPkA+gAYAP0A/QAYAP8A/wAYAQIBAgAVAQMBAwAEAQQBBAAYAQcBBwAFAQwBDAARARYBFgAFARcBFwAIARgBGAANARkBGQACARoBGgAFARwBHAAFAR0BHQAVAR4BHgAFASABIAAFASEBIQAVATIBMgAKATUBNQAYATgBOAAFATkBOQAVAToBOgAKAUQBRAAYAUkBSQAYAUsBTAAVAVEBUQABAVUBVQAFAVYBVgAVAWkBagAXAWwBbQAHAW4BbgATAW8BcQAHAXIBcgATAXYBdwATAigCKQAFAisCLAAFAkYCRgAXAkwCUgARAlMCUwAFAl0CYQAFAmICZQAGAmYCZgAOAmcCbQAaAm4CcgAVAncCdwAYAngCfAAIAn0CgAALAoECggACAoMCgwARAoQChAAaAoUChQARAoYChgAaAocChwARAogCiAAaAokCiQAFAooCigAVAosCiwAFAowCjAAVAo0CjQAFAo4CjgAVAo8CjwAFApACkAAVApICkgAVApQClAAVApYClgAVApgCmAAVApoCmgAVApwCnAAVAp0CnQAFAp4CngAVAp8CnwAFAqACoAAVAqECoQAFAqICogAVAqMCowAFAqQCpAAVArICsgAcAr8CvwAYAsECwQAYAsMCxAAYAsUCxQAFAsYCxgAIAscCxwAFAsgCyAAIAskCyQAFAsoCygAIAtEC0QAZAtIC0gAbAtMC0wAZAtQC1AAbAtUC1QAZAtYC1gAbAtcC1wAZAtgC2AAbAtkC2QAZAtoC2gAbAtsC2wAKAt0C3QAKAt8C3wAKAuEC4QAGAuIC4gALAuMC4wAGAuQC5AALAuUC5QAGAuYC5gALAucC5wAGAugC6AALAukC6QAGAuoC6gALAusC6wAGAuwC7AALAu0C7QAJAu8C7wAOAvAC8AACAvEC8QAOAvIC8gAUAvMC8wAMAvQC9AAUAvUC9QAMAvYC9gAUAvcC9wAMAvoC+gAFA1MDUwARA1cDVwAFA1gDWAAOA1sDWwARA14DXgAUA2QDZAAFA2cDZwAOA2gDaAASA2oDagAOA2sDawAVA20DbQAYA28DbwALA3EDcQAIA3MDcwACA3YDdgALA3cDdwAIA3gDeAALA38DfwAcA4IDggAQA4MDgwARA4oDigAFA40DjQAFA44DjgAKA48DjwASA5ADkAAaA5EDkQAVA5IDkgAYA5MDkwAIA5QDlAAYA5UDlQAVA5YDlgACA5cDlwAWA5gDmAAVA5kDmQAYA5oDmgAbA54DngAYA58DnwACA6ADoAAJA6IDogAJA6QDpAAJA6YDpgAOA6cDpwACA6gDqQAHA6wDrAAHA64DrgAYA68DrwARA7ADsAAaA7MDswAVA7QDtAAYA7cDtwANA7gDuAACA7kDuQAVA7oDugAFA70DvQAFA74DvgAVA78DvwAOA8ADwAACA8IDwgASA8MDwwAWA8UDxQARA8YDxgAaA8cDxwARA8gDyAAaA8wDzAAVA84DzwAVA9AD0AASA9ED0QAWA9UD1QAYA9cD1wAYA9gD2AAFA9kD2QAIA9oD2gAFA9sD2wAVA9wD3AAFA90D3QAIA+AD4AAQA+ED4QACA+ID4gAQA+MD4wACA+QD5AAQA+UD5QACA+YD5gAPA+cD5wADA+kD6QAYA+oD6gASA+sD6wAWA+wD7AAVA+0D7QABA+4D7gAEA+8D7wARA/AD8AAaA/ED8QARA/ID8gAaA/MD8wARA/QD9AAaA/UD9QARA/YD9gAaA/cD9wARA/gD+AAaA/kD+QARA/oD+gAaA/sD+wARA/wD/AAaA/0D/QARA/4D/gAaA/8D/wARBAAEAAAaBAEEAQARBAIEAgAaBAMEAwARBAQEBAAaBAUEBQARBAYEBgAaBAgECAAVBAoECgAVBAwEDAAVBA4EDgAVBBAEEAAVBBIEEgAVBBQEFAAVBBYEFgAVBBsEGwAFBBwEHAAIBB0EHQAFBB4EHgAIBB8EHwAFBCAEIAAIBCEEIQAFBCIEIgAIBCMEIwAFBCQEJAAIBCUEJQAFBCYEJgAIBCcEJwAFBCgEKAAIBCkEKQAFBCoEKgAVBCsEKwAFBCwELAAVBC0ELQAFBC4ELgAVBC8ELwAFBDAEMAAIBDEEMQAFBDIEMgAVBDMEMwAGBDQENAALBDUENQAGBDYENgALBDgEOAALBDoEOgALBDwEPAALBD4EPgALBEAEQAALBEEEQQAOBEIEQgACBEMEQwAOBEQERAACBEUERQAOBEYERgACBEoESgAYBEwETAAYBE0ETQAKBE8ETwASBFAEUAAWBFEEUQAPBFIEUgADBFMEUwAPBFQEVAADBFYEVgAYBFcEVwASBFgEWAAWBGMEYwAYBGUEZQAYBGcEZwAYBGgEaAABBGkEaQAEBGoEagAOBHAEcAAXBKoEqgAFAAEAAAAKAgYG8AAEREZMVAAaY3lybABIZ3JlawB2bGF0bgCkAAQAAAAA//8AEgAAAAoAFAAeACgANABBAEsAVQBfAGkAcwB9AIcAkQCbAKUArwAEAAAAAP//ABIAAQALABUAHwApADUAQgBMAFYAYABqAHQAfgCIAJIAnACmALAABAAAAAD//wASAAIADAAWACAAKgA2AEMATQBXAGEAawB1AH8AiQCTAJ0ApwCxACgABkFaRSAAVENSVCAAfk1PTCAAqE5BViAA1FJPTSABAFRVUiABLAAA//8AEwADAA0AFwAhACsAMgA3AEQATgBYAGIAbAB2AIAAigCUAJ4AqACyAAD//wASAAQADgAYACIALAA4AEUATwBZAGMAbQB3AIEAiwCVAJ8AqQCzAAD//wASAAUADwAZACMALQA5AEYAUABaAGQAbgB4AIIAjACWAKAAqgC0AAD//wATAAYAEAAaACQALgA6AD4ARwBRAFsAZQBvAHkAgwCNAJcAoQCrALUAAP//ABMABwARABsAJQAvADsAPwBIAFIAXABmAHAAegCEAI4AmACiAKwAtgAA//8AEwAIABIAHAAmADAAPABAAEkAUwBdAGcAcQB7AIUAjwCZAKMArQC3AAD//wATAAkAEwAdACcAMQAzAD0ASgBUAF4AaAByAHwAhgCQAJoApACuALgAuWMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGMyc2MEWGNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmNjbXAEXmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRsaWcEZmRub20EbGRub20EbGRub20EbGRub20EbGRub20EbGRub20EbGRub20EbGRub20EbGRub20EbGRub20EbGZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmxpZ2EEfGxpZ2EEhGxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxvY2wEkGxvY2wElmxvY2wEnG51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqHBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5AAAAAEAAAAAAAIAAgADAAAAAQAHAAAAAQAYAAAAAwAVABYAFwAAAAIACAAJAAAAAQAJAAAAAQAUAAAAAQAEAAAAAQAGAAAAAQAFAAAAAQAZAAAAAQARAAAAAQATAAAAAQABAAAAAQAKAAAAAQALAAAAAQAMAAAAAQANAAAAAQAOAAAAAQAPAAAAAQAQAAAAAQASABsAOAPGBrQHYA3wDfAOBg4oDl4OhA6yDsYO2g7uDwAPGg9cD3oPmA/KD/wQLhBCEHoQbBB6EKYAAQAAAAEACAACAcQA3wHnAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHoAekCRAI7AeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+AgACAQTdAgICAwIEAgUCBgIHAggCCQIKAgsCLwIPAhACEQIUAhUCFgIXAhgCGQIbAhwCHgIdAvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRgNFA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSBKsErAStBK4ErwSwBLEEsgSzBLQEtQS2BLcEuAS5BLoEuwS8BL0EvgS/BMAEwQTCBMMExATFBMYB/wTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNgE2QTbAhoE3AIOBNcCEwINBNoCDAISAAEA3wAIACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAhQCSALAAsQCyALMAtAC1ALYAtwC4ALkA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgBLAEwATIBOAE6ATwBPgE/AUUBRgF/AYUBigGNAkcCSAJKAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAoMChQKHAokCiwKNAo8CkQKTApUClwKZApsCnQKfAqECowKlAqcCqQKrAq0CrwKyArQCtgK4AroCvAK+AsACwgLFAscCyQLLAs0CzwLRAtMC1QLZAtsC3QLfAuEC4wLlAucC6QLrAu0C7wLxAvIC9AL2A1MDVANVA1YDVwNYA1kDWwNcA10DXgNfA2ADYQNiA2QDZQNmA2cDaANpA2oDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwO7A70DvwPUA9oD4ARJBEsETwRXBFkEXgRqAAEAAAABAAgAAgF0ALcBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAv0DMAI7AfoEygTLAfsB/AH9Af4B/wIABM4EzwTRBNQE3QICAgMCBAIFAgYCBwIIAgkCCgILAfQB9QH2AfcB+AH5Ai8CDwIQAhECFAIVAhcCGQL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZA08DGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRgNFA0cDSANJA0oDSwNMA00DTgNQA1EDUgTJBMwEzQTQBNIE0wIBBNUEwQTCBMMExATFBMYExwTIBNYE2ATZAhgE2wIaBNwC/AIOBNcCEwINBNoCFgIMAhIAAQC3AEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgCHAIwAkwDpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEtATEBMwE5ATsBPQFAAUcCSwJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoQChgKIAooCjAKOApACkgKUApYCmAKaApwCngKgAqICpAKmAqgCqgKsAq4CswK1ArcCuQK7Ar0CvwLBAsMCxgLIAsoCzALOAtAC0gLUAtYC2gLcAt4C4ALiAuQC5gLoAuoC7ALuAvAC8wL1AvcDkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwO8A74DwAPOA9UD2wPhBEcESgRMBFAEWARaBFsEXwRrAAYAAAAGABIAKgBCAFoAcgCKAAMAAAABABIAAQCQAAEAAAAaAAEAAQBNAAMAAAABABIAAQB4AAEAAAAaAAEAAQBOAAMAAAABABIAAQBgAAEAAAAaAAEAAQKuAAMAAAABABIAAQBIAAEAAAAaAAEAAQObAAMAAAABABIAAQAwAAEAAAAaAAEAAQOdAAMAAAABABIAAQAYAAEAAAAaAAEAAQQaAAIAAQCnAKsAAAAEAAAAAQAIAAEGHgA2AHIApACuALgAygD8AQ4BGAFKAWQBfgGQAboB7AH2AhgCMgJEAnYCiAKiAswC3gMQAxoDJAM2A2gDcgN8A4YDoAO6A8wD9gQoBDIEVARuBIAEsgTEBN4FCAUaBSQFLgU4BUIFbAWWBcAF6gYUAAYADgAUABoAIAAmACwCTAACAKcCTQACAKgCTwACAKkD8QACAKoEewACAKsD7wACAKwAAQAEBIgAAgCsAAEABAKJAAIAqAACAAYADASKAAIArASMAAIBogAGAA4AFAAaACAAJgAsAlQAAgCnAlUAAgCoBAsAAgCpBAkAAgCqBH0AAgCrBAcAAgCsAAIABgAMBHcAAgCoAqMAAgGiAAEABASOAAIArAAGAA4AFAAaACAAJgAsAlgAAgCnAlkAAgCoAqcAAgCpBBcAAgCqBH8AAgCrBBkAAgCsAAMACAAOABQEkAACAKgEkgACAKwCtAACAaIAAwAIAA4AFAK2AAIAqASUAAIArAK4AAIBogACAAYADAOtAAIAqASWAAIArAAFAAwAEgAYAB4AJAR5AAIApwK+AAIAqAJcAAIAqQSYAAIArALAAAIBogAGAA4AFAAaACAAJgAsAl0AAgCnAl4AAgCoAmAAAgCpBB0AAgCqBIEAAgCrBBsAAgCsAAEABASaAAIAqAAEAAoAEAAWABwCywACAKgEgwACAKsEnAACAKwCzQACAaIAAwAIAA4AFALRAAIAqASeAAIArALXAAIBogACAAYADASgAAIArALbAAIBogAGAA4AFAAaACAAJgAsAmIAAgCnAmMAAgCoAuEAAgCpBDUAAgCqBIUAAgCrBDMAAgCsAAIABgAMBKIAAgCpBKQAAgCsAAMACAAOABQDoAACAKcDogACAKgEpgACAKwABQAMABIAGAAeACQDpgACAKcCZgACAKgERQACAKkEQwACAKoEQQACAKwAAgAGAAwC8gACAKgEqAACAKwABgAOABQAGgAgACYALAJnAAIApwJoAAIAqAJqAAIAqQPyAAIAqgR8AAIAqwPwAAIArAABAAQEiQACAKwAAQAEAooAAgCoAAIABgAMBIsAAgCsBI0AAgGiAAYADgAUABoAIAAmACwCbwACAKcCcAACAKgEDAACAKkECgACAKoEfgACAKsECAACAKwAAQAEBHgAAgCoAAEABASPAAIArAABAAQEGgACAKwAAwAIAA4AFASRAAIAqASTAAIArAK1AAIBogADAAgADgAUArcAAgCoBJUAAgCsArkAAgGiAAIABgAMA64AAgCoBJcAAgCsAAUADAASABgAHgAkBHoAAgCnAr8AAgCoAncAAgCpBJkAAgCsAsEAAgGiAAYADgAUABoAIAAmACwCeAACAKcCeQACAKgCewACAKkEHgACAKoEggACAKsEHAACAKwAAQAEBJsAAgCoAAQACgAQABYAHALMAAIAqASEAAIAqwSdAAIArALOAAIBogADAAgADgAUAtIAAgCoBJ8AAgCsAtgAAgGiAAIABgAMBKEAAgCsAtwAAgGiAAYADgAUABoAIAAmACwCfQACAKcCfgACAKgC4gACAKkENgACAKoEhgACAKsENAACAKwAAgAGAAwEowACAKkEpQACAKwAAwAIAA4AFAOhAAIApwOjAAIAqASnAAIArAAFAAwAEgAYAB4AJAOnAAIApwKBAAIAqARGAAIAqQREAAIAqgRCAAIArAACAAYADALzAAIAqASpAAIArAABAAQC+AACAKgAAQAEAvoAAgCoAAEABAL5AAIAqAABAAQC+wACAKgABQAMABIAGAAeACQCcwACAKcCdAACAKgCqAACAKkEGAACAKoEgAACAKsABQAMABIAGAAeACQEKwACAKcEKQACAKgELwACAKkELQACAKoEMQACAKwABQAMABIAGAAeACQELAACAKcEKgACAKgEMAACAKkELgACAKoEMgACAKwABQAMABIAGAAeACQEOQACAKcENwACAKgEPQACAKkEOwACAKoEPwACAKwABQAMABIAGAAeACQEOgACAKcEOAACAKgEPgACAKkEPAACAKoEQAACAKwAAQAEBIcAAgCoAAIAEQAlACkAAAArAC0ABQAvADQACAA2ADsADgA9AD4AFABFAEkAFgBLAE0AGwBPAFQAHgBWAFsAJABdAF4AKgCBAIEALACDAIMALQCGAIYALgCJAIkALwCMAIwAMACXAJoAMQDPAM8ANQABAAAAAQAIAAEABgACAAEAAgLVAtYAAQAAAAEACAACAA4ABATeBN8E4AThAAEABAKHAogCmQKaAAQAAAABAAgAAQAmAAIACgAcAAIABgAMAaMAAgBKAagAAgBYAAEABAGpAAIAWAABAAIASgBXAAQAAAABAAgAAQBEAAIACgAUAAEABAGkAAIATQABAAQBpgACAE0ABAAAAAEACAABAB4AAgAKABQAAQAEAaUAAgBQAAEABAGnAAIAUAABAAIASgGjAAEAAAABAAgAAQAGAZUAAQABAEsAAQAAAAEACAABAAYBJwABAAEAugABAAAAAQAIAAEABgGsAAEAAQA2AAEAAAABAAgAAgAcAAIB4wHkAAEAAAABAAgAAgAKAAIB5QHmAAEAAgAvAE8AAQAAAAEACAACAB4ADAIoAioCKQIrAiwCHwIgAiECIgGuAiQCJQABAAwAJwAoACsAMwA1AEYARwBIAEsAUwBUAFUAAQAAAAEACAACAAwAAwImAicCJwABAAMASQBLAiIAAQAAAAEACAACAGYACAI9Ai0CLgIwAjECOQI6AjwAAQAAAAEACAACABYACAAbABUAFgAXABgAGQAdABQAAQAIAa0CIwRxBHIEcwR0BHUEdgABAAAAAQAIAAIAFgAIBHYCIwRxBHIEcwR0Aa0EdQABAAgAFAAVABYAFwAYABkAGwAdAAEAAAABAAgAAgAWAAgAFQAWABcAGAAZABsAHQAUAAEACAItAi4CMAIxAjkCOgI8Aj0AAQAAAAEACAABAAYBaQABAAEAEwAGAAAAAQAIAAMAAQASAAEAUgAAAAEAAAAaAAIAAgF8AXwAAAHUAd0AAQABAAAAAQAIAAEAKAHAAAEAAAABAAgAAgAaAAoCMgB6AHMAdAIzAjQCNQI2AjcCOAACAAEAFAAdAAAAAQAAAAEACAACACYAEAHUAdUB1gHXAdgB2QHaAdsB3AHdAkACPgJBAkICPwJDAAEAEAAUABUAFgAXABgAGQAaABsAHAAdAE0ATgKuA5sDnQQa",
-  "Roboto-Medium.ttf": "AAEAAAARAQAABAAQR1BPU32qcYwAAgioAABZDEdTVUJMnCjgAAJhtAAAGWhPUy8yoQuxtgAAAZgAAABgY21hcEAmSHIAABpsAAASyGN2dCAElytKAAAvvAAAAFZmcGdte/lhqwAALTQAAAG8Z2FzcAAIABMAAgicAAAADGdseWaunmLpAAA53AABy8xoZG14PT88IAAAFYAAAATsaGVhZPh7qwgAAAEcAAAANmhoZWEK7wqbAAABVAAAACRobXR4JPNE9QAAAfgAABOIbG9jYd3eZq0AADAUAAAJxm1heHAHEgL1AAABeAAAACBuYW1lPWNvTAACBagAAALUcG9zdP9tAGQAAgh8AAAAIHByZXAbsfg2AAAu8AAAAMwAAQAAAAIAABFApG1fDzz1ABsIAAAAAADE8BEuAAAAANDbTpT6JP3VCVwIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJa/ok/kEJXAABAAAAAAAAAAAAAAAAAAAE4gABAAAE4gCPABYATgAFAAEAAAAAAA4AAAIAAhYABgABAAMElQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAK/1AAIX8AAAAhAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwACAAIAACA4wAZAAAAAAAAAAAAf4AAAH+AAACJQCPApgAZQTiAGAEjABkBeAAYwUdAFYBWgBSAsoAgALSACgDiQAbBHUARAHCABwCoABHAjwAhwMqAAIEjABpBIwAqASMAFEEjABPBIwANASMAIEEjAB1BIwARQSMAGgEjABdAh8AggHnAC4EEQA/BHoAkQQqAIAD5AA8BygAWwVTABIFDACUBTkAZgU6AJQEhgCUBGUAlAVyAGoFrwCUAkIAowRxAC0FCwCUBFQAlAcBAJQFrgCUBYYAZgUdAJQFhgBgBP4AlATUAEoE2wAtBTcAfQUtABIHCgAwBRAAKQTgAAcE0QBQAjEAhANYABQCMQAMA2sANQOcAAMClAAxBFQAWgSBAHwEMABPBIQATwRLAFMC1gAtBIkAUgRxAHkCCwB9AgH/tQQtAH0CCwCMBvYAfARzAHkEjgBPBIEAfASLAE8C0AB8BCEASwKpAAgEcgB3A/UAFgXyACEEBgAfA+UADAQGAFICrwA4AgIArgKvABsFUQB1Ah4AhgR9AGQEtQBeBZ0AXQTgABkB/ACIBPgAWgOFAF0GRABXA5EAjQPiAFcEbQB/BkQAVwPbAIcDCgB/BEoAXwL2ADwC9gA3ApsAcAS7AJID7QBFAkIAjgIQAG0C9gCAA6cAdwPiAF0F0ABZBisAUAZXAGcD5ABCB4X/9gREAE0FhABpBMoAlATnAIgGwQBIBKcAZwSRAEMEiABPBJcAggWwAB8CGgCPBJgAjgRkACICTwAhBZMAkASIAH4HtABkBzoAWwIMAIsFiABRAtD/5AWKAFgEngBPBaQAfQTyAHcCJv+1BDwAWQPmAJQDsAByA9wAhwN8AHUCCwCBArIAeAJNACkD2AB6Ax8ASQJsAIIAAPyOAAD9XgAA/HMAAP0+AAD8DAAA/RwCXQDGBDwAZwJCAI4EdQCbBb8AGQV6AFsFOAAgBJAAbAWxAJsEkABHBe8ASgWqAEQFWwBrBIQAVgTGAJYEDgAgBIgAVARgAGAEGgBhBIgAfgShAHMCqgCpBGoAFgQTAGQE8wAtBIgAgAQ3AFIEkABSBC0APwRgAIAF0ABEBckATwaUAGYEswB2BHv/4QZxADMF/gAiBVkAaAiIAC0IjwCbBlsAMQWqAJIFCACQBgYAJAeiABYE1gBJBagAlAWpAC0FCgA5Bl8ATwX5AJIFiQCOB5sAmAf5AJgGGgAYBvkAmwUHAJAFUABrB1QAoAT3ACAEfQBbBI8AjwNaAIUE9gAnBnYAHgQWAE0EmACGBG4AjwSaACEGAwCPBJcAhgSYAIYD9QAjBdMAVATTAIYEZgBfBo4AhgbsAH4FFwAfBm8AjwRoAI8EPABRBoQAkQRwACcEcf/bBDwAVAbRAB4G5ACGBIn/7gSYAIYHSQCIBk8AcARn/+AHKACYBgEAhgUMABwEYAAKB0IArAY2AJ0G7QCABeYAggkyAKMH+QCPBCAAKAPwADMFegBfBIgATwUaABAEDgAgBXoAXwSIAE8HRQCIBkQAdAdJAIgGTwBwBRoAZgRKAFwE/wBtAAD8ZgAA/HMAAP17AAD9pQAA+iQAAPpNBGf/4AUTAJQEhgB8BGoAjwOhAH4EtwCbBCAAfgUsAJAEqwCOBpUANAWkAD0H0ACUBaoAfghHAJsG9QB+BioAZwT/AGEHMQAtBXAAJgV0AIAEcwB0BYcAhQYkABYEw//LBSEAkAR4AI4FrwCbBIgAfgWIAFEEpgBbBKYAXQTHADQDUwAtBQcAUgbxAGgG3QBeBlMAPAUoAC8EewBIBD4AdAe+AEIGnQBAB/0AlAaeAHcFBABdBCwAVQWqACEFHQBEBVUAgQMsAGcEFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAANEAAAAAAAACoQBHAqEARwUpAJ0GMACBA50ABAHAAGMBvAAzAc4AMgGoAEoDFABsAxsAQAMIADIEXQBABJkAXALLAIgD+gCKBaYAigFsAEcHpwBKAnIAbAJpAFQDnAAtAvYANQNcAGkEtQBfBnAAIQa4AJgIkwCUB4gANQaMAHwEjABeBfUAIQQ0ACgEogAhBV4ATwV9ACgF5ABwA+IATAguAJAFCQBtBRQAlgY1AFkG3QBUBtEAWwaiAFgEkQBiBZYApgTZAEAEgwCeBLIAOwhFAF4CLf+vBI4AZQR6AJEEEQA8BCoAgAQMACQCWwChApgAYwHxAEUFGwAtBKgAGAS8AC0HIwAtByMALQURAC0GtwBLAAAAAAgwAFkINQBcBDMAOgSTAE8CEP+wAbMAXAOhAHUDoQB1A6EAdQQLAHUECwB1BAv/TAQLAHoDoQB1AgUAlASeAAkEYAB2BIAATwR6AHYD4AB2A8UAdgSmAFQE3gB2AfwAhQPVACQEWwB2A7kAdgYGAHYE3QB2BMAATwRtAHYEwABMBFwAdgQ0AD4EOwAkBIQAZwR7AAkGBwAoBF4AFQQ8AAUEKgBBAvYASwL2AIAC9gA8AvYANwL2ADUC9gBPAvYATQL2ADYC9gBLAvYARgO5AJACsgCWBDsACgS7AFYFRACbBSgAmwQwAIEFOQCbBC0AgQQ0AD4EZgA4BE0ADgO5AHYEewAJBMAATwR7AAkDmABCBNgAdgQZAEQFnQBQBVQAUATkAF8FkQAkBIAATwdUACQHVwB2BZcAJATXAHYEcQB2BVkAJwY6ABoERgBCBOQAdgRcAHYEywAkBEYAHwVdAHYEjABBBoQAdgcKAHYFWgAKBiAAdgRnAHYEgAA8BpIAdgSIAEMEIgAKBpIAGgSdAHYFGgB2BW4AJAXwAE8EWgAFBMQAFQaVACQEjABBBIwAdgX+AAoE0gBPBEYAQgTAAE8EZgA4A/cARgg2AHYE6wAoBIgAfAQ9AFAEmABPA6QAWwShAEwElAB8BJ8ATwRLAFMEiQBRBXoAawWiAGsFhgCbBeAAawXiAGsEGwCXBIIAbgO5AHYEVwAPBL4ANQL2AEsC9gA1AvYATwL2AE0C9gA2AvYASwL2AEYEawBmBC4AQwaYAE8EtABzBOsAYgIm/7UCJv+1AhsAjwIb//sCGwCPBGAAdgH+AAACoABHBVj/9wVY//cEj//UBNsALQKp/+gFUwASBVMAEgVTABIFUwASBVMAEgVTABIFUwASBTkAZgSGAJQEhgCUBIYAlASGAJQCQv/IAkIAowJC/8sCQv+/Ba4AlAWGAGYFhgBmBYYAZgWGAGYFhgBmBTcAfQU3AH0FNwB9BTcAfQTgAAcEVABaBFQAWgRUAFoEVABaBFQAWgRUAFoEVABaBDAATwRLAFMESwBTBEsAUwRLAFMCGv+0AhoAjwIa/7cCGv+rBHMAeQSOAE8EjgBPBI4ATwSOAE8EjgBPBHIAdwRyAHcEcgB3BHIAdwPlAAwD5QAMBVMAEgRUAFoFUwASBFQAWgVTABIEVABaBTkAZgQwAE8FOQBmBDAATwU5AGYEMABPBTkAZgQwAE8FOgCUBRoATwSGAJQESwBTBIYAlARLAFMEhgCUBEsAUwSGAJQESwBTBIYAlARLAFMFcgBqBIkAUgVyAGoEiQBSBXIAagSJAFIFcgBqBIkAUgWvAJQEcQB5AkL/swIa/58CQv+5Ahr/pQJC/98CGv/LAkIAFwILAAACQgCdBrMAowQMAH0EcQAtAib/tQULAJQELQB9BFQAlAILAIoEVACUAgsAVQRUAJQCoQCMBFQAlALnAIwFrgCUBHMAeQWuAJQEcwB5Ba4AlARzAHkEc/+lBYYAZgSOAE8FhgBmBI4ATwWGAGYEjgBPBP4AlALQAHwE/gCUAtAATwT+AJQC0AA4BNQASgQhAEsE1ABKBCEASwTUAEoEIQBLBNQASgQhAEsE1ABKBCEASwTbAC0CqQAIBNsALQKpAAgE2wAtAtEACAU3AH0EcgB3BTcAfQRyAHcFNwB9BHIAdwU3AH0EcgB3BTcAfQRyAHcFNwB9BHIAdwcKADAF8gAhBOAABwPlAAwE4AAHBNEAUAQGAFIE0QBQBAYAUgTRAFAEBgBSB4X/9gbBAEgFhABpBIgATwR6/6YEev+mBDsAJASeAAkEngAJBJ4ACQSeAAkEngAJBJ4ACQSeAAkEgABPA+AAdgPgAHYD4AB2A+AAdgH8/6YB/ACDAfz/qQH8/50E3QB2BMAATwTAAE8EwABPBMAATwTAAE8EhABnBIQAZwSEAGcEhABnBDwABQSeAAkEngAJBJ4ACQSAAE8EgABPBIAATwSAAE8EegBqA+AAdgPgAHYD4AB2A+AAdgPgAHYEpgBUBKYAVASmAFQEpgBUBN4AdgH8/5EB/P+XAfz/vQH8ABUB/AB8A9UAJARbAHYDuQB2A7kAdgO5AHYDuQB2BN0AdgTdAHYE3QB2BMAATwTAAE8EwABPBFwAdgRcAHYEXAB2BDQAPgQ0AD4ENAA+BDQAPgQ7ACQEOwAkBDsAJASEAGcEhABnBIQAZwSEAGcEhABnBIQAZwYHACgEPAAFBDwABQQqAEEEKgBBBCoAQQVTABIE6v9KBhP/UwKm/1YFmv+nBUT+4QVv/7ICqv+HBVMAEgUMAJQEhgCUBNEAUAWvAJQCQgCjBQsAlAcBAJQFrgCUBYYAZgUdAJQE2wAtBOAABwUQACkCQv+/BOAABwSEAFYEYABgBIgAfgKqAKkEYACABJgAjgSOAE8EuwCSA/UAFgQGAB8Cqv/MBGAAgASOAE8EYACABpQAZgSGAJQEdQCbBNQASgJCAKMCQv+/BHEALQUoAJsFCwCUBQoAOQVTABIFDACUBHUAmwSGAJQFqACUBwEAlAWvAJQFhgBmBbEAmwUdAJQFOQBmBNsALQUQACkEVABaBEsAUwSYAIYEjgBPBIEAfAQwAE8D5QAMBAYAHwRLAFMDWgCFBCEASwILAH0CGv+rAgH/tQRuAI8D5QAMBwoAMAXyACEHCgAwBfIAIQcKADAF8gAhBOAABwPlAAwBWgBSApgAZQRKAI8CJv+xAbwAMwcBAJQG9gB8BVMAEgRUAFoEhgCUBagAlARLAFMEmACGBaoARAXJAE8FGgAQBA7/8QhzAE8JawBmBNYASQQWAE0FOQBmBDAATwTgAAcEDgAgAkIAoweiABYGdgAeAkIAowVTABIEVABaBVMAEgRUAFoHhf/2BsEASASGAJQESwBTBYgAUQQ8AFkEPABZB6IAFgZ2AB4E1gBJBBYATQWoAJQEmACGBagAlASYAIYFhgBmBI4ATwV6AF8EiABPBXoAXwSIAE8FUABrBDwAUQUKADkD5QAMBQoAOQPlAAwFCgA5A+UADAWJAI4EZgBfBvkAmwZvAI8FEAApBAYAHwSEAE8FqQAtBJoAIQVTABIEVABaBVMAEgRUAFoFUwASBFQAWgVTABAEVP+aBVMAEgRUAFoFUwASBFQAWgVTABIEVABaBVMAEgRUAFoFUwASBFQAWgVTABIEVABaBVMAEgRUAFoFUwASBFQAWgSGAJQESwBTBIYAlARLAFMEhgCUBEsAUwSGAJQESwBTBIb/1QRL/44EhgCUBEsAUwSGAJQESwBTBIYAlARLAFMCQgCjAhoAjwJCAJQCCwB4BYYAZgSOAE8FhgBmBI4ATwWGAGYEjgBPBYYAJwSO/6MFhgBmBI4ATwWGAGYEjgBPBYYAZgSOAE8FigBYBJ4ATwWKAFgEngBPBYoAWASeAE8FigBYBJ4ATwWKAFgEngBPBTcAfQRyAHcFNwB9BHIAdwWkAH0E8gB3BaQAfQTyAHcFpAB9BPIAdwWkAH0E8gB3BaQAfQTyAHcE4AAHA+UADATgAAcD5QAMBOAABwPlAAwEogBPBKIATwUoAJsEbgCPBa8AlASXAIYE2wAtA/UAIwUQACkEBgAfBYkAjgRmAF8FiQCOBGYAXwR1AJsDWgCFB6IAFgZ2AB4GJAAWBMP/ywRxAHkFB//QBQf/0AR1//ADWv/iBTz/4wRE/64FqACUBJgAhgWvAJQElwCGBwEAlAYDAI8FqQAtBJoAIQTgAAcEDgAgBRAAKQQGAB8EYABgBGUAAgYwAIEEjABRBIwATwSMADQEjACBBKAAXQS0AH0FcgBqBIkAUgWuAJQEcwB5BVMAEgRUAA0EhgBIBEsAAQJC/vYCGv7iBYYAZgSOABYE/gAyAtD/bgU3AHEEcgAPBN/+rAUMAJQEgQB8BToAlASEAE8FOgCUBIQATwWvAJQEcQB5BQsAlAQtAH0FCwCUBC0AfQRUAJQCCwB4BwEAlAb2AHwFrgCUBHMAeQUdAJQEgQB8BP4AlALQAHIE1ABKBCEASwTbAC0CqQAIBS0AEgP1ABYFLQASA/UAFgcKADAF8gAhBNEAUAQGAFIFzP4cBJ4ACQQc/yoFGv83Ajj/OQTK/5MEeP7oBO7/pASeAAkEYAB2A+AAdgQqAEEE3gB2AfwAhQRbAHYGBgB2BMAATwRtAHYEOwAkBDwABQReABUB/P+dBDwABQPgAHYDuQB2BDQAPgH8AIUB/P+dA9UAJARbAHYERgAfBJ4ACQRgAHYDuQB2A+AAdgTkAHYGBgB2BN4AdgTAAE8E2AB2BG0AdgSAAE8EOwAkBF4AFQRGAEIE3gB2BIAATwQ8AAUF/gAKBOQAdgRGAB8FnQBQBVMAEgRUAFoEhgCUBEsAUwIaAHgAAAABAAAE5AkLBAAAAgICAwYFBwYCAwMEBQIDAwQFBQUFBQUFBQUFAgIFBQUECAYGBgYFBQYGAwUGBQgGBgYGBgUFBgYIBgUFAgQCBAQDBQUFBQUDBQUCAgUCCAUFBQUDBQMFBAcFBAUDAgMGAgUFBgUCBgQHBAQFBwQDBQMDAwUEAwIDBAQHBwcECAUGBQYIBQUFBQYCBQUDBgUJCAIGAwYFBgYCBQQEBAQCAwMEBAMAAAAAAAADBQMFBgYGBQYFBwYGBQUFBQUFBQUDBQUGBQUFBQUHBwcFBQcHBgoKBwYGBwkFBgYGBwcGCQkHCAYGCAYFBQQGBwUFBQUHBQUEBwUFBwgGBwUFBwUFBQgIBQUIBwUIBwYFCAcIBwoJBQQGBQYFBgUIBwgHBgUGAAAAAAAABQYFBQQFBQYFBwYJBgkIBwYIBgYFBgcFBgUGBQYFBQUEBggIBwYFBQkHCQcGBQYGBgQFCQUJAwICBQICAQADAwYHBAICAgIDBAMFBQMEBgIJAwMEAwQFBwgKCAcFBwUFBgYHBAkGBgcICAcFBgUFBQkCBQUFBQUDAwIGBQUICAYIAAkJBQUCAgQEBAUFBQUEAgUFBQUEBAUFAgQFBAcFBQUFBQUFBQUHBQUFAwMDAwMDAwMDAwQDBQUGBgUGBQUFBQQFBQUEBQUGBgYGBQgIBgUFBgcFBgUFBQYFBwgGBwUFBwUFBwUGBgcFBQcFBQcFBQUFBAkGBQUFBAUFBQUFBgYGBwcFBQQFBQMDAwMDAwMFBQcFBgICAgICBQIDBgYFBQMGBgYGBgYGBgUFBQUDAwMDBgYGBgYGBgYGBgUFBQUFBQUFBQUFBQUCAgICBQUFBQUFBQUFBQQEBgUGBQYFBgUGBQYFBgUGBgUFBQUFBQUFBQUGBQYFBgUGBQYFAwIDAgMCAwIDCAUFAgYFBQIFAgUDBQMGBQYFBgUFBgUGBQYFBgMGAwYDBQUFBQUFBQUFBQUDBQMFAwYFBgUGBQYFBgUGBQgHBQQFBQUFBQUFCAgGBQUFBQUFBQUFBQUFBAQEBAICAgIFBQUF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AAADfwAABBsAAAQbAAAA3AAABBwAAAQiAAADhwAABCMAAAQkAAAA3QAABCUAAAQlAAADjgAABCYAAAQvAAAA3wAABDAAAAQwAAADjwAABDEAAAQ0AAAA6QAABDUAAAQ1AAADkAAABDYAAAQ4AAAA7QAABDkAAAQ5AAADkQAABDoAAAQ9AAAA8AAABD4AAAQ+AAADkgAABD8AAAQ/AAAA9AAABEAAAARBAAADkwAABEIAAARCAAAA9QAABEMAAARDAAADlQAABEQAAAREAAAA9gAABEUAAARFAAADlgAABEYAAARPAAAA9wAABFAAAARQAAADsgAABFEAAARRAAADlwAABFIAAARSAAABAQAABFMAAARTAAADmAAABFQAAARUAAABAgAABFUAAARYAAADmQAABFkAAARbAAABAwAABFwAAARcAAADnQAABF0AAARdAAADswAABF4AAAReAAADngAABF8AAARhAAABBgAABGIAAARiAAAEXAAABGMAAARvAAABCQAABHAAAARxAAADtAAABHIAAAR1AAABFgAABHYAAAR3AAADtgAABHgAAAR4AAADuQAABHkAAAR5AAADuAAABHoAAASGAAABGgAABIgAAASJAAABJwAABIoAAASLAAAEYQAABIwAAASMAAAEWwAABI0AAASRAAABKQAABJIAAASTAAAEXQAABJQAAASVAAABLgAABJYAAASXAAAEVgAABJgAAASZAAADugAABJoAAASbAAAESAAABJwAAASdAAABMAAABJ4AAASfAAAEXwAABKAAAAShAAABMgAABKIAAASjAAAESgAABKQAAASpAAABNAAABKoAAASrAAADvAAABKwAAAStAAAETAAABK4AAASvAAADvgAABLAAAASxAAAEaQAABLIAAASzAAAETgAABLQAAAS1AAABOgAABLYAAAS3AAAEUAAABLgAAAS6AAABPAAABLsAAAS7AAAEWgAABLwAAAS9AAABPwAABL4AAAS/AAAEWAAABMAAAATCAAADwAAABMMAAATEAAABQQAABMUAAATGAAAEZwAABMcAAATIAAABQwAABMkAAATKAAAEYwAABMsAAATMAAAEUgAABM0AAATOAAAEZQAABM8AAATXAAADwwAABNgAAATYAAABRQAABNkAAATZAAADzQAABNoAAATaAAADzAAABNsAAATfAAADzgAABOAAAAThAAABRgAABOIAAAT1AAAD0wAABPYAAAT3AAAEVAAABPgAAAT5AAAD5wAABPoAAAT7AAABSAAABPwAAAT9AAAD6QAABP4AAAT/AAAEawAABQAAAAUAAAABSgAABQEAAAUBAAAD6wAABQIAAAUQAAABSwAABREAAAURAAAEbQAABRIAAAUTAAAD7AAAHgAAAB4BAAADrgAAHj4AAB4/AAADrAAAHoAAAB6FAAADnwAAHqAAAB7xAAAD7gAAHvIAAB7zAAADpQAAHvQAAB75AAAEQAAAH00AAB9NAAAEqQAAIAAAACALAAABWwAAIBAAACARAAABZwAAIBMAACAUAAABaQAAIBUAACAVAAAEbwAAIBcAACAeAAABawAAICAAACAiAAABcwAAICUAACAnAAABdgAAIDAAACAwAAABeQAAIDIAACAzAAADpwAAIDkAACA6AAABegAAIDwAACA8AAADqQAAIEQAACBEAAABfAAAIHQAACB0AAABfQAAIH8AACB/AAABfgAAIKMAACCjAAAEbgAAIKQAACCkAAABfwAAIKYAACCqAAABgAAAIKsAACCrAAAERwAAIKwAACCsAAABhQAAILEAACCxAAABhgAAILkAACC6AAABhwAAILwAACC9AAABiQAAIQUAACEFAAABiwAAIRMAACETAAABjAAAIRYAACEWAAABjQAAISIAACEiAAABjgAAISYAACEmAAAAuQAAIS4AACEuAAABjwAAIVsAACFeAAABkAAAIgIAACICAAABlAAAIgYAACIGAAAAsQAAIg8AACIPAAABlQAAIhEAACISAAABlgAAIhoAACIaAAABmAAAIh4AACIeAAABmQAAIisAACIrAAABmgAAIkgAACJIAAABmwAAImAAACJgAAABnAAAImQAACJlAAABnQAAJcoAACXKAAABnwAA7gEAAO4CAAABoAAA9sMAAPbDAAABogAA+wEAAPsEAAABpAAA/v8AAP7/AAABqgAA//wAAP/9AAABq7AALEuwCVBYsQEBjlm4Af+FsIQdsQkDX14tsAEsICBFaUSwAWAtsAIssAEqIS2wAywgRrADJUZSWCNZIIogiklkiiBGIGhhZLAEJUYgaGFkUlgjZYpZLyCwAFNYaSCwAFRYIbBAWRtpILAAVFghsEBlWVk6LbAELCBGsAQlRlJY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seix/7IWsi6yRbJcsnOyi7KdsrSyy7LisvmzEbMoszqzUbNps4Czl7Ops7+z1bPstAS0ELQctDO0RbRbtHK0iLSetLW0zbTetPW1B7UdtS61RrVdtW+1hbWcta61xbXcte22BLYbtoW3J7c5t0u3Yrd4t4+3pre4t8m327fruAK4E7gquEC4V7huuNu5crmJuZq5sbnHud659LoLuiK6LrpAule6abqAupK6qbrAute67rr5uwS7G7snuzO7Srthu227ebuQu6e7s7u/u9S76bv1vAG8GLwqvDa8QrxZvGq8f7yWvKe8vrzVvO29Bb0XvSm9Nb1BvVO9ZL12vYi9n721vcG9zb3ZveW9974IvhS+IL4svji+T75bvnK+iL6avrC+x77evvG/BL8cvy+/jb/vwAbAHcA0wErAYsB5wJDAp8C+wNDA4cD4wQrBIcE4wWjBmMGowb/B1sHswf3CFcItwjnCRcJcwnPCicKgwrfCzcLkwvzDDsMlwzfDTcNew3bDjcOkw7rD0sPpw//EFsR9xI/EpcS8xM3E3sT0xQrFIcWOxaTFusXRxejF9MYKxhzGM8ZKxlXGa8aCxo7GpMawxsXG0cboxvTHC8ccxzPHRsdYx2THdceHx53Hqce6x8bH3Mfox/7ID8gmyDnITMityMTI2sjxyQjJH8k1yUDJTMlYyWTJcMl8yYjJo8mrybPJu8nDycvJ08nbyePJ68nzyfvKA8oLyhPKK8pDylXKZ8p5yorKpMqsyrTKvMrEyszK5Mr7yw3LH8sxy0nLYMvOy9bL7sv2y/7MFcwszDTMPMxEzEzMY8xrzHPMe8yDzIvMk8ybzKPMq8yzzMrM0szazS7NNs0+zVXNbM10zXzNlM2czbPNyc3gzffODs4lzjjOS85iznPOh86mzrLOxM7MzuPO9c8Bzw3PJM87z1LPac9xz3nPkc+pz7XPwc/Nz9nP5c/xz/nQAdAJ0CDQN9A/0FbQbdCF0JzQpNCs0MPQ2dDx0PnRENEo0UDRWNFv0YbRnNG00czR5NH80gTSDNIk0jvSU9Jq0nzSjdKl0rzS1NLs0wTTG9M301PTX9Nr03PTf9OL05fTo9O108fT4NPy1AvUHdQw1ELUVdRn1HfUhtSZ1KvUvtTQ1OPU9dUI1RrVKtU61UbVUtVk1XbViNWZ1bLVxNXd1e/WAtYU1ifWOdZJ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CRCwBtCwBi+wAdCwAS8wMf//AI//8gPIBbAAJgAFAAAABwAFAiUAAP///7H+SwJzBd8CJgCbAAABBwCe/z//3gAJALAAL7AR3DAxAP//ADMEAAFlBgACBgFtAAD//wCUAAAGagc2AiYAMQAAAQcAdQKQATYAEwCwAEVYsAIvG7ECHz5ZsBHcMDEA//8AfAAABnkGAAImAFEAAAEHAHUCoAAAAAkAsAMvsCDcMDEA//8AEv5tBUIFsAImACUAAAAHAKYBegAD//8AWv5xA/sETgImAEUAAAAHAKYArQAH//8AlAAABEwHPQImACkAAAEHAEQA6AE9ABMAsABFWLAGLxuxBh8+WbAN3DAxAP//AJQAAAUNBz0CJgDbAAABBwBEAUoBPQATALAARViwCC8bsQgfPlmwC9wwMQD//wBT/+wECwYAAiYASQAAAQcARAChAAAAEwCwAEVYsAgvG7EIGz5ZsB/cMDEA//8AhgAABBIF8wImAO8AAAEHAEQAxP/zABMAsABFWLAILxuxCBs+WbAL3DAxAP//AEQAAAVcBbACBgC4AAD//wBP/iIFfgQ6AgYAzAAA//8AEAAABPMG/AImARgAAAEHAKsESQEOABYAsABFWLAPLxuxDx8+WbAR3LAV0DAx////8QAABBgF0AImARkAAAEHAKsD5f/iABYAsABFWLARLxuxERs+WbAT3LAX0DAx//8AT/5LCGQETgAmAFMAAAAHAF0EjgAA//8AZv5LCVwFxAAmADMAAAAHAF0FhgAA//8ASf46BH8FwwImANoAAAAHAbABkv+g//8ATf47A8QETQImAO4AAAAHAbABOf+h//8AZv4+BOsFxAImACcAAAAHAbAB1v+k//8AT/4+A/UETgImAEcAAAAHAbABSv+k//8ABwAABNYFsAIGAD0AAP//ACD+XwP1BDoCBgC8AAD//wCjAAABnwWwAgYALQAA//8AFgAAB5sHIwImANkAAAEHAKACHQE9ABMAsABFWLANLxuxDR8+WbAZ3DAxAP//AB4AAAZcBdkCJgDtAAABBwCgAYf/8wATALAARViwDS8bsQ0bPlmwGdwwMQD//wCjAAABnwWwAgYALQAA//8AEgAABUIHHAImACUAAAEHAKAA9gE2ABMAsABFWLAELxuxBB8+WbAO3DAxAP//AFr/7AP7BeYCJgBFAAABBwCg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ALAARViwBy8bsQcfPlmxDwn0sBXQMDEA//8AU//sBMgGfAImAEkAAAEGAbc97AAMALAIL7Ag3LAl0DAx////1QAABEwHtQImACkAAAEHAbYAiQEyABcAsABFWLAGLxuxBh8+WbEPCfSwFNAwMQD///+O/+wECwZ5AiYASQAAAQYBtkL2AAwAsAgvsB7csCXQMDH//wCUAAAEkgflAiYAKQAAAQcBtQCIARoADACwBi+wDNywE9AwMf//AFP/7ARLBqkCJgBJAAABBgG1Qd4ADACwCC+wHtywJdAwMf//AJQAAARMB90CJgApAAABBwG0AIkBDAAMALAGL7AM3LAT0DAx//8AU//sBAsGoQImAEkAAAEGAbRC0AAMALAIL7Ae3LAl0DAx//8AlP6eBEwHPgImACkAAAAnAJ0AiAE9AAcArATLAAr//wBT/pQECwYBAiYASQAAACYAnUEAAAcArASPAAD//wCjAAACEQfCAiYALQAAAQcAqgN4AUMACQCwAi+wBNwwMQD//wCPAAAB/QZ+AiYAjAAAAQcAqgNk//8ACQCwAi+wBNwwMQD//wCU/poBpwWwAiYALQAAAAcArAN4AAb//wB4/p4BkAXVAiYATQAAAAcArANcAAr//wBm/pQFHgXEAiYAMwAAAAcArAUdAAD//wBP/pIEPQROAiYAUwAAAAcArASd//7//wBm/+wFHge7AiYAMwAAAQcAqgUcATwACQCwFC+wH9wwMQD//wBP/+wEPQaFAiYAUwAAAQcAqgSYAAYACQCwBC+wG9wwMQD//wBm/+wFYQexAiYAMwAAAQcBtwDWASEADACwFC+wIdywJtAwMf//AE//7ATdBnwCJgBTAAABBgG3UuwADACwBC+wHdywItAwMf//ACf/7AUeB64CJgAzAAABBwG2ANsBKwAMALAUL7Af3LAm0DAx////o//sBD0GeQImAFMAAAEGAbZX9gAMALAEL7Ab3LAi0DAx//8AZv/sBR4H3gImADMAAAEHAbUA2gETAAwAsBQvsB/csCbQMDH//wBP/+wEYAapAiYAUwAAAQYBtVbeAAwAsAQvsBvcsCLQMDH//wBm/+wFHgfWAiYAMwAAAQcBtADbAQUADACwFC+wH9ywJtAwMf//AE//7AQ9BqECJgBTAAABBgG0V9AADACwBC+wG9ywItAwMf//AGb+lAUeBzcCJgAzAAAAJwCdANoBNgAHAKwFHQAA//8AT/6SBD0GAQImAFMAAAAmAJ1WAAAHAKwEnf/+//8AWP/sBaoHMwImAJcAAAAHAHUB0wEz//8AT//sBLsGAAImAJgAAAEHAHUBWAAAAAkAsAkvsCXcMDEA//8AWP/sBaoHMwImAJcAAAAHAEQBNAEz//8AT//sBLsGAAImAJgAAAEHAEQAuQAAAAkAsAkvsCPcMDEA//8AWP/sBaoHuAImAJcAAAAHAKoFFgE5//8AT//sBLsGhQImAJgAAAEHAKoEmwAGAAkAsAkvsCPcMDEA//8AWP/sBaoHKQImAJcAAAAHAKQA1gE0//8AT//sBLsF9gImAJgAAAEGAKRbAQAJALAJL7Au3DAxAP//AFj+lAWqBi4CJgCXAAAABwCsBQYAAP//AE/+iwS7BKgCJgCYAAAABwCsBJr/9///AH3+lAS9BbACJgA5AAAABwCsBPIAAP//AHf+lAP3BDoCJgBZAAAABwCsBEEAAP//AH3/7AS9B7sCJgA5AAABBwCqBPMBPAAJALAAL7AR3DAxAP//AHf/7AP3BoUCJgBZAAABBwCqBJEABgAJALAGL7AR3DAxAP//AH3/7AY9B0ICJgCZAAABBwB1AdcBQgAJALAEL7Ab3DAxAP//AHf/7AUoBewCJgCaAAABBwB1AVf/7AAJALAAL7Ac3DAxAP//AH3/7AY9B0ICJgCZAAABBwBEATgBQgAJALAEL7AZ3DAxAP//AHf/7AUoBewCJgCaAAABBwBEALj/7AAJALAAL7Aa3DAxAP//AH3/7AY9B8cCJgCZAAABBwCqBRoBSAAJALAEL7AZ3DAxAP//AHf/7AUoBnECJgCaAAABBwCqBJr/8gAJALAAL7Aa3DAxAP//AH3/7AY9BzgCJgCZAAABBwCkANoBQwAJALAEL7Ak3DAxAP//AHf/7AUoBeICJgCaAAABBgCkWu0ACQCwAC+wJdwwMQD//wB9/osGPQYBAiYAmQAAAAcArAUZ//f//wB3/pQFKASTAiYAmgAAAAcArARFAAD//wAH/qQE1gWwAiYAPQAAAAcArATGABD//wAM/g8D1gQ6AiYAXQAAAAcArAVG/3v//wAHAAAE1ge7AiYAPQAAAQcAqgTKATwACQCwAS+wCdwwMQD//wAM/ksD1gaFAiYAXQAAAQcAqgRZAAYACQCwAS+wENwwMQD//wAHAAAE1gcsAiYAPQAAAQcApACKATcACQCwAS+wFNwwMQD//wAM/ksD1gX2AiYAXQAAAQYApBkBAAkAsAEvsBvcMDEAAAIAT//sBLIGAAAWACEAjLIfIiMREjmwHxCwENAAsBMvsABFWLAMLxuxDBs+WbAARViwBi8bsQYPPlmwAEVYsAIvG7ECDz5Zsi8TAV2yDxMBXbIWAhMREjmwFi+yAAcKK1gh2Bv0WbIEDAYREjmyDgwGERI5sA/QsBYQsBHQsAYQshoBCitYIdgb9FmwDBCyHwEKK1gh2Bv0WTAxASMRIycGIyICETQSMzIXNSM1MzUzFTMBFBYzMjcRJiMiBgSyr9wMbba+6+jDrGr7+/Ov/JB/dZVFQ5V2gATJ+zdwhAEyAQf6AS9486qNjfydpbmFAc6Cu///AE/+rgSyBgAAJgBIAAAAJwHeAYUCQgEHAEMAmf9tABIAsi8cAV2yHxwBcbKfHAFdMDH//wCb/poFfgWwAiYB4wAAAAcBsAQvAAD//wCP/poEwgQ6AiYA8AAAAAcBsANzAAD//wCU/poF2wWwAiYALAAAAAcBsASMAAD//wCG/poE1QQ6AiYA8wAAAAcBsAOGAAD//wAt/poEsAWwAiYAOAAAAAcBsAJNAAD//wAj/poD0AQ6AiYA9QAAAAcBsAHmAAD//wAp/poFIgWwAiYAPAAAAAcBsAPTAAD//wAf/poEJwQ6AiYAXAAAAAcBsALYAAD//wCO/poFrQWwAiYA4AAAAAcBsAReAAD//wBf/poEpAQ7AiYA+AAAAAcBsANVAAD//wCO/poE7gWwAiYA4AAAAAcBsALPAAD//wBf/poD4AQ7AiYA+AAAAAcBsAHGAAD//wCb/poENwWwAiYAsAAAAAcBsAEHAAD//wCF/poDTQQ6AiYA6wAAAAcBsADsAAD//wAW/poIBQWwAiYA2QAAAAcBsAa2AAD//wAe/poGtAQ6AiYA7QAAAAcBsAVlAAD//wAW/kMFvAXEAiYBPwAAAAcBsALt/6n////L/kYEiwROAiYBQAAAAAcBsAH1/6z//wB5AAAD+AYAAgYATAAAAAL/0AAABMEFsAATABwAbrIAHR4REjmwFtAAsABFWLAQLxuxEB8+WbAARViwCi8bsQoPPlmyExAKERI5sBMvsgAHCitYIdgb9FmyAhAKERI5sAIvsAAQsAzQsBMQsA7QsAIQshQBCitYIdgb9FmwChCyFQEKK1gh2Bv0WTAxASMVITIWFhUUBAchESM1MzUzFTMDESEyNjU0JicCbeABKqDufP7r7/3TwMD94OABKYCPjHwER8RuyoXM+AIER6q/v/3H/hKLc26AAgAC/9AAAATBBbAAEwAcAG6yAB0eERI5sBbQALAARViwEC8bsRAfPlmwAEVYsAovG7EKDz5ZshMQChESObATL7IABworWCHYG/RZsgIQChESObACL7AAELAM0LATELAO0LACELIUAQorWCHYG/RZsAoQshUBCitYIdgb9FkwMQEjFSEyFhYVFAQHIREjNTM1MxUzAxEhMjY1NCYnAm3gASqg7nz+6+/908DA/eDgASmAj4x8BEfEbsqFzPgCBEeqv7/9x/4Si3NugAIAAf/wAAAENwWwAA0ASQCwAEVYsAgvG7EIHz5ZsABFWLACLxuxAg8+WbINCAIREjmwDS+yAAcKK1gh2Bv0WbAE0LANELAG0LAIELIKAQorWCHYG/RZMDEBIxEjESM1MxEhFSERMwKN9vyrqwOc/WD2Ap/9YQKfqgJnzP5lAAH/4gAAA00EOgANAEkAsABFWLAILxuxCBs+WbAARViwAi8bsQIPPlmyDQgCERI5sA0vsgAHCitYIdgb9FmwBNCwDRCwBtCwCBCyCgEKK1gh2Bv0WTAxASERIxEjNTMRIRUhFSECf/748qOjAsj+KgEIAdH+LwHRqgG/xPsAAAH/4wAABUQFsAAUAHQAsABFWLAILxuxCB8+WbAARViwEC8bsRAfPlmwAEVYsAIvG7ECDz5ZsABFWLATLxuxEw8+WbIOCAIREjmwDi+yAQEKK1gh2Bv0WbIHCAIREjmwBy+yBAEKK1gh2Bv0WbAHELAK0LAEELAM0LISAQ4REjkwMQEjESMRIzUzNTMVMxUjFTMBIQEBIQJXrPzMzPzV1YsBrAE2/gwCIP7QAnD9kAQ/qsfHqvMCZP1H/QkAAf+uAAAESQYAABQAdACwAEVYsAgvG7EIIT5ZsABFWLAQLxuxEBs+WbAARViwAi8bsQIPPlmwAEVYsBMvG7ETDz5Zsg4QAhESObAOL7IBAQorWCHYG/RZsgcIEBESObAHL7IEBworWCHYG/RZsAcQsArQsAQQsAzQshIBDhESOTAxASMRIxEjNTM1MxUzFSMRMwEhAQEhAfZv8ufn8sTEaQEPARz+nwGP/uYB2f4nBLuqm5uq/eEBnv4R/bUA//8AlP5+Bd0HIwImANsAAAAnAKABHQE9AQcAEASA/8YAEwCwAEVYsAgvG7EIHz5ZsA3cMDEA//8Ahv5+BOQF2QImAO8AAAAnAKAAl//zAQcAEAOH/8YAEwCwAEVYsAgvG7EIGz5ZsA3cMDEA//8AlP5+BekFsAImACwAAAAHABAEjP/G//8Ahv5+BOMEOgImAPMAAAAHABADhv/G//8AlP5+BzIFsAImADEAAAAHABAF1f/G//8Aj/5+BkEEOgImAPIAAAAHABAE5P/G//8ALf5+BdwFsAImANwAAAAHABAEf//G//8AIf5+BOYEOgImAPEAAAAHABADif/GAAEABwAABNYFsAAOAFayCg8QERI5ALAARViwCC8bsQgfPlmwAEVYsAsvG7ELHz5ZsABFWLACLxuxAg8+WbIGAggREjmwBi+yBQcKK1gh2Bv0WbAB0LIKCAIREjmwBhCwDtAwMQEjESMRIzUzASEBASEBMwPD1f7Kev5nARkBTwFPARj+Z4YCBP38AgSqAwL9TgKy/P4AAAEAIP5fA/UEOgAOAGOyCg8QERI5ALAARViwCC8bsQgbPlmwAEVYsAsvG7ELGz5ZsABFWLACLxuxAhE+WbAARViwAC8bsQAPPlmwAEVYsAQvG7EEDz5ZsgYHCitYIdgb9FmyCgsAERI5sA3QsA7QMDEFIxEjESM1MwEzExMzATMDYNzzzqL+u/vz7Pv+vK8B/mABoKoDkf0BAv/8bwAAAQApAAAE6QWwABEAYwCwAEVYsAsvG7ELHz5ZsABFWLAOLxuxDh8+WbAARViwAi8bsQIPPlmwAEVYsAUvG7EFDz5ZshELAhESObARL7IABworWCHYG/RZsgQLAhESObAH0LARELAJ0LINCwIREjkwMQEjASEBASEBIzUzASEBASEBMwPbhwGV/tn+x/7G/toBloFz/oIBJAEyATIBJP6DeQKV/WsCFv3qApWqAnH98gIO/Y8AAQAfAAAD6AQ6ABEAYwCwAEVYsAsvG7ELGz5ZsABFWLAOLxuxDhs+WbAARViwAi8bsQIPPlmwAEVYsAUvG7EFDz5ZshEOAhESObARL7IABworWCHYG/RZsgQOAhESObAH0LARELAJ0LINDgIREjkwMQEjASEDAyEBIzUzASETEyEBMwNXlQEm/vTY1/7yASWKgv7vAQzKzgEO/u6MAdf+KQFy/o4B16oBuf6cAWT+R///AGD/7AQMBE0CBgC+AAD//wACAAAEMQWwAiYAKgAAAAcB3v9y/mn//wCBAm0F0QMxAEYBl4UAZmZAAP//AFEAAARABcQCBgAWAAD//wBP/+wEFQXEAgYAFwAA//8ANAAABFgFsAIGABgAAP//AIH/7AQ6BbACBgAZAAD//wBd//oEEgXEAAYAHQAA//8Aff/sBDYFxAAGABQUAP//AGr/7ATwB0sCJgArAAABBwB1Ab0BSwAJALALL7Ah3DAxAP//AFL+VgQMBgACJgBLAAABBwB1AT8AAAAJALADL7An3DAxAP//AJQAAAUXBzYCJgAyAAABBwBEAUwBNgATALAARViwBi8bsQYfPlmwC9wwMQD//wB5AAAD+AYAAiYAUgAAAQcARACzAAAAEwCwAEVYsAAvG7EAGz5ZsBLcMDEA//8AEgAABUIHIQImACUAAAEHAKsEdwEzABYAsABFWLAELxuxBB8+WbAM3LAQ0DAx//8ADf/sA/sF7AImAEUAAAEHAKsEAf/+ABYAsABFWLAXLxuxFxs+WbAr3LAv0DAx//8ASAAABEwHKAImACkAAAEHAKsEPAE6ABYAsABFWLAGLxuxBh8+WbAN3LAR0DAx//8AAf/sBAsF7AImAEkAAAEHAKsD9f/+ABYAsABFWLAILxuxCBs+WbAf3LAj0DAx///+9gAAAh4HKAImAC0AAAEHAKsC6gE6ABYAsABFWLACLxuxAh8+WbAF3LAJ0DAx///+4gAAAgoF5AImAIwAAAEHAKsC1v/2ABYAsABFWLACLxuxAhs+WbAF3LAJ0DAx//8AZv/sBR4HIQImADMAAAEHAKsEjgEzABYAsABFWLAMLxuxDB8+WbAg3LAk0DAx//8AFv/sBD0F7AImAFMAAAEHAKsECv/+ABYAsABFWLAELxuxBBs+WbAc3LAg0DAx//8AMgAABN4HIQImADYAAAEHAKsEJgEzABYAsABFWLAELxuxBB8+WbAZ3LAd0DAx////bgAAArQF7AImAFYAAAEHAKsDYv/+ABYAsABFWLAHLxuxBxs+WbAP3LAT0DAx//8Acf/sBL0HIQImADkAAAEHAKsEZQEzABYAsABFWLAJLxuxCR8+WbAS3LAW0DAx//8AD//sA/cF7AImAFkAAAEHAKsEA//+ABYAsABFWLAHLxuxBxs+WbAS3LAW0DAx///+rAAABQIGQQAmAM9kAAAHAK395gAA//8AlP6eBKMFsAImACYAAAAHAKwEuQAK//8AfP6LBDIGAAImAEYAAAAHAKwEy//3//8AlP6eBNIFsAImACgAAAAHAKwElAAK//8AT/6UBAMGAAImAEgAAAAHAKwEtAAA//8AlP35BNIFsAImACgAAAAHAaIBSP6S//8AT/35BAMGAAImAEgAAAAHAaIBaP6S//8AlP6eBRgFsAImACwAAAAHAKwFJgAK//8Aef6eA/gGAAImAEwAAAAHAKwEoQAK//8AlAAABRgHNgImAC8AAAEHAHUBbgE2AAkAsAQvsA/cMDEA//8AfQAABDYHPQImAE8AAAEHAHUBawE9AAkAsAQvsA/cMDEA//8AlP7fBRgFsAImAC8AAAAHAKwE6QBL//8Aff7KBDYGAAImAE8AAAAHAKwEeQA2//8AlP6eBCYFsAImADAAAAAHAKwEuQAK//8AeP6eAYsGAAImAFAAAAAHAKwDXAAK//8AlP6eBmoFsAImADEAAAAHAKwF1gAK//8AfP6eBnkETgImAFEAAAAHAKwF2QAK//8AlP6aBRcFsAImADIAAAAHAKwFKAAG//8Aef6eA/gETgImAFIAAAAHAKwEjQAK//8AlAAABNQHQgImADQAAAEHAHUBcgFCAAkAsAMvsBbcMDEA//8AfP5gBDAF9wImAFQAAAEHAHUBnf/3AAkAsAwvsB3cMDEA//8AlP6eBN4FsAImADYAAAAHAKwEugAK//8Acv6eArQETgImAFYAAAAHAKwDVgAK//8ASv6UBIoFxAImADcAAAAHAKwE1QAA//8AS/6LA8oETgImAFcAAAAHAKwEfP/3//8ALf6XBLAFsAImADgAAAAHAKwEwwAD//8ACP6UAnIFQQImAFgAAAAHAKwEFAAA//8AEgAABR0HOAImADoAAAEHAKQAsAFDAAkAsAEvsBLcMDEA//8AFgAAA9oF7QImAFoAAAEGAKQY+AAJALABL7AS3DAxAP//ABL+ngUdBbACJgA6AAAABwCsBO8ACv//ABb+ngPaBDoCJgBaAAAABwCsBFcACv//ADD+ngblBbACJgA7AAAABwCsBeYACv//ACH+ngXMBDoCJgBbAAAABwCsBU4ACv//AFD+ngSMBbACJgA+AAAABwCsBMEACv//AFL+ngPABDoCJgBeAAAABwCsBGMACv///hz/7AVkBdcAJgAzRgAABwFa/bUAAP//AAkAAASUBR4CJgG6AAAABwCt/3b+3f///yoAAAPxBSEAJgG+PAAABwCt/mT+4P///zcAAASkBRwAJgHBPAAABwCt/nH+2////zkAAAGzBSEAJgHCPAAABwCt/nP+4P///5P/8AR5BR4AJgHICgAABwCt/s3+3f///ugAAARyBR4AJgHSPAAABwCt/iL+3f///6QAAASOBR4AJgHzCgAABwCt/t7+3f//AAkAAASUBI0CBgG6AAD//wB2AAAECgSNAgYBuwAA//8AdgAAA7UEjQIGAb4AAP//AEEAAAPzBI0CBgHTAAD//wB2AAAEaASNAgYBwQAA//8AhQAAAXcEjQIGAcIAAP//AHYAAARoBI0CBgHEAAD//wB2AAAFjwSNAgYBxgAA//8AT//wBG8EnQIGAcgAAP//AHYAAAQsBI0CBgHJAAD//wAkAAAEFgSNAgYBzQAA//8ABQAABDYEjQIGAdIAAP//ABUAAARKBI0CBgHRAAD///+dAAACYwXqAiYBwgAAAQcAav9AAB4AFgCwAEVYsAIvG7ECHT5ZsAvcsBTQMDH//wAFAAAENgXqAiYB0gAAAQYAalkeABYAsABFWLAILxuxCB0+WbAQ3LAZ0DAx//8AdgAAA7UF6gImAb4AAAEGAGphHgAWALAARViwBi8bsQYdPlmwE9ywHNAwMf//AHYAAAOXBh4CJgHqAAABBwB1ASMAHgAJALAEL7AI3DAxAP//AD7/8APvBJ0CBgHMAAD//wCFAAABdwSNAgYBwgAA////nQAAAmMF6gImAcIAAAEHAGr/QAAeABYAsABFWLACLxuxAh0+WbAL3LAU0DAx//8AJP/wA2QEjQIGAcMAAP//AHYAAARoBh4CJgHEAAABBwB1ARcAHgAJALAEL7AP3DAxAP//AB//7AQ5BgQCJgIBAAABBgCgeh4AEwCwAEVYsA8vG7EPHT5ZsBPcMDEA//8ACQAABJQEjQIGAboAAP//AHYAAAQKBI0CBgG7AAD//wB2AAADlwSNAgYB6gAA//8AdgAAA7UEjQIGAb4AAP//AHYAAARuBgQCJgH+AAABBwCgALoAHgATALAARViwCC8bsQgdPlmwDdwwMQD//wB2AAAFjwSNAgYBxgAA//8AdgAABGgEjQIGAcEAAP//AE//8ARvBJ0CBgHIAAD//wB2AAAEYgSNAgYB7wAA//8AdgAABCwEjQIGAckAAP//AE//8ARDBJ0CBgG8AAD//wAkAAAEFgSNAgYBzQAA//8AFQAABEoEjQIGAdEAAAABAEL+OQPnBJ0AKACksicpKhESOQCwFy+wAEVYsAovG7EKHT5ZsABFWLAZLxuxGQ8+WbAKELIDAQorWCHYG/RZsgYKGRESObInGQoREjmwJy+yXycBcrI/JwFxss8nAXGy/ycBcbIPJwFytG8nfycCcbSvJ78nAl2yjycBcrK/JwFysiQBCitYIdgb9FmyECQnERI5sBkQsBbQsh0ZChESObAZELIfAQorWCHYG/RZMDEBNCYjIgYVIzQ2MzIWFRQGBxYWFRQGBxEjESYmNTMWMzI2NTQnIzUzNgLicGtbZvPzw9j0bl1vbrus85uw8wvKd3TglJrHA0NGT0Y8lLOnlluKJySRW4auGP5BAcIYrIeTV0imA7AEAAABAHb+mgUsBI0ADwCosgMQERESOQCwAEVYsAwvG7EMHT5ZsABFWLAJLxuxCR0+WbAARViwAS8bsQEXPlmwAEVYsAYvG7EGDz5ZsABFWLADLxuxAw8+WbIKBgkREjmwCi+0rwq/CgJdsj8KAXGyzwoBcbI/CgFysv8KAXGyDwoBcrRvCn8KAnG03wrvCgJdtB8KLwoCXbJfCgFysgUBCitYIdgb9FmwAxCyDgcKK1gh2Bv0WTAxASMRIxEhESMRMxEhETMRMwUs88T99PPzAgzzxP6aAWYB2/4lBI3+EQHv/CgAAQBP/kMEQwSdAB4AXrIbHyAREjkAsABFWLAOLxuxDh0+WbAARViwBC8bsQQRPlmwAEVYsAMvG7EDDz5ZsAbQshIOAxESObAOELIVAQorWCHYG/RZsAMQshsBCitYIdgb9FmyHgMOERI5MDEBBgYHESMRJgInNTQ2NjMyBBcjJiYjIBEVFBYzMjY3BEIMxqnztc8Bfuyc1gEEFPMMfXL+7YaHeHwNAYSf0Bv+SQG5JAEf3U+p/4rawnBp/o5IubVicP//AAUAAAQ2BI0CBgHSAAD//wAK/joFqASjAiYCFwAAAAcBsALm/6D//wB2AAAEbgXSAiYB/gAAAQcAcACCACIACQCwAC+wCtwwMQD//wAf/+wEOQXSAiYCAQAAAQYAcEIiAAkAsAIvsBDcMDEA//8AUAAABU0EjQIGAfEAAP//ABL+VQVCBbACJgAlAAAABwCjAYIAA///AFr+WQP7BE4CJgBFAAAABwCjALUAB///AJT+XARMBbACJgApAAAABwCjAUAACv//AFP+UgQLBE4CJgBJAAAABwCjAQQAAP//AHj+ngGLBDoCJgCMAAAABwCsA1wACgAAAA8AugADAAEECQAAAF4AAAADAAEECQABABoAXgADAAEECQACAA4AeAADAAEECQADABoAXgADAAEECQAEABoAXgADAAEECQAFACwAhgADAAEECQAGABoAsgADAAEECQAHAEAAzAADAAEECQAJAAwBDAADAAEECQALABQBGAADAAEECQAMACYBLAADAAEECQANAFwBUgADAAEECQAOAFQBrgADAAEECQAQAAwCAgADAAEECQARAAwCDgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADEAIABHAG8AbwBnAGwAZQAgAEkAbgBjAC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AUgBvAGIAbwB0AG8AIABNAGUAZABpAHUAbQBSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAyAC4AMAAwADEAMQA1ADIAOwAgADIAMAAxADQAUgBvAGIAbwB0AG8ALQBNAGUAZABpAHUAbQBSAG8AYgBvAHQAbwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlAC4ARwBvAG8AZwBsAGUARwBvAG8AZwBsAGUALgBjAG8AbQBDAGgAcgBpAHMAdABpAGEAbgAgAFIAbwBiAGUAcgB0AHMAbwBuAEwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAQQBwAGEAYwBoAGUAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMgAuADAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAUgBvAGIAbwB0AG8ATQBlAGQAaQB1AG0AAwAAAAAAAP9qAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAIACAAC//8ADwABAAAACgBcAKwABERGTFQAGmN5cmwAKGdyZWsANmxhdG4ARAAEAAAAAP//AAIAAAAEAAQAAAAA//8AAgABAAUABAAAAAD//wACAAIABgAEAAAAAP//AAIAAwAHAAhjcHNwADJjcHNwADhjcHNwAD5jcHNwAERrZXJuAEprZXJuAEprZXJuAEprZXJuAEoAAAABAAEAAAABAAMAAAABAAIAAAABAAAAAAABAAQABQAMAAwADAAMAd4AAQAAAAEACAABAAoABQAkAEgAAQDeAAgAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AGUAZwCSALAAsQCyALMAtAC1ALYAtwC4ALkA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgBLAEwATIBOAE6ATwBPgE/AUUBRgF/AYUBigGNAkYCRwJJAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAoIChAKGAogCigKMAo4CkAKSApQClgKYApoCnAKeAqACogKkAqYCqAKqAqwCrgKxArMCtQK3ArkCuwK9Ar8CwQLEAsYCyALKAswCzgLQAtIC1ALYAtoC3ALeAuAC4gLkAuYC6ALqAuwC7gLwAvEC8wL1A1IDUwNUA1UDVgNXA1gDWgNbA1wDXQNeA18DYANhA2MDZANlA2YDZwNoA2kDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgO6A7wDvgPTA9kD3wRIBEoETgRWBFgEXQRpAAIAAAACAAo7ugABA2wABAAAAbEGsjaeNp4G3AcyN0A2TDbKO4o32Ac4Ot463jgeOow16jreOt47ijZWCnIK9Dg+OB42pDZ4OTI7ADYqC143tjbcN+4LoAzKDNQ5ljmWN/g23DYYDco4JA4sOZA4JA5GNtwOiDnKN0A7ijdADwIP/BD6EdgSdjgkEnw5lhU6FxQYJhhAGEYYTBpGGkwaghq0GzIcqB5aIBg63iFOIuA5MiUuOt463jb2Ot463iX4J5I5oChwKTIpwCoeKvg5KCuCOZAsTCx2Ldw23DBiMKAx0jOQNtwyVDLaMwQzWjOQN0A3+DakOCQztjbcOco5KDqMOow5KDaeM+A2njaeNp41UjV4NYI1jDWqNbw1zjXgNso7ijuKO4o7ijg+N0A3QDdAN0A3QDdAN0A2yjfYN9g32DfYOt463jreOt463juKO4o7ijuKO4o4HjgeOB44HjsAN7Y3tje2N7Y3tje2N7Y37jfuN+437jmWN/g3+Df4N/g3+DgkOCQ3QDe2N0A3tjdAN7Y2yjbKNso2yjuKN9g37jfYN+432DfuN9g37jfYN+463jmWOt463jreOt463jgeOow16jXqNeo16jreOZY63jmWOt45ljmWO4o3+DuKN/g7ijf4Nhg2GDYYOD44Pjg+OB44HjgeOB44HjgeNng7ADgkOwA2KjYqNio3QDfYOt463juKOwA3QDZMN9g2KjreOt46jDreOt47ijZWOD47ADkyOt47ADmWN/g4JDf4N9g5yjreOt44HjqMOow29jdANkw5yjfYOt463juKNlY2yjg+OTI3tjfuN/g23DgkOZA37jkoOCQ2eDZ4Nng7ADgkNp42njaeOt45ljdAN7Y32DfuNqQ4JDbKOwA4JDreOTI5kDreN0A3tjdAN7Y32DfuN+437jkyOZA7ijf4N/g23Db2OCQ29jgkNvY4JDkyOZA3QDe2N0A3tjdAN7Y3QDe2N0A3tjdAN7Y3QDe2N0A3tjdAN7Y3QDe2N0A3tjdAN7Y32DfuN9g37jfYN+432DfuN9g37jfYN+432DfuN9g37jreOt47ijf4O4o3+DuKN/g7ijf4O4o3+DuKN/g7ijf4N/g4HjgeOwA4JDsAOCQ7ADgkOow63jg+OTI5kDnKOSg5MjmQOZY5oDnKOow63jreOwA7igACAIsABAAEAAAABgAGAAEACwAMAAIAEwATAAQAJQAqAAUALAA2AAsAOAA/ABYARQBGAB4ASQBKACAATABMACIATwBPACMAUQBUACQAVgBWACgAWABYACkAWgBdACoAXwBfAC4AigCKAC8AnACcADAAsAC0ADEAtgC4ADYAugC6ADkAvAC8ADoAvwDAADsAwgDCAD0AxADEAD4AxgDNAD8A0QDRAEcA0wDdAEgA3wDfAFMA4QDjAFQA5QDuAFcA8ADwAGEA9QD3AGIA+gD7AGUA/QD/AGcBAgEEAGoBCQEJAG0BDAEMAG4BFwEZAG8BIQEhAHIBKwEtAHMBMAEwAHYBMgEyAHcBSQFJAHgBbAFtAHkBbwFxAHsBugG6AH4BvQG9AH8BxAHFAIAByAHIAIIBygHLAIMBzQHNAIUCKAIoAIYCKgIrAIcCRgJHAIkCSQJJAIsCSwJsAIwCbgJxAK4CdgJ7ALICgAKIALgCigKKAMECjAKMAMICjgKOAMMCkAKQAMQCkgKbAMUCpAKmAM8CqAKoANICqgKqANMCrAKsANQCrgKuANUCsQKxANYCswKzANcCtQK1ANgCtwK3ANkCuQK5ANoCuwK7ANsCvQLJANwCywLLAOkCzQLNAOoCzwLPAOsC2gLaAOwC3ALcAO0C3gLeAO4C4ALgAO8C4gLiAPAC5ALkAPEC5gLmAPIC6ALoAPMC6gLqAPQC7ALsAPUC7gLxAPYC8wLzAPoC9QL1APsDUgNXAPwDWgNpAQIDbANsARIDcANwARMDcgNyARQDdgN2ARUDeQN6ARYDfAOFARgDhwOJASIDiwOQASUDkgOTASsDlQOYAS0DngOfATEDoQOhATMDowOjATQDpQOoATUDqwOwATkDsgOyAT8DtgO3AUADvAO8AUIDvgPHAUMDygPLAU0DzQPQAU8D1wPYAVMD3APcAVUD3gPkAVYD6QPqAV0D7gQWAV8EGAQYAYgEGgQnAYkELwQvAZcEMgQyAZgENAQ0AZkEQARFAZoESARIAaAESgRKAaEETARMAaIETgRPAaMEVARXAaUEWgRaAakEXARdAaoEXwRfAawEYwRjAa0EZQRlAa4EaQRpAa8EqQSpAbAACgA4/8QA0f/EANX/xAEy/8QBOv/EAtr/xALc/8QC3v/EA43/xARM/8QAFQA6ABQAOwAmAD0AFgEYABQCZQAWAuwAJgLuABYC8AAWA1cAFgNmABYDaQAWA58AJgOhACYDowAmA6UAFgO2ABQDvgAWBEAAFgRCABYERAAWBGkAFgABABP/CADOABD+7gAS/u4AJf9AAC7/MAA4ABQARf/eAEf/6wBI/+sASf/rAEv/6wBT/+sAVf/rAFb/5gBZ/+oAWv/oAF3/6ACT/+sAmP/rAJr/6gCx/0AAs/9AALr/6wC8/+gAx//rAMj/6wDK/+oA0QAUANUAFAD2/+sBAv/rAQz/QAEX/+sBGf/oAR3/6wEh/+sBMgAUATn/6wE6ABQBS//rAUz/6wFW/+sBbv7uAXL+7gF2/u4Bd/7uAbr/wAJL/0ACTP9AAk3/QAJO/0ACT/9AAlD/QAJR/0ACZv/eAmf/3gJo/94Caf/eAmr/3gJr/94CbP/eAm3/6wJu/+sCb//rAnD/6wJx/+sCd//rAnj/6wJ5/+sCev/rAnv/6wJ8/+oCff/qAn7/6gJ//+oCgP/oAoH/6AKC/0ACg//eAoT/QAKF/94Chv9AAof/3gKJ/+sCi//rAo3/6wKP/+sCkf/rApP/6wKV/+sCl//rApn/6wKb/+sCnf/rAp//6wKh/+sCo//rArH/MALF/+sCx//rAsn/6wLaABQC3AAUAt4AFALh/+oC4//qAuX/6gLn/+oC6f/qAuv/6gLv/+gDUv9AA1r/QANq/+sDbv/qA3D/6wNy/+gDdf/qA3b/6wN3/+oDfv8wA4L/QAONABQDj//eA5D/6wOS/+sDlP/rA5X/6AOX/+sDnv/oA6b/6AOu/0ADr//eA7L/6wO3/+gDuP/rA73/6wO//+gDxP9AA8X/3gPG/0ADx//eA8v/6wPN/+sDzv/rA9j/6wPa/+sD3P/rA+D/6APi/+gD5P/oA+v/6wPu/0AD7//eA/D/QAPx/94D8v9AA/P/3gP0/0AD9f/eA/b/QAP3/94D+P9AA/n/3gP6/0AD+//eA/z/QAP9/94D/v9AA///3gQA/0AEAf/eBAL/QAQD/94EBP9ABAX/3gQH/+sECf/rBAv/6wQN/+sED//rBBH/6wQT/+sEFf/rBBv/6wQd/+sEH//rBCH/6wQj/+sEJf/rBCf/6wQp/+sEK//rBC3/6wQv/+sEMf/rBDP/6gQ1/+oEN//qBDn/6gQ7/+oEPf/qBD//6gRB/+gEQ//oBEX/6ARMABQAIAA4/98AOv/kADv/7AA9/90A0f/fANX/3wEY/+QBMv/fATr/3wG6AA4CZf/dAtr/3wLc/98C3v/fAuz/7ALu/90C8P/dA1f/3QNm/90Daf/dA43/3wOf/+wDof/sA6P/7AOl/90Dtv/kA77/3QRA/90EQv/dBET/3QRM/98Eaf/dABoAOP/OADr/7QA9/9AA0f/OANX/zgEY/+0BMv/OATr/zgJl/9AC2v/OAtz/zgLe/84C7v/QAvD/0ANX/9ADZv/QA2n/0AON/84Dpf/QA7b/7QO+/9AEQP/QBEL/0ARE/9AETP/OBGn/0AAQAC7/7gA5/+4CYf/uAmL/7gJj/+4CZP/uArH/7gLg/+4C4v/uAuT/7gLm/+4C6P/uAur/7gN+/+4EMv/uBDT/7gBKAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCT/+gAmP/oALr/6ADH/+gAyP/oAPb/6AEC/+gBHf/oASH/6AE5/+gBS//oAUz/6AFW/+gBbAAQAW0AEAFvABABcAAQAXEAEAJt/+gCbv/oAm//6AJw/+gCcf/oAon/6AKL/+gCjf/oAo//6AKR/+gCk//oApX/6AKX/+gCmf/oApv/6AKd/+gCn//oAqH/6AKj/+gDav/oA5D/6AOU/+gDl//oA6cAEAOoABADqwAQA7L/6AO4/+gDvf/oA8v/6APN/+gDzv/oA9r/6APr/+gEB//oBAn/6AQL/+gEDf/oBA//6AQR/+gEE//oBBX/6AQp/+gEK//oBC3/6AQx/+gAAgD1/9YBbf+YAD0AR//sAEj/7ABJ/+wAS//sAFX/7ACT/+wAmP/sALr/7ADH/+wAyP/sAPb/7AEC/+wBHf/sASH/7AE5/+wBS//sAUz/7AFW/+wCbf/sAm7/7AJv/+wCcP/sAnH/7AKJ/+wCi//sAo3/7AKP/+wCkf/sApP/7AKV/+wCl//sApn/7AKb/+wCnf/sAp//7AKh/+wCo//sA2r/7AOQ/+wDlP/sA5f/7AOy/+wDuP/sA73/7APL/+wDzf/sA87/7APa/+wD6//sBAf/7AQJ/+wEC//sBA3/7AQP/+wEEf/sBBP/7AQV/+wEKf/sBCv/7AQt/+wEMf/sABgAU//iARf/4gFtABgCd//iAnj/4gJ5/+ICev/iAnv/4gLF/+ICx//iAsn/4gNw/+IDdv/iA5L/4gPY/+ID3P/iBBv/4gQd/+IEH//iBCH/4gQj/+IEJf/iBCf/4gQv/+IABgAQ/4QAEv+EAW7/hAFy/4QBdv+EAXf/hAAQAC7/7AA5/+wCYf/sAmL/7AJj/+wCZP/sArH/7ALg/+wC4v/sAuT/7ALm/+wC6P/sAur/7AN+/+wEMv/sBDT/7AAeAAb/8gAL//IAWv/zAF3/8wC8//MA9f/1ARn/8wFs//IBbf/yAW//8gFw//IBcf/yAoD/8wKB//MC7//zA3L/8wOV//MDnv/zA6b/8wOn//IDqP/yA6v/8gO3//MDv//zA+D/8wPi//MD5P/zBEH/8wRD//MERf/zAD4AJ//zACv/8wAz//MANf/zAIP/8wCS//MAl//zALL/8wDDAA0A0v/zAQf/8wEW//MBGv/zARz/8wEe//MBIP/zATj/8wFV//MCKP/zAin/8wIr//MCLP/zAlL/8wJc//MCXf/zAl7/8wJf//MCYP/zAoj/8wKK//MCjP/zAo7/8wKc//MCnv/zAqD/8wKi//MCxP/zAsb/8wLI//MC+f/zA1b/8wNj//MDif/zA4z/8wO5//MDvP/zA9f/8wPZ//MD2//zBBr/8wQc//MEHv/zBCD/8wQi//MEJP/zBCb/8wQo//MEKv/zBCz/8wQu//MEMP/zBKn/8wA/ACf/5gAr/+YAM//mADX/5gCD/+YAkv/mAJf/5gCy/+YAt//CAMMAEADS/+YBB//mARb/5gEa/+YBHP/mAR7/5gEg/+YBOP/mAVX/5gIo/+YCKf/mAiv/5gIs/+YCUv/mAlz/5gJd/+YCXv/mAl//5gJg/+YCiP/mAor/5gKM/+YCjv/mApz/5gKe/+YCoP/mAqL/5gLE/+YCxv/mAsj/5gL5/+YDVv/mA2P/5gOJ/+YDjP/mA7n/5gO8/+YD1//mA9n/5gPb/+YEGv/mBBz/5gQe/+YEIP/mBCL/5gQk/+YEJv/mBCj/5gQq/+YELP/mBC7/5gQw/+YEqf/mADcAJf/kADz/0gA9/9MAsf/kALP/5ADD/+IA2f/SAQz/5AJL/+QCTP/kAk3/5AJO/+QCT//kAlD/5AJR/+QCZf/TAoL/5AKE/+QChv/kAu7/0wLw/9MDUv/kA1f/0wNa/+QDZv/TA2f/0gNp/9MDgv/kA47/0gOl/9MDrv/kA77/0wPB/9IDxP/kA8b/5APP/9ID6f/SA+7/5APw/+QD8v/kA/T/5AP2/+QD+P/kA/r/5AP8/+QD/v/kBAD/5AQC/+QEBP/kBED/0wRC/9MERP/TBE7/0gRW/9IEaf/TACcAEP9GABL/RgAl/80Asf/NALP/zQDG//IBDP/NAW7/RgFy/0YBdv9GAXf/RgJL/80CTP/NAk3/zQJO/80CT//NAlD/zQJR/80Cgv/NAoT/zQKG/80DUv/NA1r/zQOC/80Drv/NA8T/zQPG/80D7v/NA/D/zQPy/80D9P/NA/b/zQP4/80D+v/NA/z/zQP+/80EAP/NBAL/zQQE/80AAQDDAA4ArwBH/9wASP/cAEn/3ABL/9wAUf/BAFL/wQBT/9YAVP/BAFX/3ABZ/90AWv/hAF3/4QCT/9wAmP/cAJr/3QC6/9wAvP/hAL7/5gDA/8EAwf/rAML/6QDE//AAxf/nAMf/3ADI/9wAyf/jAMr/3QDL/84AzP/UAM3/2wDr/8EA7//BAPD/wQDy/8EA8//BAPT/wQD2/9wA9//BAPn/wQD6/8EA/f/BAP//wQEC/9wBBP/BARf/1gEZ/+EBHf/cASH/3AE1/8EBOf/cAUT/wQFJ/8EBS//cAUz/3AFW/9wCbf/cAm7/3AJv/9wCcP/cAnH/3AJ2/8ECd//WAnj/1gJ5/9YCev/WAnv/1gJ8/90Cff/dAn7/3QJ//90CgP/hAoH/4QKJ/9wCi//cAo3/3AKP/9wCkf/cApP/3AKV/9wCl//cApn/3AKb/9wCnf/cAp//3AKh/9wCo//cAr7/wQLA/8ECwv/BAsP/wQLF/9YCx//WAsn/1gLh/90C4//dAuX/3QLn/90C6f/dAuv/3QLv/+EDav/cA2z/wQNu/90DcP/WA3L/4QN1/90Ddv/WA3f/3QOQ/9wDkf/BA5L/1gOT/8EDlP/cA5X/4QOX/9wDmP/BA53/wQOe/+EDpv/hA63/wQOy/9wDs//BA7f/4QO4/9wDvf/cA7//4QPL/9wDzf/cA87/3APU/8ED1v/BA9j/1gPa/9wD3P/WA+D/4QPi/+ED5P/hA+j/wQPr/9wEB//cBAn/3AQL/9wEDf/cBA//3AQR/9wEE//cBBX/3AQb/9YEHf/WBB//1gQh/9YEI//WBCX/1gQn/9YEKf/cBCv/3AQt/9wEL//WBDH/3AQz/90ENf/dBDf/3QQ5/90EO//dBD3/3QQ//90EQf/hBEP/4QRF/+EESf/BBEv/wQRV/8EEYv/BBGT/wQRm/8EAdgAG/9oAC//aAEf/8ABI//AASf/wAEv/8ABV//AAWf/vAFr/3ABd/9wAk//wAJj/8ACa/+8Auv/wALz/3ADB/+wAwwAPAMX/6gDH//AAyP/wAMn/zgDK/+8Ay//nAPb/8AEC//ABGf/cAR3/8AEh//ABOf/wAUv/8AFM//ABVv/wAWz/2gFt/9oBb//aAXD/2gFx/9oCbf/wAm7/8AJv//ACcP/wAnH/8AJ8/+8Cff/vAn7/7wJ//+8CgP/cAoH/3AKJ//ACi//wAo3/8AKP//ACkf/wApP/8AKV//ACl//wApn/8AKb//ACnf/wAp//8AKh//ACo//wAuH/7wLj/+8C5f/vAuf/7wLp/+8C6//vAu//3ANq//ADbv/vA3L/3AN1/+8Dd//vA5D/8AOU//ADlf/cA5f/8AOe/9wDpv/cA6f/2gOo/9oDq//aA7L/8AO3/9wDuP/wA73/8AO//9wDy//wA83/8APO//AD2v/wA+D/3APi/9wD5P/cA+v/8AQH//AECf/wBAv/8AQN//AED//wBBH/8AQT//AEFf/wBCn/8AQr//AELf/wBDH/8AQz/+8ENf/vBDf/7wQ5/+8EO//vBD3/7wQ//+8EQf/cBEP/3ARF/9wARAAQAAwAEgAMAEf/5wBI/+cASf/nAEv/5wBV/+cAk//nAJj/5wC6/+cAwwAPAMf/5wDI/+cA9v/nAQL/5wEd/+cBIf/nATn/5wFL/+cBTP/nAVb/5wFuAAwBcgAMAXYADAF3AAwCbf/nAm7/5wJv/+cCcP/nAnH/5wKJ/+cCi//nAo3/5wKP/+cCkf/nApP/5wKV/+cCl//nApn/5wKb/+cCnf/nAp//5wKh/+cCo//nA2r/5wOQ/+cDlP/nA5f/5wOy/+cDuP/nA73/5wPL/+cDzf/nA87/5wPa/+cD6//nBAf/5wQJ/+cEC//nBA3/5wQP/+cEEf/nBBP/5wQV/+cEKf/nBCv/5wQt/+cEMf/nAAYAyf/qAOz/7gD1/9UA/f/tATP/7AFY/+wAAQD1/8AAAQDJACAAfgAGAAwACwAMAEf/6ABI/+gASf/oAEoADABL/+gAU//qAFX/6ABaAAsAXQALAJP/6ACY/+gAuv/oALwACwDD/5AAxQALAMf/6ADI/+gAyQAMAPb/6AEC/+gBF//qARkACwEd/+gBIf/oATn/6AFL/+gBTP/oAVb/6AFsAAwBbQAMAW8ADAFwAAwBcQAMAbr/vwG8/+4BwP/sAcj/7QHK/+wBzP/1Ac0ADgHPAA0B0gANAm3/6AJu/+gCb//oAnD/6AJx/+gCd//qAnj/6gJ5/+oCev/qAnv/6gKAAAsCgQALAon/6AKL/+gCjf/oAo//6AKR/+gCk//oApX/6AKX/+gCmf/oApv/6AKd/+gCn//oAqH/6AKj/+gCxf/qAsf/6gLJ/+oC7wALA2r/6ANw/+oDcgALA3b/6gOQ/+gDkv/qA5T/6AOVAAsDl//oA54ACwOmAAsDpwAMA6gADAOrAAwDsv/oA7cACwO4/+gDvf/oA78ACwPL/+gDzf/oA87/6APY/+oD2v/oA9z/6gPgAAsD4gALA+QACwPr/+gEB//oBAn/6AQL/+gEDf/oBA//6AQR/+gEE//oBBX/6AQb/+oEHf/qBB//6gQh/+oEI//qBCX/6gQn/+oEKf/oBCv/6AQt/+gEL//qBDH/6ARBAAsEQwALBEUACwABAPX/4gANAFz/7QBe/+0A7f/tAPX/wALy/+0C9P/tAvb/7QOW/+0Dwv/tA9D/7QPq/+0ET//tBFf/7QAMAFz/8gBe//IA7f/yAvL/8gL0//IC9v/yA5b/8gPC//ID0P/yA+r/8gRP//IEV//yAB8AWv/0AFz/8gBd//QAXv/zALz/9ADt//IBGf/0AoD/9AKB//QC7//0AvL/8wL0//MC9v/zA3L/9AOV//QDlv/yA57/9AOm//QDt//0A7//9APC//ID0P/yA+D/9APi//QD5P/0A+r/8gRB//QEQ//0BEX/9ARP//IEV//yAF0ABv/KAAv/ygA4/9IAOv/UADz/9AA9/9MAWv/mAFz/7wBd/+YAvP/mANH/0gDV/9IA2f/0AN3/7QDg/+EA5f/UAO3/7wD1/8kA/f/RAQj/5QEY/9QBGf/mAR//4wEy/9IBM//EATr/0gE8/+EBTf/UAU7/9QFP/+cBV/9kAVj/yQFs/8oBbf/KAW//ygFw/8oBcf/KAmX/0wKA/+YCgf/mAtr/0gLc/9IC3v/SAu7/0wLv/+YC8P/TA1f/0wNm/9MDZ//0A2n/0wNy/+YDgf/tA43/0gOO//QDlf/mA5b/7wOe/+YDpf/TA6b/5gOn/8oDqP/KA6v/ygO2/9QDt//mA77/0wO//+YDwf/0A8L/7wPP//QD0P/vA9//7QPg/+YD4f/tA+L/5gPj/+0D5P/mA+X/4QPp//QD6v/vBED/0wRB/+YEQv/TBEP/5gRE/9MERf/mBEz/0gRO//QET//vBFD/4QRS/+EEVv/0BFf/7wRp/9MAbAAG/8AAC//AADj/nQA6/8cAPP/wAD3/qwBR/9IAUv/SAFT/0gDA/9IA0f+dANP/9QDV/50A2f/wANz/9QDd/+oA4P/lAOX/wQDr/9IA7//SAPD/0gDy/9IA8//SAPT/0gD1/80A9//SAPn/0gD6/9IA/f/SAP//0gEE/9IBGP/HATL/nQEz/8wBNf/SATr/nQE8/+UBP//fAUT/0gFJ/9IBTf/OAU//6gFR//UBV/+eAVj/zgFs/8ABbf/AAW//wAFw/8ABcf/AAmX/qwJ2/9ICvv/SAsD/0gLC/9ICw//SAtr/nQLc/50C3v+dAu7/qwLw/6sDV/+rA2b/qwNn//ADaf+rA2z/0gOB/+oDjf+dA47/8AOR/9IDk//SA5j/0gOd/9IDpf+rA6f/wAOo/8ADq//AA63/0gOz/9IDtv/HA77/qwPB//ADz//wA9T/0gPW/9ID3//qA+H/6gPj/+oD5f/lA+j/0gPp//AD7P/1BED/qwRC/6sERP+rBEn/0gRL/9IETP+dBE7/8ARQ/+UEUv/lBFX/0gRW//AEYv/SBGT/0gRm/9IEZ//1BGn/qwBvAAb/sQAL/7EAOP+eADr/xQA8//IAPf+oAFH/zwBS/88AVP/PAFz/7wDA/88A0f+eANX/ngDZ//IA3f/sAOD/4QDl/8IA6//PAO3/7wDv/88A8P/PAPL/zwDz/88A9P/PAPX/xgD3/88A+f/PAPr/zwD9/88A///PAQT/zwEY/8UBMv+eATP/wAE1/88BOv+eATz/4QE//98BRP/PAUn/zwFN/80BT//oAVf/nwFY/8YBbP+xAW3/sQFv/7EBcP+xAXH/sQJl/6gCdv/PAr7/zwLA/88Cwv/PAsP/zwLa/54C3P+eAt7/ngLu/6gC8P+oA1f/qANm/6gDZ//yA2n/qANs/88Dgf/sA43/ngOO//IDkf/PA5P/zwOW/+8DmP/PA53/zwOl/6gDp/+xA6j/sQOr/7EDrf/PA7P/zwO2/8UDvv+oA8H/8gPC/+8Dz//yA9D/7wPU/88D1v/PA9//7APh/+wD4//sA+X/4QPo/88D6f/yA+r/7wRA/6gEQv+oBET/qARJ/88ES//PBEz/ngRO//IET//vBFD/4QRS/+EEVf/PBFb/8gRX/+8EYv/PBGT/zwRm/88Eaf+oAE0AOP++AFH/4QBS/+EAVP/hAFr/7wBd/+8AvP/vAMD/4QDR/74A1f++AOX/yQDr/+EA7//hAPD/4QDy/+EA8//hAPT/4QD1/98A9//hAPn/4QD6/+EA/f/hAP//4QEE/+EBCP/tARn/7wEf/+sBMv++ATP/3wE1/+EBOv++AT//6QFE/+EBSf/hAU7/9QFY/+ACdv/hAoD/7wKB/+8Cvv/hAsD/4QLC/+ECw//hAtr/vgLc/74C3v++Au//7wNs/+EDcv/vA43/vgOR/+EDk//hA5X/7wOY/+EDnf/hA57/7wOm/+8Drf/hA7P/4QO3/+8Dv//vA9T/4QPW/+ED4P/vA+L/7wPk/+8D6P/hBEH/7wRD/+8ERf/vBEn/4QRL/+EETP++BFX/4QRi/+EEZP/hBGb/4QBkADj/5gA6/+cAPP/yAD3/5wBR/9YAUv/WAFT/1gBc//EAwP/WANH/5gDV/+YA2f/yAN3/7gDg/+gA5f/mAOv/1gDt//EA7//WAPD/1gDy/9YA8//WAPT/1gD1/9AA9//WAPn/1gD6/9YA/f/WAP//1gEE/9YBGP/nATL/5gEz/84BNf/WATr/5gE8/+gBRP/WAUn/1gFN/+cBT//tAVf/5gFY/9ACZf/nAnb/1gK+/9YCwP/WAsL/1gLD/9YC2v/mAtz/5gLe/+YC7v/nAvD/5wNX/+cDZv/nA2f/8gNp/+cDbP/WA4H/7gON/+YDjv/yA5H/1gOT/9YDlv/xA5j/1gOd/9YDpf/nA63/1gOz/9YDtv/nA77/5wPB//IDwv/xA8//8gPQ//ED1P/WA9b/1gPf/+4D4f/uA+P/7gPl/+gD6P/WA+n/8gPq//EEQP/nBEL/5wRE/+cESf/WBEv/1gRM/+YETv/yBE//8QRQ/+gEUv/oBFX/1gRW//IEV//xBGL/1gRk/9YEZv/WBGn/5wCTACUAEAAn/+gAK//oADP/6AA1/+gAOP/gADr/4AA9/98Ag//oAJL/6ACX/+gAsQAQALL/6ACzABAA0f/gANL/6ADTABAA1f/gANgAFADcABAA4P/hAOX/4ADsABMA8QAQAPj/4AEDABABB//oAQwAEAEW/+gBGP/gARr/6AEc/+gBHv/oASD/6AEy/+ABOP/oATr/4AE8/+EBPf/gAUD/4QFF/+kBTf/fAU//3gFRABABVf/oAVf/3wFZ//ICKP/oAin/6AIr/+gCLP/oAksAEAJMABACTQAQAk4AEAJPABACUAAQAlEAEAJS/+gCXP/oAl3/6AJe/+gCX//oAmD/6AJl/98CggAQAoQAEAKGABACiP/oAor/6AKM/+gCjv/oApz/6AKe/+gCoP/oAqL/6ALE/+gCxv/oAsj/6ALa/+AC3P/gAt7/4ALu/98C8P/fAvn/6ANSABADVv/oA1f/3wNaABADY//oA2b/3wNp/98DggAQA4n/6AOM/+gDjf/gA6X/3wOuABADtv/gA7n/6AO8/+gDvv/fA8QAEAPGABAD1//oA9n/6APb/+gD5f/hA+b/4APsABAD7QAQA+4AEAPwABAD8gAQA/QAEAP2ABAD+AAQA/oAEAP8ABAD/gAQBAAAEAQCABAEBAAQBBr/6AQc/+gEHv/oBCD/6AQi/+gEJP/oBCb/6AQo/+gEKv/oBCz/6AQu/+gEMP/oBED/3wRC/98ERP/fBEz/4ARQ/+EEUf/gBFL/4QRT/+AEZwAQBGgAEARp/98Eqf/oADIAG//yADj/8QA6//QAPP/0AD3/8ADR//EA0//1ANX/8QDZ//QA3P/1AN3/8wDl//EBGP/0ATL/8QE6//EBTf/yAU//8gFR//UBV//yAmX/8ALa//EC3P/xAt7/8QLu//AC8P/wA1f/8ANm//ADZ//0A2n/8AOB//MDjf/xA47/9AOl//ADtv/0A77/8APB//QDz//0A9//8wPh//MD4//zA+n/9APs//UEQP/wBEL/8ARE//AETP/xBE7/9ARW//QEZ//1BGn/8ABmACUADwA4/+YAOv/mADwADgA9/+YAsQAPALMADwDR/+YA0wAOANX/5gDYABMA2QAOANwADgDdAAsA4P/lAOX/5gDm//QA7AASAPEADwD1/+cA+P/oAP3/5wEDAA8BDAAPARj/5gEy/+YBM//nATr/5gE8/+UBPf/oAU3/5gFP/+YBUQAOAVf/5gFY/+cCSwAPAkwADwJNAA8CTgAPAk8ADwJQAA8CUQAPAmX/5gKCAA8ChAAPAoYADwLa/+YC3P/mAt7/5gLu/+YC8P/mA1IADwNX/+YDWgAPA2b/5gNnAA4Daf/mA4EACwOCAA8Djf/mA44ADgOl/+YDrgAPA7b/5gO+/+YDwQAOA8QADwPGAA8DzwAOA98ACwPhAAsD4wALA+X/5QPm/+gD6QAOA+wADgPtAA8D7gAPA/AADwPyAA8D9AAPA/YADwP4AA8D+gAPA/wADwP+AA8EAAAPBAIADwQEAA8EQP/mBEL/5gRE/+YETP/mBE4ADgRQ/+UEUf/oBFL/5QRT/+gEVgAOBGcADgRoAA8Eaf/mADcABv+/AAv/vwA4/58AOv/JAD3/rQDR/58A1f+fAN3/7ADg/+YA5f/EAPX/zQD9/9UBGP/JATL/nwEz/8wBOv+fATz/5gE//98BTf/RAU//7AFX/6EBWP/PAWz/vwFt/78Bb/+/AXD/vwFx/78CZf+tAtr/nwLc/58C3v+fAu7/rQLw/60DV/+tA2b/rQNp/60Dgf/sA43/nwOl/60Dp/+/A6j/vwOr/78Dtv/JA77/rQPf/+wD4f/sA+P/7APl/+YEQP+tBEL/rQRE/60ETP+fBFD/5gRS/+YEaf+tADAAOP/jADz/5QA9/+QA0f/jANP/5QDV/+MA2P/iANn/5QDc/+UA3f/pAPH/6gED/+oBMv/jATr/4wFR/+UBV//kAmX/5ALa/+MC3P/jAt7/4wLu/+QC8P/kA1f/5ANm/+QDZ//lA2n/5AOB/+kDjf/jA47/5QOl/+QDvv/kA8H/5QPP/+UD3//pA+H/6QPj/+kD6f/lA+z/5QPt/+oEQP/kBEL/5ARE/+QETP/jBE7/5QRW/+UEZ//lBGj/6gRp/+QAIwA4/+IAPP/kANH/4gDT/+QA1f/iANj/4QDZ/+QA3P/kAN3/6QDs/+QA8f/rAQP/6wEy/+IBOv/iAVH/5ALa/+IC3P/iAt7/4gNn/+QDgf/pA43/4gOO/+QDwf/kA8//5APf/+kD4f/pA+P/6QPp/+QD7P/kA+3/6wRM/+IETv/kBFb/5ARn/+QEaP/rABcAOP/rAD3/8wDR/+sA1f/rATL/6wE6/+sCZf/zAtr/6wLc/+sC3v/rAu7/8wLw//MDV//zA2b/8wNp//MDjf/rA6X/8wO+//MEQP/zBEL/8wRE//METP/rBGn/8wA2AFH/7wBS/+8AVP/vAFz/8ADA/+8A6//vAOz/7gDt//AA7//vAPD/7wDy/+8A8//vAPT/7wD1/+4A9//vAPn/7wD6/+8A/f/vAP//7wEE/+8BCP/0AR//8QEz/+8BNf/vAUT/7wFJ/+8BWP/vAnb/7wK+/+8CwP/vAsL/7wLD/+8DbP/vA5H/7wOT/+8Dlv/wA5j/7wOd/+8Drf/vA7P/7wPC//AD0P/wA9T/7wPW/+8D6P/vA+r/8ARJ/+8ES//vBE//8ARV/+8EV//wBGL/7wRk/+8EZv/vACIABv/yAAv/8gBa//UAXf/1ALz/9QD1//QA/f/0AQj/9QEZ//UBM//1AVj/9QFs//IBbf/yAW//8gFw//IBcf/yAoD/9QKB//UC7//1A3L/9QOV//UDnv/1A6b/9QOn//IDqP/yA6v/8gO3//UDv//1A+D/9QPi//UD5P/1BEH/9QRD//UERf/1ADIAUf/uAFL/7gBU/+4AwP/uAOv/7gDsABQA7//uAPD/7gDy/+4A8//uAPT/7gD1/+0A9//uAPj/7QD5/+4A+v/uAPv/0AD9/+4A///uAQT/7gEz/+0BNf/uAT3/7QFE/+4BSf/uAVj/7QJ2/+4Cvv/uAsD/7gLC/+4Cw//uA2z/7gOR/+4Dk//uA5j/7gOd/+4Drf/uA7P/7gPU/+4D1v/uA+b/7QPo/+4ESf/uBEv/7gRR/+0EU//tBFX/7gRi/+4EZP/uBGb/7gAKAAb/9QAL//UBbP/1AW3/9QFv//UBcP/1AXH/9QOn//UDqP/1A6v/9QBZAEf/8ABI//AASf/wAEv/8ABT/8cAVf/wAJP/8ACY//AAuv/wAMf/8ADI//AA9v/wAQL/8AEX/8cBG//rAR3/8AEh//ABOf/wAUv/8AFM//ABVv/wAbz/6wHA/+kByP/rAcr/6wJt//ACbv/wAm//8AJw//ACcf/wAnf/xwJ4/8cCef/HAnr/xwJ7/8cCif/wAov/8AKN//ACj//wApH/8AKT//AClf/wApf/8AKZ//ACm//wAp3/8AKf//ACof/wAqP/8ALF/8cCx//HAsn/xwNq//ADcP/HA3b/xwOQ//ADkv/HA5T/8AOX//ADsv/wA7j/8AO9//ADy//wA83/8APO//AD2P/HA9r/8APc/8cD6//wBAf/8AQJ//AEC//wBA3/8AQP//AEEf/wBBP/8AQV//AEG//HBB3/xwQf/8cEIf/HBCP/xwQl/8cEJ//HBCn/8AQr//AELf/wBC//xwQx//AAoQAGAA0ACwANAEX/8ABH/8AASP/AAEn/wABKAA0AS//AAFP/4gBV/8AAWgALAF0ACwCT/8AAmP/AALr/wAC8AAsAxv/WAMf/wADI/8AAy//VAOz/yADx/9cA9v/AAQL/wAED/9cBF//iARkACwEb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AD4AEgBFAEcAGQBJAEkAHABMAEwAHQBRAFQAHgBWAFYAIgBaAFoAIwBcAF4AJACKAIoAJwCwALMAKAC8ALwALADAAMAALQDGAMYALgDTANQALwDWANYAMQDZANkAMgDbAN0AMwDfAN8ANgDhAOEANwDjAOMAOADlAOUAOQDrAOsAOgDtAO0AOwD2APYAPAD7APsAPQD9AP4APgEDAQQAQAEJAQkAQgEMAQwAQwEXARkARAErAS0ARwEwATAASgEyATIASwFJAUkATAFsAXIATQF2AXcAVAIoAigAVgIqAisAVwJGAkcAWQJJAkkAWwJLAnEAXAJ2AnsAgwKAApAAiQKSApsAmgKkAqYApAKoAqgApwKqAqoAqAKsAqwAqQKuAq4AqgKxArEAqwKzArMArAK1ArUArQK3ArcArgK5ArkArwK7ArsAsAK9AskAsQLLAssAvgLNAs0AvwLPAs8AwALaAtoAwQLcAtwAwgLeAt4AwwLgAuAAxALiAuIAxQLkAuQAxgLmAuYAxwLoAugAyALqAuoAyQLsAuwAygLuAvYAywNSA1cA1ANaA2kA2gNsA2wA6gNwA3AA6wNyA3IA7AN2A3YA7QN5A3oA7gN8A4UA8AOHA4kA+gOLA5AA/QOSA5gBAwOeA58BCgOhA6EBDAOjA6MBDQOlA6gBDgOrA7ABEgOyA7IBGAO2A7cBGQO8A8cBGwPKA8sBJwPNA9ABKQPXA9gBLQPcA9wBLwPeA+QBMAPpA+oBNwPuBBYBOQQYBBgBYgQaBCcBYwQvBC8BcQQyBDIBcgQ0BDQBcwRABEUBdARIBEgBegRKBEoBewRMBEwBfAROBE8BfQRUBFcBfwRaBFoBgwRcBF0BhARfBF8BhgRjBGMBhwRlBGUBiARpBGkBiQSpBKkBigACAU4AEAAQAAEAEgASAAEAJQAlAAIAJgAmAAMAJwAnAAQAKAAoAAUAKQApAAYALAAtAAcALgAuAAgALwAvAAkAMAAwAAoAMQAyAAcAMwAzAAUANAA0AAsAOAA4AAwAOQA5AAgAOgA6AA0AOwA7AA4APAA8AA8APQA9ABAAPgA+ABEARQBFABIARgBGABMARwBHABQASQBJABUATABMABYAUQBSABYAUwBTABcAVABUABMAVgBWABgAWgBaABkAXABcABoAXQBdABkAXgBeABsAigCKABMAsACwABwAsQCxAAIAsgCyAAUAswCzAAIAvAC8ABkAwADAABYAxgDGABMA0wDUAB0A1gDWAAcA2QDZAA8A2wDcAAcA3QDdAB4A3wDfAAcA4QDhAAcA4wDjAB0A5QDlAB0A6wDrAB8A7QDtABoA9gD2ABMA+wD7ACAA/QD9ACAA/gD+ABMBAwEEACABCQEJACABDAEMAAIBFwEXABcBGAEYAA0BGQEZABkBKwErABMBLAEsABwBLQEtAB8BMAEwAAkBMgEyAAkBSQFJAB8BbgFuAAEBcgFyAAEBdgF3AAECKAIoAAQCKgIrAAUCRgJHAAUCSQJJAAwCSwJRAAICUgJSAAQCUwJWAAYCVwJbAAcCXAJgAAUCYQJkAAgCZQJlABACZgJsABICbQJtABQCbgJxABUCdgJ2ABYCdwJ7ABcCgAKBABkCggKCAAICgwKDABIChAKEAAIChQKFABIChgKGAAIChwKHABICiAKIAAQCiQKJABQCigKKAAQCiwKLABQCjAKMAAQCjQKNABQCjgKOAAQCjwKPABQCkAKQAAUCkgKSAAYCkwKTABUClAKUAAYClQKVABUClgKWAAYClwKXABUCmAKYAAYCmQKZABUCmgKaAAYCmwKbABUCpAKkAAcCpQKlABYCpgKmAAcCqAKoAAcCqgKqAAcCrAKsAAcCrgKuAAcCsQKxAAgCswKzAAkCtQK1AAoCtwK3AAoCuQK5AAoCuwK7AAoCvQK9AAcCvgK+ABYCvwK/AAcCwALAABYCwQLBAAcCwgLDABYCxALEAAUCxQLFABcCxgLGAAUCxwLHABcCyALIAAUCyQLJABcCywLLABgCzQLNABgCzwLPABgC2gLaAAwC3ALcAAwC3gLeAAwC4ALgAAgC4gLiAAgC5ALkAAgC5gLmAAgC6ALoAAgC6gLqAAgC7ALsAA4C7gLuABAC7wLvABkC8ALwABAC8QLxABEC8gLyABsC8wLzABEC9AL0ABsC9QL1ABEC9gL2ABsDUgNSAAIDUwNTAAYDVANVAAcDVgNWAAUDVwNXABADWgNaAAIDWwNbAAMDXANcAAYDXQNdABEDXgNfAAcDYANgAAkDYQNiAAcDYwNjAAUDZANkAAsDZQNlAAwDZgNmABADZwNnAA8DaANoAAcDaQNpABADbANsABYDcANwABcDcgNyABkDdgN2ABcDeQN5AAYDegN6ABwDfAN9AAcDfgN+AAgDfwOAAAkDgQOBAB4DggOCAAIDgwODAAMDhAOEABwDhQOFAAYDhwOIAAcDiQOJAAUDiwOLAAsDjAOMAAQDjQONAAwDjgOOAA8DjwOPABIDkAOQABUDkgOSABcDkwOTABMDlAOUABQDlQOVABkDlgOWABoDlwOXABUDmAOYAB8DngOeABkDnwOfAA4DoQOhAA4DowOjAA4DpQOlABADpgOmABkDrAOsAAcDrQOtABYDrgOuAAIDrwOvABIDsAOwAAYDsgOyABUDtgO2AA0DtwO3ABkDvAO8AAQDvQO9ABQDvgO+ABADvwO/ABkDwAPAAAcDwQPBAA8DwgPCABoDwwPDAAcDxAPEAAIDxQPFABIDxgPGAAIDxwPHABIDygPKAAYDywPLABUDzQPOABUDzwPPAA8D0APQABoD1wPXAAUD2APYABcD3APcABcD3gPeABMD3wPfAB4D4APgABkD4QPhAB4D4gPiABkD4wPjAB4D5APkABkD6QPpAA8D6gPqABoD7gPuAAID7wPvABID8APwAAID8QPxABID8gPyAAID8wPzABID9AP0AAID9QP1ABID9gP2AAID9wP3ABID+AP4AAID+QP5ABID+gP6AAID+wP7ABID/AP8AAID/QP9ABID/gP+AAID/wP/ABIEAAQAAAIEAQQBABIEAgQCAAIEAwQDABIEBAQEAAIEBQQFABIEBgQGAAYEBwQHABUECAQIAAYECQQJABUECgQKAAYECwQLABUEDAQMAAYEDQQNABUEDgQOAAYEDwQPABUEEAQQAAYEEQQRABUEEgQSAAYEEwQTABUEFAQUAAYEFQQVABUEFgQWAAcEGAQYAAcEGgQaAAUEGwQbABcEHAQcAAUEHQQdABcEHgQeAAUEHwQfABcEIAQgAAUEIQQhABcEIgQiAAUEIwQjABcEJAQkAAUEJQQlABcEJgQmAAUEJwQnABcELwQvABcEMgQyAAgENAQ0AAgEQARAABAEQQRBABkEQgRCABAEQwRDABkERAREABAERQRFABkESARIAAkESgRKAAcETARMAAwETgROAA8ETwRPABoEVARUABwEVQRVAB8EVgRWAA8EVwRXABoEWgRaABYEXARcAB0EXQRdABwEXwRfAAkEYwRjAAcEZQRlAAcEaQRpABAEqQSpAAUAAgFtAAYABgABAAsACwABABAAEAAWABEAEQAZABIAEgAWACUAJQACACcAJwAIACsAKwAIAC4ALgAaADMAMwAIADUANQAIADcANwAbADgAOAAJADkAOQAKADoAOgALADsAOwAMADwAPAAXAD0APQANAD4APgAYAEUARQADAEcASQAEAEsASwAEAFEAUgAFAFMAUwAGAFQAVAAFAFUAVQAEAFcAVwAHAFkAWQAOAFoAWgAPAFwAXAAcAF0AXQAPAF4AXgAQAIMAgwAIAJIAkgAIAJMAkwAEAJcAlwAIAJgAmAAEAJoAmgAOALEAsQACALIAsgAIALMAswACALoAugAEALwAvAAPAMAAwAAFAMcAyAAEAMoAygAOANEA0QAJANIA0gAIANMA0wARANUA1QAJANkA2QAXANwA3AARAN0A3QAVAOAA4AASAOsA6wAFAO0A7QAcAO8A8AAFAPEA8QATAPIA9AAFAPYA9gAEAPcA9wAFAPgA+AAUAPkA+gAFAP0A/QAFAP8A/wAFAQIBAgAEAQMBAwATAQQBBAAFAQcBBwAIAQwBDAACARYBFgAIARcBFwAGARgBGAALARkBGQAPARoBGgAIARwBHAAIAR0BHQAEAR4BHgAIASABIAAIASEBIQAEATIBMgAJATUBNQAFATgBOAAIATkBOQAEAToBOgAJAUQBRAAFAUkBSQAFAUsBTAAEAVEBUQARAVUBVQAIAVYBVgAEAWkBagAZAWwBbQABAW4BbgAWAW8BcQABAXIBcgAWAXYBdwAWAigCKQAIAisCLAAIAkUCRQAZAksCUQACAlICUgAIAlwCYAAIAmECZAAKAmUCZQANAmYCbAADAm0CcQAEAnYCdgAFAncCewAGAnwCfwAOAoACgQAPAoICggACAoMCgwADAoQChAACAoUChQADAoYChgACAocChwADAogCiAAIAokCiQAEAooCigAIAosCiwAEAowCjAAIAo0CjQAEAo4CjgAIAo8CjwAEApECkQAEApMCkwAEApUClQAEApcClwAEApkCmQAEApsCmwAEApwCnAAIAp0CnQAEAp4CngAIAp8CnwAEAqACoAAIAqECoQAEAqICogAIAqMCowAEArECsQAaAr4CvgAFAsACwAAFAsICwwAFAsQCxAAIAsUCxQAGAsYCxgAIAscCxwAGAsgCyAAIAskCyQAGAtAC0AAbAtEC0QAH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ALgAuWMyc2MEWGMyc2MEXmMyc2MEZGMyc2MEamMyc2MEamMyc2MEamMyc2MEamMyc2MEamMyc2MEamMyc2MEamNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGNjbXAEcGRsaWcEeGRsaWcEfmRsaWcEhGRsaWcEimRsaWcEimRsaWcEimRsaWcEimRsaWcEimRsaWcEimRsaWcEimRub20EkGRub20ElmRub20EnGRub20EomRub20EomRub20EomRub20EomRub20EomRub20EomRub20EomZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGZyYWMEqGxpZ2EEsmxpZ2EEumxudW0EwGxudW0ExmxudW0EzGxudW0E0mxudW0E0mxudW0E0mxudW0E0mxudW0E0mxudW0E0mxudW0E0mxvY2wE2GxvY2wE3mxvY2wE5G51bXIE6m51bXIE8G51bXIE9m51bXIE/G51bXIE/G51bXIE/G51bXIE/G51bXIE/G51bXIE/G51bXIE/G9udW0FAm9udW0FCG9udW0FDm9udW0FFG9udW0FFG9udW0FFG9udW0FFG9udW0FFG9udW0FFG9udW0FFHBudW0FGnBudW0FIHBudW0FJnBudW0FLHBudW0FLHBudW0FLHBudW0FLHBudW0FLHBudW0FLHBudW0FLHNtY3AFMnNtY3AFOHNtY3AFPnNtY3AFRHNtY3AFRHNtY3AFRHNtY3AFRHNtY3AFRHNtY3AFRHNtY3AFRHNzMDEFSnNzMDEFUHNzMDEFVnNzMDEFXHNzMDEFXHNzMDEFXHNzMDEFXHNzMDEFXHNzMDEFXHNzMDEFXHNzMDIFYnNzMDIFaHNzMDIFbnNzMDIFdHNzMDIFdHNzMDIFdHNzMDIFdHNzMDIFdHNzMDIFdHNzMDIFdHNzMDMFenNzMDMFgHNzMDMFhnNzMDMFjHNzMDMFjHNzMDMFjHNzMDMFjHNzMDMFjHNzMDMFjHNzMDMFjHNzMDQFknNzMDQFmHNzMDQFnnNzMDQFpHNzMDQFpHNzMDQFpHNzMDQFpHNzMDQFpHNzMDQFpHNzMDQFpHNzMDUFqnNzMDUFsHNzMDUFtnNzMDUFvHNzMDUFvHNzMDUFvHNzMDUFvHNzMDUFvHNzMDUFvHNzMDUFvHNzMDYFwnNzMDYFyHNzMDYFznNzMDYF1HNzMDYF1HNzMDYF1HNzMDYF1HNzMDYF1HNzMDYF1HNzMDYF1HNzMDcF2nNzMDcF4HNzMDcF5nNzMDcF7HNzMDcF7HNzMDcF7HNzMDcF7HNzMDcF7HNzMDcF7HNzMDcF7HRudW0F8nRudW0F+HRudW0F/nRudW0GBHRudW0GBHRudW0GBHRudW0GBHRudW0GBHRudW0GBHRudW0GBAAAAAEAAQAAAAEAAwAAAAEAAgAAAAEAAAAAAAIACAAJAAAAAQAOAAAAAQAQAAAAAQAPAAAAAQANAAAAAQBDAAAAAQBFAAAAAQBEAAAAAQBCAAAAAwA/AEAAQQAAAAIAEQASAAAAAQASAAAAAQA8AAAAAQA+AAAAAQA9AAAAAQA7AAAAAQAKAAAAAQAMAAAAAQALAAAAAQBHAAAAAQBJAAAAAQBIAAAAAQBGAAAAAQAwAAAAAQAyAAAAAQAxAAAAAQAvAAAAAQA4AAAAAQA6AAAAAQA5AAAAAQA3AAAAAQAFAAAAAQAHAAAAAQAGAAAAAQAEAAAAAQAUAAAAAQAWAAAAAQAVAAAAAQATAAAAAQAYAAAAAQAaAAAAAQAZAAAAAQAXAAAAAQAcAAAAAQAeAAAAAQAdAAAAAQAbAAAAAQAgAAAAAQAiAAAAAQAhAAAAAQAfAAAAAQAkAAAAAQAmAAAAAQAlAAAAAQAjAAAAAQAoAAAAAQAqAAAAAQApAAAAAQAnAAAAAQAsAAAAAQAuAAAAAQAtAAAAAQArAAAAAQA0AAAAAQA2AAAAAQA1AAAAAQAzAEsAmACYAJgAmAQmBCYEJgQmBxQHwA5QDlAOZg6IDogOiA6IDr4O5A8SDxIPEg8SDyYPJg8mDyYPOg86DzoPOg9OD04PTg9OD2APYA9gD2APeg96D3oPeg+8D7wPvA+8D9oP2g/aD9oP+A/4D/gP+BAqECoQKhAqEFwQXBBcEFwQjhCiENoQzBDMEMwQzBDaENoQ2hDaEQYAAQAAAAEACAACAcQA3wHnAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHoAekCQwI7AeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+AgACAQTcAgICAwIEAgUCBgIHAggCCQIKAgsCLwIPAhACEQIUAhUCFgIXAhgCGQIbAhwCHgIdAvsC/AL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYAxkDGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRQNEA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRBKoEqwSsBK0ErgSvBLAEsQSyBLMEtAS1BLYEtwS4BLkEugS7BLwEvQS+BL8EwATBBMIEwwTEBMUB/wTGBMcEyATJBMoEywTMBM0EzgTPBNAE0QTSBNME1ATVBNcE2ATaAhoE2wIOBNYCEwINBNkCDAISAAEA3wAIACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAhQCSALAAsQCyALMAtAC1ALYAtwC4ALkA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgBLAEwATIBOAE6ATwBPgE/AUUBRgF/AYUBigGNAkYCRwJJAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMCZAJlAoIChAKGAogCigKMAo4CkAKSApQClgKYApoCnAKeAqACogKkAqYCqAKqAqwCrgKxArMCtQK3ArkCuwK9Ar8CwQLEAsYCyALKAswCzgLQAtIC1ALYAtoC3ALeAuAC4gLkAuYC6ALqAuwC7gLwAvEC8wL1A1IDUwNUA1UDVgNXA1gDWgNbA1wDXQNeA18DYANhA2MDZANlA2YDZwNoA2kDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGA4cDiAOJA4oDiwOMA40DjgO6A7wDvgPTA9kD3wRIBEoETgRWBFgEXQRpAAEAAAABAAgAAgF0ALcBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAvwDLwI7AfoEyQTKAfsB/AH9Af4B/wIABM0EzgTQBNME3AICAgMCBAIFAgYCBwIIAgkCCgILAfQB9QH2AfcB+AH5Ai8CDwIQAhECFAIVAhcCGQL9Av4C/wMAAwEDAgMDAwQDBQMGAwcDCAMJAwoDCwMMAw0DDgMPAxADEQMSAxMDFAMVAxYDFwMYA04DGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/A0ADQQNCA0MDRQNEA0YDRwNIA0kDSgNLA0wDTQNPA1ADUQTIBMsEzATPBNEE0gIBBNQEwATBBMIEwwTEBMUExgTHBNUE1wTYAhgE2gIaBNsC+wIOBNYCEwINBNkCFgIMAhIAAQC3AEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgCHAIwAkwDpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEtATEBMwE5ATsBPQFAAUcCSgJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoMChQKHAokCiwKNAo8CkQKTApUClwKZApsCnQKfAqECowKlAqcCqQKrAq0CsgK0ArYCuAK6ArwCvgLAAsICxQLHAskCywLNAs8C0QLTAtUC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8gL0AvYDjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngO7A70DvwPNA9QD2gPgBEYESQRLBE8EVwRZBFoEXgRqAAYAAAAGABIAKgBCAFoAcgCKAAMAAAABABIAAQCQAAEAAABKAAEAAQBNAAMAAAABABIAAQB4AAEAAABKAAEAAQBOAAMAAAABABIAAQBgAAEAAABKAAEAAQKtAAMAAAABABIAAQBIAAEAAABKAAEAAQOaAAMAAAABABIAAQAwAAEAAABKAAEAAQOcAAMAAAABABIAAQAYAAEAAABKAAEAAQQZAAIAAQCnAKsAAAAEAAAAAQAIAAEGHgA2AHIApACuALgAygD8AQ4BGAFKAWQBfgGQAboB7AH2AhgCMgJEAnYCiAKiAswC3gMQAxoDJAM2A2gDcgN8A4YDoAO6A8wD9gQoBDIEVARuBIAEsgTEBN4FCAUaBSQFLgU4BUIFbAWWBcAF6gYUAAYADgAUABoAIAAmACwCSwACAKcCTAACAKgCTgACAKkD8AACAKoEegACAKsD7gACAKwAAQAEBIcAAgCsAAEABAKIAAIAqAACAAYADASJAAIArASLAAIBogAGAA4AFAAaACAAJgAsAlMAAgCnAlQAAgCoBAoAAgCpBAgAAgCqBHwAAgCrBAYAAgCsAAIABgAMBHYAAgCoAqIAAgGiAAEABASNAAIArAAGAA4AFAAaACAAJgAsAlcAAgCnAlgAAgCoAqYAAgCpBBYAAgCqBH4AAgCrBBgAAgCsAAMACAAOABQEjwACAKgEkQACAKwCswACAaIAAwAIAA4AFAK1AAIAqASTAAIArAK3AAIBogACAAYADAOsAAIAqASVAAIArAAFAAwAEgAYAB4AJAR4AAIApwK9AAIAqAJbAAIAqQSXAAIArAK/AAIBogAGAA4AFAAaACAAJgAsAlwAAgCnAl0AAgCoAl8AAgCpBBwAAgCqBIAAAgCrBBoAAgCsAAEABASZAAIAqAAEAAoAEAAWABwCygACAKgEggACAKsEmwACAKwCzAACAaIAAwAIAA4AFALQAAIAqASdAAIArALWAAIBogACAAYADASfAAIArALaAAIBogAGAA4AFAAaACAAJgAsAmEAAgCnAmIAAgCoAuAAAgCpBDQAAgCqBIQAAgCrBDIAAgCsAAIABgAMBKEAAgCpBKMAAgCsAAMACAAOABQDnwACAKcDoQACAKgEpQACAKwABQAMABIAGAAeACQDpQACAKcCZQACAKgERAACAKkEQgACAKoEQAACAKwAAgAGAAwC8QACAKgEpwACAKwABgAOABQAGgAgACYALAJmAAIApwJnAAIAqAJpAAIAqQPxAAIAqgR7AAIAqwPvAAIArAABAAQEiAACAKwAAQAEAokAAgCoAAIABgAMBIoAAgCsBIwAAgGiAAYADgAUABoAIAAmACwCbgACAKcCbwACAKgECwACAKkECQACAKoEfQACAKsEBwACAKwAAQAEBHcAAgCoAAEABASOAAIArAABAAQEGQACAKwAAwAIAA4AFASQAAIAqASSAAIArAK0AAIBogADAAgADgAUArYAAgCoBJQAAgCsArgAAgGiAAIABgAMA60AAgCoBJYAAgCsAAUADAASABgAHgAkBHkAAgCnAr4AAgCoAnYAAgCpBJgAAgCsAsAAAgGiAAYADgAUABoAIAAmACwCdwACAKcCeAACAKgCegACAKkEHQACAKoEgQACAKsEGwACAKwAAQAEBJoAAgCoAAQACgAQABYAHALLAAIAqASDAAIAqwScAAIArALNAAIBogADAAgADgAUAtEAAgCoBJ4AAgCsAtcAAgGiAAIABgAMBKAAAgCsAtsAAgGiAAYADgAUABoAIAAmACwCfAACAKcCfQACAKgC4QACAKkENQACAKoEhQACAKsEMwACAKwAAgAGAAwEogACAKkEpAACAKwAAwAIAA4AFAOgAAIApwOiAAIAqASmAAIArAAFAAwAEgAYAB4AJAOmAAIApwKAAAIAqARFAAIAqQRDAAIAqgRBAAIArAACAAYADALyAAIAqASoAAIArAABAAQC9wACAKgAAQAEAvkAAgCoAAEABAL4AAIAqAABAAQC+gACAKgABQAMABIAGAAeACQCcgACAKcCcwACAKgCpwACAKkEFwACAKoEfwACAKsABQAMABIAGAAeACQEKgACAKcEKAACAKgELgACAKkELAACAKoEMAACAKwABQAMABIAGAAeACQEKwACAKcEKQACAKgELwACAKkELQACAKoEMQACAKwABQAMABIAGAAeACQEOAACAKcENgACAKgEPAACAKkEOgACAKoEPgACAKwABQAMABIAGAAeACQEOQACAKcENwACAKgEPQACAKkEOwACAKoEPwACAKwAAQAEBIYAAgCoAAIAEQAlACkAAAArAC0ABQAvADQACAA2ADsADgA9AD4AFABFAEkAFgBLAE0AGwBPAFQAHgBWAFsAJABdAF4AKgCBAIEALACDAIMALQCGAIYALgCJAIkALwCMAIwAMACXAJoAMQDPAM8ANQABAAAAAQAIAAEABgACAAEAAgLUAtUAAQAAAAEACAACAA4ABATdBN4E3wTgAAEABAKGAocCmAKZAAQAAAABAAgAAQAmAAIACgAcAAIABgAMAaMAAgBKAagAAgBYAAEABAGpAAIAWAABAAIASgBXAAQAAAABAAgAAQBEAAIACgAUAAEABAGkAAIATQABAAQBpgACAE0ABAAAAAEACAABAB4AAgAKABQAAQAEAaUAAgBQAAEABAGnAAIAUAABAAIASgGjAAEAAAABAAgAAQAGAZUAAQABAEsAAQAAAAEACAABAAYBJwABAAEAugABAAAAAQAIAAEABgGsAAEAAQA2AAEAAAABAAgAAgAcAAIB4wHkAAEAAAABAAgAAgAKAAIB5QHmAAEAAgAvAE8AAQAAAAEACAACAB4ADAIoAioCKQIrAiwCHwIgAiEBrgIjAiQCJQABAAwAJwAoACsAMwA1AEYARwBIAEsAUwBUAFUAAQAAAAEACAACAAwAAwImAicCJwABAAMASQBLAa4AAQAAAAEACAACAGYACAI9Ai0CLgIwAjECOQI6AjwAAQAAAAEACAACABYACAAbABUAFgAXABgAGQAdABQAAQAIAa0CIgRwBHEEcgRzBHQEdQABAAAAAQAIAAIAFgAIBHUCIgRwBHEEcgRzAa0EdAABAAgAFAAVABYAFwAYABkAGwAdAAEAAAABAAgAAgAWAAgAFQAWABcAGAAZABsAHQAUAAEACAItAi4CMAIxAjkCOgI8Aj0AAQAAAAEACAABAAYBaQABAAEAEwAGAAAAAQAIAAMAAQASAAEAUgAAAAEAAABKAAIAAgF8AXwAAAHUAd0AAQABAAAAAQAIAAEAKAHAAAEAAAABAAgAAgAaAAoCMgB6AHMAdAIzAjQCNQI2AjcCOAACAAEAFAAdAAAAAQAAAAEACAACACYAEAHUAdUB1gHXAdgB2QHaAdsB3AHdAkACPgJBAkICPwThAAEAEAAUABUAFgAXABgAGQAaABsAHAAdAE0ATgKtA5oDnAQZ",
-  "Roboto-MediumItalic.ttf": "AAEAAAARAQAABAAQR1BPUyEcbY8AAhQcAABZakdTVULEnLdcAAJtiAAAGXxPUy8yoQuw+wAAAZgAAABgY21hcNhuDxIAABpsAAAGXGN2dCAElytKAAAjUAAAAFZmcGdte/lhqwAAIMgAAAG8Z2FzcAAIABMAAhQQAAAADGdseWZgubUGAAAtcAAB42poZG14LxpP7wAAFYAAAATsaGVhZPi2qwsAAAEcAAAANmhoZWEM2xKRAAABVAAAACRobXR4rRqYNAAAAfgAABOIbG9jYSKZqcwAACOoAAAJxm1heHAHEgLZAAABeAAAACBuYW1lRuRz4wACENwAAAMUcG9zdP9hAGQAAhPwAAAAIHByZXAbsfg2AAAihAAAAMwAAQAAAAIAALDh6v1fDzz1ABsIAAAAAADE8BEuAAAAANDbTpf6Qf3VCXgIcwACAAkAAgAAAAAAAAABAAAHbP4MAAAJN/pB/mwJeAgAAbMAAAAAAAAAAAAAAAAE4gABAAAE4gCPABYAVgAFAAEAAAAAAA4AAAIAAfIABgABAAMEGQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAK/1AAIX8AAAAhAAAAAEdPT0cAAQAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwACAAIAACA5YAZAAKAAAACgAAAfkAAAH5AAACHwA3Ao4AoQTHADsEcwBCBb0AtQUAAC0BWgCQAr8AaALG/5QDeABnBF0APQG//4kClgA2AjUAMAMc/38EcwBgBHMA7wRzAAsEcwAmBHMACQRzAFoEcwBjBHMAhgRzADsEcwCOAhkAKwHi/5oD/AAyBGIAYgQUAC8D0ACVBvsAMgU0/6QE7wAnBRsAZQUcACcEbQAnBE0AJwVSAGsFjQAnAjsANQRZAAME7gAnBD0AJwbVACcFjAAnBWYAawUAACcFZgBkBOIAJwS5ACQEwACcBRkAWwUPAJsG3gC3BPP/wwTFAKEEtv/lAir/7wNIAKwCKv96A1sARAOK/3kCigDKBD0AIgRoABAEGgA4BGsAOwQ0ADsCygBfBHD/9wRZAA0CBQAfAfz/DAQXABECBQAfBssAEARbAA0EdQA5BGj/xwRyADsCxAAQBAsAHAKfADsEWgBKA+EAZAXOAHcD8f+5A9H/tQPx/+cCpAAwAf0AIAKk/5kFMgBbAfkAAAIY/+YEZQBMBJv/9gV8AAgExQBQAff/7ATc/9wDdADRBh4AXgOAAL4DzgBJBFUAgAKWADYGHgBeA8cA7wL9AOQEMwAbAukAVgLpAGcCkQDIBKH/3QPZAH0COwCeAgr/0wLpAOEDlQC+A84AAgWtALkGBgCxBjAAlgPQ/9IFNP+kBTT/pAU0/6QFNP+kBTT/pAU0/6QHVf+HBRsAZQRtACcEbQAnBG0AJwRtACcCOwA1AjsANQI7ADUCOwA1BTr//wWMACcFZgBrBWYAawVmAGsFZgBrBWYAawQtACMFZAAVBRkAWwUZAFsFGQBbBRkAWwTFAKEErwAnBMsAGwQ9ACIEPQAiBD0AIgQ9ACIEPQAiBD0AIgaXAA8EGgA4BDQAOwQ0ADsENAA7BDQAOwIUACICFAAiAhQAIgIUACIEjQBGBFsADQR1ADkEdQA5BHUAOQR1ADkEdQA5BHgAPQRvACoEWgBKBFoASgRaAEoEWgBKA9H/tQR+/80D0f+1BTT/pAQ9ACIFNP+kBD0AIgU0/6QEPQAiBRsAZQQaADgFGwBlBBoAOAUbAGUEGgA4BRsAZQQaADgFHAAnBQEAOwU6//8EiQA7BG0AJwQ0ADsEbQAnBDQAOwRtACcENAA7BG0AJwQ0ADwEbQAnBDQAOwVSAGsEcP/3BVIAawRw//cFUgBrBHD/9wVSAGsEcP/3BY0AJwRZAA0FjgAuBHcAKwI7ADUCFAAUAjsANQIUAB8COwA1AhQAIgI7/44CBf92AjsANQIUACIGlAA1BAEAHwRZAAMCIP8PBO4AJwQXABEEfwAhBD0AJwIFAB8EPQAnAgX/ogQ9ACcCmwAfBD0AJwLhAB8ETAAhAkcAHwWMACcEWwANBYwAJwRbAA0FjAAnBFsADQRbAA0FcgAjBG8AEQVmAGsEdQA5BWYAawR1ADkFZgBrBHUAOQeDAFAHDQBCBOIAJwLEABAE4gAnAsT/nATiACcCxAAQBLkAJAQLABwEuQAkBAsAHAS5ACQECwAcBLkAJAQLABwEwACcAp8AOwTAAJwCxwA7BMAAnAKf/+IFGQBbBFoASgUZAFsEWgBKBRkAWwRaAEoFGQBbBFoASgUZAFsEWgBKBRkAWwRaAEoG3gC3Bc4AdwTFAKED0f+1BMUAoQS2/+UD8f/nBLb/5QPx/+cEtv/lA/H/5wIGAB4FaABOAsT/SgVpAFsEhQA2BYMAWwTWAEoCIP8PBVIAawRw//cFjAAnBFsADQU0/6QEPQAiB1X/hwaXAA8FZAAVBG8AKgU0/6QEPQAiBG0AJwQ0ADsCO//JAhT/fgVmAGsEdQA5BOIAJwLEAAcFGQBbBFoASgS5ACQECwAcBMAAnAKfADsCIP8PBCUANgG5AIoD0gECA54BDQPIAO8DawD+AgUBAgKnAPoCRf+oA8QA3gMRAKwCY//uAAr9VAAK/dcACvz2AAr91gAK/L8ACvygAlUBLgQlAOgFNP+kAjsAngTR/74F8f/GAp//ygV6ABgFKf9YBVAAHQKgAAsFNP+kBO8AJwRdAC4Fnf+qBG0AJwS2/+UFjQAnBVoAXgI7ADUE7gAnBRr/sgbVACcFjAAnBHcAAAVmAGsFjwAuBQAAJwR3/9wEwACcBMUAoQXLAFIE8//DBYkAdQU8AAkCOwA1BMUAoQRrAD4ESAAoBG8AEQKgAG4ESABXBGsAPgSr/+UD+QB3BG8AOARIACgEBQBmBG8AEQSHAGwCoABuBH8AIQRS/6gEof/dA+EAZAP+AD4EdQA5BNcAXQRv/8sEIQA7BHcAOAQXAG4ESABXBa0AMgPx/7kFpwA/BmsAVAKgAEwESABXBHUAOQRIAFcGawBUBJkAUARjAG0Ex/8kBkoAVwRtACcEbQAnBdoAkQRdAC4FOgBnBLkAJAI7ADUCOwA1BFkAAwhQ/8oIVwAuBjQAoATuACcFhwAnBO0AmwWJACUFNP+kBOsAIwTvACcEXQAuBeL/hARtACcHcf+lBLsAHgWHACcFhwAnBQoALgWI/8oG1QAnBY0AJwVmAGsFjwAuBQAAJwUbAGUEwACcBO0AmwY4AFYE8//DBdUAJQVoAMUHawArB8YAKwX1AIkGzQAuBOoAIwUxAE8HJgAyBNv/sAQ9ACIEZQBDBHYAIgNKABgE2v+FBDQAOwZO/60EAQAWBH8AGQR/ABkEVgAiBIH/vwXfACIEfgAZBHUAOQR/ABkEaP/HBBoAOAPhAFMD0f+1BbAAPQPx/7kEuAAZBE4AcAZmABkGwQASBPoATwZIACIEUAAiBCUAIwZcACQEWP+2BDQAOwQ0ADsEWQANA0oAGAQlADsECwAcAgUAHwIUACIB/P8MBqf/vQa5ABkEcAANBFYAIgR/ABkD0f+1BH8AGQcbAGAGKQBEBOoAIwRPACEG+wArBd0AGQTv/64ESP+cBxQAPgYQADAGwgAUBcMAFgj1ADUHxgAiBAr/qgPc/7UFiQB1BacAPwVaAGIEbwA2BP0AqAP5AHcE/QCoA/kAdwk3AGsIRgA5BVoAZgRvADgHFwBiBh4ASwcbAGAGKQBEBP0AVgQzAEUE4wA4AAr85gAK/Q4ACv4rAAr+PAAK+kEACvpvBYcAJwR/ABkE6gAjBE8AIQT2ACcEbf/HBFIAIgOPABEEXf/8A0r/ywSdAC4ECgARB3H/pQZO/60EuwAeBAEAFgUKAC4EVgAiBQ4AIwSRACEFHgA3BC4AGQZsAKQFgwBsBY0AJwR+ABkHngAnBYkAEQgRAC4GygARBgUAZQTjAEsFGwBlBBoAOATAAJwD4QBTBMUAoQP5AHcExQChA/kAVATz/8MD8f+5BwQAnQVQAFYFaADFBE4AcAVUALkEWwCFBWcA5wRZAA0F/wBiBKj/9AX/AGIEqP/0AjsANQdx/6UGTv+tBQQAIwRgACEFiP/KBIH/vwWNAC4EbwARBY0AJwR+ABkFaADFBE4AcAbVACcF3wAiAjsANQU0/6QEPQAiBTT/pAQ9ACIHVf+HBpcADwRtACcENAA7BWgASAQlADYFaABIBCUANgdx/6UGTv+tBLsAHgQBABYEjAAvBIz/8AWHACcEfwAZBYcAJwR/ABkFZgBrBHUAOQVaAGIEbwA2BVoAYgRvADYFMQBPBCUAIwTtAJsD0f+1BO0AmwPR/7UE7QCbA9H/tQVoAMUETgBwBF0ALgNKABgGzQAuBkgAIgSsADMDQwAJBPP/wwPx/7kE8//DA/H/uQTqADAEawA7BsYARQayAEcGLACqBQoAYQRjAJIEJwCMB43/3gZ0/94HygAnBnUACwTnAEwEFgA9BYkAkAUAAHMFNgBWBEgAKAWI/8oEgf+/BTT/pAQ9ACIE7wAnBGgAEAUcACcEawA7BRwAJwRrADsFjQAnBFkADQTuACcEFwARBO4AJwQXABEEPQAnAgX/5AbVACcGywAQBtUAJwbLABAFjAAnBFsADQUAACcEaP/HBOIAJwLE/94EuQAkBAsAHATAAJwCnwA7BQ8AmwPhAGQFDwCbA+EAZAbeALcFzgB3Bt4AtwXOAHcG3gC3Bc4AdwbeALcFzgB3BLb/5QPx/+cFNP+kBD0AIgU0/6QEPQAiBTT/pAQ9ACIFNP+kBD0AIgU0/6QEPQAiBTT/pAQ9ACIFNP+kBD0AIgU0/6QEPQAiBTT/pAQ9ACIFNP+kBD0AIgU0/6QEPQAiBTT/pAQ9ACIEbQAnBDQAOwRtACcENAA7BG0AJwQ0ADsEbQAnBDQAOwRtACcENAA7BG0AJwQ0ADsEbQAnBDQAOwRtACcENAA7AjsANQIUACICO///AgX/5AVmAGsEdQA5BWYAawR1ADkFZgBrBHUAOQVmAGsEdQA5BWYAawR1ADkFZgBrBHUAOQVmAGsEdQA5BWkAWwSFADYFaQBbBIUANgVpAFsEhQA2BWkAWwSFADYFaQBbBIUANgUZAFsEWgBKBRkAWwRaAEoFgwBbBNYASgWDAFsE1gBKBYMAWwTWAEoFgwBbBNYASgWDAFsE1gBKBMUAoQPR/7UExQChA9H/tQTFAKED0f+1BMUAoQPR/7UFrP6zAx4A7AP/AAAH9AAAA/8AAAf0AAACrgAAAgQAAAFcAAAEZgAAAikAAAGfAAAA1QAAAAoAAAKXADYClwA2BQsAnAYKAIIGCgCCA4v/TgG9AK4BuQCKAcr/pAGlAM0DBgC3Aw0AlwL7/6EERQBpBID/+wLAAJ4D5QAzBYUAMwFrADYHdgCdAVoAkAKOAKECaQBdAmD/+QQ+ADcDiv/hAukAYwNMAG4ETf/DBJv/9gZJAA0GjgArCFsAJwdYACoGZAAQBIn/9ARzAE4F0QBCBB4AOwSIABAFP//kBV3/5gXBAMIDzgAxB/kAIwTsAO0E9wB9Bg8AtgayAIIGpwCIBnkAtQR4AEUFdQAfBL7/pwRqAJwEmAA0CA8ASQIm/xcEdQAwBGIAYgP8/9UEFAAXA/cAOgJTAGkCjgBmAez/zwT+AF8EjgBLBKIAXwb2AF8G9gBfBPQAXwaNABcACgAAB/v/qQg1AFwDhv/XBGP/pwSmADoEY/+nA6YACgQ2AC0ETgARBB4ADgQXABQFGwAuBBoAFAUKAC4FJgAuBKEAOwQl/4cCpwEGBL0ACgLpADMC6QAIAukAIwLpABYC6QAKAun/8QLp//QC6f/jAukAbQLpABcEBP/ZBXwAQwU1AHAEyAAAA6YAkwXjAIwEYwBwBGsAOQQlAGIEHgAOBEUACgSmADcEVQAKBKYAOgTCAAoF4gAKA6YACgREAAoDwv/yAfcAGATDAAoEjAA/A7IACgPMAAoEYgAKBGcAOQRIAAoEhf+bAf8A6wOPAQQD9gDcA/YAEwP2ANgD9gDXA48BBAOPAQUDjwEEBEb/pAQlAG0EZwA5BXAAYgQdAFUEegAqAgr/BwGw/7IEFP/WByb/wQcpAAoFdgBiBLwACgRZAAsFOv+DBhT/qQQvAAwEyAALBEUACgSw/8EELwByBT4ACgRzAF0GXAAKBt4ACgU7AEoF+wALBE8ACwRnABMGagAKBG//0gQM//UGav+pBIQACgT9AAoFTgBiBcwAQARDAG0Eqf+kBmwAYgRzAF0EcwAKBdoANwS3ADQELwAMBKYAOgROAAQD4wAeCAEACgTP/9kEbwAQBCYANwR/ADsDkgCkBIcANAR7/8cEhgA7BDQAOwRwADAFWgBvBYEAcQVmAC4FvQByBb8AcgQFAKsEaQAfA6YACgRA/38EpP/RAukAigLpAGQC6QB9AukAiQLpAJYC6QB7AukApgRT/9QEGAAnBm8AOgSaAEcEzwBOAiD/DwIg/w8CFQAiAhX/fQIVACIESAAKBGL/lwRi/5cEJQBiBIX/mwSF/5sEhf+bBIX/mwSF/5sEhf+bBIX/mwRnADkDzAAKA8wACgPMAAoDzAAKAfcAGAH3ABgB9wAYAfcAGATCAAoEpgA6BKYAOgSmADoEpgA6BKYAOgRrADkEmwB0BIcAjgRzAFoEcwAJBHMAJgRzAAsEawA5BGsAOQRrADkEJQBtBIX/mwSF/5sEhf+bBGcAOQRnADkEZwA5BGcAOQRiAAoDzAAKA8wACgPMAAoDzAAKA8wACgSMAD8EjAA/BIwAPwSMAD8EwwAKAfcADQH3ABgB9wAYAff/igH3ABgDwv/yBEQACgOmAAoDpgAKA6YACgOmAAoEwgAKBMIACgTCAAoEpgA6BKYAOgSmADoERQAKBEUACgRFAAoEHgAOBB4ADgQeAA4EHgAOBCUAYgQlAGIEJQBiBGsAOQRrADkEawA5BGsAOQRrADkEawA6BeMAjAQlAG0EJQBtBBT/1gQU/9YEFP/WBIX/mwQI/20E//94AjP/ewSw/9IEYf8sBNL/4gSF/5sESAAKA8wACgQU/9YEwwAKAfcAGAREAAoF4gAKBKYAOgRVAAoEJQBiBCUAbQRG/6QB9wAYBCUAbQPMAAoDpgAKBB4ADgH3ABgB9wAYA8L/8gREAAoELwByBIX/mwRIAAoDpgAKA8wACgTIAAsF4gAKBMMACgSmADoEvQAKBFUACgRnADkEJQBiBEb/pAQvAA0EwwAKBGcAOgQlAG0F2gA3BMgACwQvAHIFfABDBTT/pAQ9ACIEbQAnBDQAOwIU/+QAAAABAAAE5AkKBAAAAgICAwUFBgYCAwMEBQIDAgQFBQUFBQUFBQUFAgIEBQUECAYGBgYFBQYGAwUGBQgGBgYGBgUFBgYIBgUFAgQCBAQDBQUFBQUDBQUCAgUCCAUFBQUDBQMFBAcEBAQDAgMGAgIFBQYFAgUEBwQEBQMHBAMFAwMDBQQDAgMEBAYHBwQGBgYGBgYIBgUFBQUDAwMDBgYGBgYGBgUGBgYGBgUFBQUFBQUFBQcFBQUFBQICAgIFBQUFBQUFBQUFBQUFBAUEBgUGBQYFBgUGBQYFBgUGBgYFBQUFBQUFBQUFBQYFBgUGBQYFBgUGBQMCAwIDAgMCAwIHBQUCBgUFBQIFAgUDBQMFAwYFBgUGBQUGBQYFBgUGBQgIBgMGAwYDBQUFBQUFBQUFAwUDBQMGBQYFBgUGBQYFBgUIBwUEBQUEBQQFBAIGAwYFBgUCBgUGBQYFCAcGBQYFBQUDAgYFBgMGBQUFBQMCBQIEBAQEAgMDBAMDAAAAAAAAAwUGAwUHAwYGBgMGBgUGBQUGBgMGBggGBQYGBgUFBQcGBgYDBQUFBQMFBQUEBQUFBQUDBQUFBAQFBQUFBQUFBgQGBwMFBQUHBQUFBwUFBwUGBQMDBQkJBwYGBgYGBgYFBwUIBQYGBgYIBgYGBgYFBgcGBwYICQcIBgYIBQUFBQQFBQcFBQUFBQcFBQUFBQQEBgQFBQcIBgcFBQcFBQUFBAUFAgICBwgFBQUEBQgHBgUIBwYFCAcIBgoJBQQGBgYFBgQGBAoJBgUIBwgHBgUGAAAAAAAABgUGBQYFBQQFBAUFCAcFBQYFBgUGBQcGBgUJBgkIBwYGBQUEBQQFBAYECAYGBQYFBgUHBQcFAwgHBgUGBQYFBgUGBQgHAwYFBgUIBwUFBgUGBQgHBQUFBQYFBgUGBQYFBgUGBQYEBgQGBAYFBQQIBwUEBgQGBAYFCAgHBgUFCQcJBwYFBgYGBQYFBgUGBQYFBgUGBQYFBgUFAggICAgGBQYFBgMFBQUDBgQGBAgHCAcIBwgHBQQGBQYFBgUGBQYFBgUGBQYF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RvpHAkcKRzFHXkdmR25HdkgASAhIEEg9SEVITUiPSJdIx0jPSQ1JFUkdSZtJo0oDSnJKhUqYSqpKvErOSt9K9Et+S/lMLUytTT5Nm03qTnFOok6qTwVPDU8VT4xPlE/sUE9Qt1EnUW9RulIqUjJSlFMPUyJTNFNGU1hTalPqVERUUFTPVOZU+VVhVXhV91ZtVnVWiFaQVw5XhVfgV/dYDlggWF9YZ1jDWMtY01ksWTRZoVopWmRadlp+Wspa0lraWuJa6lryWvpbAltHW8JbylwCXElciVzVXTBdmF3pXmle9V9VX11f22BcYINg3GDkYVNh6WIkYjZiiGLRYxxjdWN9Y61jtWQLZDhkQGTgZOhlIGVoZahl8GZLZrFnAGdzZ/5oXWh0aIZpBWkcaYVpjWmVaahpsGopaqBrCmshazhrSWuIa/lsZWzSbUBty25YbqVu9G9hb9BwSHC6cUxx3HJ5cyhzMHM4c7V0JXRpdK50xnTedOp09nVqddh2s3eIeBh4qHkFeV95k3mweel6AHoXevJ7YXt8e5d8BHxzfM99S317faV95n4ofoR+037ffut+938Dfw9/G391f8yALICKgNyBM4E/gUuBmIHpgk+CqYNUg++D+4QHhBOEH4QnhC+Ee4TLhNeE44UshXKFfoWKheGGMYZ2hn6HAIeNh5mHpYeth7+H0YgziI6ImoimiQmJZ4lziX+Ji4mXiaOJr4m3icmJ24nuigGKCYoRiiOKNIqniq+KworUiueK+osNix+Lhovni/6MFIwnjDqMTYxfjGeMb4yCjJSMp4y5jMuM3IzvjQGNFI0sjT+NUY1djWmNhY2hjbCNwI3MjdiOMo6JjtyO5I9Oj+eQY5DakU2Ru5Iukp2TEJOCk+OUOpSTlOqVb5V3lYOVj5WblaeVs5W/lcuV15Xjle+V+5YHlhmWK5Y3lkOWT5ZblnKWhJaQlpyWqJa0lsaW2JbklvCW/JcIlxSXIJcyl0OXT5dbl3KXiZegl7eXypfdl+mX9ZgBmA2YGZglmDeYSZhhmHiYkJinmL+Y1pjumQWZIJk6mVKZaZl8mY6ZoZmzmcaZ2Jnzmg6aGpommjiaSppcmm2ahZqcmrSay5rjmvqbEpspm0SbXptwm4Kbjpuam6abspvEm9ab7pwFnB2cNJxMnGOce5ySnK2cx5zenPWdDJ0jnTqdUZ1onX6dip2WnaKdrp3Fndyd854KniGeOJ5PnmaefZ6Tnp+eq57Cntie5J7wnwKfFJ8mnzefQ59vn2+fb59vn2+fb59vn2+fb59vn2+fb59vn3eff5+Jn5OfnZ+4n9qf/KAboD2gSaBVoIigyaEuoVOhX6FvoYiicqKBopiitKLRot2i8KMEo0+jW6PqpJOlLqU6pgymd6aRpxin1Kg3qLipF6mMqj2qqqtIq6msE6wtrEesYax7rPStHK1WrW2toq5Broiu/69Ar0+vXq+Xr6qv1K/tr/mwaLDKsXKyDrKas3CzcLU2tZ+16rYbtpi2zrb5t3O33rhduKC45LksuXa57bpkuyi7fLuvvBy8rLzZvUG9qr3vvmS+vL7mvzi/fL/twE3AuMDPwRrBSsGNwbnCMcKMwu/DPcOew9jEK8RQxJXEy8TmxUPFr8Xqxi/GfcbZx2jHpsfFyBPIWsigyP7JdMnDyiTKmcrjyxTLj8vxzB7MqMzZzO/NBc16zfDOSM6KzubPPc+60BvQWdCz0PfRQNF70cLR/dI+0prSptL302/T/NRa1J/VJ9WO1ffWXNbz1v/XUteh1/XYPdix2RrZgNoA2pjbIdvD3ETcsd0J3XPde93c3kXes98t37TgFOCD4NPhPuGt4djiM+Jh4r7jCOMc4zDjQuNW42jjf+OT4/bkHeSn5RjlduV+5YbljuWZ5aHmD+Y65mXmdeaM5qPmuebK5t3m8Ob85wjnH+c250znXud054rnoee058bn3efv6ADoEugl6DzoROhM6FToXOhk6GzofuiP6KLouejP6OHpVeln6Xjpiumb6bHpx+nY6erqXup06oXql+qp6rXqy+rd6vTrBusR6yLrOetF61vrZ+t864jrn+ur68Lr0+vl6/jsCuwW7CfsOexK7FbsZ+xz7Insleym7Lfsyezc7O/tWe1w7YbtmO2v7cHt++4H7hPuH+4r7jfuQ+5P7lfuX+5n7m/ud+5/7ofuj+6X7p/up+6v7rfuyu7c7u7vAO8I7xDvI+8r7z3vT+9X71/vZ+9v74Hvie+R75nvoe+p77Hvue/B8F3w0vE68ULxTvFg8XHxefGF8ZHxnfGp8bUAAAAFAGQAAAMoBbAAAwAGAAkADAAPAG+yDBARERI5sAwQsADQsAwQsAbQsAwQsAnQsAwQsA3QALAARViwAi8bsQIfPlmwAEVYsAAvG7EADz5ZsgQCABESObIFAgAREjmyBwIAERI5sggCABESObAK3LIMAgAREjmyDQIAERI5sAIQsA7cMDEhIREhAxEBAREBAyEBNQEhAyj9PALENv7u/roBDOQCA/7+AQL9/QWw+qQFB/19Anf7EQJ4/V4CXogCXgACADf/7wIgBbAAAwAOADuyAg8QERI5sAIQsAvQALAARViwAi8bsQIfPlmwAEVYsAwvG7EMDz5ZsgcNCitYIdgb9FmwAdCwAS8wMQEjEzMBNDY3NhYUBgcGJgFWzJz6/hdLOjlOSzo3UAGtBAP6vztMAgJKcksCAkcAAAIAoQP0AsIGAAAEAAkAJQCwAEVYsAMvG7EDIT5ZsALQsAIvsAfQsAcvsAMQsAjQsAgvMDEBAyMTMwUDIxMzAYdcilOqAQ1cilOqBWz+iAIMlP6IAgwAAgA7AAAE5QWwABsAHwCNALAARViwDC8bsQwfPlmwAEVYsBAvG7EQHz5ZsABFWLACLxuxAg8+WbAARViwGi8bsRoPPlmyHQwCERI5sB0vsgADCitYIdgb9FmwBNCwHRCwBtCwHRCwC9CwCy+yCAMKK1gh2Bv0WbALELAO0LALELAS0LAIELAU0LAdELAW0LAAELAY0LAIELAe0DAxASMDIxMjNzMTIzchEzMDMxMzAzMHIwMzByMDIwMzEyMCltORqpHeHPpv6RwBBZWpldSUqZTHHORu1BzxkakJ02/TAZr+ZgGangE5nwGg/mABoP5gn/7Hnv5mAjgBOQAAAQBC/y0EUQabADUAb7InNjcREjkAsABFWLAQLxuxEB8+WbAARViwJy8bsScPPlmyBCcQERI5sBAQsA3QshUnEBESObAQELIYAQorWCHYG/RZsAQQsh8BCitYIdgb9FmwJxCwKtCyLhAnERI5sCcQsjIBCitYIdgb9FkwMQE2JyYnJiYnJjc2NzY3NzMHFhcWByM2JicmBgcGFxYXFhcWBwYHBgcHIzcmJyY3FwYWFxY3NgL+CSkodjteJKoOC3JxtSidKZVKTArsCVRYXXwNCSgodHU+uA8Ld3W9JJwlp1lYCe0HZWNqR0kBg0w4OTEZMxyBz6psbRXa3iB4er6AjAMCb2NNNTYzNCyC2q1raRTDxBl6eb8BgIYCAjk6AAUAtf/nBT4FyAANABsAKQA3ADsAibInPD0REjmwJxCwBdCwJxCwFtCwJxCwK9CwJxCwONAAsDgvsDovsABFWLAALxuxAB8+WbAARViwIy8bsSMPPlmwABCwB9CwBy+yEQIKK1gh2Bv0WbAAELIYAgorWCHYG/RZsCMQsBzQsBwvsCMQsi0CCitYIdgb9FmwHBCyNAIKK1gh2Bv0WTAxARYWBwcGBicmJjc3NjYDBhYXFjY3NzYmJyYGBwEWFgcHBgYnJiY3NzY2AwYWFxY2Nzc2JicmBgcFJwEXAg+DkggGD7mCfpkIBw23JAc4OjxYCwkHODs9WggCvYKTCAYOuoJ8mgYFC7kiBTo3PVUMCgU6N0BYCP3xeANveAXGBKqATYmmBAKqf0qJqv6BQFcCAldGTkFYAgJdSv4CBKp+ToepBAKmhEGOrf6CRVMCAlNLT0hQAgJdSO5PBGdPAAMALf/pBKEFyAAeACgANABysi01NhESObAtELAR0LAtELAh0ACwAEVYsAkvG7EJHz5ZsABFWLAYLxuxGA8+WbAARViwHC8bsRwPPlmyEgkYERI5shUJGBESObIfAQorWCHYG/RZsiMJGBESObIsCRgREjmwCRCyMgEKK1gh2Bv0WTAxEzY3NyYmNzY2Fx4CBwYGBwcTNjc3AgcXIScGJyYmBRY2NwMHBgcGFhMGFxc3Njc2JiMiBjgMxnI9KAQM5KxdllAFBWl2edZTFcsYoKH+/j2wx7vsAbdEeDjzIokRDGhwCjAXY4EMBkg3SGQBgbaMS3CNP6rUBANSkVdanVJQ/rx8kAH+8K36X3YEAt4eATQjAXEWYHdgeAOgRVwqPlJqOUlpAAEAkAP8AZYGAAAEABYAsABFWLADLxuxAyE+WbAC0LACLzAxAQMjEzMBgVSdUbUFd/6FAgQAAAEAaP4xAyAGYAARABCyBhITERI5ALADL7AMLzAxExIANxcAAwYHBhIXByYCEzY3gDUBT/gk/qpmJQECZGI4q7cIAgwCTAFtAjlukP74/czOv8v+0VeFagHAASpgVgAB/5T+LwJQBl8ADwAQsgkQERESOQCwCC+wAC8wMQMnNhITNxAnNxYWEgcCAgBHJdTwGgTEOXOjTwQJs/7e/i+KpQIvAX98AaWshkb9/qS1/un99f6XAAEAZwJLA6UFsAAOACAAsABFWLAELxuxBB8+WbAA0BmwAC8YsAnQGbAJLxgwMQElNwUTMwMlFwUTBwMDJwF//uhPARctsEsBLhj+wZeVfNyGA9FYoXcBXf6ocLRY/vFiASH+7G4AAAEAPQCSBC4EtgALABoAsAkvsADQsAkQsgYBCitYIdgb9FmwA9AwMQEhByEDIxMhNyETMwK9AXEn/pBL50z+jCgBckbnAyHe/k8Bsd4BlQAAAf+J/rgBFADrAAcAGLIHCAkREjkAsAgvsgQNCitYIdgb9FkwMRMnNjc3MwcGCH92GyXVGij+uFCed86h9wABADYCCQJYAs0AAwARALACL7IBAQorWCHYG/RZMDEBITchAjX+ASMB/wIJxAAAAQAw//IBQwEDAAsAIrIIDA0REjkAsABFWLAJLxuxCQ8+WbIDDQorWCHYG/RZMDE3NDY3NhYVFAYHBiYwTTw7T0w9O091PU0CAks7Ok0CAkoAAAH/f/+DA4IFsAADABMAsAAvsABFWLACLxuxAh8+WTAxFyMBM0PEAz7FfQYtAAACAGD/5wQ6BckAEQAgAEayFyEiERI5sBcQsADQALAARViwCS8bsQkfPlmwAEVYsAAvG7EADz5ZsAkQshYBCitYIdgb9FmwABCyHgEKK1gh2Bv0WTAxBSYmNzY3ExIAFxYWBwYHBwIAEzY1JicmBgcDBhcUFxYTAd+9wgMBCScxARjevMMDAQknM/7riA0FoHqUHi4MAaTiQRQE/eRKSgEEATIBLgUE+ORLSf3+x/7NA5ByMOIHBbzN/sNnPOoHDQFuAAEA7wAAA3gFtQAGADkAsABFWLAFLxuxBR8+WbAARViwAC8bsQAPPlmyBAAFERI5sAQvsgMBCitYIdgb9FmyAgMFERI5MDEhIxMFNyUzAoHsyv6QJQJAJASMetfMAAABAAsAAAQ/BccAGABVsgkZGhESOQCwAEVYsBAvG7EQHz5ZsABFWLAALxuxAA8+WbIDEAAREjmwEBCyCAEKK1gh2Bv0WbIMEAAREjmyFRAAERI5sAAQshcBCitYIdgb9FkwMSEhNwE2NzYmJyYGBwc+AhcWFgcGBwcBIQPC/EkcAl2pEQ1aWm+YEOwKj+2Kvt0NEeQ+/lsCh7ECRaWGX38EBJN/AYbWdwME1LLM4z3+dAAAAQAm/+gEOQXFACoAZ7IIKywREjkAsABFWLAPLxuxDx8+WbAARViwGy8bsRsPPlmwAdCwAS+wDxCyBwEKK1gh2Bv0WbAPELAL0LABELIpAQorWCHYG/RZshUpARESObAbELAg0LAbELIjAQorWCHYG/RZMDEBFzI2NzYmJyYGBwc+AhcWFgcGBgcWFxUGBCcuAjcXBhYXFjY3NiYnJwGggXWcCwteXV6KDu0JiNt/w+ENB4Z/rQsN/tnWe8RpBOwEZ2NtmQwMc2yZA0cBfmljcQICcl0BdbhjAQTbuGSnPFDGMMT0BAFnu3gBYHUDBIhub3QDAQAAAgAJAAAEKgWwAAoADgBJALAARViwCS8bsQkfPlmwAEVYsAQvG7EEDz5ZsgEJBBESObABL7ICAQorWCHYG/RZsAbQsAEQsAvQsggGCxESObINCQQREjkwMQEzByMDIxMhNwEzASETBwN6sCKvOe04/Z4VAwL9/QcBaXEYAgfD/rwBRKADzPxXAmMiAAABAFr/5wRzBbAAHQBqshoeHxESOQCwAEVYsAEvG7EBHz5ZsABFWLANLxuxDQ8+WbABELIDAQorWCHYG/RZsgcBDRESObAHL7IaAQorWCHYG/RZsgUHGhESObANELIUAQorWCHYG/RZshEUGhESObIdGhQREjkwMRMTIQchAzYzFhIHBgAnJiYnMxYWFxY2NzYmJyYGB7q/Avoh/c9nZni5xxIS/tzXtuMG4wdlW2+XDwxqaUBlMALVAtvS/qM6Av701dv+6gQE4rlmcwIDqIx8mQICLSgAAgBj/+gEEwW4ABcAJQBbshkmJxESObAZELAG0ACwAEVYsAAvG7EAHz5ZsABFWLAPLxuxDw8+WbAAELICAQorWCHYG/RZsgcADxESObAHL7IYAQorWCHYG/RZsA8QsiABCitYIdgb9FkwMQEHJyYEBzYXHgIHDgInJiYnJjcSACEBJgYHBhcUFhcWNjc2JgPMFA3A/uZQhKl1pEwMDI7liK3YDwkgQQGpAUj+tFCMMAsBXlhslw8NYAW4ygEC09aABAJ/3YKO7YEDBO7Ca7MBZQGW/UkCWVJlK4CWAgOoiH+iAAEAhgAABJwFsAAGADIAsABFWLAFLxuxBR8+WbAARViwAS8bsQEPPlmwBRCyAwEKK1gh2Bv0WbIAAwUREjkwMQEBIQEhNyEEhf0E/v0C+f0qHwPUBR364wTtwwAAAwA7/+gERQXIABYAIgAuAGuyGi8wERI5sBoQsBLQsBoQsCfQALAARViwEy8bsRMfPlmwAEVYsAgvG7EIDz5ZsCzQsCwvshoBCitYIdgb9FmyAiwaERI5sg0aLBESObAIELIgAQorWCHYG/RZsBMQsiYBCitYIdgb9FkwMQEGBxYWBwYEJyYmNzYlJiY3NiQXHgIBNiYnJgYHBhYXFjYTNiYnJgYHBhYXFjYEPBLuWVcIDf7g1cLlDRIBEUtIBg4BDMd3tVr+tQtkXmqWDAtmXWyTYAlVU1uBCwlWUVyBBDjZdzmwasDtBATftfN9NqFcvOUEA2S0/PhlgwICj21newICigL7WnYCAoBmXnICAoIAAAIAjv/5BC8FyAAYACYAWLIZJygREjmwGRCwFdAAsABFWLANLxuxDR8+WbAARViwFi8bsRYPPlmyAAEKK1gh2Bv0WbIFFg0REjmwBS+yGQEKK1gh2Bv0WbANELIhAQorWCHYG/RZMDE3FiQ3BicuAjc+AhceAhcWBwIAISM3ARY2PwI2JicmBhcWFvfUAQpCiJhxplIMDY/kh3WtYAcFHED+XP68FhMBSkqEMA0EA1hYfaAPB1rCAtHRhAICd+CIkfKEBANx0YFroP6O/njKAdoCVUthRoKZBAT4qFls//8AK//yAdAEVAAmABL7AAAHABIAjQNR////mv64AbwEVAAnABIAeQNRAAYAEBEAAAEAMgCqA8MEVAAGABeyAAcIERI5ALAARViwBS8bsQUbPlkwMQEFBwE3AQcBMgIWKf0TIgNvLQJy4OgBdcEBdP4AAAIAYgFkBBQD1gADAAcAJQCwBy+wA9CwAy+yAAEKK1gh2Bv0WbAHELIEAQorWCHYG/RZMDEBITchAyE3IQPx/LokA0Vt/LsjA0YDDMr9jskAAQAvAJ8D2QRJAAYAF7IABwgREjkAsABFWLACLxuxAhs+WTAxASU3AQcBNwLb/c8oAwci/HgsAoHj5f6Lwf6M+gAAAgCV//ED3wXJABgAJABesh4lJhESObAeELAK0ACwAEVYsBAvG7EQHz5ZsABFWLAiLxuxIg8+WbIcDQorWCHYG/RZsADQsAAvsgQQABESObAQELIJAQorWCHYG/RZsg0QIhESObIVABAREjkwMQE+Ajc2JyYmJyYGBwc2JBcWFgcGBwcGBwE0Njc2FhUUBiMGJgE/DF3LH14SCEg5UnER7BEBAL6xyg4PvXpeFP7WSzo4Tk82OE4Bq32wrCRsdjQ9AQJjVQGy0gQEzqqxo2ZWjf7FO0wCAko5PUkCRwAAAgAy/jsGpAWTADsARwB8sh5ISRESObAeELBF0ACwKy+wNC+wAEVYsAAvG7EADz5ZsABFWLAFLxuxBQ8+WbIDNAAREjmyDDQAERI5sAwvsAAQsj4ECitYIdgb9FmwFNCwNBCyHQIKK1gh2Bv0WbArELImBAorWCHYG/RZsAwQskQECitYIdgb9FkwMQUmJicGJyYmNzYSNhcWFhcDBwYWFxY2Ejc2JicmJyYEAgIHBhIWFxY3FwYjJiQCJyYSACQXFgQSFxYCBgEGFxY2NxMmJyYGBwSmTXYUg4tyegkHn+KEVYVDhggHKC9ZiVYHBDs8ffKn/trrhQcIadufpq0biuXD/t2cBASeASABb8nAARqaBASB5/1jBWo4dx2BLSmCsSQVAkpOnAMCtaChAU+uAgI5MP3JPD9JAgSQAROshtZHkgQDkf7f/ou+rf70iwECS4xWAaQBONPdAcABWrEDA6L+ycjT/pLEAUyiAwNrTAHxEQIF++UAAAL/pAAABK4FsAAHAAoARgCwAEVYsAQvG7EEHz5ZsABFWLACLxuxAg8+WbAARViwBi8bsQYPPlmyCQQCERI5sAkvsgABCitYIdgb9FmyCgQCERI5MDEBIQMhATMBIwEhAwN9/d+u/vYDEt4BGvj+DgGYYwFT/q0FsPpQAh8CWgAAAwAnAAAEvAWwAA0AFgAeAGmyGB8gERI5sBgQsA3QsBgQsBDQALAARViwAi8bsQIfPlmwAEVYsAAvG7EADz5ZsBfQsBcvsp8XAV2yDgEKK1gh2Bv0WbIHDhcREjmwABCyEAEKK1gh2Bv0WbACELIdAQorWCHYG/RZMDEzEwUWFgcGBxYWBwYEIwMDBTI2NzYmJyUXMjY3NiclJ/0Bv+ztDhLxWmIHDv7b8K1PAQN1pA8OWmj++ON6mg4Z1v7/BbABAcu01GsgqnbI6AKR/jkBfGxndAS7AXRjuwcBAAEAZf/oBQ0FxwAeAE6yCx8gERI5ALAARViwDC8bsQwfPlmwAEVYsAMvG7EDDz5ZsgAMAxESObIQDAMREjmwDBCyEwEKK1gh2Bv0WbADELIcAQorWCHYG/RZMDEBBgAnLgInJhISJBcWEhcjJiYnJgYPAgYWFhcEEwSqJf6w8YvRdgcGRMEBGazZ/Qj1BXl3o9wmFAkILXJYARdPAdvk/vEEA37xmHIBiQE4ngME/vfpnIsDBfTphWZntV8DCwEtAAIAJwAABOAFsAALABYARrIKFxgREjmwChCwD9AAsABFWLABLxuxAR8+WbAARViwAC8bsQAPPlmwARCyDAEKK1gh2Bv0WbAAELIOAQorWCHYG/RZMDEzEwUyBBIHBwYCBCMTAxcyJDc2JyYmJyf8AYq2AQd2Fwsezf68wiq2ksYBBSUaBwmXhgWwAbX+wcBPyf7JrATk++YB+92YcZGkBAABACcAAAS6BbAACwBOALAARViwBi8bsQYfPlmwAEVYsAQvG7EEDz5ZsgsGBBESObALL7IAAQorWCHYG/RZsAQQsgIBCitYIdgb9FmwBhCyCAEKK1gh2Bv0WTAxASEDIQchEyEHIQMhA9P9vE4CpiP8Y/wDlyT9YUYCRQKK/kDKBbDM/m4AAAEAJwAABKcFsAAJAEAAsABFWLAELxuxBB8+WbAARViwAi8bsQIPPlmyCQQCERI5sAkvsgABCitYIdgb9FmwBBCyBgEKK1gh2Bv0WTAxASEDIxMhByEDIQPB/chr9/wDhCT9dEsCOQJp/ZcFsMz+TwABAGv/6gUWBcgAIQBbsh8iIxESOQCwAEVYsA0vG7ENHz5ZsABFWLADLxuxAw8+WbANELAQ0LANELITAQorWCHYG/RZsAMQshsBCitYIdgb9FmyIA0DERI5sCAvsh8BCitYIdgb9FkwMSUGBCcuAicmEhI3NhcWFhcnAicmBgcGBwYWFxY3EyE3IQSQUP7ctJDcgQkHQKV2oM7b9xDvFuOq2ygXAgaPia9xNv7cIgIXvWhrAgF/85t4AXQBIVJvBAT03AEBAQcF+euJV7POAgRbAR3AAAEAJwAABYcFsAALAFOyBwwNERI5ALAARViwBi8bsQYfPlmwAEVYsAovG7EKHz5ZsABFWLAALxuxAA8+WbAARViwBC8bsQQPPlmyCQYAERI5sAkvsgIBCitYIdgb9FkwMSEjEyEDIxMzAyETMwSK9nD9inD3/fdqAnZp9wKH/XkFsP2iAl4AAQA1AAACKAWwAAMAHQCwAEVYsAIvG7ECHz5ZsABFWLAALxuxAA8+WTAxISMTMwEr9v32BbAAAQAD/+cEYQWwAA4ANrIMDxAREjkAsABFWLAALxuxAB8+WbAARViwBS8bsQUPPlmyCAAFERI5sgsBCitYIdgb9FkwMQEzAwYEJyYmNxcGFxY2NwNr9q4f/uPRzNcK9g7AZI8VBbD8A9T4BATqxwHlBASGegABACcAAAVxBbAADABTALAARViwBC8bsQQfPlmwAEVYsAgvG7EIHz5ZsABFWLACLxuxAg8+WbAARViwCy8bsQsPPlmyAAQCERI5tGoAegACXbIGBAIREjm0ZQZ1BgJdMDEBBwMjEzMDNwEhAQEhAjPITff993WZAfYBPP14AZn+7AJzt/5EBbD9Y58B/v1v/OEAAAEAJwAAA8MFsAAFACgAsABFWLAELxuxBB8+WbAARViwAi8bsQIPPlmyAAEKK1gh2Bv0WTAxJSEHIRMzAUECgiT8iP33ysoFsAAAAQAnAAAGzgWwAA4AbgCwAEVYsAAvG7EAHz5ZsABFWLACLxuxAh8+WbAARViwBC8bsQQPPlmwAEVYsAgvG7EIDz5ZsABFWLAMLxuxDA8+WbIBAAQREjm0ZQF1AQJdsgcABBESObRqB3oHAl2yCgAEERI5tGoKegoCXTAxARMBIQMjExMBIwsCIxMCXtUCVwFE/PZVgf2ost9bUfb9BbD7pgRa+lAB7QJf+7QEbf1m/i0FsAAAAQAnAAAFhgWwAAkATLIBCgsREjkAsABFWLAFLxuxBR8+WbAARViwCC8bsQgfPlmwAEVYsAAvG7EADz5ZsABFWLADLxuxAw8+WbICBQAREjmyBwUAERI5MDEhIwEDIxMzARMzBInv/jm19/3vAce29gQT++0FsPvpBBcAAAIAa//nBSEFyAASACIARrIZIyQREjmwGRCwANAAsABFWLAKLxuxCh8+WbAARViwAC8bsQAPPlmwChCyGAEKK1gh2Bv0WbAAELIfAQorWCHYG/RZMDEFLgInJhISNzYXFgAXFgICBwYTNzYmJicmBgIHBhYXFhI3AleO13gIBzuXaa3j2AEBDAY5i2ey2gkGMndbfsN5CgqEhK3hIxQDgvedfQFOARNXjgQE/t73fP6//vNanAMYam25YQMElv7O57fSBAUBDvUAAgAnAAAFBAWwAAoAEwBNsgoUFRESObAKELAM0ACwAEVYsAMvG7EDHz5ZsABFWLABLxuxAQ8+WbILAQMREjmwCy+yAAEKK1gh2Bv0WbADELITAQorWCHYG/RZMDEBAyMTBTIEBwYEIyUFMjY3NiYnJQF8Xvf9AfjkAQQREv7K+/7vARuGqxEOb3D+zAId/eMFsAH5zdT5zAKIem+HBQEAAAIAZP8EBRoFyAAWACYARrIDJygREjmwAxCwJNAAsABFWLAOLxuxDh8+WbAARViwBS8bsQUPPlmwDhCyHAEKK1gh2Bv0WbAFELIjAQorWCHYG/RZMDElFwclBicmACcmEhI3NhceAhcWBwcCAzc2JiYnJgIDBhYWFxYSNwOr0K7/AFAv1f79DAY7nXOo2JDWegcECgw+rQkGM3hbxPEOBjR3WaXiKFbIivQMAQIBJPZ9AUkBHlmCBAOC+5xWVlf+bgHtam64YAMG/pf+uG+6YQMHAQDzAAACACcAAATYBbAADgAXAFqyBRgZERI5sAUQsBDQALAARViwBC8bsQQfPlmwAEVYsAIvG7ECDz5Zsg8CBBESObAPL7IBAQorWCHYG/RZsgsBDxESObACELAO0LAEELIXAQorWCHYG/RZMDEBIQMjEwUyFgcGBgcTByEBFzI2NzYmJyUClv7qYvf9Acvt/BELppbXAf76/lLvga0PD25w/vgCMf3PBbAB5MuNzzv9pg8C/AKHdHF5BAEAAQAk/+oEuwXHACkAYbIDKisREjkAsABFWLAKLxuxCh8+WbAARViwHy8bsR8PPlmyAx8KERI5sAoQsA7QsAoQshIBCitYIdgb9FmwAxCyGAEKK1gh2Bv0WbAfELAk0LAfELInAQorWCHYG/RZMDEBNicnJiY3PgIXHgIHJzYmJyYGBwYXFxYWBw4CJy4CNxcGFhcWNgNMFrNR4r4JCJn6jYjUcAT2B3N0daEOFL5L5bYLCo77l4/pfAX3CIqBeKEBfpBGHk/Yj3y9ZgMDccmBAXJ+AwJyYX9JG1Ldl3u3ZAIBdtGFAXyGAgJqAAABAJwAAAUiBbAABwAuALAARViwBi8bsQYfPlmwAEVYsAIvG7ECDz5ZsAYQsgABCitYIdgb9FmwBNAwMQEhAyMTITchBP7+SNn22v5LJARiBOT7HATkzAAAAQBb/+YFLwWwABIAPLIPExQREjkAsABFWLAALxuxAB8+WbAARViwCS8bsQkfPlmwAEVYsAQvG7EEDz5Zsg4BCitYIdgb9FkwMQEDBgAnJgI3NxMzAwYWFxY2NxMFL6Ui/rXr2v0LA6X2pRJ2e4e0GacFsPwz6f7sBAQBAM4mA878MYucBASakAPUAAABAJsAAAWBBbAABgA4sgAHCBESOQCwAEVYsAEvG7EBHz5ZsABFWLAFLxuxBR8+WbAARViwAy8bsQMPPlmyAAEDERI5MDEBASEBIwEhAlECGAEY/SDv/ukBBgE/BHH6UAWwAAEAtwAABzoFsAAMAGCyBQ0OERI5ALAARViwAS8bsQEfPlmwAEVYsAgvG7EIHz5ZsABFWLALLxuxCx8+WbAARViwAy8bsQMPPlmwAEVYsAYvG7EGDz5ZsgABAxESObIFAQMREjmyCgEDERI5MDEBATMBIwMBIwMzEwEzBLsBhPv91uxl/kjuYu8wAbfPAWoERvpQBCT73AWw+78EQQAAAf/DAAAFRwWwAAsAUwCwAEVYsAEvG7EBHz5ZsABFWLAKLxuxCh8+WbAARViwBC8bsQQPPlmwAEVYsAcvG7EHDz5ZsgABBBESObIGAQQREjmyAwAGERI5sgkGABESOTAxAQEhAQEhAwEhAQEhAqMBegEq/dsBPv7u3P58/tUCMf7JARADowIN/SP9LQIV/esC6QLHAAEAoQAABU0FsAAIADEAsABFWLABLxuxAR8+WbAARViwBy8bsQcfPlmwAEVYsAQvG7EEDz5ZsgABBBESOTAxAQEhAQMjEwEhAnMBvAEe/X5b+GD+yQEFAwACsPxb/fUCJQOLAAAB/+UAAATnBbAACQBEALAARViwBy8bsQcfPlmwAEVYsAIvG7ECDz5ZsgABCitYIdgb9FmyBAACERI5sAcQsgUBCitYIdgb9FmyCQUHERI5MDElIQchNwEhNyEHAToC7CT74x8Djf0yJAQAHsrKsAQ0zKwAAAH/7/68ArUGjgAHACIAsAQvsAcvsgABCitYIdgb9FmwBBCyAwEKK1gh2Bv0WTAxASMDMwchASECl5/+oB7+cwE5AY0F0PmpvQfSAAABAKz/gwLIBbAAAwATALACL7AARViwAC8bsQAfPlkwMRMzASOs4AE84AWw+dMAAf96/rwCQwaOAAcAJQCwAi+wAS+wAhCyBQEKK1gh2Bv0WbABELIGAQorWCHYG/RZMDETIQEhNzMTI7QBj/7H/nAeov6jBo74Lr0GVwAAAQBEAtkDLgWwAAYAJ7IABwgREjkAsABFWLADLxuxAx8+WbAA0LIBBwMREjmwAS+wBdAwMQEDIwEzEyMCFP3TAaCno70EpP41Atf9KQAAAf95/0EDFgAAAAMAGwCwAEVYsAMvG7EDDz5ZsgABCitYIdgb9FkwMQUhNyEC9PyFIgN7v78AAQDKBNECVgYAAAMAJACwAS+yDwEBXbAD0LADL7QPAx8DAl2yAAEDERI5GbAALxgwMQEjAzMCVrXX/gTRAS8AAAIAIv/oA9wEUAAgACsAhbIKLC0REjmwChCwJtAAsABFWLAYLxuxGBs+WbAARViwAC8bsQAPPlmwAEVYsAQvG7EEDz5ZsgIEGBESObIKGAAREjmwCi+wGBCyEAcKK1gh2Bv0WbITChAREjlACQwTHBMsEzwTBF2wBBCyIQEKK1gh2Bv0WbAKELImBworWCHYG/RZMDEhJjcGJyYmNzYkMxc3NicmJyYGBwc+AhcWFgcDBwYXByUWNjc3JyIGBwYWApMMAoabjbkGCAEY7JoOBgYUe0xzDe0HgNR2scYRUwgDEgH+IUuALSVxhqALCEsoPX0EArGIq8QCSicibAMCUUQCZJdUAgTNo/4FWjs4Eq4CSTrNAWVYQ00AAAIAEP/oBA8GAAARAB4AZLIEHyAREjmwBBCwG9AAsAkvsABFWLANLxuxDRs+WbAARViwBy8bsQcPPlmwAEVYsAQvG7EEDz5ZsgYNBxESObILDQcREjmwDRCyFQEKK1gh2Bv0WbAEELIaAQorWCHYG/RZMDEBBgIGJyYnByMBMwM2FxYWFxYnNCYnJgcDFhcWNjc2BAcUict/tVwm2QEK7mx5pp2xBQHsWlWPY04skXibFggCGKX+9YADBId2BgD90YEEBN7BPC9tewIEjv5AiAUDvq1VAAABADj/6QPuBFIAHABLsgAdHhESOQCwAEVYsBEvG7ERGz5ZsABFWLAILxuxCA8+WbIAAQorWCHYG/RZsgQRCBESObIVCBEREjmwERCyGAEKK1gh2Bv0WTAxJRY2NzcOAicuAjc3PgIXFhYVIzQmJyYGBwIB6FWDEuALhdBxi8RaDwMRleyQsNLeW1aLoAYHrQJnUwFrsGIDAoz3mCOd/4oEBOG0XXYEBPTe/vMAAgA7/+cEiAYAABIAHQBhsgQeHxESObAEELAb0ACwBy+wAEVYsAQvG7EEGz5ZsABFWLAJLxuxCQ8+WbAARViwDS8bsQ0PPlmyBgQJERI5sgsECRESObIWAQorWCHYG/RZsAQQshsBCitYIdgb9FkwMRM2EjYXFhcTMwEjNwYnJiYnJjcXBhYXFjcTJicmBkQUjM5+pV1o7v711BB+qpe1BwMG6QdbWolkUS+HiKYCHqcBCoMDBHcCLPoAcIkEAuW+PjtIfJICBIkB0X0EBPgAAAIAO//qBAIEUQAWAB8Ag7IRICEREjmwERCwF9AAsABFWLAJLxuxCRs+WbAARViwAC8bsQAPPlmyGgAJERI5sBovtL8azxoCXbRfGm8aAnG0HxovGgJxso8aAV207xr/GgJxsg0HCitYIdgb9FmwABCyEQEKK1gh2Bv0WbITCQAREjmwCRCyFwEKK1gh2Bv0WTAxBS4CNzc2EjYXFhIHByEGFhcWNxcGBgMmAwU3NicmJgH6jc9jDAMSneqJy8sZDv1XCXprmYF4RN4fvF4BwQQHBgtaFAOI7JEppQEHiAME/trsaIGeAgWKfmFrA6IG/vABFS4sR1IAAQBfAAADXgYaABUAY7IVFhcREjkAsABFWLAILxuxCCE+WbAARViwAy8bsQMbPlmwAEVYsBEvG7ERGz5ZsABFWLAALxuxAA8+WbADELIBAQorWCHYG/RZsAgQsg0BCitYIdgb9FmwARCwE9CwFNAwMTMTIzczNzY2FxYXByYjJgYHBzMHIwNjnaEgoBAa2609UBosLVVsDw/WINWdA4a0dKjEAgISvgoBXlNmtPx6AAAC//f+TwRCBFEAHAAqAIOyBCssERI5sAQQsCPQALAARViwCC8bsQgbPlmwAEVYsAQvG7EEGz5ZsABFWLAMLxuxDBE+WbAARViwGC8bsRgPPlmyBggYERI5sAwQshIBCitYIdgb9FmyEBIYERI5shYIGBESObAYELIiAQorWCHYG/RZsAQQsicBCitYIdgb9FkwMRM2EjYXFhc3FwMGBCcmJic3FhcWNjc3BicmJicmNwYXFhYXFjcTJicmBgdGE4nQhrJbJdizHv7X1XLMPn5fmXSnHBF9n5i3CQPzBgICXFWHZVU0hXikGQIeogEGiwIEf28B++TU+wYCZFKPgwQEh31MeQQC4r88PjM7anwDBYIB3ncEA8CtAAABAA0AAAP5BgAAEgBJsgETFBESOQCwES+wAEVYsAIvG7ECGz5ZsABFWLAGLxuxBg8+WbAARViwDy8bsQ8PPlmyAAIGERI5sAIQsgwBCitYIdgb9FkwMQE2FxYWBwMjEzYnJicmBwMjATMBl4esmpUTdO12BQMNg4Roh+0BCu4Dw44EAta9/UgCuyslegMChPz6BgAAAgAfAAACCQXYAAMADwA+sgQQERESObAEELAA0ACwAEVYsAIvG7ECGz5ZsABFWLAALxuxAA8+WbACELAN0LANL7IHDQorWCHYG/RZMDEhIxMzAzQ2NzYWFRQGBwYmAQztvO3LSD06TUs6OU4EOgEVN04CAks2OUoCAkkAAAL/DP5GAf4F2AAMABgASbIBGRoREjmwARCwDdAAsABFWLAALxuxABs+WbAARViwBC8bsQQRPlmyCQEKK1gh2Bv0WbAAELAW0LAWL7IQDQorWCHYG/RZMDEBAwYGJyYnNxYzMjcTEzQ2NzYWFRQGByImAcPHFryXQEcULiZ/GskdSDw6TUs6PEoEOvtnqLMCAhHAC5UElQEVOksCAkk4OUoCRwAAAQARAAAESgYAAAwAUwCwAEVYsAQvG7EEIT5ZsABFWLAILxuxCBs+WbAARViwAi8bsQIPPlmwAEVYsAsvG7ELDz5ZsgAIAhESObRqAHoAAl2yBggCERI5tGUGdQYCXTAxAQcDIwEzAzcBIQEBIQG/hjvtAQrtmFMBWAEv/iABPP7/Ac53/qkGAPyYVgFM/jL9lAABAB8AAAIXBgAAAwAdALAARViwAi8bsQIhPlmwAEVYsAAvG7EADz5ZMDEhIwEzAQztAQvtBgAAAAEAEAAABmgEUgAhAHeyFiIjERI5ALAARViwAy8bsQMbPlmwAEVYsAgvG7EIGz5ZsABFWLAALxuxABs+WbAARViwDC8bsQwPPlmwAEVYsBYvG7EWDz5ZsABFWLAfLxuxHw8+WbIBCAwREjmyBggMERI5sAgQshIBCitYIdgb9FmwHNAwMQEHNhcWFhc2FxYWBwMjEzYnJicmBwcDIxM2JyYnJgcDIxMBqRWGumaHGJbCnpkTde12BQQQhJNVA3zudgUEEISFWYntuwQ7c4oEAlpKqgQE0bz9QwK/LCV1AwSlFv0vArwrJXkDAnn87wQ6AAEADQAAA/oEUgASAFOyAhMUERI5ALAARViwAy8bsQMbPlmwAEVYsAAvG7EAGz5ZsABFWLAHLxuxBw8+WbAARViwEC8bsRAPPlmyAQMHERI5sAMQsg0BCitYIdgb9FkwMQEHNhcWFgcDIxM2JyYnJgcDIxMBpxiLtpiSE3XtdgUEDYGHZoftuwQ7f5YEA9O9/UUCvisldwMCh/z9BDoAAgA5/+gEJwRSABAAIABDshshIhESObAbELAE0ACwAEVYsAQvG7EEGz5ZsABFWLAMLxuxDA8+WbIUAQorWCHYG/RZsAQQshsBCitYIdgb9FkwMRM2EjYXHgIHBgIGJy4CNxcWFhcWNjc3NCYnJgcGBwZJEZnwkovKXQ4Qm/GTisleDewFZVp6pRUGZmGYWDUOCAIhnwEEjgQCkPqZrP74jQQCj/mWdGl/AwPCqGKAkgQEmV15VAAC/8f+YAQNBFIAEgAeAGeyBB8gERI5sAQQsB3QALAARViwDS8bsQ0bPlmwAEVYsAovG7EKGz5ZsABFWLAHLxuxBxE+WbAARViwBC8bsQQPPlmyCw0HERI5sA0QshcBCitYIdgb9FmwBBCyHAEKK1gh2Bv0WTAxAQYCBicmJwMjATcHNhceAhcWBzc2JicmBwMWFxY2BAUUhc1/qWFh7gEE2RJ8q2eYUQMB8gUDW1uGYlQtinahAhmi/viHAwR0/f0F2gFwhwQBZ8R4PT9JgY4CBH/+HXkEA74AAAIAO/5gBDgEUgASACAAa7IEISIREjmwBBCwGNAAsABFWLAILxuxCBs+WbAARViwBC8bsQQbPlmwAEVYsAkvG7EJET5ZsABFWLANLxuxDQ8+WbIGCA0REjmyCwgNERI5shcBCitYIdgb9FmwBBCyHQEKK1gh2Bv0WTAxEzYSNhcWFzcXASMTBicmJicmNzMHBhYXFjY3EyYnJgYHRBSOzn+sXCfW/vztYnmcm7QHAwbuBQNbWEtvLVg0gnKfHAIfqwEJfwMEfW0B+iYB/XUEAuO+PzxIh4sCA0U4Ae5yBAOypAABABAAAALvBFMADQBGsgkODxESOQCwAEVYsAgvG7EIGz5ZsABFWLALLxuxCxs+WbAARViwBS8bsQUPPlmwCxCyAgEKK1gh2Bv0WbIJCwUREjkwMQEmIyYHAyMTNwc2FzIXAtQuL5xcgu274RhvkSE6A1wKBIX9GwQ6AXuTAw8AAAEAHP/pA8QEUAAkAHSyIyUmERI5ALAARViwCC8bsQgbPlmwAEVYsBsvG7EbDz5ZsgMbCBESObILCBsREjmyHAsBXbILCwFdsAgQsg8BCitYIdgb9FmwAxCyEwEKK1gh2Bv0WbIeCBsREjm0BB4UHgJdsBsQsiIBCitYIdgb9FkwMQE2JCcmNzY2FxYWByc2JiciBgcGBBcWBw4CJyYmNxcWFhcyNgKXEf7dNc4HBf+yrNkC6wJWS09xCQ4BHETGBwV90nax6QLlAmRXWHUBLGNNF1i0kr8CAr6aAUtVAk4/W0ceV7lnmVEDAsqeAVdaAUkAAQA7/+0CrgVBABYAXLIWFxgREjkAsABFWLABLxuxARs+WbAARViwFC8bsRQbPlmwAEVYsA4vG7EODz5ZsAEQsADQsAAvsAEQsgMBCitYIdgb9FmwDhCyCQEKK1gh2Bv0WbADELAS0DAxAQMzByMDBhcWFzI3BwYjJiY3EyM3MxMCIy65H7pmAwIGSiUvEEpLfHsNZa0grC4FQf75tP2iGRRBAwm+FQKliAJqtAEHAAABAEr/6AQxBDoAEwBQsgEUFRESOQCwAEVYsAcvG7EHGz5ZsABFWLAQLxuxEBs+WbAARViwEi8bsRIPPlmwAEVYsAIvG7ECDz5ZsgAQEhESObINAQorWCHYG/RZMDElBicuAjcTMwMGFxYXFjcTMwMjAq17uWmLOwx17XYEAwpznWGI7bvea4MEAmSzeQK8/UElI3wFBoQDCvvGAAABAGQAAAQNBDoABgA4sgAHCBESOQCwAEVYsAEvG7EBGz5ZsABFWLAFLxuxBRs+WbAARViwAy8bsQMPPlmyAAUDERI5MDEBATMBIwMzAboBVv39687G7gE3AwP7xgQ6AAABAHcAAAX4BDoADABgsgUNDhESOQCwAEVYsAEvG7EBGz5ZsABFWLAILxuxCBs+WbAARViwCy8bsQsbPlmwAEVYsAMvG7EDDz5ZsABFWLAGLxuxBg8+WbIACwMREjmyBQsDERI5sgoLAxESOTAxAQEzASMDASMDMxMBMwPhASnu/ibDX/6ixGPgKQFWswFRAun7xgLk/RwEOv0iAt4AAAH/uQAABBMEOgALAFMAsABFWLABLxuxARs+WbAARViwCi8bsQobPlmwAEVYsAQvG7EEDz5ZsABFWLAHLxuxBw8+WbIACgQREjmyBgoEERI5sgMABhESObIJBgAREjkwMQETIQETIwMBIQEDMwH//wEV/mLx+Jf+9v7sAavp+ALYAWL94P3mAXH+jwIwAgoAAAH/tf5FBBIEOgAPAEOyABARERI5ALAARViwDy8bsQ8bPlmwAEVYsAEvG7EBGz5ZsABFWLAFLxuxBRE+WbIABQ8REjmyCQEKK1gh2Bv0WTAxAQEhAQInJic3FxY2NzcDMwG4AVQBBv1/hts2RRQrVnAmObX2AV4C3PsL/wADAhK8BANHS3AEJwAB/+cAAAPkBDoACQBEALAARViwBy8bsQcbPlmwAEVYsAIvG7ECDz5ZsgABCitYIdgb9FmyBAACERI5sAcQsgUBCitYIdgb9FmyCQUHERI5MDElIQchNwEhNyEHATgCJiL8qx4CiP39IwM3HcLCqwLLxKUAAAEAMP6ZAwUGQAAbADayDBwdERI5ALAOL7AARViwAC8bsQAXPlmyCQ4AERI5sAkvsggHCitYIdgb9FmyFAgJERI5MDEBJiY3NzYnJic3Njc3EiUXBgMHBgcWFg8CBhcBzZ6cExwFBA2GEccfHzkBYyPBIx0huUk2CR4DA4P+mTPwrswtJ3oLsgrd4AFQaI9G/vraxWA3oljmR6o6AAEAIP7yAdIFsAADABMAsAAvsABFWLACLxuxAh8+WTAxEyMBM8SkAQ6k/vIGvgAB/5n+lQJvBjsAHAA2shodHhESOQCwDi+wAEVYsBwvG7EcFz5ZshYOHBESObAWL7IXBworWCHYG/RZsgUXFhESOTAxBzY3NzY3JicmPwI0JzcWFgcHBhcWFwcGBwcCBWe4KSIjvnAOBQUeBIE3o5ASHAUEDYcSyB4fOf6d20D49MNbSpArLeZIqjmJNvGozC4mfAuyCtvf/qxmAAABAFsBfgTKAzQAFgA8sgUXGBESOQCwDi+wANCyAxcOERI5sAMvsA4QsggBCitYIdgb9FmwAxCwCtCwAxCyEwEKK1gh2Bv0WTAxAQYGJy4DIyYHIzY2Fx4DMzI2NwTKDMSUUX50QyGHIrsOx5FSgnBEH0RdEAMUrugEAkp0JAPAr9wEAkxyJGlcAAAC/+b+lAHOBFAAAwAOAD6yCw8QERI5sAsQsALQALAARViwDC8bsQwbPlmwAEVYsAIvG7ECFz5ZsAwQsgcNCitYIdgb9FmwAdCwAS8wMRMzAyMBFAYGJjU0Njc2Fq/MmvsB6Ep2TEo7Ok0Clvv+BTs5TQRKODlMAgJLAAEATP8LBAYFJgAhAFeyEiIjERI5ALAARViwFS8bsRUbPlmwAEVYsAcvG7EHDz5ZsgABCitYIdgb9FmyBAcVERI5sAcQsArQsBUQsBLQshkVBxESObAVELIcAQorWCHYG/RZMDElFjY3NwYGBwcjNy4CNzc2Ejc3MwcWFgcjNCYnJgIVFBYB9liAFN8O1qAvxDBriToOAhn2wS7DLoSTAt1cU4+pXK0CaFIBjccd6uwbk9+EFOUBIiLh4yHSm2FxBAb+9vBqfQAAAf/2AAAEpQXHACAAarIcISIREjkAsABFWLATLxuxEx8+WbAARViwBS8bsQUPPlmyHhMFERI5sB4vsgABCitYIdgb9FmwBRCyAwEKK1gh2Bv0WbAI0LAAELAL0LAeELAN0LATELAW0LATELIaAQorWCHYG/RZMDEBBwYHJQchNxc2NzcjNzM3PgIXFhYHJzYmJyYGBwchBwHuFhFZAqgk/AQkRWQcGJ0jlx8Qi9l/tMsI7wVSU1p/Dh0BLiMCVq6CXwPKyQIksrnH+3/HaQQE2bYBX2cEAoZw6scAAAIACP/lBX8E8QAcACwAP7IiLS4REjmwIhCwENAAsABFWLACLxuxAg8+WbAR0LARL7ACELIhBworWCHYG/RZsBEQsikHCitYIdgb9FkwMSUGJyYnByc3JicmEjcnNxc2FxYXNxcHFgcGBxcHAQYWFhcWNjY3NiYmJyYGBgPUtrzDh5h4mhsKE1hmc5dur7K5iKp5qT4UGoNvmPz4D0SaaXHRjxAPRJppctOMaYEEBHqEm4BVVpMBHHWbhY90BAJylJyOuafJnpWGAnJuyXkEBHnZd27HeAQEetQAAQBQAAAFOAWwABYAcgCwAEVYsBYvG7EWHz5ZsABFWLAMLxuxDA8+WbIADBYREjmwFhCwAdCyDwwWERI5sA8vsBPQsBMvtA8THxMCXbAE0LAEL7ATELISBAorWCHYG/RZsAbQsA8QsAfQsAcvsA8Qsg4ECitYIdgb9FmwCtAwMQEBIQEzByEHIQchAyMTITchNyE3IQEhAnoBoAEe/gf+G/6uGAFTG/6uNPc1/qgbAVcY/qgbARj+/gEFAzYCev02mIqX/tMBLZeKmALKAAAC/+z+8gH4BbAAAwAHABgAsAAvsABFWLAGLxuxBh8+WbIFAQMrMDEDEzMDEyMTMxSL34qo4ITg/vIDG/zlA8gC9gAC/9z+IwSxBcYALgA5AICyJzo7ERI5sCcQsDTQALAIL7AARViwHy8bsR8fPlmyAggfERI5sAgQsAzQsAgQsg8BCitYIdgb9FmyFQgfERI5shofCBESObAfELAj0LAfELImAQorWCHYG/RZsiwIHxESObAVELIzAQorWCHYG/RZsCwQsjkBCitYIdgb9FkwMQEGBxYHDgInJiY3MwYWFzI2NzYvAiQ3NjcmNzYkFxYWByc2JicmBwYHBgQXFiUGBwYfAjY3NicEUg7IYQ0Jj/CR4PsF8AZ+eHidDRW5kln+6xUOxmANDgEq49brCewGdGlyTlMOFgF8VOX9bnkUFrbDKIEUFsIBz7VpaKh5rFkDAuLFa3kCYlN4QTAjd/W4Z22ksNACBOTGAWx7AgIuMVqGcSt0IDd2iD1ADztygUQAAAIA0QTeA4MFzQAKABUAIgCwES+yDxEBXbILBQorWCHYG/RZsADQsBEQsAbQsAYvMDEBMhYVFAYHIiY0NiUyFhUUBgciJjQ2AUw2RkY1OEREAfI4REY1N0VFBc1DMTNFAkRgSAFEMDNFAkJkRgAAAwBe/+gF6QXHABsAKQA6AJWyLjs8ERI5sC4QsBLQsC4QsCfQALAARViwLy8bsS8fPlmwAEVYsDcvG7E3Dz5ZsgM3LxESObADL7QPAx8DAl2yCi83ERI5sAovtAAKEAoCXbIAAwoREjmyDgoDERI5shECCitYIdgb9FmwAxCyGQIKK1gh2Bv0WbA3ELIfCAorWCHYG/RZsC8QsiYICitYIdgb9FkwMQEGBicmJjc3NjYXFhYHJzYmJyYGBhUXFhYXFjcFFgAXFiQSJyYCJyYEAgc2EjYkFxYEEgcGAgQnJiQCBEMMuZmSpA4KE9CelZoEmAVIUV17HQIFS0KnH/09EwEBvLgBSbcSE/zAuf63uWIRieABDZCyAR6PFRbm/qW/tv7mkAJUlqgEBNinZbzcAgSpjwFaWQICjvgbLEtYAwe5GMz++wIE2wF3wcoBAQUE2v6JKJYBF9lvAwLF/qbEyf6ayAQExAFcAAACAL4CswNQBccAHQAnAGuyEigpERI5sBIQsB7QALAARViwFi8bsRYfPlmyBCgWERI5sAQvsADQsAAvsgoEFhESObAKL7AWELIQAgorWCHYG/RZsAoQsRIKK1jYG9xZsAQQsh4CCitYIdgb9FmwChCxIgorWNgb3FkwMQEmNwYjIiY3NjYzFzc2JyYnJgcnNjYXFhYHAwcGFyUyNzcjBgYHBhYCbgUCXW1qeQQCu6hoCwQBB0x3G6wLsYJ6jAo2BAEJ/rVFWhtTUmYIBzECvygeUnthc30BNRkWSwMEZw5vfQICln3+pTotL4I+igM+NSYs//8ASQCKA60DqQAmA4DsAAAHA4ABSAAAAAEAgAF2A8oDJQAFABoAsAQvsAHQsAEvsAQQsgIBCitYIdgb9FkwMQEjEyE3IQN/xC79lx8DKwF2AQSr//8ANgIJAlgCzQIGABEAAAAEAF7/6AXpBcgADwAfADgAQQCfsjpCQxESObA6ELAD0LA6ELAd0LA6ELA40ACwAEVYsAQvG7EEHz5ZsABFWLAMLxuxDA8+WbIUCAorWCHYG/RZsAQQshwICitYIdgb9FmyIQwEERI5sCEvsiQEDBESObAkL7QAJBAkAl2yICEkERI5sCAvsiAgAV2yOQgKK1gh2Bv0WbIpIDkREjmwIRCwMdCwJBCyQAgKK1gh2Bv0WTAxEzYSJBcWBBIHBgIEJyYkAjceAhcWJBI3NgImJyYEAgUDIxMFFhYHBgcWFxYGFxcHIyY3Njc2JicnFzY2NzYmJydzFt4BXsWyAR6PFRbm/qW/tv7mkIoMfsl+nAEnyRcVaeCYuf63uAG4NZSFAQSPlAUHiUkHAg0BBAGVBQIBDAYsQpCBSmUKCztZigLSxgFhzwQCxf6mxMn+msgEBMQBXCuD13YDBKQBLaufAR6mBATa/oxw/q8DUgEFhnF0TC5kH3kcPhIlJCFfP0QEiAECQzY7PQMBAAEA7wUSA8sFsAADABEAsAEvsgIDCitYIdgb9FkwMQEhNyEDsv09GQLDBRKeAAACAOQDrALkBccACwAXAC8AsABFWLADLxuxAx8+WbAP0LAPL7IJAgorWCHYG/RZsAMQshUCCitYIdgb9FkwMRM2NhcWFgcGBicmJjcGFjMyNjc2JiMiBuYCpG9jhgIEoGxmiIoGNjE3UAYGNS82VASvb6kCAplpcqMCApZrLElPNDFJVAACABsAAQQFBPwACwAPAEYAsAkvsABFWLANLxuxDQ8+WbAJELAA0LAJELIGAQorWCHYG/RZsAPQsA0Qsg4BCitYIdgb9FmyBQ4GERI5tAsFGwUCXTAxASEHIQMjEyE3IRMzEyE3IQK4AU0g/rQ90z3+pSABWTzTYfzHHwM5A4PH/nwBhMcBefsFxAABAFYCmwLxBb8AFwBZsggYGRESOQCwAEVYsA8vG7EPHz5ZsABFWLAALxuxABM+WbIWAgorWCHYG/RZsgIAFhESObIDDwAREjmwDxCyCAIKK1gh2Bv0WbIMDwAREjmyEw8AERI5MDEBITcBNjc2JiciBgcHNjYXFhYHBg8CBQKp/a0YAVZhDAcrKTpDDLYKr4J/kgUFlk+dAV8Cm4cBGVNDKS8BRzQBeZgCAoNofnc8bgIAAQBnAo0C+AW+ACQAb7IJJSYREjkAsABFWLANLxuxDR8+WbAARViwGC8bsRgTPlmyARgNERI5fLABLxiwDRCyBwIKK1gh2Bv0WbIKAQcREjmwARCyIwIKK1gh2Bv0WbITIwEREjmwGBCyHgIKK1gh2Bv0WbIcIx4REjkwMQEzNjY3NicnJgcHNjYXFhYHBgYHFgcGBicmJjUXFhcyNjc2JyMBWVM9TQcJShddHLoJpn2BmQUDSVJ2BAO8i32ZsQRqNlMHDXhcBGwCOC5DDQICTAFpegIDd2I7VyYpgW+CAgKDbQFZAjgvWQUAAQDIBNEC0gYAAAMAIwCwAi+yDwIBXbAA0LAAL7QPAB8AAl2wAhCwA9AZsAMvGDAxASEBIwG1AR3+xM4GAP7RAAH/3f5gBFQEOgATAFayDRQVERI5ALAARViwAC8bsQAbPlmwAEVYsAgvG7EIGz5ZsABFWLARLxuxERE+WbAARViwCi8bsQoPPlmwAEVYsA4vG7EODz5ZsgUBCitYIdgb9FkwMQEDBhcWFxY3EzMDIzcGJyInAyMBAc1mCAIFhZhaiu271w9ojGxSVuwBBAQ6/ZJVKJ0DBHwDE/vGVm4COf49BdoAAQB9AAAD3AWxAAoAK7ICCwwREjkAsABFWLAILxuxCB8+WbAARViwAC8bsQAPPlmyAQAIERI5MDEhEycmJjc2ADMFAwISWjjT5BQTASvhASz9AggBA//J0wEKAfpQAAEAngJCAbEDVQALABiyAwwNERI5ALADL7IJDQorWCHYG/RZMDETNDY3NhYVFAYHBiaeTTs9Tk48O04Cxj1OAgJPODtNAgJKAAH/0/49AS8ABAAOACmyAg8QERI5ALAAL7AHL7IIAgorWCHYG/RZsg0IABESObIBAA0REjkwMTcHFhYHBgYHNzY3NicnN8UTPj8BArKnAokQCVI4LQQ7DlU/bXcGjQZaPA0GiQABAOECoAKBBbMABgA5sgEHCBESOQCwAEVYsAUvG7EFHz5ZsABFWLAALxuxABM+WbIEBQAREjmwBBCyAwIKK1gh2Bv0WTAxASMTBzclMwH/tWPMGwFuFwKgAjYvmXMAAgC+Aq0DfQXIAA4AHABAshEdHhESObARELAO0ACwAEVYsAAvG7EAHz5ZsgcdABESObAHL7ISAgorWCHYG/RZsAAQshkCCitYIdgb9FkwMQEWFgcHBgYnJiY3Nz4CAwYWFxY2Nzc2JicmBgcCSpCjCwYP0pmNpwsGCmemcQhFRk9sDAgIRUZQbAsFxQTHmUKkzgQExJtCbqlb/klhbAICdWdGZGkCAnZkAP//AAIAigN1A6kAJgOBCQAABwOBAXMAAP//ALkAAAUqBasAJwPPAEwCmAAnA4MBFAAIAQcDzAKwAAAAEACwAEVYsAUvG7EFHz5ZMDH//wCxAAAFgAWuACcDgwDqAAgAJwPPAEQCmwEHA84DAgAAABAAsABFWLAJLxuxCR8+WTAx//8AlgAABZ8FvwAnA4MBnQAIACcDzAMlAAABBwPNAKICmwAQALAARViwIC8bsSAfPlkwMQAC/9L+egMjBFEAGAAkAGGyISUmERI5sCEQsALQALAARViwIi8bsSIbPlmwAEVYsBAvG7EQFz5ZsCIQshwNCitYIdgb9FmwANCwAC+yBBAAERI5sBAQsgkBCitYIdgb9FmyDBAAERI5shUAEBESOTAxAQYGBwcGBwYWFxY2NzMGBCcmJjc2Nzc2NwEUBgcGJjU0Njc2FgJrC1dfUngOC0pOU3MR7RH+/Ly3yQ0Pw21fFAEsSjo7TEo7OkwClnSrV0ptb1JgAgJlV7PTBATMqbOrXlaMATs7SwICSjg5TAICSgD///+kAAAErgc2AiYAJQAAAQcARAFbATYAEwCwAEVYsAQvG7EEHz5ZsAzcMDEA////pAAABMgHNgImACUAAAEHAHcB9gE2ABMAsABFWLAFLxuxBR8+WbAN3DAxAP///6QAAASuBzcCJgAlAAABBwFnAPIBNgATALAARViwBC8bsQQfPlmwD9wwMQD///+kAAAEyQcrAiYAJQAAAQcBbgEAATcACQCwBC+wFdwwMQD///+kAAAErgcDAiYAJQAAAQcAawEoATYADACwBC+wHNywC9AwMf///6QAAASuB5UCJgAlAAABBwFsAYwBagAMALAEL7AU3LAX0DAxAAL/hwAAB3gFsAAPABIAdwCwAEVYsAYvG7EGHz5ZsABFWLAALxuxAA8+WbAARViwBC8bsQQPPlmyEQYAERI5sBEvsgIBCitYIdgb9FmwBhCyCAEKK1gh2Bv0WbILBgAREjmwCy+yDAEKK1gh2Bv0WbAAELIOAQorWCHYG/RZshIGABESOTAxISETIQMhASEHIQMhByEDIQEhEwa3/Jks/iHu/tgEJgPLI/2ONwIVI/30PAKE+1gBZlUBVP6sBbDF/mjF/jYBZwJ6AP//AGX+OAUNBccCJgAnAAAABwB7Abr/+///ACcAAAS6Bz0CJgApAAABBwBEASMBPQATALAARViwBi8bsQYfPlmwDdwwMQD//wAnAAAEugc9AiYAKQAAAQcAdwG+AT0AEwCwAEVYsAYvG7EGHz5ZsA7cMDEA//8AJwAABLoHPgImACkAAAEHAWcAugE9ABMAsABFWLAGLxuxBh8+WbAR3DAxAP//ACcAAAS6BwoCJgApAAABBwBrAPABPQAMALAGL7Ad3LAM0DAx//8ANQAAAjIHPQImAC0AAAEHAET/3AE9ABMAsABFWLACLxuxAh8+WbAF3DAxAP//ADUAAANIBz0CJgAtAAABBwB3AHYBPQATALAARViwAy8bsQMfPlmwBtwwMQD//wA1AAADEgc+AiYALQAAAQcBZ/9zAT0AEwCwAEVYsAIvG7ECHz5ZsAjcMDEA//8ANQAAAywHCgImAC0AAAEHAGv/qQE9AAwAsAIvsBXcsATQMDEAAv//AAAE/gWwAA8AHgBpsh4fIBESObAeELAO0ACwAEVYsAUvG7EFHz5ZsABFWLAALxuxAA8+WbIDAAUREjl8sAMvGLICBworWCHYG/RZsBHQsAAQshMBCitYIdgb9FmwBRCyHAEKK1gh2Bv0WbADELAd0LAe0DAxMxMjNzMTBTIEEgcHBgIEIxMjAxcyJDc2JyYmJycDM0Vxtx62bgGKtgEHdhcLHs3+vMKf3U6SxgEFJRoHCZeGuUveAoyqAnoBtf7BwE/J/smsAoz+PgH73ZhxkaQEAf5SAP//ACcAAAWGBysCJgAyAAABBwFuASgBNwAJALAFL7AU3DAxAP//AGv/5wUhBzYCJgAzAAABBwBEAXIBNgATALAARViwCi8bsQofPlmwJNwwMQD//wBr/+cFIQc2AiYAMwAAAQcAdwINATYACQCwCi+wJdwwMQD//wBr/+cFIQc3AiYAMwAAAQcBZwEJATYACQCwCi+wJNwwMQD//wBr/+cFIQcrAiYAMwAAAQcBbgEXATcACQCwCi+wLdwwMQD//wBr/+cFIQcDAiYAMwAAAQcAawE/ATYADACwCi+wNNywI9AwMQABACMA1gQUBIYACwA4ALADL7IJDAMREjmwCS+yCgkDERI5sgQDCRESObIBCgQREjmwAxCwBdCyBwQKERI5sAkQsAvQMDETAQM3EwEXARMHAwEjAWv7nvoBan/+lfue+/6XAXcBQQFDi/6/AUGh/r/+vYsBQP7AAAADABX/oQWYBe0AFwAhACsAVbIeLC0REjmwHhCwC9CwHhCwJ9AAsABFWLAMLxuxDB8+WbAARViwAC8bsQAPPlmyJwEKK1gh2Bv0WbAl0LAa0LAMELIdAQorWCHYG/RZsBvQsCTQMDEFJicHJzcmNzcSEiQXFhc3MwcWFxYCAgQBBhcBJicmAgcGATYnARYXFhI3NwJXnHt2tcJsAgMTwQE1vr6AcLPEOA4RSsn+5P5hAxQCfT6BpuIpGgLQBQb9kz9gsOMkERUESZcB8LDiTwEMAX7KAgRjj/R5gKr+Zf7ImwIiVVMDP04FBf8A6ZUBEEZH/NYyAgUBF/p5AP//AFv/5gUvBzYCJgA5AAABBwBEAUoBNgATALAARViwCi8bsQofPlmwFNwwMQD//wBb/+YFLwc2AiYAOQAAAQcAdwHlATYAEwCwAEVYsBIvG7ESHz5ZsBXcMDEA//8AW//mBS8HNwImADkAAAEHAWcA4QE2ABMAsABFWLAKLxuxCh8+WbAX3DAxAP//AFv/5gUvBwMCJgA5AAABBwBrARcBNgAWALAARViwCi8bsQofPlmwJNywGdAwMf//AKEAAAVNBzYCJgA9AAABBwB3Ab0BNgATALAARViwAS8bsQEfPlmwC9wwMQAAAgAnAAAEggWwAAwAFQBXsg8WFxESObAPELAI0ACwAEVYsAAvG7EAHz5ZsABFWLAKLxuxCg8+WbICAAoREjmwAi+yDwAKERI5sA8vsggBCitYIdgb9FmwAhCyFQEKK1gh2Bv0WTAxAQMXFhYHBgQjJwMjExMDFzY2NzYmJwIRMcve+Q8Q/s3r/DXt/ZtV4YCsDw5wagWw/ugBAerCy/QB/tQFsP4l/hoCAolxa3wEAAABABv/5wRMBhoALQBYsiEuLxESOQCwAEVYsAUvG7EFIT5ZsABFWLAALxuxAA8+WbAARViwFS8bsRUPPlmyDgUVERI5shoBCitYIdgb9FmyIBUFERI5sAUQsioBCitYIdgb9FkwMSEjEzYkFxYWBw4DBwYeAgcGBicmJzcWMzI2NzYmJyY3PgM3NiYnJgYHAQjtvRwBAMinvg0EJGAcBwguiDUCCfi9q3FEZ2xYdgsIMkZ+CQQyPDQHCUVGWnUUBFHS9wQEvZwxV5pCJjFmmW44rcUEAkHBQllJNGZLhm85XVlcN0xcBAODh///ACL/6APcBgACJgBFAAABBwBEALMAAAATALAARViwGC8bsRgbPlmwLdwwMQD//wAi/+gEIAYAAiYARQAAAQcAdwFOAAAAEwCwAEVYsBgvG7EYGz5ZsC7cMDEA//8AIv/oA+kGAQImAEUAAAEGAWdKAAATALAARViwGC8bsRgbPlmwMNwwMQD//wAi/+gEIQX1AiYARQAAAQYBblgBABMAsABFWLAYLxuxGBs+WbAv3DAxAP//ACL/6AQDBc0CJgBFAAABBwBrAIAAAAAWALAARViwGC8bsRgbPlmwMtywPdAwMf//ACL/6APcBl8CJgBFAAABBwFsAOQANAAWALAARViwGC8bsRgbPlmwNdywO9AwMQADAA//6AZwBFIAKwA1AD4A+LICP0AREjmwAhCwL9CwAhCwOdAAsABFWLAdLxuxHRs+WbAARViwGS8bsRkbPlmwAEVYsAAvG7EADz5ZsABFWLAFLxuxBQ8+WbIDHQAREjmyCwUZERI5sAsvsBkQshEBCitYIdgb9FmyFAsRERI5QAkMFBwULBQ8FARdshsdABESObI6HQAREjmwOi+0HzovOgJxso86AV20XzpvOgJxtL86zzoCXbTvOv86AnGyIQcKK1gh2Bv0WbAAELIlAQorWCHYG/RZsigdABESObAFELIsBworWCHYG/RZsAsQsjAHCitYIdgb9FmwHRCyNgEKK1gh2Bv0WTAxBSImJwYnJiY3NiQzFzc2JyYnJgYHJz4CFxYXNhcWEgcHIQYWFxY2NxcGBiUyNzcnBgYHBhYBJgYHITc2JyYEanO8Naz9mrQICgEF5r8NBgQRd1d3De0He9t711qbucLHGhX9Yw53c1WXSjpB0/y2coooqWuRDAlOA41gki4BtgYHBA4TU0ykBAKvk6GyAkomInUDAlRJE2KZUwIFgIgEBv7y1o2InQICNSeoOT64ZtIBA15PP0gC5wOHhyEtKo0A//8AOP44A+4EUgImAEcAAAAHAHsBPP/7//8AO//qBAIGAAImAEkAAAEHAEQAnAAAABMAsABFWLAJLxuxCRs+WbAh3DAxAP//ADv/6gQJBgACJgBJAAABBwB3ATcAAAATALAARViwCS8bsQkbPlmwItwwMQD//wA7/+oEAgYBAiYASQAAAQYBZzMAABMAsABFWLAJLxuxCRs+WbAk3DAxAP//ADv/6gQCBc0CJgBJAAABBgBraQAAFgCwAEVYsAkvG7EJGz5ZsCbcsDHQMDH//wAiAAAB5wX5AiYA9AAAAQYARJH5ABMAsABFWLACLxuxAhs+WbAF3DAxAP//ACIAAAL9BfkCJgD0AAABBgB3K/kAEwCwAEVYsAMvG7EDGz5ZsAbcMDEA//8AIgAAAscF+gImAPQAAAEHAWf/KP/5ABMAsABFWLACLxuxAhs+WbAI3DAxAP//ACIAAALhBcYCJgD0AAABBwBr/17/+QAWALAARViwAi8bsQIbPlmwCtywFdAwMQACAEb/6ARKBiwAHgAqAF6yECssERI5sBAQsCjQALAARViwGi8bsRohPlmwAEVYsAgvG7EIDz5ZshAaCBESObAQL7AaELIZAQorWCHYG/RZsBAQsiEHCitYIdgb9FmwCBCyJwEKK1gh2Bv0WTAxARYSBwcGAgYnLgI3PgIXFhcmJwcnNyYnNxYXNxcBJicmBgcGFhcWNjcDpVtBFwwXqOyJf8VgDA2I4IWKawRg4D+4W6Vb3pTJPv74NpN/qxAOaWJ2oxkFFJv+vLNWp/7siQMEgNyBkPCGBARZmYqIeWxJMMI2g3p5/TlhBQK2k3ilAwXQrQD//wANAAAEJwX1AiYAUgAAAQYBbl4BABMAsABFWLADLxuxAxs+WbAW3DAxAP//ADn/6AQnBgACJgBTAAABBwBEALAAAAATALAARViwBC8bsQQbPlmwItwwMQD//wA5/+gEJwYAAiYAUwAAAQcAdwFLAAAAEwCwAEVYsAQvG7EEGz5ZsCPcMDEA//8AOf/oBCcGAQImAFMAAAEGAWdHAAATALAARViwBC8bsQQbPlmwJdwwMQD//wA5/+gEJwX1AiYAUwAAAQYBblUBABMAsABFWLAELxuxBBs+WbAk3DAxAP//ADn/6AQnBc0CJgBTAAABBgBrfQAADACwBC+wMtywIdAwMQADAD0AkAQ6BM8AAwAPABsAUrIYHB0REjmwGBCwANCwGBCwBtAAsAMvsgABCitYIdgb9FmwAxCxDQorWNgb3FmyBw0KK1gh2Bv0WbAAELETCitY2BvcWbIZDQorWCHYG/RZMDEBITchATQ2NzYWFRQGBwYmAzQ2NzYWFRQGBwYmBBT8KSUD2P3CTjo9Tks+O0+OTD05UUw9OVECRtQBKT1LAgJMODlOAgJI/Qo5UAICSTw7SwICSAAAAwAq/3cEMwS7ABsAJAAuAFWyKy8wERI5sCsQsBHQsCsQsCLQALAARViwBS8bsQUbPlmwAEVYsBIvG7ESDz5ZsioBCitYIdgb9FmwKNCwHtCwBRCyIQEKK1gh2Bv0WbAf0LAn0DAxEzY2NzYXFhc3FwcWFxYHBgIGJyYnByc3JicmNxcGFwEmJyYGBiU2JwEWFxY2NzZED15OnN9eX2GbknAHAggUm/SUVltlm5J2CAMH4QEUAZQmNWSXUAIQARL+cCgqeaseDAIgdtNOnQQCI5AB0oTDOlOf/v6LAgIflAHRgsc9PHw/PQJnEwIBgfGDPDz9oQ4CA76vVAD//wBK/+gEMQYAAiYAWQAAAQcARAC1AAAAEwCwAEVYsAgvG7EIGz5ZsBXcMDEA//8ASv/oBDEGAAImAFkAAAEHAHcBUAAAAAkAsAcvsBbcMDEA//8ASv/oBDEGAQImAFkAAAEGAWdMAAAJALAHL7AV3DAxAP//AEr/6AQxBc0CJgBZAAABBwBrAIIAAAAMALAHL7Al3LAU0DAx////tf5FBBIGAAImAF0AAAEHAHcBGgAAAAkAsAEvsBLcMDEAAAL/zf5gBBQGAAARAB0AVrIEHh8REjmwBBCwHNAAsAkvsABFWLANLxuxDRs+WbAARViwBy8bsQcRPlmwAEVYsAQvG7EEDz5ZsA0QshYBCitYIdgb9FmwBBCyGwEKK1gh2Bv0WTAxAQYCBicmJwMjATMDNhcWFhcWBzc2JicmBwMWFxY2BAwUiM19qGJh7gFT7Wp6o52xBQHzBQNaXYViVS+JdqECGKT+94QDBHX9/Qeg/dZ8BATewTxBSn+NBAR//h15BAO+////tf5FBBIFzQImAF0AAAEGAGtMAAAMALABL7Ah3LAQ0DAx////pAAABMUG6gImACUAAAEHAHIA+gE6ABMAsABFWLAELxuxBB8+WbAM3DAxAP//ACL/6AQdBbQCJgBFAAABBgByUgQACQCwGC+wLNwwMQD///+kAAAErgcdAiYAJQAAAQcBagEwATYACQCwBC+wDtwwMQD//wAi/+gD9AXnAiYARQAAAQcBagCIAAAACQCwGC+wL9wwMQAAAv+k/lEErgWwABcAGgB3shUbHBESObAVELAa0ACwAEVYsBUvG7EVHz5ZsABFWLALLxuxCxE+WbAARViwEy8bsRMPPlmwAEVYsBcvG7EXDz5ZsAsQsgYDCitYIdgb9FmwFxCwENCwEC+yGRMVERI5sBkvshEBCitYIdgb9FmyGhUTERI5MDEhFwcGBwYXFjcXBiciJjc2NwMhAyEBMwEBIQMEcQUvgwcFOBs9DEVVV2kCA7Q2/d+u/vYDEt4BGv0WAZhjAx9WVjkDAReQKwJtVJVpAUH+rQWw+lACHwJaAAACACL+UQPcBFAAMAA7AJuyGjw9ERI5sBoQsDbQALAARViwKC8bsSgbPlmwAEVYsAsvG7ELET5ZsABFWLAALxuxAA8+WbAARViwFC8bsRQPPlmwABCwENCwEC+yEigAERI5shoUKBESObAaL7AoELIgBworWCHYG/RZsiQaIBESOUAJDCQcJCwkPCQEXbAUELIxAQorWCHYG/RZsBoQsjYHCitYIdgb9FkwMSEXBwYHBhcWNxcGJyImNzY3JzUGJyYmNzYkMxc3NicmJyYGBwc+AhcWFgcDBwYXByUWNjc3JyIGBwYWA0oFL4MHBTgbPQxFVVdpAgO1BIabjbkGCAEY7JoOBgYUe0xzDe0HgNR2scYRUwgDEgH+IUuALSVxhqALCEsDH1ZWOQMBF5ArAm1UlmkpKX0EArGIq8QCSicibAMCUUQCZJdUAgTNo/4FWjs4Eq4CSTrNAWVYQ00A//8AZf/oBQ0HSwImACcAAAEHAHcB+AFLAAkAsAwvsCHcMDEA//8AOP/pA/MGAAImAEcAAAEHAHcBIQAAAAkAsBEvsB/cMDEA//8AZf/oBQ0HTAImACcAAAEHAWcA9AFLAAkAsAwvsCDcMDEA//8AOP/pA+4GAQImAEcAAAEGAWcdAAAJALARL7Ae3DAxAP//AGX/6AUNBywCJgAnAAABBwFrAdUBVAAJALAML7An3DAxAP//ADj/6QPuBeECJgBHAAABBwFrAP4ACQAJALARL7Al3DAxAP//AGX/6AUNB1ACJgAnAAABBwFoAQsBSwAJALAML7Aj3DAxAP//ADj/6QPwBgUCJgBHAAABBgFoNAAACQCwES+wIdwwMQD//wAnAAAE4AdCAiYAKAAAAQcBaACbAT0AEwCwAEVYsAEvG7EBHz5ZsBzcMDEA//8AO//nBdUGAgAmAEgAAAAHA6sEvwT8AAL//wAABP4FsAAPAB4AabIeHyAREjmwHhCwDtAAsABFWLAFLxuxBR8+WbAARViwAC8bsQAPPlmyAwAFERI5fLADLxiyAgcKK1gh2Bv0WbAR0LAAELITAQorWCHYG/RZsAUQshwBCitYIdgb9FmwAxCwHdCwHtAwMTMTIzczEwUyBBIHBwYCBCMTIwMXMiQ3NicmJicnAzNFcbcetm4BirYBB3YXCx7N/rzCn91OksYBBSUaBwmXhrlL3gKMqgJ6AbX+wcBPyf7JrAKM/j4B+92YcZGkBAH+UgAAAgA7/+cFGQYAABoAJQCMsgUmJxESObAFELAj0ACwFy+wAEVYsBAvG7EQGz5ZsABFWLADLxuxAw8+WbAARViwBi8bsQYPPlmyLxcBXbIPFwFdshYXAxESObAWL7ITBworWCHYG/RZsAHQsgQGEBESObISEAYREjmwFhCwGdCwBhCyHgEKK1gh2Bv0WbAQELIjAQorWCHYG/RZMDEBIwMjNwYnJiYnJjc3NhI2FxYXNyM3MzczBzMBBhYXFjcTJicmBgT7qdXUEH6ql7UHAwYDFIzOfqVdLvAe8RvuGar8EQdbWolkUS+HiKYEyfs3cIkEAuW+PjsVpwEKgwMEd/WqjY38TnySAgSJAdF9BAT4AP//ACcAAAS6BvECJgApAAABBwByAMIBQQATALAARViwBi8bsQYfPlmwDdwwMQD//wA7/+oEBgW0AiYASQAAAQYAcjsEAAkAsAkvsCDcMDEA//8AJwAABLoHJAImACkAAAEHAWoA+AE9AAkAsAYvsA/cMDEA//8AO//qBAIF5wImAEkAAAEGAWpxAAAJALAJL7Aj3DAxAP//ACcAAAS6Bx4CJgApAAABBwFrAZsBRgAJALAGL7AU3DAxAP//ADv/6gQCBeECJgBJAAABBwFrARQACQAJALAJL7Ao3DAxAAABACf+UQS6BbAAHACAshEdHhESOQCwAEVYsBcvG7EXHz5ZsABFWLAQLxuxEBE+WbAARViwBC8bsQQPPlmwAEVYsBUvG7EVDz5ZshsVFxESObAbL7IBAQorWCHYG/RZsBUQsgIBCitYIdgb9FmwA9CwEBCyCwMKK1gh2Bv0WbAXELIZAQorWCHYG/RZMDEBIQMhByMXBwYHBhcWNxcGJyImNzY3IRMhByEDIQPT/bxOAqYjcQUvgwcFOBs9DEVVV2kCA5b9sPwDlyT9YUYCRQKK/kDKAx9WVjkDAReQKwJtVIxgBbDM/m4AAgA8/mwECARRACMALAChsgYtLhESObAGELAk0ACwAEVYsBkvG7EZGz5ZsABFWLAMLxuxDBE+WbAARViwES8bsREPPlmwA9CyJi0ZERI5sCYvso8mAV20HyYvJgJxtJ8mryYCcbRfJm8mAnG0vybPJgJdtO8m/yYCcbQvJj8mAnKyHQcKK1gh2Bv0WbARELIhAQorWCHYG/RZsiMRGRESObAZELIkAQorWCHYG/RZMDElBgcHBgcGFxY3FwYnIiY3NjcmAjc3NhI2FxYSBwchBhYXFjcDJgMFNzYnJiYDplWNMW0IBTgbPQxFVVdpAgJgt8wRAxKd6onLyxkO/VcJemuZgcm8XgHBBAcGC1q2eDIhTFI5AwEXkCsCbVRtVRkBHM4ppQEHiAME/trsaIGeAgWKAlgG/vABFS4sR1L//wAnAAAEugdCAiYAKQAAAQcBaADRAT0AEwCwAEVYsAYvG7EGHz5ZsBHcMDEA//8AO//qBAYGBQImAEkAAAEGAWhKAAAJALAJL7Ak3DAxAP//AGv/6gUWB0wCJgArAAABBwFnAPEBSwAJALANL7Aj3DAxAP////f+TwRCBgECJgBLAAABBgFnPgAACQCwBC+wLNwwMQD//wBr/+oFFgcyAiYAKwAAAQcBagEvAUsACQCwDS+wJdwwMQD////3/k8EQgXnAiYASwAAAQYBanwAAAkAsAQvsC7cMDEA//8Aa//qBRYHLAImACsAAAEHAWsB0gFUAAkAsA0vsCrcMDEA////9/5PBEIF4QImAEsAAAEHAWsBHwAJAAkAsAQvsDPcMDEA//8Aa/35BRYFyAImACsAAAAHA6sBbv6S////9/5PBEIGqwImAEsAAAEHA+0BNAB+AAkAsAQvsC/cMDEA//8AJwAABYcHPgImACwAAAEHAWcBEgE9ABMAsABFWLAHLxuxBx8+WbAQ3DAxAP//AA0AAAP5B14CJgBMAAABBwFnAFIBXQAJALARL7AU3DAxAAACAC4AAAXbBbAAEwAXAGsAsABFWLAPLxuxDx8+WbAARViwCC8bsQgPPlmyFAgPERI5sBQvshAUDxESObAQL7AA0LAQELIXBworWCHYG/RZsAPQsAgQsAXQsBQQsgcBCitYIdgb9FmwFxCwCtCwEBCwDdCwDxCwEtAwMQEzByMDIxMhAyMTIzczEzMDIRMzASE3IQVffB17s/Zw/Ypw9rN4HHgt9y4Cdi32/CsCdiH9igSuovv0Aof9eQQMogEC/v4BAv2iugABACsAAAQXBgAAGgB0sgMbHBESOQCwGC+wAEVYsAQvG7EEGz5ZsABFWLARLxuxEQ8+WbAARViwCS8bsQkPPlmyLxgBXbIPGAFdshoRGBESObAaL7IBBworWCHYG/RZsgIRBBESObAEELIOAQorWCHYG/RZsAEQsBPQsBoQsBbQMDEBIwM2FxYWBwMjEzYnJicmBwMjEyM3MzczBzMCy+Qyh6yalRN07XYFAw2DhGiH7dS/Hr4Z7hziBMf+/I4EAta9/UgCuyslegMChPz6BMeqj48A//8ANQAAA0oHMgImAC0AAAEHAW7/gQE+AAkAsAIvsA7cMDEA//8AFAAAAv8F7gImAPQAAAEHAW7/Nv/6AAkAsAIvsA7cMDEA//8ANQAAA0YG8QImAC0AAAEHAHL/ewFBABMAsABFWLACLxuxAh8+WbAF3DAxAP//AB8AAAL7Ba0CJgD0AAABBwBy/zD//QATALAARViwAi8bsQIbPlmwBdwwMQD//wA1AAADHQckAiYALQAAAQcBav+xAT0ACQCwAi+wB9wwMQD//wAiAAAC0gXgAiYA9AAAAQcBav9m//kACQCwAi+wB9wwMQD///+O/lcCKAWwAiYALQAAAAYBbeYG////dv5RAgkF2AImAE0AAAAGAW3OAP//ADUAAAJUBx4CJgAtAAABBwFrAFMBRgAJALACL7AM3DAxAAABACIAAAHLBDoAAwAdALAARViwAi8bsQIbPlmwAEVYsAAvG7EADz5ZMDEhIxMzAQ/tvO0EOv//ADX/5wacBbAAJgAtAAAABwAuAjsAAP//AB/+RgQDBdgAJgBNAAAABwBOAgUAAP//AAP/5wUxBzcCJgAuAAABBwFnAZIBNgAJALAAL7AQ3DAxAP///w/+SALHBd8CJgFkAAABBwFn/yj/3gATALAARViwDC8bsQwbPlmwEdwwMQD//wAn/fkFcQWwAiYALwAAAAcDqwFf/pL//wAR/fkESgYAAiYATwAAAAcDqwDu/pIAAQAhAAAEjQQ6AAwAXwCwAEVYsAQvG7EEGz5ZsABFWLAILxuxCBs+WbAARViwAi8bsQIPPlmwAEVYsAsvG7ELDz5ZsgYCBBESObAGL7QfBi8GAnGyjwYBXbIBAQorWCHYG/RZsgoBBhESOTAxASMDIxMzAzMBIQEBIQHLc0vsvOxLSAGRATb+BwFF/uUBrP5UBDr+UAGw/ef93wD//wAnAAADwwc2AiYAMAAAAQcAdwBqATYAEwCwAEVYsAUvG7EFHz5ZsAjcMDEA//8AHwAAAz0HkQImAFAAAAEHAHcAawGRABMAsABFWLADLxuxAyE+WbAG3DAxAP//ACf9+QPDBbACJgAwAAAABwOrASX+kv///6L9+QIXBgACJgBQAAAABwOr/9P+kv//ACcAAAPfBbECJgAwAAABBwOrAskEqwAQALAARViwCi8bsQofPlkwMf//AB8AAAN0BgIAJgBQAAABBwOrAl4E/AAGALAILzAx//8AJwAAA8MFsAImADAAAAAHAWsBXP3U//8AHwAAAvMGAAAmAFAAAAAHAWsA8v2vAAEAIQAAA9IFsAANAFsAsABFWLAMLxuxDB8+WbAARViwBi8bsQYPPlmyAQwGERI5sAEvsADQsAEQsgIHCitYIdgb9FmwA9CwBhCyBAEKK1gh2Bv0WbADELAI0LAJ0LAAELAL0LAK0DAxATcHBwMhByETBzc3EzMBxfAc71oCgiP8h3CFG4Vy9wNsRptH/frKAoImmycCkgAAAQAfAAACWwYAAAsASgCwAEVYsAovG7EKIT5ZsABFWLAELxuxBA8+WbIBBAoREjmwAS+wANCwARCyAgcKK1gh2Bv0WbAD0LAG0LAH0LAAELAJ0LAI0DAxATcHBwMjEwc3NxMzAcKZHJiA7nKMHIp/7QN/NJw1/R4Ciy+cLwLZAP//ACcAAAWGBzYCJgAyAAABBwB3Ah4BNgATALAARViwCC8bsQgfPlmwDNwwMQD//wANAAAEJgYAAiYAUgAAAQcAdwFUAAAACQCwAy+wFdwwMQD//wAn/fkFhgWwAiYAMgAAAAcDqwGQ/pL//wAN/fkD+gRSAiYAUgAAAAcDqwD6/pL//wAnAAAFhgc7AiYAMgAAAQcBaAExATYAEwCwAEVYsAYvG7EGHz5ZsA/cMDEA//8ADQAABCMGBQImAFIAAAEGAWhnAAAJALADL7AX3DAxAP//AA0AAAP6BgMCJgBSAAABBwOrAEAE/QAGALAXLzAxAAEAI/5GBXgFsAATAGeyBhQVERI5ALAARViwAC8bsQAfPlmwAEVYsBAvG7EQHz5ZsABFWLAELxuxBBE+WbAARViwDC8bsQwPPlmwAEVYsA4vG7EODz5ZsAQQsgkBCitYIdgb9FmyDQAMERI5shIOABESOTAxAQEGBiciJzcWMzI3NwEDIxMzARMFeP7/GNelO0wjNimBIgf+SLf2/e4Bu7cFsPoYtswCFMYOxCgEH/vhBbD74gQeAAABABH+RgQGBFIAGwBhsgIcHRESOQCwAEVYsAMvG7EDGz5ZsABFWLAALxuxABs+WbAARViwCi8bsQoRPlmwAEVYsBkvG7EZDz5ZsgEDGRESObAKELIPAQorWCHYG/RZsAMQshYBCitYIdgb9FkwMQEHNhcWFgcDBgYnJic3FjMyNxM2JyYnJgcDIxMBpReGu6GWFnYY0KNBRCM5J4EfdgUCB4uDZY3uvAQ7mK8EA+bE/SC1xgIBE8UPuwLTLSmMBQRq/N8EOv//AGv/5wUhBuoCJgAzAAABBwByAREBOgAJALAKL7Aj3DAxAP//ADn/6AQnBbQCJgBTAAABBgByTwQACQCwBC+wIdwwMQD//wBr/+cFIQcdAiYAMwAAAQcBagFHATYACQCwCi+wJtwwMQD//wA5/+gEJwXnAiYAUwAAAQcBagCFAAAACQCwBC+wJNwwMQD//wBr/+cFdwc1AiYAMwAAAQcBbwGOATYADACwCi+wJdywJ9AwMf//ADn/6AS1Bf8CJgBTAAABBwFvAMwAAAAMALAEL7Aj3LAl0DAxAAIAUP/uB4oFxQAXACUAkbIbJicREjmwGxCwFtAAsABFWLAMLxuxDB8+WbAARViwDi8bsQ4fPlmwAEVYsAMvG7EDDz5ZsABFWLAALxuxAA8+WbAOELIQAQorWCHYG/RZshMADhESObATL7IUAQorWCHYG/RZsAAQshcBCitYIdgb9FmwAxCyGAEKK1gh2Bv0WbAMELIdAQorWCHYG/RZMDEhIQcHJiYCNxM2EiQzFxchByEDIQchAyEFFjcTJicmBgcDBhcWFgaU/MXEV57naRQyHLUBE6VKzwNSJP1hRgJFJP29TgKm+5BPe8ZzTKDaHi8JBgiBEQEEnQEQoQE9qQENkgITzP5uyP5AGQMMBDsOAgLZwv7TSEZ0iAAAAwBC/+gG3ARSACAALwA5ALiyGjo7ERI5sBoQsCnQsBoQsDPQALAARViwCS8bsQkbPlmwAEVYsAQvG7EEGz5ZsABFWLAcLxuxHA8+WbAARViwFy8bsRcPPlmyBwkcERI5sjQJHBESObA0L7KPNAFdtB80LzQCcbINBworWCHYG/RZsBcQshEBCitYIdgb9FmyExcJERI5shoJHBESObAcELIlAQorWCHYG/RZsAQQsiwBCitYIdgb9FmwCRCyMAEKK1gh2Bv0WTAxEzYSNhcWFhc2FxYSBwchBhYXFjcXBgYnJiYnBicuAjczBxcWFxY2Nzc1JicmBgcBJgYHITc2JyYmVBSY7pRytzGmzsPJGhb9cA1raJqaQUPMe3a1MablisJYEOwFAQ6se6QVBwi0cqAcA/tShTYBpwUHBQhTAiChAQSMAgJeUbQEBP7z14+FnwMFX6A+QQICXE6xBAKO+ZZLLt8HA8alYR3yCAOxpAFTAXqMHC0pQ03//wAnAAAE2Ac2AiYANgAAAQcAdwGoATYACQCwBC+wGtwwMQD//wAQAAADhgYAAiYAVgAAAQcAdwC0AAAACQCwCy+wENwwMQD//wAn/fkE2AWwAiYANgAAAAcDqwEm/pL///+c/fkC7wRTAiYAVgAAAAcDq//N/pL//wAnAAAE2Ac7AiYANgAAAQcBaAC7ATYACQCwBC+wHNwwMQD//wAQAAADhAYFAiYAVgAAAQYBaMgAAAkAsAsvsBLcMDEA//8AJP/qBLsHNgImADcAAAEHAHcBxAE2AAkAsAovsCzcMDEA//8AHP/pBAMGAAImAFcAAAEHAHcBMQAAAAkAsAgvsCfcMDEA//8AJP/qBLsHNwImADcAAAEHAWcAwAE2AAkAsAovsCvcMDEA//8AHP/pA8wGAQImAFcAAAEGAWctAAAJALAIL7Am3DAxAP//ACT+PQS7BccCJgA3AAAABwB7AZAAAP//ABz+NAPEBFACJgBXAAAABwB7AUL/9///ACT/6gS7BzsCJgA3AAABBwFoANcBNgAJALAKL7Au3DAxAP//ABz/6QQABgUCJgBXAAABBgFoRAAACQCwCC+wKdwwMQD//wCc/kAFIgWwAiYAOAAAAAcAewF/AAP//wA7/j0CrgVBAiYAWAAAAAcAewDVAAD//wCcAAAFIgc7AiYAOAAAAQcBaADJATYAEwCwAEVYsAYvG7EGHz5ZsA3cMDEA//8AO//tA8gGgwAmAFgAAAAHA6sCsgV9AAEAnAAABSIFsAAPAEwAsABFWLAKLxuxCh8+WbAARViwAi8bsQIPPlmyDwoCERI5sA8vsgAHCitYIdgb9FmwBNCwDxCwBtCwChCyCAEKK1gh2Bv0WbAM0DAxASMDIxMjNzMTITchByEDMwO+yYj2ic0ezDT+SyQEYiT+SDTKAxL87gMSqgEozMz+2AAAAf/i/+0CrgVBAB4AgLIXHyAREjkAsABFWLAVLxuxFRs+WbAARViwGS8bsRkbPlmwAEVYsAsvG7ELDz5Zsh4ZCxESObAeL7IABworWCHYG/RZsAsQsgYBCitYIdgb9FmwABCwD9CwHhCwEdCwFRCyEwEKK1gh2Bv0WbAVELAX0LAXL7ATELAb0LAc0DAxASMDBhcWFzI3BwYjJiY3EyM3MzcjNzMTMwMzByMHMwJt0S0DAgZKJS8QSkt8ew0uzx7NG60grC7uLrkfuhzSAjf+8RkUQQMJvhUCpYgBG6qltAEH/vm0pf//AFv/5gUvBysCJgA5AAABBwFuAO8BNwAJALAAL7Ad3DAxAP//AEr/6AQxBfUCJgBZAAABBgFuWgEACQCwBy+wHtwwMQD//wBb/+YFLwbqAiYAOQAAAQcAcgDpAToACQCwAC+wE9wwMQD//wBK/+gEMQW0AiYAWQAAAQYAclQEAAkAsAcvsBTcMDEA//8AW//mBS8HHQImADkAAAEHAWoBHwE2AAkAsAAvsBbcMDEA//8ASv/oBDEF5wImAFkAAAEHAWoAigAAAAkAsAcvsBfcMDEA//8AW//mBS8HlQImADkAAAEHAWwBewFqAAwAsAAvsBzcsB/QMDH//wBK/+gEMQZfAiYAWQAAAQcBbADmADQADACwBy+wHdywINAwMf//AFv/5gVPBzUCJgA5AAABBwFvAWYBNgAMALAAL7AV3LAX0DAx//8ASv/oBLoF/wImAFkAAAEHAW8A0QAAAAwAsAcvsBbcsBjQMDEAAQBb/ogFMgWwACAAYbIHISIREjkAsABFWLAALxuxAB8+WbAARViwFy8bsRcfPlmwAEVYsA0vG7ENFz5ZsABFWLASLxuxEg8+WbIEEgAREjmwDRCyCAMKK1gh2Bv0WbASELIcAQorWCHYG/RZMDEBAwYGBwYHBhcWNxcGJyImNzY3LgI3EzMDBhYXFjY3EwUypRe+lXoKBTgbPQxFVVdpAgI9kNJgEaX2pRJ2e4e0GacFsPwzpPY4UFg5AwEXkCsCbVRYSAiE34wDzvwxi5wEBJqQA9QAAAEASv5RBDEEOgAjAHeyEiQlERI5ALAARViwGC8bsRgbPlmwAEVYsCEvG7EhGz5ZsABFWLALLxuxCxE+WbAARViwAC8bsQAPPlmwAEVYsBMvG7ETDz5ZsAsQsgYDCitYIdgb9FmwABCwENCwEC+yESEAERI5sBMQsh4BCitYIdgb9FkwMSEXBwYHBhcWNxcGJyImNzY3NwYnLgI3EzMDBhcWFxY3EzMDA1wFL4MHBTgbPQxFVVdpAgOxEnu5aYs7DHXtdgQDCnOdYYjtuwMfVlY5AwEXkCsCbVSWZ1qDBAJks3kCvP1BJSN8BQaEAwr7xgD//wC3AAAHOgc3AiYAOwAAAQcBZwG/ATYAEwCwAEVYsAwvG7EMHz5ZsA/cMDEA//8AdwAABfgGAQImAFsAAAEHAWcBAgAAABMAsABFWLALLxuxCxs+WbAR3DAxAP//AKEAAAVNBzcCJgA9AAABBwFnALkBNgATALAARViwAS8bsQEfPlmwC9wwMQD///+1/kUEEgYBAiYAXQAAAQYBZxYAABMAsABFWLAPLxuxDxs+WbAU3DAxAP//AKEAAAVNBwMCJgA9AAABBwBrAO8BNgAMALABL7Aa3LAJ0DAx////5QAABOcHNgImAD4AAAEHAHcBuQE2ABMAsABFWLAHLxuxBx8+WbAM3DAxAP///+cAAAPxBgACJgBeAAABBwB3AR8AAAATALAARViwBy8bsQcbPlmwDNwwMQD////lAAAE5wcXAiYAPgAAAQcBawGWAT8ACQCwBy+wEtwwMQD////nAAAD5AXhAiYAXgAAAQcBawD8AAkACQCwBy+wEtwwMQD////lAAAE5wc7AiYAPgAAAQcBaADMATYACQCwBy+wDtwwMQD////nAAAD7gYFAiYAXgAAAQYBaDIAAAkAsAcvsA7cMDEAAAEAHgAAAyAGGgANADKyAg4PERI5ALAARViwBC8bsQQhPlmwAEVYsAAvG7EADz5ZsAQQsgkBCitYIdgb9FkwMTMTNjYXFhcHJiciBgcDHskX2qo8YiwsLVBoD8oEn7HKAgEXuAwCY1n7ZgACAE7/6AUvBcMAGgAkAF6yDSUmERI5sA0QsBzQALAARViwEi8bsRIfPlmwAEVYsAAvG7EADz5ZsggSABESObAIL7ASELINAQorWCHYG/RZsAAQshsBCitYIdgb9FmwCBCyHgEKK1gh2Bv0WTAxBSYkJycmNzcFNicmJicmByc2IRYEEgcHBgIEJxY2NyEHBhcWFgJJ0/77GgQFDBYDrw8KEqqLpNEehgEfvgELdxkPHsv+1p2R2kP9RQcOChCRFATr1DJUWo8BW1OHlwMDSclUA7D+w8Rozf68rtcDy9EiTkNsdwAB/0r+RgNMBhkAHQBxsgIeHxESOQCwAEVYsBQvG7EUIT5ZsABFWLAPLxuxDxs+WbAARViwHC8bsRwbPlmwAEVYsAUvG7EFET5ZsBwQsgABCitYIdgb9FmwBRCyCgEKK1gh2Bv0WbAAELAN0LAO0LAUELIZAQorWCHYG/RZMDEBIwMGBicmJzcWFzI3EyM3Mzc2NhcWFwcmIyIHBzMCocOUE8iiQ0AgNyR4HZehHaAMFdiqNWcqNyekGwvDA4b8NK7GAgISvg4CqQPTtGWyyAIBFrsMxVIAAgBb/+gGJgYuABoAKwBbsiAsLRESObAgELAa0ACwAEVYsAovG7EKHz5ZsABFWLAALxuxAA8+WbINCgAREjmwDS+yEwgKK1gh2Bv0WbAKELIfAQorWCHYG/RZsAAQsigBCitYIdgb9FkwMQUuAicmEhI3NhcWFhc2NjczAgUWFxYCAgcGEzc2JicmAg8CBhYWFxYSNwJIj9R7CAc/mWyr3nfFQ1JlE7Ug/vIVBQU9o3Wl9AkKg4as5SMJCAY1d1ml4igUA4H3oX4BUAESV4kEAlhQD4CF/q5HZ2WG/p3+21h7AxhqtdAEBf7u9UBpbbxhAwcBAPMAAgA2/+YFBQSoABgAJwBbsh0oKRESObAdELAE0ACwAEVYsAQvG7EEGz5ZsABFWLAVLxuxFQ8+WbIHBBUREjmwBy+yDggKK1gh2Bv0WbAVELIcAQorWCHYG/RZsAQQsiMBCitYIdgb9FkwMRM2EjYXFhYXNjc3MwYGBxYXFgcCACcmAjcXFhYXFjY3NzYmJyYGBwZREp3xlGKvPmcbDqEOc24PAwIIJf7K3dTgGOoDY1l6qBgHA2NieqYZCAIgoAEGiwICSU0pfEyQqSdIR0dJ/vH+zAUGATXlc2l/BAPCqWJ9lQQDw6xRAAEAW//oBq0GAgAaAFSyFxscERI5ALAARViwAC8bsQAfPlmwAEVYsBEvG7ERHz5ZsABFWLAMLxuxDA8+WbIBAAwREjmwAS+yCAgKK1gh2Bv0WbAMELIWAQorWCHYG/RZMDEBBzY2NzcGBgcDBgAnLgI3EzMDBhYXFjY3EwUyKGp3Fa0T1c1sIv658JXcZxGl9qUSdX2HsxmnBbDfC4mcAdbiDP2k6P7uBAN+5JEDzvwxip4EBJqRA9QAAAEASv/oBWEElAAbAGiyFBwdERI5ALAARViwDS8bsQ0bPlmwAEVYsBYvG7EWGz5ZsABFWLAELxuxBA8+WbAARViwCC8bsQgPPlmyGBYEERI5sBgvsgMICitYIdgb9FmyBhYEERI5sAgQshMBCitYIdgb9FkwMQEGBgcDIzcGJy4CNxMzAwYXFhcWNxMzBzY2NwVhD6Slk94Ve7lpizsMde11BAMHdp5fiO0fUlISBJSuqQz8z2uDBAJks3kCvP1BJSN8BQaEAwqLDVx7////D/5IAvsF4wImAWQAAAEHAWj/P//eAAkAsAAvsBHcMDEA//8Aa//qBRYHSwImACsAAAEHAHcB9QFLAAkAsA0vsCTcMDEA////9/5PBEIGAAImAEsAAAEHAHcBQgAAAAkAsAQvsC3cMDEA//8AJwAABYYHNgImADIAAAEHAEQBgwE2ABMAsABFWLAGLxuxBh8+WbAL3DAxAP//AA0AAAP6BgACJgBSAAABBwBEALkAAAATALAARViwAy8bsQMbPlmwFNwwMQD///+kAAAE2gexAiYAJQAAAAcDxQGEARz//wAi/+gEMgZ8AiYARQAAAAcDxQDc/+f///+HAAAHeAdCAiYAiQAAAQcAdwLqAUIAEwCwAEVYsAYvG7EGHz5ZsBXcMDEA//8AD//oBnAGAQImAKkAAAEHAHcCawABAAkAsBkvsEHcMDEA//8AFf+hBZgHgAImAJsAAAEHAHcCIAGAABMAsABFWLAMLxuxDB8+WbAu3DAxAP//ACr/dwQzBf4CJgC7AAABBwB3ATP//gATALAARViwBS8bsQUbPlmwMdwwMQD///+kAAAErgchAiYAJQAAAQcBdQSKATMAFgCwAEVYsAQvG7EEHz5ZsAzcsBDQMDH//wAi/+gD3AXsAiYARQAAAQcBdQPi//4AFgCwAEVYsBgvG7EYGz5ZsC3csDHQMDH//wAnAAAEugcoAiYAKQAAAQcBdQRSAToAFgCwAEVYsAYvG7EGHz5ZsA3csBHQMDH//wA7/+oEAgXsAiYASQAAAQcBdQPL//4AFgCwAEVYsAkvG7EJGz5ZsCHcsCXQMDH////JAAACvQcoAiYALQAAAQcBdQMKAToAFgCwAEVYsAIvG7ECHz5ZsAXcsAnQMDH///9+AAACcgXkAiYA9AAAAQcBdQK///YAFgCwAEVYsAIvG7ECGz5ZsAXcsAnQMDH//wBr/+cFIQchAiYAMwAAAQcBdQShATMAFgCwAEVYsAovG7EKHz5ZsCTcsCjQMDH//wA5/+gEJwXsAiYAUwAAAQcBdQPf//4AFgCwAEVYsAQvG7EEGz5ZsCLcsCbQMDH//wAnAAAE2AchAiYANgAAAQcBdQQ8ATMAFgCwAEVYsAQvG7EEHz5ZsBncsB3QMDH//wAHAAAC+wXsAiYAVgAAAQcBdQNI//4AFgCwAEVYsAcvG7EHGz5ZsA/csBPQMDH//wBb/+YFLwchAiYAOQAAAQcBdQR5ATMAFgCwAEVYsAovG7EKHz5ZsBTcsBjQMDH//wBK/+gEMQXsAiYAWQAAAQcBdQPk//4AFgCwAEVYsAgvG7EIGz5ZsBXcsBnQMDH//wAk/fkEuwXHAiYANwAAAAcDqwE+/pL//wAc/fkDxARQAiYAVwAAAAcDqwDw/pL//wCc/fkFIgWwAiYAOAAAAAcDqwEt/pL//wA7/fkCrgVBAiYAWAAAAAcDqwCD/pIAAf8P/kgB3AQ6AAwAKACwAEVYsAwvG7EMGz5ZsABFWLAELxuxBBE+WbIJAQorWCHYG/RZMDEBAwYGIyInNxYzMjcTAdzDGMyjPUYfNSp/IcIEOvuItcURwRDCBG4AAAIANv/qA/YEUAAVAB0AZbIQHh8REjmwEBCwFtAAsABFWLAALxuxABs+WbAARViwCC8bsQgPPlmyDAAIERI5sAwvsAAQshABCitYIdgb9FmyEgwQERI5sAgQshYBCitYIdgb9FmwDBCyGAcKK1gh2Bv0WTAxARYSBwcOAicmAjc3ITYmJyYHJzY2ExYTIQYXFhYCRc7jFgcVmuSDxcgaFgKQDGppl5xBQ8wHqGf+WA0GCFUETgT+1eY5l/yDAwYBDNWPg6EDBV+gPkL8XQYBC0kpQ0///wCKBAAB/gYAAwYDcQAAAAYAsAQvMDEAAQECBN0DnwYBAAgASgCwBS+yDwUBXbAG0BmwBi8YsADQGbAALxiwBRCwAdCwAS+wBRCwBNCwBC+wAtCwAi+wBRCwB9CwBy+0DwcfBwJdsgMFBxESOTAxARUnJwcHJwEzA5+5da3BAQEtiATuEQObmgQSARIAAAEBDQTgA7wGBQAIACUAsAQvsg8EAV2wAtCwAi+0DwIfAgJdsgAEAhESObAH0LAHLzAxATc3FQEjAzUXAkKp0f7MkunEBWeZBBD+7AEVEAT//wDvBRIDywWwAAYAcgAAAAEA/gTIA2wF5wAMACwAsAMvsg8DAV2wANCwAC+0DwAfAAJdsAbQsAYvsAMQsgkCCitYIdgb9FkwMQEGBicmJjUXBjMyNjcDbAq6h4SfsAV4Q0wMBeeFmgQCmYABjE49AAEBAgTcAgEF2AAKAB2yAAsMERI5ALAIL7IPCAFdsgIFCitYIdgb9FkwMQE0NjYWFRQGBwYmAQJHbkpHNzZLBVU4RwRFNjlEAgJFAAACAPoEjAKoBisACwAXAC8AsAkvsg8JAV2wFdCwFS+yDxUBXbIDDAorWCHYG/RZsAkQsg8KCitYIdgb9FkwMRM0NjMyFhUUBiMiJjcGFjMyNjc2JiMiBvqFXVJ6hF1XdmsGMisySQYGMSsySgVSWn91VFl9dFQoQkguK0BJAAAB/6j+UQEkAD0ADwAbALAARViwCi8bsQoRPlmyBQMKK1gh2Bv0WTAxBQcGBwYXFjcXBiciJjc2JQEkL4MHBTgbPQxFVVdpAgMBCAMfVlY5AwEXkCsCbVSzdgABAN4E2wPJBfQAFABBALADL7AI0LAIL7QPCB8IAl2yDgMKK1gh2Bv0WbAU0LAA0LADELAK0LAKL7AL0LALL7ADELISAworWCHYG/RZMDEBBgYjIi4CBwYHJzY2FxYWFxc2NwPJDIFeGC1rNB1PG5UKgmAwliIZURwF6XeMDj0TAQNlCHKXAgFZBAEDZgAAAgCsBNED6QX/AAMABwBAALACL7IPAgFdsADQsAAvtA8AHwACXbACELAD0BmwAy8YsAAQsAXQsAUvsAIQsAbQsAYvsAMQsAfQGbAHLxgwMQEzASMDMwEjAu/6/snSVvP+9MUF//7SAS7+0gAAAv/u/mkBTf+/AAsAFwA9ALAYL7AD0LADL0APAAMQAyADMANAA1ADYAMHXbAP0LAPL7IJCQorWCHYG/RZsAMQshUJCitYIdgb9FkwMQc0NjMyFhUUBiMiJjcGFjMyNjc2JiciBhJqS0lhaUhKZGEEJR0hNgYFHiAjOfVNZ2JESmZeRh8rMyEdMQE2AAAB/VQE0f7ZBgAAAwAjALABL7IPAQFdsADQGbAALxiwARCwAtCwAi+0DwIfAgJdMDEBIwMz/tm00fwE0QEvAAH91wTR/+kGAAADACMAsAIvsg8CAV2wAdCwAS+0DwEfAQJdsAIQsAPQGbADLxgwMQEhASP+yQEg/r7QBgD+0f///PYE2//hBfQABwFu/BgAAAAB/dYE5f89Bn8ADgAlALAOL7AH0LAHL7IBDgcREjmyCAgKK1gh2Bv0WbINAQ4REjkwMQE3NzY3NicnNxcEBwYHB/3WDi9fCQprIhEoAQwDA6AKBOaSBQs6PAQBfAIWoX0eRgAAAvy/BOT/swXuAAMABwA3ALABL7AA0BmwAC8YsAEQsAXQsAUvsAbQsAYvtg8GHwYvBgNdsAPQsAMvsAAQsATQGbAELxgwMQEjAyEBIwMh/pHd9QESAeLOwAEEBOQBCv72AQoAAAH8oP6R/az/jgALABEAsAMvsgkNCitYIdgb9FkwMQU0Njc2FhUUBgcGJvygSzo3UEo7Ok31NkkCAkQ3OUUCAkYAAAEBLgTpAogGQQADABcAsAIvsADQsAAvsAIQsAPQGbADLxgwMQEzAyMBpuLElgZB/qgAAwDoBNwEIwavAAMADwAbAD4AsA0vsALQsAIvsADQsAAvtA8AHwACXbACELAD0BmwAy8YsA0QsgcFCitYIdgb9FmwE9CwDRCwGdCwGS8wMQEzAyMFNDY3NhYVBgYHBiYlNjY3NhYVFAYHBiYCneizl/6tRDcySgFGMzJLAkQBRjMyS0U2NEgGr/7WMjBIAgJCNDREAgJCMzREAgJCNDBIAgJEAP///6QAAASuBkECJgAlAAAABgF3wQD//wCeAkIBsQNVAgYAegAA////vgAABR4GQQAmAClkAAAHAXf+kAAA////xgAABesGQQAmACxkAAAHAXf+mAAA////ygAAAowGQwAmAC1kAAAHAXf+nAAC//8AGP/nBTUGQQAmADMUAAAHAXf+6gAA////WAAABbEGQQAmAD1kAAAHAXf+KgAA//8AHQAABQsGQQAmAZkUAAAHAXf+9AAA//8AC//0A0YGmgImAakAAAEHAXj/I//rABIAsAAvsCfcsA7QsCcQsBLQMDH///+kAAAErgWwAgYAJQAA//8AJwAABLwFsAIGACYAAAABAC4AAASsBbAABQArALAARViwBC8bsQQfPlmwAEVYsAIvG7ECDz5ZsAQQsgABCitYIdgb9FkwMQEhAyMTIQSI/XXZ9vwDggTk+xwFsAAC/6oAAAUJBbAAAwAGAC8AsABFWLAALxuxAB8+WbAARViwAi8bsQIPPlmyBAEKK1gh2Bv0WbIGAgAREjkwMQEzASElIQMC6+0BMfqhAXoCybcFsPpQygO5AP//ACcAAAS6BbACBgApAAD////lAAAE5wWwAgYAPgAA//8AJwAABYcFsAIGACwAAAADAF7/5wUWBcgAAwAVACUAg7IbJicREjmwGxCwAtCwGxCwDdAAsABFWLANLxuxDR8+WbAARViwBC8bsQQPPlmyAgQNERI5fLACLxiyYAIBXbJCAgFdsnICAV200ALgAgJdsjACAV2yAAIBcbIBAQorWCHYG/RZsA0QshoBCitYIdgb9FmwBBCyIgEKK1gh2Bv0WTAxASE3IQEuAicmEhI3NgQAFxYCAgcGEzc2JicmAg8CBhYXFhI3A5D+SyMBtP6aj9Z6CAc6n3SoAbABAQwGOYtnstwJB4ODr+IiCggKhIWl4igCecL8sQOD+J1zAVEBIVqCCP7e93z+v/7zWpwDGWq8yQQF/u3tR2m30gQHAQDzAP//ADUAAAIoBbACBgAtAAD//wAnAAAFcQWwAgYALwAAAAH/sgAABH8FsAAGADEAsABFWLADLxuxAx8+WbAARViwAS8bsQEPPlmwAEVYsAUvG7EFDz5ZsgADARESOTAxAQEhATMTIQLe/eX+7wLr7/P/AARB+78FsPpQ//8AJwAABs4FsAIGADEAAP//ACcAAAWGBbACBgAyAAAAAwAAAAAEiAWwAAMABwALAEsAsABFWLAILxuxCB8+WbAARViwAi8bsQIPPlmyAAEKK1gh2Bv0WbIFCAIREjmwBS+yBgEKK1gh2Bv0WbAIELIKAQorWCHYG/RZMDE3IQchEyEHIRMhByEkA6Yj/Fn0AuEj/R84A38j/IDKygNNxgMpzAD//wBr/+cFIQXIAgYAMwAAAAEALgAABYMFsAAHADgAsABFWLAGLxuxBh8+WbAARViwAC8bsQAPPlmwAEVYsAQvG7EEDz5ZsAYQsgIBCitYIdgb9FkwMSEjEyEDIxMhBIb22f2U2fb8BFkE5PscBbAA//8AJwAABQQFsAIGADQAAAAB/9wAAASfBbAADAA8ALAARViwCC8bsQgfPlmwAEVYsAMvG7EDDz5ZsgEBCitYIdgb9FmwBdCwCBCyCgEKK1gh2Bv0WbAH0DAxAQEhByE3AQE3IQchAQMb/i8CniP8FxwCIP6oGQPGJP12ASsC0f35yqICQwI+jcz+AQD//wCcAAAFIgWwAgYAOAAA//8AoQAABU0FsAIGAD0AAAADAFIAAAWxBbAAFQAcACMAdbITJCUREjmwExCwGtCwExCwIdAAsABFWLAVLxuxFR8+WbAARViwCC8bsQgPPlmyExUIERI5sBMvsADQsAAvsgoIFRESObAKL7AH0LAHL7AKELIZAQorWCHYG/RZsBMQshoBCitYIdgb9FmwINCwGRCwIdAwMQEWAAcGAgQHByM3LgI3NhI3Njc3MwEGFhcTBgYFNiYnAzY2A9XbAQEVD63+6ack9ySR3GwPD6qKj6sm9/1YEXyFgpjHA0QSeoWBlccE/Qr+zOaf/wCNA6qrBY72k6ABAElLA7L9F5KuCwKyCMCMlbAN/U4Ivf///8MAAAVHBbACBgA8AAAAAQB1AAAF1wWwABkAXLIKGhsREjkAsABFWLAELxuxBB8+WbAARViwEC8bsRAfPlmwAEVYsBgvG7EYHz5ZsABFWLAKLxuxCg8+WbIXBAoREjmwFy+wANCwFxCyDAEKK1gh2Bv0WbAJ0DAxATY2NxMzAwYABwMjEyYCNxMzAwYXFhYXEzMDQYarGVX3Vir+wfZI9kjc2x1T9lQIAwVjWZ70Aj8bxZoB9/4C+f7VF/6JAXcfAUHoAfH+Dj48YocYA20AAQAJAAAE9wXHACMAWbIAJCUREjkAsABFWLAZLxuxGR8+WbAARViwDy8bsQ8PPlmwAEVYsCIvG7EiDz5ZsiEBCitYIdgb9FmwANCwGRCyBwEKK1gh2Bv0WbAAELAO0LAhELAR0DAxJTYSEzc1AicmBgIHBhYXByE3NwITNzYSJBcWFhIHBwIFNwchAoCPqyEGC8+Qvj4DBVFRIP4UJdGhJQ0atAESpJ3gZhUNNf720ST+Hc4nATMBN08zAQ8IBdv+fHaQrxnQywIBDgESXbgBJp8EBKT+3qhX/p7RBMv//wA1AAADLAcKAiYALQAAAQcAa/+pAT0ADACwAi+wFdywBNAwMf//AKEAAAVNBwMCJgA9AAABBwBrAO8BNgAMALABL7Aa3LAJ0DAx//8APv/qBDMGQQImAaEAAAEHAXcBRgAAAAkAsBovsC7cMDEA//8AKP/qBAIGQQImAaUAAAEHAXcBEAAAAAkAsAgvsCrcMDEA//8AEf5hBAYGQQImAacAAAEHAXcBGgAAAAkAsAMvsBXcMDEA//8Abv/0ApIGLAImAakAAAEGAXcK6wAJALAAL7AQ3DAxAP//AFf/5QQ9BqICJgG1AAABBgF4GvMAEgCwCi+wMNywF9CwMBCwG9AwMQACAD7/6gQzBFEAHQArAHmyGiwtERI5sBoQsCTQALAARViwGi8bsRobPlmwAEVYsAAvG7EAGz5ZsABFWLAQLxuxEA8+WbAARViwCi8bsQoPPlmyBQEKK1gh2Bv0WbINGhAREjmyHBoQERI5sBAQsiMBCitYIdgb9FmwGhCyKAEKK1gh2Bv0WTAxAQMGFxYXMzcXBicmJicGBicmJicmNzc2EjYXFhc3AQYXFhYXFjcTJicmBgcEM4AHAgInDg0GNUBOXg08lGSatAcDBgMVi8yArVUx/cwGAQJZUoRiUC9/eZ4WBDr9BjQaNAIDtx0CAlRLS1kCAtu1PTwVrAEThgMElYX9uDM4ZHQCA4sByYkEBdO2AAAC/+X+dwRrBccAFAApAGWyFCorERI5sBQQsBzQALAPL7AARViwAC8bsQAfPlmwAEVYsAwvG7EMDz5ZshUADBESObAVL7InAQorWCHYG/RZsgUnFRESObAAELIbAQorWCHYG/RZsAwQsiEBCitYIdgb9FkwMQEWFgcGBxYWBw4CJyYnAyMTPgITNjY3NiYnJgYHAxYXMjY3NiYnJzcC27jYDQ7cXl4ICobbhJ10V+z3EJLiF2mCCwlYUWCREotKkXGjEA5ZWIQaBcQE1anDdS66dYXRbwMEUv42Bah3xG39lAJ0aVhuBAKAZvzeUAKPcmWMBQG4AAABAHf+XwQwBDoACAA4sgAJChESOQCwAEVYsAEvG7EBGz5ZsABFWLAHLxuxBxs+WbAARViwBC8bsQQRPlmyAAcEERI5MDEBATMBAyMTAzMByQFp/v3fTu1TsOwBPgL8++L+QwHeA/0AAAIAOP/nBDgGJAAfAC4AYrICLzAREjmwAhCwJtAAsABFWLADLxuxAyE+WbAARViwFS8bsRUPPlmwAxCyCAEKK1gh2Bv0WbIOFQMREjmwDi+yKwEKK1gh2Bv0WbIcKw4REjmwFRCyJQEKK1gh2Bv0WTAxATY2FxYXByYHIgYHBhcXBAMHDgInLgI3NjY3NSYmAwYXFhYXFjY3NiYnBgYHAUEH67FsmRWEakxrCg9wLAGGJwMUme+QisRcDhLbnkhNBwYDA2NXd6QcDmZgeqUYBOKVrQICMcQ4AkE3TTcUrP51FJ36iAQEh/GUvv8cDyeG/XM1O2h9AwO9vH+7HgO6qgABACj/6gQCBFEAJwCgshQoKRESOQCwAEVYsAgvG7EIGz5ZsABFWLAlLxuxJQ8+WbIVCCUREjmwFS+yjxUBXbQfFS8VAnG0XxVvFQJxtL8VzxUCXbTvFf8VAnGyWhUBXbIXBworWCHYG/RZsgIXFRESObAIELIPAQorWCHYG/RZsgwVDxESObYMDBwMLAwDXbAlELIdAQorWCHYG/RZsiAXHRESObQDIBMgAl0wMRM2NyYmNzYkFxYWFSc0JiMmBgcGFxcHJyIGBwYWFxY2NzMOAicmJi8K5j1PAgUBDc6y2+llTlmGChOx0R+0boQJCGdcWo4O7gmC3X7D7AEpt1MhbUiargQFspABQkgCUER5BgGtAVVKP04DAlVKa5xQAgSqAAEAZv59BFAFsAAbAE+yEhwdERI5ALAML7AARViwAC8bsQAfPlmyGQEKK1gh2Bv0WbIBGQAREjmyAgwAERI5shMMABESObATELIGAQorWCHYG/RZshgADBESOTAxAQcBBhcWFxcWFgcGByc3Njc2JyckEzYSNwEhNwRQHP4W4gcDXbBZSQQK3norPwsKTnX+7xwOqrEBFP3eIgWwnP4J9NleJD0hYUmlpGsvSDo3HCRbAQ2KASqyAQ/DAAEAEf5hBAYEUgASAFOyCBMUERI5ALAARViwAy8bsQMbPlmwAEVYsAAvG7EAGz5ZsABFWLAHLxuxBxE+WbAARViwEC8bsRAPPlmyAQMQERI5sAMQsg0BCitYIdgb9FkwMQEHNhcWFgcDIxM2JyYnJgcDIxMBpRSKtaGVE7vtvAUDDoaIZYnuvAQ7hZwEBNTA+6sEVCwngAMEffzuBDoAAwBs/+cEPwXJABEAGQAiAIayICMkERI5sCAQsADQsCAQsBjQALAARViwCS8bsQkfPlmwAEVYsAAvG7EADz5ZshMJABESOXywEy8YsmATAV2yQhMBXbJyEwFdtNAT4BMCXbIwEwFdsgATAXGwCRCyFwEKK1gh2Bv0WbATELIaAQorWCHYG/RZsAAQsiABCitYIdgb9FkwMQUmAjc0NzcSABcWEgcGBwcCAAEhNjUmJyYDASEGFxQWFxYTAei4xAIJHzEBHt+5wgEBCSI0/uf+tgHJFQWf2UsBn/43FQFUTtZOFAQBBetLR8wBQgFJBQT+/OdLR93+xf68A1GDUe8HCP6i/s2DS3mCAwwBZAAAAQBu//QCCgQ6AA0AKACwAEVYsAAvG7EAGz5ZsABFWLAJLxuxCQ8+WbIEAQorWCHYG/RZMDEBAxUWFzI3BwYnJiY3EwHrgwNLJy0QSkt8ew2DBDr89S1AAwm+FgICo4kDFv//ACEAAASNBDoCBgD7AAAAAf+o//AD1gX7ABoAUbIPGxwREjkAsAAvsABFWLALLxuxCw8+WbAARViwEC8bsRAPPlmwCxCyBgEKK1gh2Bv0WbIPABAREjmyEhAAERI5sAAQshYBCitYIdgb9FkwMQEWFxMWFhczNwcGIyYmJwMBIQEnJiYnJwc3NgGZuDDoCB4kEhENKipfch1p/pb+9AIxLgsqKxsbDj4F+QSl+8QfNgUBwwgCZmsCBP05BB3AKC0CAQG4D////93+YARUBDoCBgB4AAD//wBkAAAEDQQ6AgYAWgAAAAEAPv51BCYFxQAtAFayBS4vERI5ALAXL7AARViwKy8bsSsfPlmyAgEKK1gh2Bv0WbIHLisREjmwBy+yCgEKK1gh2Bv0WbIeFysREjmwHhCyEAEKK1gh2Bv0WbIlCgcREjkwMQEmIyIGBwYFFwcnIgYHBhYfAhYHBgYHJzc2NzYnJyYnJhM2NjcmJjc2JDMyFwPue1h8mAwbAQ+FI36s0xILYWCELqkIBXhsgC9CCQc/KqBC2hUKuKtUYAQIAR/bjIgE2iZbTq8CAcYBmY5dgxwlDzyQUqlNajFIPTIZDzMjcgEBjcs4KIlYrsYuAP//ADn/6AQnBFICBgBTAAAAAQBd//UE2gQ6ABYAXLINFxgREjkAsABFWLAVLxuxFRs+WbAARViwCy8bsQsPPlmwAEVYsBEvG7ERDz5ZsBUQsgABCitYIdgb9FmwCxCyBgEKK1gh2Bv0WbAAELAP0LAQ0LAT0LAU0DAxASMDBhcWFzI3BwYjJiY3EyEDIxMjNyEEuZtjAwIGSiYvEUVQfHsNYv7Am+2bpyIEWwN8/bQZFEEDCb4VAqOKAlj8hAN8vgAC/8v+YAQMBFMAEgAgAFCyDiEiERI5sA4QsBbQALAARViwBS8bsQUbPlmwAEVYsBEvG7ERET5ZsABFWLAOLxuxDg8+WbIVAQorWCHYG/RZsAUQsh0BCitYIdgb9FkwMRM2Njc2FxYWFxYHBwYGJyYnAyMBFhcWNjc2JyYmJyYGB3UQW0iQ0LDICQMHDSz3salhYe4BazSDdZ4VCwMIVU5rjhkCPm/JSZQFBOnHRUVT3/gFBHb9+wK/bwQDs591PXFsAwK/ogABADv+iQPwBFMAIABZsg0hIhESOQCwAEVYsAAvG7EAGz5ZsABFWLAaLxuxGg8+WbAARViwEy8bsRMXPlmwABCxAworWNgb3FmwABCyBwEKK1gh2Bv0WbAaELINAQorWCHYG/RZMDEBFhYHJzYmJyYGBwcGFxcWBwYGByc3Njc2JicmAjc3EgACc7TJCN4FVVRzoRYEHO5toAcDe2x5KUMJBCU6zb8TAh0BMQROBOG0AWRuBAPAoyPtVyc9j1GrTWssSj8hKBA+AQTEFAECATUAAgA4/+gEtgQ7ABEAIgBhshgjJBESObAYELAH0ACwAEVYsBAvG7EQGz5ZsABFWLARLxuxERs+WbAARViwCC8bsQgPPlmwERCyAAEKK1gh2Bv0WbAIELIXAQorWCHYG/RZsBAQsiABCitYIdgb9FkwMQEFFgcHDgInLgI3NzYAMwUBBhcWFhcWNjc3NicmJicmBgSS/v6DEQMQlu+Ki8RZEAIiATHeAjv8gAYCBGBXb50cBwYCBV5VeKADdgOrxxaR7YUEApD8lRD7ASEB/dE2PW58AgOspS80OmZ3AwO2AAABAG7/6wQjBDoAEQBJsgMSExESOQCwAEVYsBAvG7EQGz5ZsABFWLAKLxuxCg8+WbAQELIAAQorWCHYG/RZsAoQsgUBCitYIdgb9FmwABCwDtCwD9AwMQEhAwcUMxY3FwYnJiY3EyE3IQQB/qNlAj8hPRVSX3x6DmH+tyIDkwN5/a8oSgEVtCsCAquWAknBAAABAFf/5QP+BDwAFgA8shAXGBESOQCwAEVYsAovG7EKGz5ZsABFWLAALxuxABs+WbAARViwES8bsREPPlmyBQEKK1gh2Bv0WTAxAQMHBhYXFhIDJicXFgcGAgYnJiY3NxMBv20FAjs5lcMOBiHiOgsPm/iZqbgKA24EOv1rTExfAgYBdAEkgX0Bqdf7/sahBAPXwCYCkQACADL+IgVtBEQAGwAkAFmyGSUmERI5sBkQsBzQALAaL7AARViwEi8bsRIbPlmwAEVYsAcvG7EHGz5ZsABFWLAALxuxAA8+WbAZ0LIcAQorWCHYG/RZsA7QsBIQsiIBCitYIdgb9FkwMQUmJyY3NhI3FwYCFxYWFxM2NhceAgcGAAUDIwE2NicmJgcGBwH67nJoGRObhohxbgwKcWBxDqZ7h9FmDhr+r/7zV+0BXq3KAgNnVjYMDCOqnOCgAQlblmj+9H1jhhoChXWTAgKQ9Y30/tEa/jECkSTxq4GQBgQ2////uQAABBMEOgIGAFwAAAABAD/+IgWKBDwAHQBSsg4eHxESOQCwDy+wAEVYsAAvG7EAGz5ZsABFWLAILxuxCBs+WbAARViwFS8bsRUbPlmwAEVYsBEvG7ERDz5ZsA7QsgEBCitYIdgb9FmwHNAwMQEDNjYSJyYnFxYXEgcGBQMjEyYCNxMzAwYXFhYXEwOeo5K/RAwJI94rCh/vqf70V+1X4dkgUu1SCQMDZ1+iBDr8eiK3AQ6rfngCdn/+ROGfGf4yAdIiAUT3Aen+FEJAa44cA4MAAQBU/+QGEAQ9ACsAXrIjLC0REjkAsABFWLAALxuxABs+WbAARViwGy8bsRsbPlmwAEVYsCEvG7EhDz5ZsABFWLAmLxuxJg8+WbIHAQorWCHYG/RZsgwhABESObAhELISAQorWCHYG/RZMDEBBwYGBwYWFxY2NxMzAwYXFxYXFjY3NzYnJicXFhcWAgYnJiYnBicmJjcQEwIoUk9GAwNDPVt9EzX1NAkDAhByVnkcChEMDC3iNAwTcuakapgYhdOirALeBDmYleiDd3sDBqCZAUb+uksxG5gDBKmqQIKCgXwDeILd/lnVBAJ4ZeYHBOnXAV8BKwD//wBM//QC/gW4AiYBqQAAAQcAa/97/+sADACwAC+wH9ywDtAwMf//AFf/5QP+BcACJgG1AAABBgBrcvMADACwCi+wKNywF9AwMf//ADn/6AQnBkECJgBTAAABBwF3AQ0AAAAJALAEL7Aj3DAxAP//AFf/5QP+BjQCJgG1AAABBwF3AQL/8wAJALAKL7AZ3DAxAP//AFT/5AYQBjICJgG5AAABBwF3Ahj/8QAJALAaL7Au3DAxAAACAFD/5gSNBckAHgAoAGuyFCkqERI5sBQQsCDQALAARViwGS8bsRkfPlmwAEVYsAYvG7EGDz5ZsiEZBhESObAhL7ITAQorWCHYG/RZsALQsgwZBhESObAGELIQAQorWCHYG/RZsCEQsB3QsBkQsiUBCitYIdgb9FkwMQEGBwcGBCcuAjcTNwMGFhcWEzcmAjc2NhcWFgcDNwEGFxM3NCcmBgcEgjlLEyX+58h+vFsPL+cwDmRhyjQUt8sOE9yfmKESNHL98RK6OARUOUoLAlYTC3Xh/AYDedeAASMC/tp4jgMHASBvLAEVu7/RBATZrf7LGAEh4UwBODdwAgJUTQAAAQBtAAAFBgXJABgAVLIMGRoREjkAsABFWLAELxuxBB8+WbAARViwFi8bsRYfPlmwAEVYsAwvG7EMDz5ZsgAWDBESObAEELIIAQorWCHYG/RZsBYQshEBCitYIdgb9FkwMQEBNjYXFhcHJwYHAQMjEwMmJyYHJzYzFhcCRwETP4pXO1E1M0Es/mhZ9l6nFTgRJRE8QK8/AwkB53lgAgIZwwYDRf1d/fwCHwKJPgMBBcQYBMv///8kAAAFagZBACYBwGQAAAcBd/32AAAAAgBX/+MGfQQ6ABQAKgBmsgkrLBESObAJELAh0ACwAEVYsBMvG7ETGz5ZsABFWLAMLxuxDA8+WbATELIBAQorWCHYG/RZsAwQsAfQsgoTDBESObABELAX0LAS0LAMELIdAQorWCHYG/RZsiEMEhESObAn0DAxAScXBgIGBicmJicGJyYmNxI3BzchASYnJQYGBwYXFjY3NzMHBhcWFxYTNgZaeAMCPHixb2ucGIbamKEGBHhyIgX0/n4BB/zdSDwGC3Bbfhgk9CIIAwqBkzYbA4MBpIr+29xtAwJ4aesHBOvdAQDQArb+plFSAonXfPYGB5ad6eNJNbIDBAEpl///ACcAAAS6Bz0CJgApAAABBwBEASMBPQATALAARViwBi8bsQYfPlmwDdwwMQD//wAnAAAEugcKAiYAKQAAAQcAawDwAT0ADACwBi+wHdywDNAwMQABAJH/8QWFBbAAGQBusgEaGxESOQCwAEVYsBgvG7EYHz5ZsABFWLAKLxuxCg8+WbAARViwFC8bsRQPPlmwGBCyAAEKK1gh2Bv0WbIEGBQREjmwBC+wChCyCwEKK1gh2Bv0WbAEELIRAQorWCHYG/RZsAAQsBbQsBfQMDEBIQM2FxYWBwYEBzc2Njc2JicmBwMjEyE3IQTf/iJNjW/f9hES/sj+E4ujDw1yeW6SdvfZ/ockBE4E5P5zJwIC88rZ8QK/BIl6boEEAyD9cwTkzAD//wAuAAAErAc9AiYBhAAAAQcAdwG5AT0AEwCwAEVYsAQvG7EEHz5ZsAjcMDEAAAEAZ//oBREFxwAgAIWyFCEiERI5ALAARViwDC8bsQwfPlmwAEVYsAMvG7EDDz5ZsgAMAxESObIQAwwREjmwDBCyEwEKK1gh2Bv0WbIWDAMREjl8sBYvGLJgFgFdsnIWAV2yQhYBXbIwFgFdtNAW4BYCXbIAFgFxshkBCitYIdgb9FmwAxCyHQEKK1gh2Bv0WTAxAQYAJy4CJyYSEiQXFhIXIyYmJyYGByUHIQcGFhcWNjcEqSH+r/CL0XcHBkTCARyp2PwL9QV7dpbUPQH0JP4ZCQZ+fIu2JAHb4/7wBAN+75pxAYkBOZ4DBP74656LAwXT6wHKYqS5BAaXkwAAAQAk/+oEuwXHACkAYbIDKisREjkAsABFWLAKLxuxCh8+WbAARViwHy8bsR8PPlmyAx8KERI5sAoQsA7QsAoQshIBCitYIdgb9FmwAxCyGAEKK1gh2Bv0WbAfELAk0LAfELInAQorWCHYG/RZMDEBNicnJiY3PgIXHgIHJzYmJyYGBwYXFxYWBw4CJy4CNxcGFhcWNgNMFrNR4r4JCJn6jYjUcAT2B3N0daEOFL5L5bYLCo77l4/pfAX3CIqBeKEBfpBGHk/Yj3y9ZgMDccmBAXJ+AwJyYX9JG1Ldl3u3ZAIBdtGFAXyGAgJqAP//ADUAAAIoBbACBgAtAAD//wA1AAADLAcKAiYALQAAAQcAa/+pAT0ADACwAi+wFdywBNAwMf//AAP/5wRhBbACBgAuAAAAAv/KAAAH9QWwABkAIgB5sgojJBESObAKELAb0ACwAEVYsBgvG7EYHz5ZsABFWLAILxuxCA8+WbAARViwEC8bsRAPPlmyARgIERI5sAEvsBgQsgoBCitYIdgb9FmwEBCyEgEKK1gh2Bv0WbAIELIcAQorWCHYG/RZsAEQsiIBCitYIdgb9FkwMQEFHgIHBgAjIRMhAwcCAgcjNzc2Njc3EyEDAwU2Njc2JicFIAERitRmCxH+xfT939n+UnEeQ/vCWxYkf6IpE4oDkX9bARJ/sBIPcWkDoQEEdsyC0/77BOT99ZL+z/7vBcoBCd/3bwKX/Sb99AIClH1uiAQAAgAuAAAH/QWwABIAGwCCsgEcHRESObABELAU0ACwAEVYsAIvG7ECHz5ZsABFWLARLxuxER8+WbAARViwCy8bsQsPPlmwAEVYsA8vG7EPDz5ZsgECCxESObABL7IFAgsREjmwBS+wARCyDQEKK1gh2Bv0WbALELIVAQorWCHYG/RZsAUQshsBCitYIdgb9FkwMQEhEzMDFxYWBwYEIyETIQMjEzMBAwU2Njc2JicBtQJrbPZh/OL+DxD+xvT93279lW72/PYC3lUBEoGuDw5xawNFAmv90gEB8cPO/gJ6/YYFsP0I/hgCAoxzaHwEAAEAoAAABZgFsAAWAF2yARcYERI5ALAARViwFS8bsRUfPlmwAEVYsAgvG7EIDz5ZsABFWLARLxuxEQ8+WbAVELIAAQorWCHYG/RZsgQVCBESObAEL7IOAQorWCHYG/RZsAAQsBPQsBTQMDEBIQM2FxYWBwMjEzYnJicmBwMjEyE3IQTh/iBGgobq6xhL90wIBxW+ZK999tn+lSQEQQTk/pocAgT11/44AclAMI4GAxz9TATkzAD//wAnAAAFcQc2AiYALwAAAQcAdwGlATYAEwCwAEVYsAUvG7EFHz5ZsA/cMDEA//8AJwAABXwHPQImAdsAAAEHAEQBggE9ABMAsABFWLAILxuxCB8+WbAL3DAxAP//AJv/5wVTByQCJgHmAAABBwFqARUBPQAJALABL7AU3DAxAAABACX+mAV8BbAACwBIALAJL7AARViwAC8bsQAfPlmwAEVYsAQvG7EEHz5ZsABFWLAGLxuxBg8+WbAARViwCi8bsQoPPlmyAgEKK1gh2Bv0WbAD0DAxATMDIRMzAyEDIxMhASL32gJs2vf9/lk/9z/+RAWw+xoE5vpQ/pgBaP///6QAAASuBbACBgAlAAAAAgAjAAAEoQWwAAwAFQBesg8WFxESObAPELAJ0ACwAEVYsAsvG7ELHz5ZsABFWLAJLxuxCQ8+WbALELIAAQorWCHYG/RZsgMLCRESObADL7AJELIPAQorWCHYG/RZsAMQshUBCitYIdgb9FkwMQEhAxcWFgcGBCMhEyEBAwU2Njc2JicEff12Pf7j/REQ/sf0/d38A4L88lYBEoGuDw5wawTk/p8BAe/E0P4FsP0I/hICApB3aXkE//8AJwAABLwFsAIGACYAAP//AC4AAASsBbACBgGEAAAAAv+E/poFkQWwAA4AFQBVshIWFxESObASELAL0ACwAS+wAEVYsAsvG7ELHz5ZsABFWLACLxuxAg8+WbABELAE0LACELINAQorWCHYG/RZsBDQsAbQsAsQshEBCitYIdgb9FkwMQEjEyEDIxMXNhITEyEDMwUlEyEDBwIE/us+/GA/7ltlc543iAN92bT79gJft/5mbhFV/poBZv6aAjADUwEzAQ4CVfsaBAQEGv4aQv68//8AJwAABLoFsAIGACkAAAAB/6UAAAfgBbAAFQB9ALAARViwCS8bsQkfPlmwAEVYsA0vG7ENHz5ZsABFWLARLxuxER8+WbAARViwAi8bsQIPPlmwAEVYsAYvG7EGDz5ZsABFWLAULxuxFA8+WbIQCQIREjmwEC+yAAEKK1gh2Bv0WbAE0LIIEAAREjmwEBCwC9CyEwAQERI5MDEBIwMjEyMBIQEBIRMzEzMDMwEhAQEhBOSjbvZunf45/r4CWP7SARvpnWr2aooBtwE5/dsBN/7dAnT9jAJ0/YwDEwKd/aACYP2gAmD9Tf0DAAEAHv/tBKgFxQApAIGyByorERI5ALAARViwDi8bsQ4fPlmwAEVYsBovG7EaDz5ZsgAOGhESObAAL7IfAAFxsp8AAV2yegABXbJKAAFdsA4QsgYBCitYIdgb9FmyCg4aERI5sAAQsicBCitYIdgb9FmyEycAERI5sh0OGhESObAaELIhAQorWCHYG/RZMDEBMjY3NiYnJgYHBz4CFxYWBwYFFhYHBgQHByYkNxcGFhcWNjc2LwI3And+oQwMfW1nohH1CY74jOD4DhH+/WNcBwz+2eU10v7/B/MEgmZ+wQ4b0SS1IwNJeGpecAICcGEBd7ppAgXYuc94Lqxsu+sMAQLnvwFkeQIEgW7FGQMByAAAAQAnAAAFfAWwAAkARQCwAEVYsAAvG7EAHz5ZsABFWLAHLxuxBx8+WbAARViwAi8bsQIPPlmwAEVYsAUvG7EFDz5ZsgQAAhESObIJAAIREjkwMQEzAyMTASMTMwMEff/997L86/7997IFsPpQA/78AgWw/AEA//8AJwAABXwHJAImAdsAAAEHAWoBVwE9AAkAsAAvsA3cMDEA//8ALgAABXsFsAIGA8EAAAAB/8oAAAV8BbAAEQBNsgQSExESOQCwAEVYsAAvG7EAHz5ZsABFWLABLxuxAQ8+WbAARViwCS8bsQkPPlmwABCyAwEKK1gh2Bv0WbAJELIMAQorWCHYG/RZMDEBAyMTIQMHAgIHIzc3NjY3NxMFfP322f5ScR5E/MNYFiJ+oSoWigWw+lAE5P31kv7L/vACygIH1PCCApcA//8AJwAABs4FsAIGADEAAP//ACcAAAWHBbACBgAsAAD//wBr/+cFIQXIAgYAMwAA//8ALgAABYMFsAIGAZEAAP//ACcAAAUEBbACBgA0AAD//wBl/+gFDQXHAgYAJwAA//8AnAAABSIFsAIGADgAAAABAJv/5wVTBbAAEABDsgAREhESOQCwAEVYsAEvG7EBHz5ZsABFWLAPLxuxDx8+WbAARViwBi8bsQYPPlmyAAEGERI5sgsBCitYIdgb9FkwMQEBIQEGBiciJzcWNzI3NwEhApcBnwEd/U1Uwn8vQRc0H25DRP7XAQICuAL4+1WbgwIHyAcBbHwEFgADAFb/xAYSBewAFwAfACkAXrIVKisREjmwFRCwHdCwFRCwIdAAsAovsBcvsgAXChESObAAL7IMChcREjmwDC+wCdCwABCwFNCwDBCyGwEKK1gh2Bv0WbAUELIdAQorWCHYG/RZsCDQsBsQsCHQMDEBMhYSBwYCBCcnByM3IiYCNzYSJBcXNzMBBhYXFxMiBiUDMjY3NicmJicEDKLwdBARvf7XqxQo7Sik73YQErsBKqwWKub9IBSQlRWTuugCkJG06BgKChCFawUkmv7xoaz+6ZgDAb/AlgENoa0BGJsCAcf83KzIBwEDEd7d/O/ZtkxFan0IAP///8MAAAVHBbACBgA8AAAAAQAl/qEFfAWwAAsAOwCwCS+wAEVYsAAvG7EAHz5ZsABFWLAELxuxBB8+WbAARViwCi8bsQoPPlmyAgEKK1gh2Bv0WbAG0DAxATMDIRMzAzMDIxMhASL32gJs2vfZq3TjPfvxBbD7GgTm+xz91QFfAAEAxQAABWoFsAAQAEayBRESERI5ALAARViwAC8bsQAfPlmwAEVYsAkvG7EJHz5ZsABFWLABLxuxAQ8+WbINAQkREjmwDS+yBQEKK1gh2Bv0WTAxAQMjEwYnJiY3EzMDBhYENxMFav32a5qt5vAZTPZMEGABBs58BbD6UAI+LAQC89wByf42gIIGKgKoAAABACsAAAdjBbAACwBIALAARViwAC8bsQAfPlmwAEVYsAMvG7EDHz5ZsABFWLAHLxuxBx8+WbAARViwCS8bsQkPPlmyAQEKK1gh2Bv0WbAF0LAG0DAxAQMhEzMDIRMzAyETAh/ZAa3Z99oBqtr2/fnF/AWw+xoE5vsaBOb6UAWwAAEAK/6iB2MFsAAPAFQAsAsvsABFWLAALxuxAB8+WbAARViwAy8bsQMfPlmwAEVYsAcvG7EHHz5ZsABFWLANLxuxDQ8+WbIBAQorWCHYG/RZsAXQsAbQsAnQsArQsALQMDEBAyETMwMhEzMDMwMjEyETAh/ZAa3Z99oBqtr226Vy2T36DPwFsPsaBOb7GgTm+xL94AFeBbAAAgCJAAAFnQWwAAwAFQBesgEWFxESObABELAN0ACwAEVYsAAvG7EAHz5ZsABFWLAJLxuxCQ8+WbIDAAkREjmwAy+wABCyCwEKK1gh2Bv0WbAJELIPAQorWCHYG/RZsAMQshUBCitYIdgb9FkwMRMhAxcWFgcGBCMhEyEBAwUyNjc2JierAnVg/eH/DxD+x/b939v+gAIUVgESgK8PDW1tBbD90wEB7MbR/gTt/cv+EgGRd2d7BAADAC4AAAa9BbAACgATABcAcLIGGBkREjmwBhCwD9CwBhCwFdAAsABFWLAJLxuxCR8+WbAARViwFi8bsRYfPlmwAEVYsAcvG7EHDz5ZsABFWLAULxuxFA8+WbIBCQcREjmwAS+wBxCyDQEKK1gh2Bv0WbABELITAQorWCHYG/RZMDEBFxYWBwYEIyETMwMDBTY2NzYmJwEjEzMBwf7j/REQ/sf0/d3994RWARKBrg8OcGsC9fb99gODAQHvxND+BbD9CP4SAgKQd2l5BP1JBbAAAgAjAAAElAWwAAoAEwBQsg0UFRESObANELAH0ACwAEVYsAkvG7EJHz5ZsABFWLAHLxuxBw8+WbIBCQcREjmwAS+wBxCyDQEKK1gh2Bv0WbABELITAQorWCHYG/RZMDEBFxYWBwYEIyETMwMDBTY2NzYmJwG2/uP9ERD+x/T93f33hFYBEoGuDw5wawODAQHvxND+BbD9CP4SAgKQd2l5BAAAAQBP/+kE9wXIACAAhbIOISIREjkAsABFWLAULxuxFB8+WbAARViwHS8bsR0PPlmyAwEKK1gh2Bv0WbIIFB0REjl8sAgvGLIwCAFdsnIIAV2y4ggBXbJCCAFdsmAIAV2y0AgBXbIACAFxsgcBCitYIdgb9FmwFBCyDQEKK1gh2Bv0WbIRFB0REjmyIB0UERI5MDEBFhYXFjY3BTchNzYmJyYGBwc2ABceAhcWAgIEJyYAJwFDB358lM46/gUkAe4IA4N+irAj9SgBS+uO1HkJBke9/uyn3v79CAHam4gDBdbsAcxkn7YEBJqUAeYBFAQDfvGYeP5z/tGdAwQBBeUAAAIAMv/nBvkFxwAYACgAg7INKSoREjmwDRCwJNAAsABFWLAILxuxCB8+WbAARViwEC8bsRAfPlmwAEVYsAYvG7EGDz5ZsABFWLAALxuxAA8+WbIKCAYREjl8sAovGLIfCgFxtGAKcAoCXbIEAQorWCHYG/RZsBAQsh4BCitYIdgb9FmwABCyJQEKK1gh2Bv0WTAxBSYAETcjAyMTMwMzNhI3NhcWABcWAgIHBhM3NiYmJyYGAgcGFhcWEjcEL+P+/AG4afb99nKsJ++ub3zYAQEMBjmLZ7LaCQYyd1t+w3kKCoSEreEjFAUBPAEJJ/2jBbD9ceIBVEQsAwT+3vd8/r/+81qcAxhqbblhAwSW/s7nt9IEBQEO9QAC/7AAAATTBbEADgAXAGGyEhgZERI5sBIQsAvQALAARViwDS8bsQ0fPlmwAEVYsAAvG7EADz5ZsABFWLADLxuxAw8+WbITDQAREjmwEy+yAQEKK1gh2Bv0WbIFEwEREjmwDRCyFAEKK1gh2Bv0WTAxIRMhASEBJiY3PgIzBQMBBhYXFxMnIgYC31/+9/6Q/usBsWdYCguX/p4B6f39yg9rc/FZ14atAiD94AJvQcV3jc1rAfpQA+FxhwQBAgACi///ACL/6APcBFACBgBFAAAAAgBD/+YEYQYTABsAKwBishgsLRESObAYELAd0ACwAEVYsBMvG7ETIT5ZsABFWLAGLxuxBg8+WbIAEwYREjmwAC+yFwATERI5shETFxESObIaAAYREjmyHAEKK1gh2Bv0WbAGELIlAQorWCHYG/RZMDEBFhIHBgAnLgI3NzU3EgA3NzY3Mw4CBAYHNhcmBgYHBhcWFhcWNjc3NiYCnrrPEhb+0eCLx1sQAgoxASPnXpMVwQhSmv7Xv0GegE99TQsHBAdiWHWgFQINZwP+BP7s1/f+zgQEjvmWFQNLAVABjjISHWZkgFM5pJeYxAJNjFtKOmRzAwOwoBWLoAAAAwAiAAAEFgQ6AA4AFwAfAI6yGSAhERI5sBkQsA7QsBkQsBHQALAARViwAS8bsQEbPlmwAEVYsAAvG7EADz5ZshgAARESObAYL7KMGAFdtF8YbxgCcbTvGP8YAnG0vxjPGAJdtBwYLBgCcbJaGAFdsg8HCitYIdgb9FmyCA8YERI5sAAQshABCitYIdgb9FmwARCyHwEKK1gh2Bv0WTAxMxMFFhcWBwYHFhYHBgYHAwMXNjY3NiYnJxcyNzYmJycivAGelGKkCQrQVGECBenMzC/0YW8JCkdS8rbUFglNZMsEOgEEK0mqoFEZelaUpgMBzf7zAQNKQTlDA68Bgjo/AwEAAQAYAAADiQQ6AAUAKwCwAEVYsAQvG7EEGz5ZsABFWLACLxuxAg8+WbAEELIAAQorWCHYG/RZMDEBIQMjEyEDZv45mu28ArUDdvyKBDoAAv+F/r4EZAQ6AA4AFABbshIVFhESObASELAE0ACwDC+wAEVYsAQvG7EEGz5ZsABFWLAKLxuxCg8+WbIAAQorWCHYG/RZsAbQsAfQsAwQsAnQsAcQsA/QsBDQsAQQshEBCitYIdgb9FkwMTc2NjcTIQMzAyMTIQMjEwUlEyEDAjFqgR9OAtuakVrsOP1hOPFbAWgBlXb++TY/v2HvqgGB/Ij9/AFC/r4CAwMEAqf+9f70//8AO//qBAIEUQIGAEkAAAAB/60AAAZyBDoAFQCCALAARViwCS8bsQkbPlmwAEVYsA0vG7ENGz5ZsABFWLARLxuxERs+WbAARViwAi8bsQIPPlmwAEVYsAYvG7EGDz5ZsABFWLAULxuxFA8+WbIQEQIREjmwEC+yjxABXbIAAQorWCHYG/RZsATQsggQABESObAQELAL0LITABAREjkwMQEjAyMTIwEhAQMhEzMTMwMzASEBEyED/4NM7Uxz/sL+zwHI6wETpHRK7UpnATkBMP5T+P7oAbP+TQGz/k0CPwH7/lcBqf5XAan98P3WAAABABb/6QO8BFAAKQCjshkqKxESOQCwAEVYsCYvG7EmGz5ZsABFWLAKLxuxCg8+WbIZJgoREjmwGS+07xn/GQJxtB8ZLxkCcbK/GQFxtF8ZbxkCcbS/Gc8ZAl2yjBkBXbJaGQFdshYHCitYIdgb9FmyAxYZERI5sAoQshEBCitYIdgb9FmyDhYRERI5tAMOEw4CXbAmELIfAQorWCHYG/RZsiIZHxESObQMIhwiAl0wMQEGBgcWFgcOAicmJjczBhYzMjY3NicnNxc2Njc2JiMmBgcHNjYXHgIDtgVeZkhFBAV8132w2wTpAmJQV3kLFaW4H5xVZwkHT0RLcw/tDPm4c7BcAxpKdjMhfU9pl1EDAr2XRVZVSIcFAa8BAklEP0cCTUEBlLUCAkqJAAABABkAAARIBDoACQBFALAARViwAC8bsQAbPlmwAEVYsAcvG7EHGz5ZsABFWLACLxuxAg8+WbAARViwBS8bsQUPPlmyBAcCERI5sgkHAhESOTAxATMDIxMBIxMzAwNU9LztfP3y9LztfAQ6+8YCwv0+BDr9PgD//wAZAAAESAXaAiYB+wAAAQcBagCc//MACQCwAC+wDdwwMQAAAQAiAAAEgQQ6AAwAaACwAEVYsAQvG7EEGz5ZsABFWLAILxuxCBs+WbAARViwAi8bsQIPPlmwAEVYsAsvG7ELDz5ZsgYCBBESOXywBi8YtNMG4wYCXbRDBlMGAl2yEwYBcbIBAQorWCHYG/RZsgoBBhESOTAxASMDIxMzAzMBIQEBIQHYfkvtvO1LXgFtATb+HwE0/t0BrP5UBDr+UAGw/e792AAB/7///wRJBDoAEABNsgQREhESOQCwAEVYsAAvG7EAGz5ZsABFWLABLxuxAQ8+WbAARViwCC8bsQgPPlmwABCyAwEKK1gh2Bv0WbAIELIKAQorWCHYG/RZMDEBAyMTIQMGBicjNzc2Njc3EwRJu+6a/tpjNcyfUhYkW3MfD2AEOvvGA3b+PObNAckDCJevUgHOAAEAIgAABZoEOgAMAFkAsABFWLABLxuxARs+WbAARViwCy8bsQsbPlmwAEVYsAMvG7EDDz5ZsABFWLAGLxuxBg8+WbAARViwCS8bsQkPPlmyAAsDERI5sgULAxESObIICwMREjkwMQEBIQMjEwEjAwMjEyECrwG9AS687Xr+bKKmgO28ASUBLQMN+8YCuv1GAtr9JgQ6AAEAGQAABEcEOgALAH4AsABFWLAGLxuxBhs+WbAARViwCi8bsQobPlmwAEVYsAAvG7EADz5ZsABFWLAELxuxBA8+WbIJCgAREjmwCS+0vwnPCQJdsr8JAXG0Lwk/CQJysl8JAXK07wn/CQJxtB8JLwkCcbKPCQFdtI8JnwkCcrICAQorWCHYG/RZMDEhIxMhAyMTMwMhEzMDi+5M/mpM7rzuTwGXTu4Btf5LBDr+PQHDAP//ADn/6AQnBFICBgBTAAAAAQAZAAAESAQ6AAcAOACwAEVYsAYvG7EGGz5ZsABFWLAALxuxAA8+WbAARViwBC8bsQQPPlmwBhCyAgEKK1gh2Bv0WTAxISMTIQMjEyEDjO6a/mma7rwDcwN2/IoEOgD////H/mAEDQRSAgYAVAAAAAEAOP/pA+4EUgAcAEuyAB0eERI5ALAARViwES8bsREbPlmwAEVYsAgvG7EIDz5ZsgABCitYIdgb9FmyBBEIERI5shUIERESObARELIYAQorWCHYG/RZMDElFjY3Nw4CJy4CNzc+AhcWFhUjNCYnJgYHAgHoVYMS4AuF0HGLxFoPAxGV7JCw0t5bVougBgetAmdTAWuwYgMCjPeYI53/igQE4bRddgQE9N7+8wABAFMAAAQIBDoABwAxALAARViwBi8bsQYbPlmwAEVYsAIvG7ECDz5ZsAYQsgABCitYIdgb9FmwBNCwBdAwMQEhAyMTITchA+b+rJvtmv6vIgOTA3n8hwN5wf///7X+RQQSBDoCBgBdAAAAAwA9/mAFUQYAACEALAA4AHyyEzk6ERI5sBMQsCnQsBMQsDTQALADL7AARViwAC8bsQAbPlmwAEVYsAcvG7EHGz5ZsABFWLAULxuxFBE+WbAARViwGC8bsRgPPlmwAEVYsBEvG7ERDz5ZsAAQsjYBCitYIdgb9FmwJtCwGBCyMQEKK1gh2Bv0WbAr0DAxARYXEzMDNhcWFgcGBwcOAicmJwMjEwYjIiYnJjc3NhI2ATYnJicmBwMWMzIBBhcWFxY3EyYjJgMCGERFWO1aRkiYnwEBBgUXhLxxT0hS7VI+RpKhAwEGBhqBvwK5CQEFkCMxgycm5v0ECQMKiBg3hCQh1zsEUAIdAc/+LSECAvHRQDgko/ByAwEg/lUBpxnZuDw3K7QBBH79wls52QcCDP03CwFHVzC0BwEIAswLBP6ZAP///7kAAAQTBDoCBgBcAAAAAQAZ/r8ESAQ6AAsAOwCwCC+wAEVYsAAvG7EAGz5ZsABFWLAELxuxBBs+WbAARViwCi8bsQoPPlmyAgEKK1gh2Bv0WbAG0DAxEzMDIRMzAzMDIxMh1e6bAZia7puQbdk4/OoEOvyIA3j8iP39AUEAAAEAcAAABCAEOwASAEiyDhMUERI5ALAARViwCC8bsQgbPlmwAEVYsBEvG7ERGz5ZsABFWLAALxuxAA8+WbIOEQAREjl8sA4vGLIEAQorWCHYG/RZMDEhIxMGIyYmNxMzAwYXFhcWNxMzA2TtRlthws8TNe42BgUMklNyYe0BaxYC3LwBTP6zMCZ5BgMXAg0AAAEAGQAABioEOgALAEgAsABFWLAALxuxABs+WbAARViwAy8bsQMbPlmwAEVYsAcvG7EHGz5ZsABFWLAJLxuxCQ8+WbIBAQorWCHYG/RZsAXQsAbQMDEBAyETMwMhEzMDIRMBw5sBRpvtmgFHmu28+qu8BDr8iAN4/IgDePvGBDoAAQAS/r8GPAQ6AA8ASwCwDC+wAEVYsAAvG7EAGz5ZsABFWLADLxuxAxs+WbAARViwBy8bsQcbPlmwAEVYsA0vG7ENDz5ZsgEBCitYIdgb9FmwBdCwCdAwMQEDIRMzAyETMwMzAyMTIRMBu5sBR5rtmgFHm+yatG3ZOfrjuwQ6/IgDePyIA3j8iP39AUEEOgAAAgBPAAAEpgQ6AAwAFQBesgwWFxESObAMELAN0ACwAEVYsAsvG7ELGz5ZsABFWLAHLxuxBw8+WbIBCwcREjmwAS+wCxCyCQEKK1gh2Bv0WbAHELIPAQorWCHYG/RZsAEQshUBCitYIdgb9FkwMQEXFhYHBgQjIRMhNyEDAxc2Njc2JicCUdawzwkL/vzL/iGa/tEiAhxdPdhcfA0LTEwC4gEEwqGp0QN2xP3l/qMBAl5TTVkEAAADACIAAAXxBDoACgATABcAbbICGBkREjmwAhCwEdCwAhCwFdAAsABFWLAJLxuxCRs+WbAARViwFi8bsRYbPlmwAEVYsAcvG7EHDz5ZsABFWLAULxuxFA8+WbIBBwkREjmwAS+yCwEKK1gh2Bv0WbAHELINAQorWCHYG/RZMDEBFxYWBwYEIyETMwMDFzY2NzYmJwEjEzMBj9awzwkL/vzL/iG87V092Fx8DQtNSwLU7bztAuIBBMKhqdEEOv3l/qMBAl5TTVkE/eIEOgACACIAAAPkBDoACgATAE2yDRQVERI5sA0QsAfQALAARViwCS8bsQkbPlmwAEVYsAcvG7EHDz5ZsgEHCRESObABL7ILAQorWCHYG/RZsAcQsg0BCitYIdgb9FkwMQEXFhYHBgQjIRMzAwMXNjY3NiYnAY/WsM8JC/78y/4hvO1dPdhcfA0LTUsC4gEEwqGp0QQ6/eX+owECXlNNWQQAAAEAI//oA9QEUAAfAHSyACAhERI5ALAARViwCC8bsQgbPlmwAEVYsBEvG7ERDz5ZsAgQsgABCitYIdgb9FmyHAgRERI5fLAcLxiyUxwBXbJAHAFdsgMcABESObIbBworWCHYG/RZsBEQshgBCitYIdgb9FmyFRsYERI5slMVAV0wMQEmBgcHPgIXHgIHBwYCBicmJjcXBhYXFhMFNyE2JgIsVH0Q3wmDznKIvVcPAxKW7o6r0AbfBVdRx1z+rh4BQwhdA4wCaVEBbLBhAQSM+JYbn/7+jQQE4LMBW3YEBgEqAah+kwAAAgAk/+kGEARTABcAJwCLsiYoKRESObAmELAP0ACwAEVYsBYvG7EWGz5ZsABFWLAELxuxBBs+WbAARViwFC8bsRQPPlmwAEVYsA4vG7EODz5ZsgAWFBESObAAL7QfAC8AAnGyvwABcbKPAAFdsl8AAXKyEwEKK1gh2Bv0WbAOELIdAQorWCHYG/RZsAQQsiQBCitYIdgb9FkwMQEzNiQXHgIHBwYCBwYnLgI3BwMjEzMBBhcWFhcWNjc3NCYnJgYHAYG7RwEhwIvEXRACFrSNZHp+xWMIy0/tvO0BTQYDA2Jad6oZB2FgeacZAofb8QQEjP2YFq7+7z8tAwN914IB/jwEOv3RNzxpgAMFwaxhhI8EA8GvAAAC/7YAAAQWBDsADQAWAGGyFBcYERI5sBQQsATQALAARViwAC8bsQAbPlmwAEVYsAEvG7EBDz5ZsABFWLAFLxuxBQ8+WbISAAEREjmwEi+yAwEKK1gh2Bv0WbIHAxIREjmwABCyEwEKK1gh2Bv0WTAxAQMjEyMBIQEmJjc2JDMDBhYXFxMnBgYEFrzsRdP+2v78AU5QTQUKAQjF6wtORPM2y1x/BDr7xgGN/nMBui2WW6HC/pdATgIBATgBAl///wA7/+oEAgYAAiYASQAAAQcARACcAAAAEwCwAEVYsAkvG7EJGz5ZsCHcMDEA//8AO//qBAIFzQImAEkAAAEGAGtpAAAMALAJL7Ax3LAg0DAxAAEADf5HA/kGAAAjAIWyAyQlERI5ALAhL7AARViwBC8bsQQbPlmwAEVYsAsvG7ELET5ZsABFWLAaLxuxGg8+WbafIa8hvyEDXbIvIQFdsg8hAV2yIxohERI5sCMvsB/QshwHCitYIdgb9FmwAdCyAhoEERI5sAsQshABCitYIdgb9FmwBBCyFwEKK1gh2Bv0WTAxASEHNhcWFgcDBgYjJic3FjMyNxM2JyYnJgcDIxMjNzM3MwchAsz+/jOHq5mXE3oYyaVDQh81K38gfAUEDYOFZoftz5kemR3uHgEEBK3qjgQC08D9CbXFAhDBEMIC7yslegMChPz6BK2rqKj//wAYAAADmAXzAiYB9gAAAQcAdwDG//MAEwCwAEVYsAQvG7EEGz5ZsAjcMDEAAAEAO//oA/YEVAAfAGKyGCAhERI5ALAARViwEC8bsRAbPlmwAEVYsAgvG7EIDz5ZsgABCitYIdgb9FmyGhAIERI5fLAaLxiyHAcKK1gh2Bv0WbIDABwREjmwEBCyFwEKK1gh2Bv0WbIUGhcREjkwMSUWNjc3DgInLgI3NxIAFxYWByM0JicmBgclByEGFgHlVoMU3wuE1XGMv1YQAh0BMN6wzgLdXFNoky0BWB7+tw1frQJnUwFrr2QDBIr3mBQBAgE2BgThtGFyBAOMmgGogJMA//8AHP/pA8QEUAIGAFcAAP//AB8AAAIJBdgCBgBNAAD//wAiAAAC4QXGAiYA9AAAAQcAa/9e//kADACwAi+wFdywBNAwMf///wz+RgH+BdgCBgBOAAAAAv+9AAAGRgQ6ABcAHwB5sgogIRESObAKELAZ0ACwAEVYsAAvG7EAGz5ZsABFWLAILxuxCA8+WbAARViwDy8bsQ8PPlmyAgAIERI5sAIvsAAQsgoBCitYIdgb9FmwDxCyEQEKK1gh2Bv0WbAIELIaAQorWCHYG/RZsAIQsh8BCitYIdgb9FkwMQEDFxYWBwYEIyETIQMCBgcjNzc2Njc3EwEDFzY2NzYnBDBB1rLPCQv/AMz+IZr+8Us3yaZkFSVcbx4SYAJ7N9hZfQ0SowQ6/ocBBbeZpcYDdv6r/tXxBckDCJadZQHO/cX+wQECXE+ICgACABkAAAZcBDoAEgAbAIKyARwdERI5sAEQsBPQALAARViwAi8bsQIbPlmwAEVYsBEvG7ERGz5ZsABFWLALLxuxCw8+WbAARViwDy8bsQ8PPlmyARELERI5sAEvsgQRCxESObAEL7ABELINAQorWCHYG/RZsAQQshMBCitYIdgb9FmwCxCyFAEKK1gh2Bv0WTAxASETMwMXFhYHBgQjIRMhAyMTMwEDFzY2NzYmJwF7AZdH7kLWss8JCf7/zf4hU/5qU+687gIhONhdewsKSlECnwGb/ocBBbeZpMcB3f4jBDr9xf7BAQJfTEBNBQAAAQANAAAD+QYAABoAc7IDGxwREjkAsBgvsABFWLAELxuxBBs+WbAARViwES8bsREPPlmwAEVYsAkvG7EJDz5Zsr8YAV2yLxgBXbIPGAFdshoRGBESObAaL7AW0LITBworWCHYG/RZsAHQsgIEERESObAEELIOAQorWCHYG/RZMDEBIQc2FxYWBwMjEzYnJicmBwMjEyM3MzczByEC4f7kLoesmpUTdO12BQMNg4Roh+3Qhx6HHO4fARkEtfKOBALWvf1IArsrJXoDAoT8+gS1qqGhAP//ACIAAASBBfICJgH9AAABBwB3AUT/8gATALAARViwBC8bsQQbPlmwD9wwMQD//wAZAAAESAXzAiYB+wAAAQcARADH//MAEwCwAEVYsAgvG7EIGz5ZsAvcMDEA////tf5FBBIF5wImAF0AAAEGAWpUAAAJALABL7AT3DAxAAABABn+mgRIBDoACwBFALAIL7AARViwAC8bsQAbPlmwAEVYsAMvG7EDGz5ZsABFWLAFLxuxBQ8+WbAARViwCS8bsQkPPlmyAQEKK1gh2Bv0WTAxAQMhEzMDIQMjEyETAcObAZia7rz+vz7uP/67vAQ6/IgDePvG/poBZgQ6AAABAGD/5gcuBbAAIwBgsgYkJRESOQCwAEVYsAAvG7EAHz5ZsABFWLANLxuxDR8+WbAARViwGC8bsRgfPlmwAEVYsAQvG7EEDz5ZsABFWLAJLxuxCQ8+WbIHAAQREjmyFAEKK1gh2Bv0WbAf0DAxAQMGBCcmJicGJyYmNxMzAwYXFhYXFjY3EzMDBhcWFhcWNjcTBy6vHf7vzmygJY7au88VrvevBQMFS0NkiRSv+68FBQdQRV+BFa8FsPv90PcEAldMqQQE+sQEBPv7KitIVwMEg3gEBfv7LStLUQMDf3sEBQAAAQBE/+YGHgQ6ACIAXLIXIyQREjkAsABFWLAALxuxABs+WbAARViwDS8bsQ0bPlmwAEVYsBcvG7EXGz5ZsABFWLAJLxuxCQ8+WbAE0LAEL7IHFwkREjmwCRCyEwEKK1gh2Bv0WbAe0DAxAQMGBicmJicGJyYmNxMzAwcUFhcWNjcTMwMGFxYWFxY2NxMGHnMc8rdbjiKCuqmyE3PtcgQ4OFN0E3PucgQCAkI7T2gQcwQ6/VLE4gQCSkKRBATmtgKv/VBHQ1EDBXNwArD9UCYmQ04BA3ZrArAAAgAjAAAElAWwABIAGwB0shUcHRESObAVELAJ0ACwAEVYsA8vG7EPHz5ZsABFWLAJLxuxCQ8+WbISCQ8REjmwEi+yAAcKK1gh2Bv0WbIDDwkREjmwAy+wABCwC9CwDNCwEhCwDdCwCRCyFQEKK1gh2Bv0WbADELIbAQorWCHYG/RZMDEBIwcXFhYHBgQjIRMjNzM3MwczAQMFNjY3NiYnArHZIv7j/REQ/sf0/d2+ux67Ifci2v7EVgESga4PDnBrBEfEAQHvxND+BEeqv7/9x/4SAgKQd2l5BAACACH//APpBhgAEgAbAHGyFRwdERI5sBUQsAPQALAARViwDy8bsQ8hPlmwAEVYsAkvG7EJDz5ZshIPCRESObASL7IABworWCHYG/RZsgIPCRESObACL7AAELAL0LASELAN0LACELITAQorWCHYG/RZsAkQshQBCitYIdgb9FkwMQEhAxcWFgcGBCchEyM3MxMzAyEBAxc2Njc2JicC4/7nNse51QwN/vTC/h+8qR6oNu02ARr+ckPZYHwLCkZPBDr+yQEBzKm22gQEOqsBM/7N/Vv+ggICcFZMZgUAAQAr/+kG3wXKACYAibIcJygREjkAsABFWLAlLxuxJR8+WbAARViwBC8bsQQfPlmwAEVYsCMvG7EjDz5ZsABFWLAbLxuxGw8+WbIAJSMREjmwAC+yBwQbERI5sAQQsgsBCitYIdgb9FmwABCwDtCwABCyIgEKK1gh2Bv0WbAR0LAbELIVAQorWCHYG/RZshgbBBESOTAxARcSABcWEhcjJiYnJgYHJQchBwYWFwQTNwYAJy4CJyY3BwMjEzMBtKZQAV362PsL9QV5d5XSPAHiIv4rCg19fwEXT/Yn/q7widF4BgQOtXH2/PcDTwEBMgFKBQT++uyciwMFz+EBw2SqwgQLAS0B5P7yBAN+6pJRUgH9dAWwAAABABn/6AWkBFMAJgCVsg0nKBESOQCwAEVYsCYvG7EmGz5ZsABFWLAELxuxBBs+WbAARViwIy8bsSMPPlmwAEVYsB4vG7EeDz5Zsg4eBBESOXywDi8YslIOAV2yQA4BXbAB0LAEELILAQorWCHYG/RZsggOCxESObAOELIPBworWCHYG/RZsB4QshYBCitYIdgb9FmyGRYPERI5sA8QsCHQMDEBMzYkFxYWByM0JicmAyUHIQYXFhcWFxY2NzcOAicmAjcHAyMTMwFzjkUBHMOv0ALdWVbRVgF5Hv6WBQULSiU6WIET4AuI03DF4RKhTu687gJx7fUFBOC1X3QEBv7eAasyMmwwGAECaVEBbLBiAwQBEccB/joEOgAC/64AAASEBbAACwAOAFYAsABFWLAILxuxCB8+WbAARViwAi8bsQIPPlmwAEVYsAYvG7EGDz5ZsABFWLAKLxuxCg8+WbINCAIREjmwDS+yAAEKK1gh2Bv0WbAE0LIOCAIREjkwMQEjAyMTIwMhATMTIwEhAwNOfUrcSmnV/vcC8+/09v5cAUhLAar+VgGq/lYFsPpQAmgB9QAAAv+cAAADuAQ6AAsAEABWALAARViwCC8bsQgbPlmwAEVYsAIvG7ECDz5ZsABFWLAGLxuxBg8+WbAARViwCi8bsQoPPlmyDQIIERI5sA0vsgEBCitYIdgb9FmwBNCyDwgCERI5MDEBIwMjEyMDIwEzEyMBMwMnBwKfYzC+MVKW+wJY4ePi/rPwNgUuARf+6QEX/ukEOvvGAcQBE1RtAAACAD4AAAaNBbAAEwAWAHwAsABFWLACLxuxAh8+WbAARViwEi8bsRIfPlmwAEVYsAQvG7EEDz5ZsABFWLAILxuxCA8+WbAARViwDC8bsQwPPlmwAEVYsBAvG7EQDz5ZshUCBBESObAVL7AA0LAVELIGAQorWCHYG/RZsArQsAYQsA7QshYCBBESOTAxASEBMxMjAyMDIxMjAyETIQMjEzMBIQMBnwFYAbLw9PZAfUrdSmjV/vbe/utL9v32AcIBSEwCZwNJ+lABqv5WAar+VgGr/lUFsPy4AfYAAAIAMAAABX0EOgATABgAfwCwAEVYsAIvG7ECGz5ZsABFWLASLxuxEhs+WbAARViwBC8bsQQPPlmwAEVYsAgvG7EIDz5ZsABFWLAMLxuxDA8+WbAARViwEC8bsRAPPlmyABASERI5sAAvsAHQsg4BCitYIdgb9FmwC9CwB9CwARCwFNCwFdCyFxIEERI5MDEBMwEzEyMDIwMjEyMDIxMjAyMTMwEzAycHAWvwAV7h4+c2XTK+MVKW+5uuMe277gF18DYFLgHEAnb7xgEX/ukBF/7pARf+6QQ6/YoBE1RtAAIAFAAABmQFsAAbAB4Ad7IMHyAREjmwDBCwHNAAsABFWLAaLxuxGh8+WbAARViwBC8bsQQPPlmwAEVYsAwvG7EMDz5ZsABFWLATLxuxEw8+WbIYGgQREjmwGC+wANCwGBCyDwEKK1gh2Bv0WbAJ0LIcGgQREjmwGhCyHQEKK1gh2Bv0WTAxARYWBwMjEzYmJycHAyMTJyYGBwMjEzYkJRcDIQEBIQR52dQXOfY5EFZ8aAxs9mlshZ8WOvY5IAEbAQER9gTA/SQBLP4+AyQE79H+oAFheX0FAw/9sAJcAgFzhv6aAWDk4wIBAoj9jAGnAAIAFgAABSoEOgAbAB4Ac7IcHyAREjmwHBCwFNAAsABFWLAFLxuxBRs+WbAARViwAC8bsQAPPlmwAEVYsAsvG7ELDz5ZsABFWLAULxuxFA8+WbAE0LAEL7AH0LAEELISAQorWCHYG/RZsBfQshwFABESObAFELIdAQorWCHYG/RZMDEzNzY2NwMhARYWBwcjNzYnJicnBwMjEyciBgcHARMhFhod59CxA9f+lKSfFBnuGgYBBpokBk3sTiZyhBUcAd3C/uCvzNcOAdr+IBDjvqmqNC2NDQII/mEBpgFzfrYCawEgAAIANQAACJkFsAAhACQAl7IdJSYREjmwHRCwJNAAsABFWLAHLxuxBx8+WbAARViwCy8bsQsfPlmwAEVYsAAvG7EADz5ZsABFWLAFLxuxBQ8+WbAARViwES8bsREPPlmwAEVYsBovG7EaDz5ZsgkHABESObAJL7IdAQorWCHYG/RZsAPQsAkQsA3QsB0QsBfQsiIHABESObALELIjAQorWCHYG/RZMDEhEzY3BQMjEzMDIQMhARYWBwMjEzYnJicnBwMjEycmBgcDAQEhAkc7F1b+p2v2/fZwAx3+BML+E9nUFzn2OgcGErJnC2z2aW6EnxY7AoABK/49AV+fawP9mgWw/XsChf10BO/R/qABYT0uigYDDf2uAlwCAXOG/poDOgGpAAACACIAAActBDoAIQAkAJmyGyUmERI5sBsQsCTQALAARViwBy8bsQcbPlmwAEVYsAsvG7ELGz5ZsABFWLAALxuxAA8+WbAARViwBS8bsQUPPlmwAEVYsBEvG7ERDz5ZsABFWLAaLxuxGg8+WbAFELAJ0LAJL7AK0LIcAQorWCHYG/RZsATQsAoQsA3QsBwQsBfQsiILABESObALELIjAQorWCHYG/RZMDEhNzY3BQMjEzMDIQMhARYWBwcjNzYnJicnBwMjEyMGBgcHARMhAhgcGk3+vkrtvO1SApa5A9f+laGgFBntGgcCB5ojBk3sTitzgRQaAd3C/uCpnmQD/lgEOv4nAdn+IBDiv6mqNSyRCQII/mEBpgF2haoCawEgAAAC/6r+QgQxB4wAKgAzAIuyCTQ1ERI5sAkQsDPQALAbL7AwL7AARViwCS8bsQkfPlmwAEVYsBUvG7EVDz5ZsgAJFRESObAAL7AJELIGAQorWCHYG/RZsAAQsigBCitYIdgb9FmyDygAERI5sBUQsiIBCitYIdgb9FmyDzABXbAwELAy0LAyL7IPMgFdsiswMhESObAt0LAtLzAxATI2NzYmJyU3Fx4CBwYFFhYHBgQnJwYHBhcHJiY3NjYzFzI2NzYmJyc3ATc3FQEjAzUXAaR9pA4LZWv+3iP4h9JqCBH+9mZoBw/+1ds1jBEQh1t0hQYFxqo0cqkPDniAmSMBlKrQ/s2T6cQDTXNqVmMFAccBAVypdOFtLKtwye8CAQVpaD6VKrlxhJcBgWxreQUBxwOgmQQQ/uwBFRAEAAL/tf5KA8UGIAAlAC4Av7IrLzAREjmwKxCwBNAAsCsvsABFWLAHLxuxBxs+WbAARViwFy8bsRcRPlmwAEVYsBEvG7ERDz5ZsgARBxESObAAL7S/AM8AAl20XwBvAAJxtC8APwACcrTvAP8AAnG0HwAvAAJxso8AAV2yvwABcrAHELIEAQorWCHYG/RZsAAQsiMHCitYIdgb9FmyDCMAERI5sBEQsh0BCitYIdgb9FmwKxCwLdCwLS+0Dy0fLQJdsiYrLRESObAo0LAoLzAxATY3NichNxcWFgcGBxYHBgQjIwYHBhcHJiY3NjYzFzI2NzYnIzcBNzcXASMDNRcBhOQXEsL+3iHvzukHCtGsBAX+89YlkxEQf1loggQFv6EwaI0NFOahHgFPqtAB/syT6cMCbgaRdQe5AQGajZ1cRpqerwVqYUKPLrFtf48BUEaGB6kDE5kEEf7tARQRBAD//wB1AAAF1wWwAgYBmAAA//8AP/4iBYoEPAIGAbgAAAADAGL/5wUaBcgAEgAbACQAcLIUJSYREjmwFBCwCdCwFBCwHdAAsABFWLAKLxuxCh8+WbAARViwAC8bsQAPPlmwChCyEwEKK1gh2Bv0WbIWCgAREjl8sBYvGLJzFgFdsmAWAV2wABCyHAEKK1gh2Bv0WbAWELIgBworWCHYG/RZMDEFLgInJhI3NiQXFgAXFgICBwYDJgYHJTY3NiYBFjY3BQYVFBYCUI/WeggHOEVgATO92AEBDAY5i2eyGpnaPgKoBwEDhP68mtU+/VgGhhQDg/idcwFDh7vJBAT+3vd8/r/+81qcBQwF3vIBMDWnuvvMBdvvATAzp7YAAwA2/+cEJgRSABEAFwAdAGqyGB4fERI5sBgQsAzQsBgQsBLQALAARViwBC8bsQQbPlmwAEVYsA0vG7ENDz5ZshIBCitYIdgb9FmyGgQNERI5fLAaLxiyUhoBXbJAGgFdshUHCitYIdgb9FmwBBCyGAEKK1gh2Bv0WTAxEzYSNhceAgcHBgIGJyYCNzcBFhMFBhYTJgMlNiZGEpvzk4vHWxACFJzzksjhCgMBp9Jh/g4IZeXNZAHxCGgCIJ4BBY8EBI78lhaf/v6MBAUBGdoo/qIHASQBg5YC3Af+4AF9mAABAKgAAAVeBcYADwBGsgIQERESOQCwAEVYsAYvG7EGHz5ZsABFWLAPLxuxDx8+WbAARViwDC8bsQwPPlmyAQwPERI5sAYQsggBCitYIdgb9FkwMQEXNwE2NhcXByciBwEjAzMCKgQyAVdLtHYyGRFbPv3i7uf+AYBjdgLtspQCAdcBgfuUBbAAAQB3AAAERARSABAARrINERIREjkAsABFWLAFLxuxBRs+WbAARViwEC8bsRAbPlmwAEVYsA0vG7ENDz5ZsgENEBESObAFELIKAQorWCHYG/RZMDEBFzcTEjMyFwcmByIHASMDMwGpAiS/d884OCcYEks3/nvOp+cBbmBgAcIBIhjBCgJv/O4EOwD//wCoAAAFXgb8AiYCNwAAAQcBdQRXAQ4AFgCwAEVYsA8vG7EPHz5ZsBHcsBXQMDH//wB3AAAERAXQAiYCOAAAAQcBdQPC/+IAFgCwAEVYsA8vG7EPGz5ZsBLcsBbQMDH//wBr/kUJeAXIACYAMwAAAAcAXQVmAAD//wA5/kUIhwRSACYAUwAAAAcAXQR1AAAAAgBm/3UFFAYvABQAJgBVshknKBESObAZELAA0ACwAEVYsA0vG7ENHz5ZsABFWLADLxuxAw8+WbAA0LANELAK0LANELIXAQorWCHYG/RZsBrQsAMQsiABCitYIdgb9FmwI9AwMQUHJzcmAic3EgAlNxcHFhIXFgcCABMmJwcnNwYCAxUWFzcXByQTNgKkHMEcscgEARIBTQEQGcEZr8cFAhw0/saVBZwVwhalsg8MmBXCFgEPPhgMfwGAJAEe4kwBbgHDJnIBdCT+4eZ4lv7n/qoDofBAYgFkNf6y/sVC4z1iAWJXAZS2AAIAOP+HBDUEtQATACMAWLIAJCUREjmwFNAAsABFWLAALxuxABs+WbAARViwCi8bsQoPPlmwABCwA9CwChCwDdCwChCyFAEKK1gh2Bv0WbAAELIcAQorWCHYG/RZsBnQsBQQsCHQMDEBNxcHFhIHBwYABwcnNyYCNzc2EhM2Njc2JwcnNwYGBwYXNxcCNRm0GaamFQIc/vrIGLQYpaMVByP/1G99BgRuFbQWbXkHB2wXtARGbwFvJ/7bzxbg/tscbAFuJwEjyzHaARL8ki3ss7g8YQFjMOextj9pAQADAGL/5QbcB0QAMQBGAE8Ar7I9UFEREjmwPRCwCdCwPRCwR9AAsABFWLAULxuxFB8+WbAARViwBy8bsQcPPlmwFBCwANCwAC+yCgcUERI5sAcQsAzQsBQQshUBCitYIdgb9FmwBxCyKQEKK1gh2Bv0WbAe0LIiFAcREjmwFRCwMdCwFBCwPtCwPi+wM9CwMy+yMggKK1gh2Bv0WbAzELA50LA5L7JCCAorWCHYG/RZsD4QsEvQsEsvsE/QsE8vMDEBFhIHAwYAJyYmJwYnLgI3EzYkNwcGBgcDBhcWFhcWNjcTMwMGFxYWFxY2NxM2NSYnEwcjLgMjIgYHByc3NjYXHgMBNjY3NxcHBgcFWL3HF1Ue/u/JZ6MpktB8s1IPVR8BEdUXYYAVVQUBAklEZokUP+8/BQUIVUdefBZWBgSKsQkeO3FxbTczQAkCgwIIgmwwWrVi/e0rJwgSpQ0RngWxCf77zf3t3P7/BAJTSaMGAnnagwIT3voEzAKMgv3sKi5TXwQFhnsBf/58LyxJUQMDiogCFS0upgoB5ogCJy8kODETASZscQIBF0kZ/ooxPiVeAWZvWwADAEv/5QXDBegAMABFAE0Ar7I6Tk8REjmwOhCwCtCwOhCwRtAAsABFWLAVLxuxFRs+WbAARViwDS8bsQ0PPlmwFRCwANCwAC+wDRCwCNCyCw0VERI5sBUQshYBCitYIdgb9FmwDRCyHQEKK1gh2Bv0WbIhFQ0REjmwKNCwFhCwMNCwFRCwPdCwPS+wMtCwMi+yMQgKK1gh2Bv0WbAyELA40LA4L7JBCAorWCHYG/RZsD0QsEnQsEkvsE3QsE0vMDEBHgIHBwYGJyYmJwYnJiY3EzY3NjcHBg8CBhYXFjY3NzMHBhcWFhcWNjcTNzYmJwEHIy4DIyIGBwcnNzY2Fx4DATY3NxcHBgcEa3GeSQ0hHeyyWY0jgLCorhQkIYx3rxWpJyQEBDc2UG8RH+YdBAMDRTtHYhEmBAI7OgEDCSE6bXhrNzJACQKEAgiCbDBav1n98EsPEaYNEKAESAZvxHzu0+0FAktElAQE8b4BA9hvXgPDB+X9SEhfAgV3bMfHJiZCUAEDenUBDD9FVQYB6ogCJTIjODETASZscQIBF00V/ohVP14BZW9cAAACAGD/5ActBxEAIwArAIWyBiwtERI5sAYQsCrQALAARViwAC8bsQAfPlmwAEVYsA0vG7ENHz5ZsABFWLAYLxuxGB8+WbAARViwCS8bsQkPPlmwBNCwBC+yBwAJERI5sAkQshQBCitYIdgb9FmwH9CwABCwKtCwKi+wKNCwKC+yJggKK1gh2Bv0WbAoELAr0LArLzAxAQMGBCcmJicGJyYmNxMzAwYXFhYXFjY3EzMDBhcWFhcWNjcTJTchByEHIzcHLa8d/u7NaaImj9m/yhSu968FAwVLQ2SJFK/7rwUFB1BFXYMVr/x9FgM9Ff6xF7EXBbD7/dD5BAJXTqoEBvvCBAT7+yorSlUDBIN4BAX7+y0rS1EDA358BAXnenp/fwACAET/5gYeBbEAIgAqAImyFyssERI5sBcQsCnQALAARViwAC8bsQAbPlmwAEVYsA0vG7ENGz5ZsABFWLAXLxuxFxs+WbAARViwBC8bsQQPPlmwAEVYsAkvG7EJDz5ZsgcXBBESObITAQorWCHYG/RZsB7QsBcQsCnQsCkvsCrQsCovsiQICitYIdgb9FmwKhCwJ9CwJy8wMQEDBgYnJiYnBicmJjcTMwMHFBYXFjY3EzMDBhcWFhcWNjcTJTchByEHIzcGHnMc87ZbjiKDuamyE3PtcgQ4OFNzE3TucgQCAkI7T2gQc/ziFgMhE/6+F7EWBDr9UsbgBAJKQpIEBOm0Aq/9UEdDUQMDcGsCtv1QJiZDTgEDdmsCsPx7e39/AAABAFb+jATqBcoAGQBTsgAaGxESOQCwAEVYsAovG7EKHz5ZsABFWLAALxuxABc+WbAARViwAi8bsQIPPlmwChCwDtCwChCyEAEKK1gh2Bv0WbACELIYAQorWCHYG/RZMDEBIxMmJgI3ExIAFxYSBycSJyYGBwMHBhYXFwJ69UV9rUoTKi0BXfLk9wz2EviPyyAtAwN0aqf+jAFoGqkBApIBDAEfAVQFBP735gEBIAcD4sj+4UCRqQQBAAABAEX+iQP8BFMAGQBTsgAaGxESOQCwAEVYsAovG7EKGz5ZsABFWLAALxuxABc+WbAARViwAi8bsQIPPlmwChCwDtCwChCyEQEKK1gh2Bv0WbACELIYAQorWCHYG/RZMDEBIxMmAjc3Ejc2FxYWByc2JicmBgcHBhYXFwIk7UWbnBYBHZmZ1qzPBt8FVlJxoxYKB1ZYnf6JAWwnASDMCwEGnpwFBOOyAVt3BAXCo2p8kwQCAAABADgAAAS6BT4AEwATALAOL7AARViwBC8bsQQPPlkwMQEXBycDIwEnNxcBJzcXEzcBBQcnAjD7VP3puQEm+1T+AQv9Vv3tt/7VAQBZ+QG4rHWq/r8Bl6t1qwFzq3erAUcB/mKrdKkAAAH85gSi/+IF/QAHABEAsAAvsgMGCitYIdgb9FkwMQEHJzchNxcH/aoWrisCEROtJwUgfgHubAHcAAAB/Q4FFv/zBhQAEgArALAEL7AI0LAIL7IAAgorWCHYG/RZsAQQsA3QsA0vsg4CCitYIdgb9FkwMQMWFgcHJzc2JyYGBAcHNzI+AuRkcwQDggIGVipT/vNBQwtKV9FhBhMCbGcoARRdBAIQYgUBhxNNFwAB/isFFf8CBmAABQAMALABL7AF0LAFLzAxATczBxcH/isWuR4mUAXneaRsOwAAAf48BRf/WwZgAAUADACwAy+wANCwAC8wMQEnNzczB/6KTk8XuRkFF05yiY8AAAj6Qf7CAZ4FsQALABcAIwAvADsARwBTAF8AegCwPy+wSy+wVy+wMy+wAEVYsAMvG7EDHz5ZsgkJCitYIdgb9FmwPxCwD9CwPxCyRQkKK1gh2Bv0WbAV0LBLELAb0LBLELJRCQorWCHYG/RZsCHQsFcQsCfQsFcQsl0JCitYIdgb9FmwLdCwMxCyOQkKK1gh2Bv0WTAxATY2FzIWFSc2IyYHATY2MxYWFyc2IyIHAzY2FxYWFyc2IyYHATY2FxYWFyc2IyYHATY2FxYWFyc2IyYHATY2FzIWFSc2IyIHATY2FxYWFyc2IyYHAzY2FxYWFyc2IyYH/Z0Ib1tXbWsFUFUbAZ0Ib1pZawJsBVBSHRIIbltYagJrBVBTHv56CHFXWGoCawVQUh79MAhwW1hqAmsFUFMe/kIIcFtXbWsFT1Qd/o8IbltYagJrBVBTHicIb1pYawJsBVBSHgTzWGYBaVYBZgJm/upXZgFmWAFmZP4HWGYBAWZXAWYCZv33WWYCAWZXAWYCZv7jWWUBAWdXAWYCZgUZWWUBaVYBZmT+B1hmAQFmVwFmAmb991hmAQFmVwFmAmYAAAj6b/5jAXMFxgAEAAkADgATABgAHQAiACcALwCwIS+wFi+wEi+wCy+wGy+wJi+wAEVYsAcvG7EHHz5ZsABFWLACLxuxAhE+WTAxBRcDIxMTJxMzAwE3BQclBQclNwUBNyUXBQEHBSclEycDNxMBFxMHA/3kDqtmfaQOqmZ9AakKATkQ/sD7jwr+xxEBPwPOAwFKP/7Q/GYD/rZAATJtEV9BlgKxEV9DlDoT/rABYAShEQFR/qH+EQqAWkQ8CoBaRAGuEphOvvyNE5hPvwLkAQFTO/7Q/OYB/q49ATAA//8AJ/5+BXwHJAImAdsAAAAnAWoBVwE9AQcAEARU/8YAEwCwAEVYsAgvG7EIHz5ZsA3cMDEA//8AGf5+BHYF2gImAfsAAAAnAWoAnP/zAQcAEANi/8YAEwCwAEVYsAgvG7EIGz5ZsA3cMDEAAAIAIwAABJQFsAASABsAdLIVHB0REjmwFRCwCdAAsABFWLAPLxuxDx8+WbAARViwCS8bsQkPPlmyEgkPERI5sBIvsgAHCitYIdgb9FmyAw8JERI5sAMvsAAQsAvQsAzQsBIQsA3QsAkQshUBCitYIdgb9FmwAxCyGwEKK1gh2Bv0WTAxASMHFxYWBwYEIyETIzczNzMHMwEDBTY2NzYmJwKx2SL+4/0REP7H9P3dvrseuyH3Itr+xFYBEoGuDw5wawRHxAEB78TQ/gRHqr+//cf+EgICkHdpeQQAAgAh//wD6QZiABIAGwB0shUcHRESObAVELAD0ACwAEVYsA0vG7ENHz5ZsABFWLARLxuxER8+WbAARViwCS8bsQkPPlmwERCyAAcKK1gh2Bv0WbICDQkREjmwAi+wABCwC9CwDNCwAhCyEwEKK1gh2Bv0WbAJELIUAQorWCHYG/RZMDEBIQMXFhYHBgQnIRMjNzM3MwchAQMXNjY3NiYnAwb+51nHudUMDf70wv4f36keqCDtHwEZ/k9D2WB8CwpGTwUF/f4BAcypttoEBQWrsrL8kP6CAgJwVkxmBQAAAgAnAAAFBQWwAA4AGwBNsgQcHRESObAEELAX0ACwAEVYsAMvG7EDHz5ZsABFWLABLxuxAQ8+WbIWAwEREjmwFi+yAAEKK1gh2Bv0WbADELIUAQorWCHYG/RZMDEBAyMTBTIEBwYHFwcnBiMBNjc2JiclAyE2Nyc3AXxe9/0B9+YBBBMTlF9xZ4KrARssCxJxbf7MWAEZR05YcgId/eMFsAH7zMOBjVqWNgFDRENuigQB/gQCF4hZAAL/x/5gBA8EUgAVACYAbrIFJygREjmwBRCwH9AAsABFWLAOLxuxDhs+WbAARViwCy8bsQsbPlmwAEVYsAgvG7EIET5ZsABFWLAFLxuxBQ8+WbIHDgUREjmyDA4FERI5sA4QshkBCitYIdgb9FmwBRCyHgEKK1gh2Bv0WTAxJRcHJwYnJicDIwE3BzYXFhYXFgcHBgMmJicmBwMWFzI3JzcXNjc2A1RRcU5jZqViYe4BBNkSfKycsQYCBwUjwQJcVYViVS6EO0lRc0Q4EgqCgFl4NgICc/3+BdoBcIcEBNzEQD0k7wGDa34CBH/+HXgCIoNZaGFxSQAAAQAiAAAE3wcQAAkAMrIDCgsREjkAsABFWLAGLxuxBh8+WbAARViwBC8bsQQPPlmwBhCyAgEKK1gh2Bv0WTAxASMHIQMjEyETMwSOBwH9bNn3/QKdPeYE7Qn7HAWwAWAAAQARAAADzAVzAAcAKwCwAEVYsAQvG7EEGz5ZsABFWLACLxuxAg8+WbAEELIAAQorWCHYG/RZMDEBIQMjEyETMwN0/iWa7rwB3DfsA3b8igQ6ATkAAf/8AAAErAWwAA0ASQCwAEVYsAgvG7EIHz5ZsABFWLACLxuxAg8+WbINCAIREjmwDS+yAAcKK1gh2Bv0WbAE0LANELAG0LAIELIKAQorWCHYG/RZMDEBIwMjEyM3MxMhByEDMwKH73T2dKYepWsDgiT9dUfvAp/9YQKfqgJnzP5lAAH/ywAAA4kEOgANAEkAsABFWLAILxuxCBs+WbAARViwAi8bsQIPPlmyDQgCERI5sA0vsgAHCitYIdgb9FmwBNCwDRCwBtCwCBCyCgEKK1gh2Bv0WTAxASEDIxMjNzMTIQchByECVv8AUe1Rnh6dTgK1I/45LAEBAdH+LwHRqgG/xPsAAAEALv7EBKwFsAAXAFuyAxgZERI5ALAKL7AARViwFi8bsRYfPlmwAEVYsBQvG7EUDz5ZsBYQsgABCitYIdgb9FmyAxYUERI5sAMvsAoQsgsHCitYIdgb9FmwAxCyEgEKK1gh2Bv0WTAxASEDMxYWEgcCAAc3NhM2JyYmJyMDIxMhBIj9dUmYqe5rERv+zvwS70cgDQ2Gd7Rt9vwDggTk/l4Ej/79qf77/swGuwYBF4BxbnkE/YgFsAABABH+3wOCBDoAFQBKsg8WFxESOQCwCi+wAEVYsBQvG7EUGz5ZsABFWLASLxuxEg8+WbAUELIAAQorWCHYG/RZsgMUEhESObADL7IQAQorWCHYG/RZMDEBIQcXHgIHBgIHJzY3NiYnJwMjEyEDX/46KECP2WkND/O0QuseDnV1XE/uvAK1A3blAQN51oij/vwws1HUeZEEAf46BDoA////pf6aB+AFsAImAdkAAAAHA/0GgwAA////rf6aBnIEOgImAfkAAAAHA/0FPAAA//8AHv46BKgFxQImAdoAAAAHA/0Bdf+g//8AFv47A7wEUAImAfoAAAAHA/0BH/+h//8ALv6aBXsFsAImA8EAAAAHA/0EDwAA//8AIv6aBIEEOgImAf0AAAAHA/0DWQAAAAEAIwAABYMFsAAUAGEAsABFWLAALxuxAB8+WbAARViwDC8bsQwfPlmwAEVYsAIvG7ECDz5ZsABFWLAKLxuxCg8+WbIPCgwREjmwDy+ynw8BXbIIAQorWCHYG/RZsgEIDxESObAF0LAPELAS0DAxCQIhAycHIzcjAyMTMwMzNzMDMwEFg/4IARX+1rZBLp8pVWz3/fdrVC2gMzIBfwWw/U79AgJtAerp/ZMFsP2a/v8AAmgAAAEAIQAABM0EOgAUAFwAsABFWLANLxuxDRs+WbAARViwFC8bsRQbPlmwAEVYsAovG7EKDz5ZsABFWLADLxuxAw8+WbIOCg0REjmwDi+yCQEKK1gh2Bv0WbIBCQ4REjmwBdCwDhCwEtAwMQEBEyEDJwcjNyMDIxMzAzM3MwczAQTN/mrl/uCGLySYIFNL7LzsS1IkmCkiARYEOv3x/dUBrAGzsv5UBDr+UMfJAbIAAAEANwAABY8FsAAUAG4AsABFWLAELxuxBB8+WbAARViwEi8bsRIfPlmwAEVYsAsvG7ELDz5ZsABFWLAILxuxCA8+WbITEgsREjmwEy+wENCyDQcKK1gh2Bv0WbAB0LICCxIREjmwAi+yCgEKK1gh2Bv0WbIGCgIREjkwMQEjBzMBIQEBIQEjAyMTIzczNzMHMwLCzip9AgoBPv2YAYb+6P69rmz2vMcexiP2I88EP/MCZP07/RUCcP2QBD+qx8cAAAEAGQAABFkGAAAUAGoAsBIvsABFWLAELxuxBBs+WbAARViwCy8bsQsPPlmwAEVYsAgvG7EIDz5ZshMSCxESObATL7IBBworWCHYG/RZsgILBBESObACL7IKAQorWCHYG/RZsgYKAhESObABELAN0LATELAQ0DAxASMDMwEhAQEhAyMDIxMjNzM3MwczAqS+Xl0BTwEl/kkBGP793nJS7dLhHuEb7Bu+BLv94QGe/gX9wQHZ/icEu6qbmwAAAQCkAAAG4wWwAA4AYQCwAEVYsAYvG7EGHz5ZsABFWLAKLxuxCh8+WbAARViwAi8bsQIPPlmwAEVYsA0vG7ENDz5ZsggGAhESObAIL7IBAQorWCHYG/RZsAYQsgQBCitYIdgb9FmyDAEIERI5MDEBIwMjEyE3IQMzASEBASEDpq9s9tr+NSMCwGp9AgsBPv2XAYb+6AJw/ZAE7MT9nAJk/Tv9FQABAGwAAAW7BDoADgBrALAARViwBi8bsQYbPlmwAEVYsAovG7EKGz5ZsABFWLACLxuxAg8+WbAARViwDS8bsQ0PPlmyCQoCERI5sAkvsi8JAXGyjAkBXbIAAQorWCHYG/RZsAYQsgQBCitYIdgb9FmyDAAJERI5MDEBIwMjEyE3IQMzASEBASEDEX5K7Zr+diICd0xfAW0BNv4eATT+3gGs/lQDdsT+UAGw/e392f//ACf+mgWHBbACJgAsAAAABwP9BGkAAP//ABn+mgRpBDoCJgIAAAAABwP9A2sAAAABACcAAAffBbAADQBdALAARViwAi8bsQIfPlmwAEVYsAwvG7EMHz5ZsABFWLAGLxuxBg8+WbAARViwCi8bsQoPPlmyAQIGERI5sAEvsAIQsgQBCitYIdgb9FmwARCyCAEKK1gh2Bv0WTAxASETIQchAyMTIQMjEzMBsQJ2aQNPIv2o2/Zw/Ypw9/33A1ICXsP7EwKH/XkFsAAAAQARAAAFkgQ6AA0AZgCwAEVYsAIvG7ECGz5ZsABFWLAMLxuxDBs+WbAARViwBi8bsQYPPlmwAEVYsAovG7EKDz5ZsgEMBhESOXywAS8YtEABUAECXbACELIEAQorWCHYG/RZsAEQsggBCitYIdgb9FkwMQEhEyEHIQMjEyEDIxMzAWwBl04CQSP+rprtTP5pTO687gJ3AcPE/IoBtf5LBDoAAQAu/sIHhgWwABkAaLIUGhsREjkAsAgvsABFWLAYLxuxGB8+WbAARViwEi8bsRIPPlmwAEVYsBYvG7EWDz5ZsgEYEhESObABL7AIELIJBworWCHYG/RZsAEQshABCitYIdgb9FmwGBCyFAEKK1gh2Bv0WTAxATMWFhIHAgAHNzYTNicmJicjAyMTIQMjEyEFFm6p7msRG/7O/BLvRyANDYZ3im322f2U2fb8BFkDQASP/v2p/vv+zAa7BgEXgHFueQT9igTk+xwFsAAAAQAR/uMGUgQ6ABcAV7IQGBkREjkAsAcvsABFWLAWLxuxFhs+WbAARViwEC8bsRAPPlmwAEVYsBQvG7EUDz5ZsgEWEBESObABL7IOAQorWCHYG/RZsBYQshIBCitYIdgb9FkwMQEXFgAHBgIHJzY2NzYmJycDIxMhAyMTIQP2Ye4BDRMP9LNCeYQMD39/jVDtmf5pmu68A3MClAEC/vzUpv8AMLIqmGN4kwQB/jYDdvyKBDoAAgBl/+gF2QXHACsAOgCMshk7PBESObAZELA60ACwAEVYsCAvG7EgHz5ZsABFWLAOLxuxDh8+WbAARViwAC8bsQAPPlmwAEVYsAQvG7EEDz5ZsgIEIBESObACL7AOELIPAQorWCHYG/RZsAQQshcBCitYIdgb9FmwABCyKwEKK1gh2Bv0WbACELAv0LAgELI2AQorWCHYG/RZMDEFJicGJy4CJyY3NxIANwcGBgIGFxYWFzI3JhM3NhI2FxYWFxcWBwcCBxYXARYWFzYTNzY1NCcmAwcGBUrSpKuikOmQEAkMGi4BOOAYb5o/CQYMmX8xMqUlIBiSxnaRtRMEAQciMdtPaf4AA0U+rSwiCn+rNiQJFwdBSQQCf+qWV1arASsBUgXUAs7+iHg8jqcDCPABFtGkAQh9AwTRtTdCPdr+2sIOAgGkWpo5jQEA4lMyzgcI/sbvPQAAAgBL/+oEkgRSACcAMgCMshszNBESObAbELAp0ACwAEVYsB0vG7EdGz5ZsABFWLAMLxuxDBs+WbAARViwAC8bsQAPPlmwAEVYsAQvG7EEDz5ZsgIEHRESObACL7AMELINAQorWCHYG/RZsAQQshQBCitYIdgb9FmwABCyJwMKK1gh2Bv0WbACELAq0LAdELIwAQorWCHYG/RZMDEFJicGJyYmAjc3NhI3BwYHBxUWFhczNyY3Nz4CFxYWFxYHBwYHFhcBBhc2PwI0JyYHBE2zh4mBjtBgEQca870WlyYOBWdbFxZfFhMSbZpae5IGAgURIZ45Yf5pEV9rFw8GS28dFAQ0OgICmgEImDvcAQsGyhP+eE1vhQMCqcaOesRcAwTBnjQvftWWCwIBjqdwZaSBV5kDBvYA//8AZf4+BQ0FxwImACcAAAAHA/0BuP+k//8AOP4+A+4EUgImAEcAAAAHA/0BOv+k//8AnP6aBSIFsAImADgAAAAHA/0COwAA//8AU/6aBAgEOgImAgUAAAAHA/0B2AAA//8AoQAABU0FsAIGAD0AAP//AHf+XwQwBDoCBgGjAAAAAQChAAAFTQWwAA4AVrIKDxAREjkAsABFWLAILxuxCB8+WbAARViwCy8bsQsfPlmwAEVYsAIvG7ECDz5ZsgYCCBESObAGL7IFBworWCHYG/RZsAHQsgoIAhESObAGELAO0DAxASMDIxMjNzMBIRMBIQEzA5nPWvhaxB59/vgBBc0BvAEe/e58AgT9/AIEqgMC/VACsPz+AAABAFT+XwQwBDoADgBjsgoPEBESOQCwAEVYsAgvG7EIGz5ZsABFWLALLxuxCxs+WbAARViwAi8bsQIRPlmwAEVYsAAvG7EADz5ZsABFWLAELxuxBA8+WbIGBworWCHYG/RZsgoLABESObAN0LAO0DAxBSMDIxMjNzMDMxMBMwEzAt/VSe1IyB6inexmAWn+/iilAf5gAaCqA5H9BAL8/G/////D/poFRwWwAiYAPAAAAAcD/QPAAAD///+5/poEEwQ6AiYAXAAAAAcD/QLNAAAAAQCd/qEGbgWwAA8ATwCwDS+wAEVYsAgvG7EIHz5ZsABFWLACLxuxAh8+WbAARViwDi8bsQ4PPlmwAhCyAAEKK1gh2Bv0WbAF0LAOELIGAQorWCHYG/RZsArQMDEBITchByEDIRMzAzMDIxMhAfP+qiMDoyP+qrgCbdn22atz4z778ATsxMT73gTm+xz91QFfAAABAFb+vwTYBDoADwBLALANL7AARViwAy8bsQMbPlmwAEVYsA8vG7EPDz5ZsAMQsgQBCitYIdgb9FmwANCwDxCyBgEKK1gh2Bv0WbADELAI0LAGELAK0DAxASM3IQcjAyETMwMzAyMTIQFE7iICsCPUeAGXm+2aj23YOPzqA3fDw/1LA3j8iP39AUEA//8Axf6aBWoFsAImAeoAAAAHA/0EPQAA//8AcP6aBDoEOwImAgoAAAAHA/0DPAAAAAEAuQAABVwFsAAYAE+yBRkaERI5ALAARViwAC8bsQAfPlmwAEVYsAsvG7ELHz5ZsABFWLAOLxuxDg8+WbIFDgAREjmwBS+wCNCwBRCyFAEKK1gh2Bv0WbAR0DAxAQMGFxYXEzMDNjcTMwMjEwYHByM3JiY3EwISSwcFDKk7nzhecHv3/fdrUX8uoC/Y0xdLBbD+NToujREBK/7bCxgCqPpQAj0WDOznDPbPAckAAAEAhQAABDQEOwAVAE+yBBYXERI5ALAARViwCi8bsQobPlmwAEVYsBQvG7EUGz5ZsABFWLAALxuxAA8+WbIPFAAREjmwDy+yBgEKK1gh2Bv0WbAD0LAPELAS0DAxISMTBwcjNyYmNxMzAwcGFxMzAzcTMwN57kV1HaAfnZsSNuw4BANZNaA1dGDtAWoTi40X26QBTP6yQGsiAQv+7hQCDQABAOcAAAWMBbAAEABGsgIREhESOQCwAEVYsAEvG7EBHz5ZsABFWLAALxuxAA8+WbAARViwCS8bsQkPPlmyBQkBERI5sAUvsg4BCitYIdgb9FkwMTMTMwM2FxYWBwMjEzYmJAcD5/32a5qt5vAZTPZMEGD++s58BbD9wiwEAvPc/jcByn+DBir9WP//AA0AAAP5BgACBgBMAAAAAgBi/+oFwQXIACEALABkshwtLhESObAcELAr0ACwAEVYsBAvG7EQHz5ZsABFWLAALxuxAA8+WbIjABAREjmwIy+yFgEKK1gh2Bv0WbAF0LAjELAM0LAAELIdAQorWCHYG/RZsBAQsikBCitYIdgb9FkwMQUmJAI3NyYmNxcHFBc2EiQXFhIXFgcHJQcGFxYWFxY3FwYBJTc2JyYmJyYGBwNosP73dB4Ng4EJsAJeJbwBC5/Q6QUBCxb8ugwPCg6bgJ3DHXT98QJbBwsDBXZoh8Q3FgGkASGvSBzTpQFEdCi0ASGZBAT+6upSUYkBOFNKdYgDA0jIUwNlBSFCQnCBAwXGzwAC//T/6gSDBFMAHAAmAJGyDScoERI5sA0QsB7QALAARViwDi8bsQ4bPlmwAEVYsAAvG7EADz5ZsiEOABESObAhL7S/Ic8hAl20XyFvIQJxsr8hAXG0HyEvIQJxso8hAV207yH/IQJxshIHCitYIdgb9FmwBNCwIRCwC9CwABCyFwEKK1gh2Bv0WbIZDgAREjmwDhCyHQEKK1gh2Bv0WTAxBS4CNyYmNxcHBhc2JBcWEgcHIQYWFhcWNxcGBgMmBgcFNzYnJiYCbYvQYRRpaAekBANCSQEas8rJHg/9VwctaEmagHhD4g9ejTUBwQUHBQpYFAOI7Ykgu5QBOF8t0+kFBf7Z6mhRgU0CBYl9YWsDogN9kAIWLixHUv//AGL+QwXBBcgCJgJ+AAAABwP9Asf/qf////T+RgSDBFMCJgJ/AAAABwP9Adf/rP//ADUAAAIoBbACBgAtAAD///+lAAAH4AckAiYB2QAAAQcBagJQAT0ACQCwCS+wGdwwMQD///+tAAAGcgXaAiYB+QAAAQcBagGF//MACQCwCS+wGdwwMQAAAQAj/r0FWwWwABkAXrIYGhsREjkAsBAvsABFWLAELxuxBB8+WbAARViwCC8bsQgfPlmwAEVYsAIvG7ECDz5ZsgcEAhESObAHL7IYAQorWCHYG/RZsgoHGBESObAQELIRAQorWCHYG/RZMDEBIwMjEzMDMwEhARYSBwIABzc2NhInJiYnJwGVCHP3/fdqZAIOATz9t8jIGBv+x/wTcZxIDQ2Ecv0Ccv2OBbD9pAJc/YYf/szj/vf+ygTDBIkBAXdteQQCAAEAIf7nBIAEOgAWAF6yBhcYERI5ALAGL7AARViwES8bsREbPlmwAEVYsBUvG7EVGz5ZsABFWLAPLxuxDw8+WbITDxEREjmwEy+yDgEKK1gh2Bv0WbIADhMREjmwBhCyBwcKK1gh2Bv0WTAxARYWBwYGByc2Njc2JicnAyMTMwMzASECt4+WDg/yskJ1hgwOcm62S+y87EtIAYMBNwJcKuado/cusiWRYm2HBgH+VAQ6/lABsAD////K/n4FfAWwAiYB3gAAAAcAEART/8b///+//n4EeAQ6AiYB/gAAAAcAEANk/8YAAQAu/kYFggWwABQAdLIKFRYREjkAsABFWLAALxuxAB8+WbAARViwAy8bsQMfPlmwAEVYsBIvG7ESDz5ZsABFWLAILxuxCBE+WbICABIREjl8sAIvGLRgAnACAl20MAJAAgJdsAgQsg0BCitYIdgb9FmwAhCyEAEKK1gh2Bv0WTAxAQMhEzMBBgYnIic3FjMyNxMhAyMTAiBuAmpv9/7+GNamN04jNimAIW/9lmv2/AWw/YMCffoXuMkCE8cOxAKR/ZcFsAAAAQAR/kcEPwQ6ABQAbbILFRYREjkAsABFWLAALxuxABs+WbAARViwAy8bsQMbPlmwAEVYsBIvG7ESDz5ZsABFWLAILxuxCBE+WbICAxIREjl8sAIvGLRAAlACAl2wCBCyDQEKK1gh2Bv0WbACELIQAQorWCHYG/RZMDEBAyETMwMGBiMiJzcWMzI3EyEDIxMBu08Bl0/twxjNoztIHj0jgCFS/mlM7rwEOv49AcP7h7TGEsEQwgHp/ksEOv//ACf+fgWHBbACJgAsAAAABwAQBF//xv//ABn+fgR1BDoCJgIAAAAABwAQA2H/xv//AMX+mgVqBbACJgHqAAAABwP9AroAAP//AHD+mgQgBDsCJgIKAAAABwP9AbkAAP//ACf+fgbOBbACJgAxAAAABwAQBZ7/xv//ACL+fgXJBDoCJgH/AAAABwAQBLX/xv//ADUAAAIoBbACBgAtAAD///+kAAAErgcdAiYAJQAAAQcBagEwATYACQCwBC+wDtwwMQD//wAi/+gD9AXnAiYARQAAAQcBagCIAAAACQCwGC+wL9wwMQD///+kAAAErgcDAiYAJQAAAQcAawEoATYADACwBC+wHNywC9AwMf//ACL/6AQDBc0CJgBFAAABBwBrAIAAAAAMALAYL7A93LAs0DAx////hwAAB3gFsAIGAIkAAP//AA//6AZwBFICBgCpAAD//wAnAAAEugckAiYAKQAAAQcBagD4AT0ACQCwBi+wD9wwMQD//wA7/+oEAgXnAiYASQAAAQYBanEAAAkAsAkvsCPcMDEAAAIASP/oBTcFwwAaACQAXrIVJSYREjmwFRCwHNAAsABFWLAALxuxAB8+WbAARViwCi8bsQoPPlmyEAAKERI5sBAvsAAQshUBCitYIdgb9FmwChCyGwEKK1gh2Bv0WbAQELIeAQorWCHYG/RZMDEBFgQXFgcHBgIEJyYmAjc3BTYnJiYnJgcnNjYTFjY3IQcGFxYWAu+9AQ89PxkQHcr+1qyz8mQaFgOvDwoSqouk0R5AwQyR2kP9RQcOChCRBcMCrpqgym7G/ryvBASqATDFjwFbU4eXAwNJySkr+vwDy9EiTkNsdwD//wA2/+oD9gRQAgYBZQAA//8ASP/oBTcG3AImApoAAAEHAGsA9wEPAAwAsAAvsDbcsCXQMDH//wA2/+oD9gXOAiYBZQAAAQYAa3IBAAwAsAAvsC/csB7QMDH///+lAAAH4AcKAiYB2QAAAQcAawJIAT0ADACwCS+wJ9ywFtAwMf///60AAAZyBcACJgH5AAABBwBrAX3/8wAMALAJL7An3LAW0DAx//8AHv/tBKgHGAImAdoAAAEHAGsA4wFLAAwAsA4vsDvcsCrQMDH//wAW/+kD2gXNAiYB+gAAAQYAa1cAAAwAsCYvsDvcsCrQMDEAAQAv/+YEnAWwABsAarIZHB0REjkAsABFWLACLxuxAh8+WbAARViwDC8bsQwPPlmwAhCyAAEKK1gh2Bv0WbIEAAIREjmyGwwCERI5sBsvshkHCitYIdgb9FmyBRsZERI5shAMGRESObAMELITAQorWCHYG/RZMDEBITchBwEWFgcOAicmJjczBhYXFjY3NiYnJzcDU/2uJAN3Hf5FqLAOC5b7k8joCPQEbVpvrRARdIGXIATkzK7+VRnvr4bJawQE7LtkeQIEf2+BiwQBtwAB//D+cgRUBDoAGwBdsgscHRESOQCwDC+wAEVYsAIvG7ECGz5ZsgABCitYIdgb9FmyBAACERI5shsMAhESObAbL7IZBworWCHYG/RZsgUZGxESObIPAgwREjmwDBCyEwEKK1gh2Bv0WTAxASE3IQcBFhYHDgInJiY3FwYWFxY2NzYmJyc3Awn9tiMDchz+RaW1DwuW+JLG5wjsBGtfcrEQEXaCmiADdsSm/koZ67CFyGsDBOu6AWR+AgSDcIOKBAG2//8AJwAABXwG8QImAdsAAAEHAHIBIQFBABMAsABFWLAILxuxCB8+WbAL3DAxAP//ABkAAARIBacCJgH7AAABBgByZvcAEwCwAEVYsAcvG7EHGz5ZsAvcMDEA//8AJwAABXwHCgImAdsAAAEHAGsBTwE9AAwAsAAvsBvcsArQMDH//wAZAAAESAXAAiYB+wAAAQcAawCU//MADACwAC+wG9ywCtAwMf//AGv/5wUhBwMCJgAzAAABBwBrAT8BNgAMALAKL7A03LAj0DAx//8AOf/oBCcFzQImAFMAAAEGAGt9AAAMALAEL7Ay3LAh0DAx//8AYv/nBRoFyAIGAjUAAP//ADb/5wQmBFICBgI2AAD//wBi/+cFGgcHAiYCNQAAAQcAawFNAToADACwCi+wNtywJdAwMf//ADb/5wQmBc0CJgI2AAABBgBrewAADACwBC+wL9ywHtAwMf//AE//6QT3BxkCJgHwAAABBwBrASEBTAAMALAUL7Ay3LAh0DAx//8AI//oA+UFzQImAhAAAAEGAGtiAAAMALAIL7Ax3LAg0DAx//8Am//nBVMG8QImAeYAAAEHAHIA3wFBAAkAsAEvsBHcMDEA////tf5FBBIFtAImAF0AAAEGAHIeBAAJALABL7AQ3DAxAP//AJv/5wVTBwoCJgHmAAABBwBrAQ0BPQAMALABL7Ai3LAR0DAx////tf5FBBIFzQImAF0AAAEGAGtMAAAMALABL7Ah3LAQ0DAx//8Am//nBVMHPAImAeYAAAEHAW8BXAE9AAwAsAEvsBPcsBXQMDH///+1/kUEhAX/AiYAXQAAAQcBbwCbAAAAFgCwAEVYsA8vG7EPGz5ZsBbcsBLQMDH//wDFAAAFagcKAiYB6gAAAQcAawFJAT0ADACwAC+wItywEdAwMf//AHAAAAQgBcACJgIKAAABBgBrbfMADACwCC+wJNywE9AwMf//AC7+mgSsBbACJgGEAAAABwP9AP8AAP//ABj+mgOJBDoCJgH2AAAABwP9AOUAAP//AC4AAAa9BwsAJgHvCwAAJwAtBJUAAAEHAGsB9wE+ABYAsABFWLAKLxuxCh8+WbAe3LAp0DAx//8AIgAABfEFwAAmAg8AAAAnAPQEJgAAAQcAawFy//MAFgCwAEVYsAovG7EKGz5ZsB7csCnQMDH//wAz/kYE/AWwACYBhFAAACYD1a4pAAcD/AEsAAD//wAJ/kQD2wQ6ACYB9lIAACcD1f+J/3oABwP8AQL//v///8P+RgVHBbACJgA8AAAABwP8A7AAAP///7n+RgQTBDoCJgBcAAAABwP8Ar0AAAAB/8MAAAVHBbAAEQBjALAARViwCy8bsQsfPlmwAEVYsA4vG7EOHz5ZsABFWLACLxuxAg8+WbAARViwBS8bsQUPPlmyEQsCERI5sBEvsgAHCitYIdgb9FmyBAsCERI5sAfQsBEQsAnQsg0LAhESOTAxASMBIQMBIQEjNzMBIRMBIQEzA8eKASP+7tz+fP7VAfF4HnT+7wEQ1gF6ASr+LHIClf1rAhX96wKVqgJx/fMCDf2PAAAB/7kAAAQTBDoAEQBjALAARViwCy8bsQsbPlmwAEVYsA4vG7EOGz5ZsABFWLACLxuxAg8+WbAARViwBS8bsQUPPlmyEQ4CERI5sBEvsgAHCitYIdgb9FmyBA4CERI5sAfQsBEQsAnQsg0OAhESOTAxASMTIwMBIQEjNzMDMxMTIQEzAymW0/iX/vb+7AFngh6ExfiM/wEV/rCEAdf+KQFx/o8B16oBuf6eAWL+RwACADAAAAT4BbAADAAVAFCyDBYXERI5sAwQsA/QALAARViwAS8bsQEfPlmwAEVYsAMvG7EDDz5ZsgABAxESObAAL7ADELINAQorWCHYG/RZsAAQsg4BCitYIdgb9FkwMQETMwMlLgI3PgIzExMlBgYHBhYXA6Rd9/39+YvSZwsLmf+ZsFr+7oCtDxFvaQObAhX6UAEEc8yEjNVz/S4CBgICj3dvjAT//wA7/+cEiAYAAgYASAAAAAIARQAABoAFsAAYACEAWrIZIiMREjmwGRCwCdAAsABFWLAKLxuxCh8+WbAARViwGC8bsRgPPlmyCAoYERI5sAgvsBgQsgwBCitYIdgb9FmyEgoYERI5sBnQsAgQshoBCitYIdgb9FkwMSUuAjc+AjMFEzMDFzY2NTQnFxYXEgAjJRMlBgYHBhYXAgiL0mYLC5r9mQEuXfbZO3+aFeYSBhD+3/n+11r+7H2uEQ9uaQEEdMuEjNZyAQIV+xoCAubfXVgBWVv+1v6bygIGAgKNeHCMBAAAAgBH/+YGUQYYACMAMgCAsgYzNBESObAGELAk0ACwAEVYsAcvG7EHIT5ZsABFWLAaLxuxGg8+WbAARViwHy8bsR8PPlmyBAcfERI5sAQvsgYHHxESObAaELIOAQorWCHYG/RZshMHHxESObIdBx8REjmwBBCyJgEKK1gh2Bv0WbAfELIvAQorWCHYG/RZMDETNhI2FxYXEzMDBhcWFhcWEhM2JxcWFxYCBCciJicGJyYmJyYBJicmBgcHBhcWFhcWNzdPFYrLgZxZbe3NAwMDNy+OrwcCEt8OBAeL/vWpdp8chr+ZsgcDAtE3d3ydFQMGAQJaUn5lBgIHsAEVhgMEdwJE+04eHzdAAwkBKwENZGQBZGPb/qK9A1pZuAQE07g7AW5jBALPsRQzOGZzAgR1RQAAAQCq/+gFugWwACoAY7IVKywREjkAsABFWLANLxuxDR8+WbAARViwJy8bsScPPlmyBisNERI5sAYvsgMBCitYIdgb9FmwDRCyDAEKK1gh2Bv0WbIUAwYREjmwJxCyGwEKK1gh2Bv0WbIgDScREjkwMQE2JicnNxcyNjc2JyU3BRYWBwYGBxYWBwcGFhcWEhM2JxcWFxYCBicmJjcCZAlVV+Ekj5WkDhnm/p0kAS/v9Q8IkZliXwkHBS0tgpoHAhHoDQQHif+nl54IAXtlewUCzQF4dL8JAc0BAdbAb6s+IqR+RjZIAgkBMAEBZGQBZGPd/qS9AgKwmwABAGH/4wTNBDoAKQBgsiUqKxESOQCwAEVYsB8vG7EfGz5ZsABFWLAQLxuxEA8+WbIDAQorWCHYG/RZsgkQHxESObIYKh8REjmwGC+yFwEKK1gh2Bv0WbAfELIeAQorWCHYG/RZsiYXGBESOTAxJRUWFxY2NicmJxcWFxYCBicmJjc3NicnNxc2NzYnJTcXFhYHBgYHFhYHAq4DN0lyPQUEFN4RCRJw5ZWXkQUJC4PwH6XOFBWr/vQc9r3MCAVja09GBukhMwMFbNV5T04BTk6a/tagAQN8dExxBwK9AQaJhAoBwwEFpo9PdS8aeFIAAQCS/rkD2QWwACcAX7IkKCkREjkAsBsvsABFWLAKLxuxCh8+WbAARViwHy8bsR8PPlmyASgKERI5sAEvsgABCitYIdgb9FmwChCyCQEKK1gh2Bv0WbIQAAEREjmwHxCyGAUKK1gh2Bv0WTAxEzcXMjY3NiYnJTcXFhYHBgUWFhcWDwI3BwYHJzY3ByYnJjc3NiYnkiK1jqcODm5r/tof+OXyDxH++kdUCAQHFgPPGijHg2QslSUEAwoSDl1eAlzDAXlzbXEEAcMBAd7A3nUeeFQzNXcMBKD3nFGHbwEuRyxMfW2ABAABAIz+qAO5BDoAIwBfsh8kJRESOQCwGS+wAEVYsAkvG7EJGz5ZsABFWLAdLxuxHQ8+WbIBJAkREjmwAS+yAAEKK1gh2Bv0WbAJELIIAQorWCHYG/RZshAAARESObAdELIVAQorWCHYG/RZMDETNxc2NzYmJyU3BRYWBwYGBxYXFgcHNwcGByc2NwcmNzc2JieMH9LWFwpUVP7aHgENvdUKBWVnbg0EBga+GSbIg2somSMGDwlNTAGbswEGkENQAgHBAQWwkFB7MTR7JighAaHxoVGWcQEtToBOTgMAAf/e/+UHSgWwACMAYrIjJCUREjkAsABFWLANLxuxDR8+WbAARViwIC8bsSAPPlmwAEVYsAUvG7EFDz5ZsA0QsgABCitYIdgb9FmwBRCyCAEKK1gh2Bv0WbAgELIUAQorWCHYG/RZshkNBRESOTAxASEDAgIHIzc3NjY3NxMhAwYXFhYXFhITNicXFhcWAgQnJiY3BFn+b5BD+cBeFzN0mykUiwN1ugMDAzUuiaoFAhLpDgQHjv74p62vEgTj/Vv+1P7zBcoDDNbpcgKm+7kdHzRAAwkBJQEMZGQBZGPf/qO9BATPrgAB/97/5wYmBDoAIgBisgAjJBESOQCwAEVYsA0vG7ENGz5ZsABFWLAFLxuxBQ8+WbAARViwHy8bsR8PPlmwDRCyAAEKK1gh2Bv0WbAFELIHAQorWCHYG/RZsB8QshIBCitYIdgb9FmyGA0FERI5MDEBIwMGBicjNzc2Njc3EyEDBhYXFjY3NzYnFxYXFgIGJyYmNwMw/mI3zqBNFSVbcx8OYALMeQg8Pm6GDQIBEt8OBQp57ZmssxIDdP4/6s0EyQMImrBOAc79LFFlAgTp3DxeXgFeXsP+trYDAsyvAAABACf/5gdQBbAAHgBxshYfIBESOQCwAEVYsAAvG7EAHz5ZsABFWLAaLxuxGh8+WbAARViwEi8bsRIPPlmwAEVYsBgvG7EYDz5ZsBIQsgYBCitYIdgb9FmyCwAYERI5sh0AGBESOXywHS8YtDAdQB0CXbIWAQorWCHYG/RZMDEBAwYXFhYXFhITNicXFhcWAgQnJiY3NyEDIxMzAyETBXi3AwMEMy2JqwUCEukOBAeO/vmpp68OJ/2Xa/b99m8CaW8FsPu3HR42PwEIASIBDmRkAWRj4P6juwMCzrH//ZcFsP2DAn0AAAEAC//mBikEOgAeAHSyCB8gERI5ALAARViwBC8bsQQbPlmwAEVYsAgvG7EIGz5ZsABFWLAbLxuxGw8+WbAARViwAi8bsQIPPlmyBwgCERI5fLAHLxiyUwcBXbJABwFdsgABCitYIdgb9FmwGxCyDwEKK1gh2Bv0WbIUCAIREjkwMQEhAyMTMwMhEzMDBhcWFhcWEjc0JxcWFxYCBicmJjcC5/5eTe287U4Bok3teQMDBTswd40CEd4OBQp47pmpsQwBuv5GBDr+QwG9/SwfIDZBAQYBE+9eXgFeXr7+srgDAsqyAAEATP/oBJQFxwAhAEeyFyIjERI5ALAARViwCS8bsQkfPlmwAEVYsAAvG7EADz5ZsAkQsg4BCitYIdgb9FmwABCyFwEKK1gh2Bv0WbIcCQAREjkwMQUmJgI3EzYSJBcWFwcmJyYGBwcGFxYWFxY2JyYnFxcWAgQCUqPycRYpHL8BIqzMj1B6m6LqHigKCQ2Nb5OuAQEN6w0Ki/7yFQSkARymAQazAR6bAQRYtkUCAu6+/UZKeZMDAtDiWFcBrtb+75YAAQA9/+cDqgRRAB8AQ7IAICEREjkAsABFWLATLxuxExs+WbAARViwCi8bsQoPPlmyAAEKK1gh2Bv0WbAKELAE0LATELIYAQorWCHYG/RZMDElFjY3JzMXFgYGJy4CNzc+AhcWFwcmIyIGBwYXFhYCBVliAgXfCAZszH6Ny18OBRKZ8pGobUFdgXiqFwsGCWyvAmmWbm2ew2UDBI71lCqZ/YwBAkS7Pb+dXz9oegAAAQCQ/+YFNAWwABoATbIJGxwREjkAsABFWLACLxuxAh8+WbAARViwFy8bsRcPPlmwAhCyAAEKK1gh2Bv0WbAE0LAF0LAXELIKAQorWCHYG/RZshACFxESOTAxASE3IQchAwcWFhcWEjc3NicXFhcWAgQnJiY3AkX+SyQEXyT+TJYBAzUuh6cLAQIS6A4DB4n++Kuorw4E483N/IU7NEADBgER/x5kZAFkY9n+ocADAs6xAAEAc//oBJcEOgAZAE2yChobERI5ALAARViwAi8bsQIbPlmwAEVYsBYvG7EWDz5ZsAIQsgABCitYIdgb9FmwBNCwBdCwFhCyCwEKK1gh2Bv0WbIQAhYREjkwMQEhNyEHIQMGFxYWFxY2JyYnFxYHBgQnJiY3Aa/+xCIDciP+uFgDAwU7MXeICgUU3SkOGf73wqmyDgN3w8P97x8gN0ABBOywS0oBtHfN+wICzK8AAAEAVv/oBSIFyAArAHSyGywtERI5ALAARViwHC8bsRwfPlmwAEVYsA4vG7EODz5ZsikcDhESObApL7IfKQFxskopAV2yAAEKK1gh2Bv0WbAOELIGAQorWCHYG/RZsgocDhESObIUACkREjmyHxwOERI5sBwQsiMBCitYIdgb9FkwMQEiBgcGFhcWNjc3BgYEJy4CNzYlJicmNzY2JBcWBAcnNiYnJgYHBhYXFwcCw6C7Dw2bh4K/EfULof71m5z6dwoRATBQMT4GCJ8BEKbVAQgE9ASGbo3BDw6DhL0kAoN8d2N3AwJ+ZQGFwmYDAm67evtnLENVZojAZAMF4bUBXW8CA3lnZWsBAcj//wAo/+oEAgRRAgYBpQAA////yv5GBYwFsAImAd4AAAAHA/wETQAA////v/5GBJ0EOgImAf4AAAAHA/wDXgAA////pP5sBK4FsAImACUAAAAHAXABbwAD//8AIv5wA9wEUAImAEUAAAAHAXAAqQAH//8AJ/6bBLwFsAImACYAAAAHAXYElwAK//8AEP6IBA8GAAImAEYAAAAHAXYEpf/3//8AJ/6bBOAFsAImACgAAAAHAXYEcwAK//8AO/6RBIgGAAImAEgAAAAHAXYEkAAA//8AJ/35BOAFsAImACgAAAAHA6sBAf6S//8AO/35BIgGAAImAEgAAAAHA6sBHv6S//8AJ/6bBYcFsAImACwAAAAHAXYFAAAK//8ADf6bA/kGAAImAEwAAAAHAXYEfwAK//8AJwAABXEHNgImAC8AAAEHAHcBpQE2AAkAsAQvsA/cMDEA//8AEQAABHUHPQImAE8AAAEHAHcBowE9AAkAsAQvsA/cMDEA//8AJ/7cBXEFsAImAC8AAAAHAXYE0QBL//8AEf7HBEoGAAImAE8AAAAHAXYEYAA2//8AJ/6bA8MFsAImADAAAAAHAXYElwAK////5P6bAhcGAAImAFAAAAAHAXYDRAAK//8AJwAABs4HNgImADEAAAEHAHcCvgE2ABMAsABFWLACLxuxAh8+WbAR3DAxAP//ABAAAAZoBgACJgBRAAABBwB3ApgAAAAJALADL7Ak3DAxAP//ACf+mwbOBbACJgAxAAAABwF2BasACv//ABD+mwZoBFICJgBRAAAABwF2Ba4ACv//ACf+lwWGBbACJgAyAAAABwF2BQIABv//AA3+mwP6BFICJgBSAAAABwF2BGwACv//ACcAAAUEB0ICJgA0AAABBwB3AasBQgAJALADL7AW3DAxAP///8f+YARtBfcCJgBUAAABBwB3AZv/9wAJALANL7Ah3DAxAP//ACf+mwTYBbACJgA2AAAABwF2BJgACv///97+mwLvBFMCJgBWAAAABwF2Az4ACv//ACT+kQS7BccCJgA3AAAABwF2BLAAAP//ABz+iAPEBFACJgBXAAAABwF2BGL/9///AJz+lAUiBbACJgA4AAAABwF2BJ8AA///ADv+kQKuBUECJgBYAAAABwF2A/UAAP//AJsAAAWBBzcCJgA6AAABBwFuAN0BQwAJALABL7AR3DAxAP//AGQAAAQNBewCJgBaAAABBgFuFvgACQCwAS+wEdwwMQD//wCb/psFgQWwAiYAOgAAAAcBdgTVAAr//wBk/psEDQQ6AiYAWgAAAAcBdgRCAAr//wC3AAAHOgc2AiYAOwAAAQcARAIoATYAEwCwAEVYsAsvG7ELHz5ZsA7cMDEA//8AdwAABfgGAAImAFsAAAEHAEQBawAAABMAsABFWLALLxuxCxs+WbAO3DAxAP//ALcAAAc6BzYCJgA7AAABBwB3AsMBNgATALAARViwDC8bsQwfPlmwD9wwMQD//wB3AAAF+AYAAiYAWwAAAQcAdwIGAAAAEwCwAEVYsAwvG7EMGz5ZsA/cMDEA//8AtwAABzoHAwImADsAAAEHAGsB9QE2AAwAsAEvsB7csA3QMDH//wB3AAAF+AXNAiYAWwAAAQcAawE4AAAADACwAS+wHtywDdAwMf//ALf+mwc6BbACJgA7AAAABwF2BcUACv//AHf+mwX4BDoCJgBbAAAABwF2BScACv///+X+mwTnBbACJgA+AAAABwF2BJ8ACv///+f+mwPkBDoCJgBeAAAABwF2BEMACv///6T+lASuBbACJgAlAAAABwF2BOcAA///ACL+mAPcBFACJgBFAAAABwF2BCEAB////6QAAASuB7sCJgAlAAABBwF0BRUBPAAJALAEL7AZ3DAxAP//ACL/6APcBoUCJgBFAAABBwF0BG0ABgAJALAYL7A63DAxAP///6QAAAYYB7ECJgAlAAABBwPvAOsBIQAWALAARViwBS8bsQUfPlmwDtywFNAwMf//ACL/6AVwBnwCJgBFAAABBgPvQ+wAFgCwAEVYsBgvG7EYGz5ZsC/csDXQMDH///+kAAAErgeuAiYAJQAAAQcD8ADyASsAFgCwAEVYsAQvG7EEHz5ZsA7csBPQMDH//wAi/+gD8gZ5AiYARQAAAQYD8Er2ABYAsABFWLAYLxuxGBs+WbAt3LA00DAx////pAAABYAH3gImACUAAAEHA/EA7AETABYAsABFWLAFLxuxBR8+WbAM3LAS0DAx//8AIv/oBNgGqQImAEUAAAEGA/FE3gAWALAARViwGC8bsRgbPlmwLdywM9AwMf///6QAAASuB9UCJgAlAAABBwPyAOsBBQAWALAARViwBC8bsQQfPlmwDtywFdAwMf//ACL/6APsBqACJgBFAAABBgPyQ9AAFgCwAEVYsBgvG7EYGz5ZsC3csDbQMDH///+k/pQErgc3AiYAJQAAACcBZwDyATYBBwF2BOcAAwATALAARViwBC8bsQQfPlmwD9wwMQD//wAi/pgD6QYBAiYARQAAACYBZ0oAAQcBdgQhAAcAEwCwAEVYsBgvG7EYGz5ZsDDcMDEA////pAAABK4HrgImACUAAAEHA/MBHAEwABYAsABFWLAELxuxBB8+WbAO3LAa0DAx//8AIv/oA+4GeQImAEUAAAEGA/N0+wAWALAARViwGC8bsRgbPlmwL9ywO9AwMf///6QAAASuB64CJgAlAAABBwPuARwBMAAMALAEL7AO3LAa0DAx//8AIv/oA+4GeQImAEUAAAEGA+50+wAMALAYL7Av3LA40DAx////pAAABK4IPgImACUAAAEHA/QBHAE2AAwAsAQvsA7csBjQMDH//wAi/+gD4gcIAiYARQAAAQYD9HQAAAwAsBgvsC/csDnQMDH///+kAAAErggXAiYAJQAAAQcD9QEgATwADACwBC+wDtywF9AwMf//ACL/6AP6BuECJgBFAAABBgP1eAYADACwGC+wL9ywONAwMf///6T+lASuBx0CJgAlAAAAJwFqATABNgEHAXYE5wADABMAsABFWLAELxuxBB8+WbAO3DAxAP//ACL+mAP0BecCJgBFAAAAJwFqAIgAAAEHAXYEIQAHABMAsABFWLAYLxuxGBs+WbAv3DAxAP//ACf+mwS6BbACJgApAAAABwF2BKgACv//ADv+kQQCBFECJgBJAAAABwF2BHYAAP//ACcAAAS6B8ICJgApAAABBwF0BN0BQwAJALAGL7Aa3DAxAP//ADv/6gQCBoUCJgBJAAABBwF0BFYABgAJALAJL7Au3DAxAP//ACcAAAS6BzICJgApAAABBwFuAMgBPgAJALAGL7AW3DAxAP//ADv/6gQKBfUCJgBJAAABBgFuQQEACQCwCS+wKtwwMQD//wAnAAAF4Ae4AiYAKQAAAQcD7wCzASgAFgCwAEVYsAcvG7EHHz5ZsA/csBXQMDH//wA7/+oFWQZ8AiYASQAAAQYD7yzsABYAsABFWLAJLxuxCRs+WbAj3LAp0DAx//8AJwAABLoHtQImACkAAAEHA/AAugEyABYAsABFWLAGLxuxBh8+WbAP3LAU0DAx//8AO//qBAIGeQImAEkAAAEGA/Az9gAWALAARViwCS8bsQkbPlmwI9ywKNAwMf//ACcAAAVIB+UCJgApAAABBwPxALQBGgAWALAARViwBi8bsQYfPlmwD9ywE9AwMf//ADv/6gTBBqkCJgBJAAABBgPxLd4AFgCwAEVYsAkvG7EJGz5ZsCHcsCfQMDH//wAnAAAEugfcAiYAKQAAAQcD8gCzAQwAFgCwAEVYsAYvG7EGHz5ZsA/csBbQMDH//wA7/+oEAgagAiYASQAAAQYD8izQABYAsABFWLAJLxuxCRs+WbAh3LAq0DAx//8AJ/6bBLoHPgImACkAAAAnAWcAugE9AQcBdgSoAAoAEwCwAEVYsAYvG7EGHz5ZsBDcMDEA//8AO/6RBAIGAQImAEkAAAAmAWczAAEHAXYEdgAAABMAsABFWLAJLxuxCRs+WbAk3DAxAP//ADUAAALSB8ICJgAtAAABBwF0A5UBQwAJALACL7AS3DAxAP//ACIAAAKHBn4CJgD0AAABBwF0A0r//wAJALACL7AS3DAxAP/////+lwIoBbACJgAtAAAABwF2A18ABv///+T+mwIJBdgCJgBNAAAABwF2A0QACv//AGv+kQUhBcgCJgAzAAAABwF2BPYAAP//ADn+jwQnBFICJgBTAAAABwF2BIT//v//AGv/5wUhB7sCJgAzAAABBwF0BSwBPAAJALAKL7Ax3DAxAP//ADn/6AQnBoUCJgBTAAABBwF0BGoABgAJALAEL7Av3DAxAP//AGv/5wYvB7ECJgAzAAABBwPvAQIBIQAWALAARViwCi8bsQofPlmwJtywLNAwMf//ADn/6AVtBnwCJgBTAAABBgPvQOwAFgCwAEVYsAQvG7EEGz5ZsCTcsCrQMDH//wBr/+cFIQeuAiYAMwAAAQcD8AEJASsAFgCwAEVYsAovG7EKHz5ZsCTcsCvQMDH//wA5/+gEJwZ5AiYAUwAAAQYD8Ef2ABYAsABFWLAELxuxBBs+WbAk3LAp0DAx//8Aa//nBZcH3gImADMAAAEHA/EBAwETABYAsABFWLAKLxuxCh8+WbAk3LAq0DAx//8AOf/oBNUGqQImAFMAAAEGA/FB3gAWALAARViwBC8bsQQbPlmwItywKNAwMf//AGv/5wUhB9UCJgAzAAABBwPyAQIBBQAWALAARViwCi8bsQofPlmwJNywLdAwMf//ADn/6AQnBqACJgBTAAABBgPyQNAAFgCwAEVYsAQvG7EEGz5ZsCLcsCvQMDH//wBr/pEFIQc3AiYAMwAAACcBZwEJATYBBwF2BPYAAAATALAARViwCi8bsQofPlmwJdwwMQD//wA5/o8EJwYBAiYAUwAAACYBZ0cAAQcBdgSE//4AEwCwAEVYsAQvG7EEGz5ZsCPcMDEA//8AW//oBiYHMwImAUUAAAEHAHcCBgEzABMAsABFWLAKLxuxCh8+WbAu3DAxAP//ADb/5gUFBgACJgFGAAABBwB3AVoAAAATALAARViwBC8bsQQbPlmwKtwwMQD//wBb/+gGJgczAiYBRQAAAQcARAFrATMAEwCwAEVYsAovG7EKHz5ZsC3cMDEA//8ANv/mBQUGAAImAUYAAAEHAEQAvwAAABMAsABFWLAELxuxBBs+WbAp3DAxAP//AFv/6AYmB7gCJgFFAAABBwF0BSUBOQATALAARViwCi8bsQofPlmwOtwwMQD//wA2/+YFBQaFAiYBRgAAAQcBdAR5AAYAEwCwAEVYsAQvG7EEGz5ZsCjcMDEA//8AW//oBiYHKAImAUUAAAEHAW4BEAE0ABMAsABFWLAKLxuxCh8+WbAv3DAxAP//ADb/5gUFBfUCJgFGAAABBgFuZAEAEwCwAEVYsAQvG7EEGz5ZsCvcMDEA//8AW/6RBiYGLgImAUUAAAAHAXYE4AAA//8ANv6IBQUEqAImAUYAAAAHAXYEdf/3//8AW/6RBS8FsAImADkAAAAHAXYEzAAA//8ASv6RBDEEOgImAFkAAAAHAXYEIQAA//8AW//mBS8HuwImADkAAAEHAXQFBAE8ABMAsABFWLAKLxuxCh8+WbAT3DAxAP//AEr/6AQxBoUCJgBZAAABBwF0BG8ABgATALAARViwCC8bsQgbPlmwFNwwMQD//wBb/+gGrQdCAiYBRwAAAQcAdwINAUIAEwCwAEVYsBovG7EaHz5ZsB3cMDEA//8ASv/oBWEF7AImAUgAAAEHAHcBVf/sABMAsABFWLAWLxuxFhs+WbAe3DAxAP//AFv/6AatB0ICJgFHAAABBwBEAXIBQgATALAARViwEi8bsRIfPlmwHNwwMQD//wBK/+gFYQXsAiYBSAAAAQcARAC6/+wAEwCwAEVYsA4vG7EOGz5ZsB3cMDEA//8AW//oBq0HxwImAUcAAAEHAXQFLAFIABMAsABFWLASLxuxEh8+WbAb3DAxAP//AEr/6AVhBnECJgFIAAABBwF0BHT/8gATALAARViwDi8bsQ4bPlmwHNwwMQD//wBb/+gGrQc3AiYBRwAAAQcBbgEXAUMAEwCwAEVYsBovG7EaHz5ZsB7cMDEA//8ASv/oBWEF4QImAUgAAAEGAW5f7QATALAARViwFi8bsRYbPlmwH9wwMQD//wBb/ogGrQYCAiYBRwAAAAcBdgTw//f//wBK/pEFYQSUAiYBSAAAAAcBdgQlAAD//wChAAAFTQc2AiYAPQAAAQcARAEiATYAEwCwAEVYsAgvG7EIHz5ZsArcMDEA////tf5FBBIGAAImAF0AAAEGAER/AAATALAARViwDy8bsQ8bPlmwEdwwMQD//wCh/qEFTQWwAiYAPQAAAAcBdgSkABD///+1/gwEEgQ6AiYAXQAAAAcBdgUH/3v//wChAAAFTQe7AiYAPQAAAQcBdATcATwACQCwAS+wF9wwMQD///+1/kUEEgaFAiYAXQAAAQcBdAQ5AAYACQCwAS+wHtwwMQD//wChAAAFTQcrAiYAPQAAAQcBbgDHATcACQCwAS+wE9wwMQD///+1/kUEEgX1AiYAXQAAAQYBbiQBAAkAsAEvsBrcMDEA///+s//nBWcF2AAmADNGAAAHA139xwAAAAIA7ARxA2AF2AAFAA4AFQCwDC+wB9CwAdCwDBCwBNCwBdAwMQETNwcBBwMzBwYWFwcmNwH1nc4B/vFd660PCQ4mTZgQBJkBPgEY/sMBAVVTPGQwQ12xAP//ADYCCQJYAs0ABgARAAD//wA2AgkCWALNAAYAEQAA//8AnAJtBKUDMQBGA6DhAEzNQAD//wCCAm0F4wMxAEYDoIkAZmZAAP//AIICbQXjAzEARgOgiQBmZkAA////Tv4/AxcAAAAnAEP/1f7+AQYAQwEAABwAtgACEAIgAgNdtBACIAICcbaAApACoAIDXTAxAAEArgQgAiIGGgAHAB2yBwgJERI5ALAARViwAC8bsQAhPlmwBNCwBC8wMQEXBgcHIzc2Aat3axwd0BQmBhpPjX+ffOcAAQCKBAAB/gYAAAcAHbICCAkREjkAsABFWLAELxuxBCE+WbAA0LAALzAxASc2NzczBwYBAXdqHB7QFiUEAE+LgaWI4gAB/6T+1gEVAMoABwAYsgcICRESOQCwCC+yBA0KK1gh2Bv0WTAxEyc2NzczBwYadmYbHNQTI/7WUImBmnvgAAEAzQQBAdIGAAAKABOyCAsMERI5ALAAL7AG0LAGLzAxAQcGFxYXByYmNzcBwBkMCgkke0VFDBYGAJFOSElGSUfIYo7//wC3BCADcQYaACYDcAkAAAcDcAFPAAD//wCXBAADTwYAACYDcQ0AAAcDcQFRAAAAAv+h/sICWwD/AAgAEQAhsg0SExESObANELAF0ACwEi+yBA0KK1gh2Bv0WbAN0DAxEyc2NzczBwYGFyc2NzczBwYGG3pvGiDUHRJ733p0GSDVHhJ+/sJQoJS5tnHPR1Cjkbm3dMkAAQBpAAAESwWwAAsASwCwAEVYsAgvG7EIHz5ZsABFWLAGLxuxBhs+WbAARViwCi8bsQobPlmwAEVYsAIvG7ECDz5ZsAoQsgABCitYIdgb9FmwBNCwBdAwMQEhAyMTITchEzMDIQQr/pSK7ov+lyABZzvuOwFtA3L8jgNyyAF2/ooAAAH/+/5gBGUFsAATAHwAsABFWLAMLxuxDB8+WbAARViwCi8bsQobPlmwAEVYsA4vG7EOGz5ZsABFWLACLxuxAhE+WbAARViwAC8bsQAPPlmwAEVYsAQvG7EEDz5ZsgYBCitYIdgb9FmwDhCyCAEKK1gh2Bv0WbAJ0LAQ0LAR0LAGELAS0LAT0DAxISEDIxMhNyETITchEzMDIQchAyEDvP6TQe1B/pkfAWZs/pkfAWc67jsBbR/+lG0Bbv5gAaDCArTEAXb+isT9TAABAJ4CBAJNA9wADQAWsgMODxESOQCwAy+xCgorWNgb3FkwMRM2NjMWFhUHBgYjIiY1nwZ9YFtwAgd9X1pwAvxkfAJ2Xitkc3Rb//8AM//yAwIBAwAmABIDAAAHABIBvwAA//8AM//yBK4BAwAmABIDAAAnABIBvwAAAAcAEgNrAAAAAQA2AgkBLgLNAAMAGLIABAUREjkAsAMvsgABCitYIdgb9FkwMQEjNzMBC9Uj1QIJxAAGAJ3/6AcGBccAFgAkACgANgBEAFIAuLICU1QREjmwAhCwGdCwAhCwJ9CwAhCwK9CwAhCwONCwAhCwTdAAsCUvsCcvsABFWLAXLxuxFx8+WbAARViwEy8bsRMPPlmwA9CwAy+yBQMTERI5sAfQsAcvsBMQsA7QsA4vshETAxESObAXELAe0LAeL7ATELIsAgorWCHYG/RZsAMQsjMCCitYIdgb9FmwLBCwOtCwMxCwQdCwHhCySAIKK1gh2Bv0WbAXELJPAgorWCHYG/RZMDEBNjYXFhc2FxYWBwcGBicmJicGJyYmNwMWFgcHBgYnJiY3NzY2EycBFwEGFhcWNjc3NiYnJgYHBQYWFxY2Nzc2JicmBgcBBhYXFjY3NzYmJyYGBwLrDr6ElDxngn2VCAYNuodAcSBmgn2VBvaAlggHDbyBepUIBQu1AngDb3n+rwU6N0FUCwkHOjk+VwsBsAU6OD9VCwoHOjk+Wgn79wU6Nz1WDAoFODo9VgwBZIarAgVrcAICqoBEjK0CATY4bwICqn8ErgSqgEqIqgQCq39AjLD6qE8EZ0/8P0VTAgJYRk9CVgICWEVQRVMCAldHT0JWAgJaSgLrSFACAlZITUVVAgJWSf//AJAD/AGWBgADBgALAAAADACwBC+wAdCwAS8wMf//AKED9ALCBgADBgAGAAAAGwCwCS+wBtCwBi+wAdCwAS+wCRCwBNCwBC8wMQAAAQBdAIoCZQOpAAYAEACwBS+yAgcFERI5sAIvMDEBEyMDNwEzASamlNsBAVSzAgz+fgGFFAGGAAAB//kAigICA6kABgAQALAAL7IDBwAREjmwAy8wMQETBwEjAQMBJtwC/q20AT+lA6n+fBX+egGbAYT//wA3/+8EPwWwACYABQAAAAcABQIfAAAAAf/hAG8DyQUlAAMACQCwAC+wAi8wMTcnARdaeQNweG9PBGdPAP//AGMCkwLsBakDBwPMAHICkwATALAARViwCS8bsQkfPlmwDdAwMQAAAQBuAowDUwW6ABIATLIPExQREjkAsABFWLAELxuxBB8+WbAARViwAC8bsQAfPlmwAEVYsBAvG7EQEz5ZsABFWLAILxuxCBM+WbAEELINAworWCHYG/RZMDEBFzY2MzIWBwMjEzc2JyYHAyMTAYoCNGxBcnQPUsFLBARfVj9hwYsFrXpIP6eM/gUByj1/AgJb/dEDIAD////DAAAEpwWwAiYAKgAAAAcD1f8w/mkAAf/2AAAEpQXJACYAmrIWJygREjkAsABFWLAXLxuxFx8+WbAARViwBi8bsQYPPlmyJRcGERI5sCUvsgACCitYIdgb9FmwBhCyCQEKK1gh2Bv0WbAE0LAEL7AAELAN0LAlELAP0LAPL7AlELAT0LATL7YPEx8TLxMDXbIQAgorWCHYG/RZsBcQsh0BCitYIdgb9FmyGxMdERI5sBMQsCHQsBAQsCPQMDEBIQcGByUHITcXNjc3BzczNyM3Mzc2JBcWFgcnNicmBgcHIQchByEDA/7hBxRbAqgk/AQkRWQfCqgamxKYGZMTGAEVx7TLCO8Jqlp+DhIBNhr+0BEBLQHULYFfA8rJASSxOAGReZCgxvUGBNm2AcUEAoVpoJB5AAUADQAABl8FsAAbAB8AIwAmACkAvbIKKisREjmwChCwH9CwChCwIdCwChCwJtCwChCwKNAAsABFWLAaLxuxGh8+WbAARViwFy8bsRcfPlmwAEVYsAwvG7EMDz5ZsABFWLAJLxuxCQ8+WbIFCRoREjmwBS+wAdCwAS+yDwEBXbIDAworWCHYG/RZsAUQsgcDCitYIdgb9FmwJdCwCtCwDtCwBRCwHdCwIdCwEdCwAxCwHtCwItCwEtCwARCwGdCwJ9CwFdCwCRCwJNCwFxCwKdAwMQEzByMHMwcjAyMDIQMjEyM3MzcjNzMTMxMhEzMBMzcjBTMnIwE3BwE3JwWN0hzRG9Ic0Vbv2P6xVvZWzRzMG80czFbu1gFTVvX96pUb8v5g7kKRAjATL/4HKhsDxaCXoP4SAe7+EgHuoJegAev+FQHr/N6Xl5f+fU4DAdUDRgAAAgAr/+0GWAWwACAAKQCisiYqKxESObAmELAY0ACwAEVYsBcvG7EXHz5ZsABFWLAcLxuxHBs+WbAARViwHy8bsR8bPlmwAEVYsBQvG7EUDz5ZsABFWLALLxuxCw8+WbAfELIAAQorWCHYG/RZsAsQsgYBCitYIdgb9FmwABCwD9CwENCyIhQXERI5sCIvshIBCitYIdgb9FmwHxCwHtCwHi+wFxCyKAEKK1gh2Bv0WTAxASMDBhcWFzI3BwYnJiY3EyMCIScDIxMFHgIHNxMzAzMBFzY3NicmJycGOblnAwIGSiYvEUtKe3sNZWmC/nCbXvT8AXN8v2gEeS7tLrn7SILKQiMLE6CbA4b9ohkUQQMJvhUBAqOJAmr+lAH95QWwAQNcqG8BAQf++f6tAgOsXF2OCAEA//8AJ//pCBQFsAAmADYAAAAHAFcEUAAAAAcAKgAAB30FsAAfACMAJwArAC4AMQA0AOuyMjU2ERI5sDIQsB7QsDIQsCLQsDIQsCfQsDIQsCrQsDIQsC7QsDIQsDDQALAARViwAi8bsQIfPlmwAEVYsB8vG7EfHz5ZsABFWLAbLxuxGx8+WbAARViwEC8bsRAPPlmwAEVYsA0vG7ENDz5ZsgkQAhESObAJL7AF0LAFL7IPBQFdsAHQsAUQsgcDCitYIdgb9FmwCRCyCgMKK1gh2Bv0WbAt0LAO0LAw0LAS0LAJELAl0LAp0LAh0LAV0LAHELAm0LAq0LAi0LAW0LABELAd0LAZ0LAQELAv0LAs0LAfELAy0LABELA00DAxASETMwMzByMHMwcjAyMDIQMjAyM3MycjNzMDMxMhEzMBMzcjBTM3IwUzJyMBNyMFNyMBBzcEvQEnnvupkxy2Qdsc/tntLf787e0b/xzaB7cckhXvCwEps8/9XZhG4QLZmT7i/puzDGABQUdT/SdNUAH2EA4EBwGp/legoqD92wIl/dsCJaCioAGp/lcBqf0VoqKioqL+Ary0tAIHKQIAAAIAEP/8BjYEOgAOABsAaLIAHB0REjmwEdAAsABFWLAOLxuxDhs+WbAARViwFi8bsRYbPlmwAEVYsAwvG7EMDz5ZsABFWLAPLxuxDw8+WbISAQorWCHYG/RZsA4QsgsBCitYIdgb9FmyBRILERI5shALEhESOTAxARYWBwMjEzYnJiclAyMbAjMDBRY3EzMDBgQnAzmklxUz7jUFAgqD/q6a7bvRf+1dATnIJ3XucRv+9c4EOQXMxP7AAUIsJXgFAvyKBDr7xgLW/e0CAsQCt/1bxNUEAP////T+rgUZBgAAJgBIAAAAJwPVAd0CQgEHAEMAe/9tABIAsi8hAV2yHyEBcbKfIQFdMDEAAQBO/+0EngXGACYAirIMJygREjkAsABFWLAZLxuxGR8+WbAARViwCy8bsQsPPlmyJhkLERI5sCYvsgACCitYIdgb9FmwCxCyBgEKK1gh2Bv0WbAAELAQ0LAmELAR0LAmELAW0LAWL7YPFh8WLxYDXbITAgorWCHYG/RZsBkQsh4BCitYIdgb9FmwFhCwIdCwExCwI9AwMQEhBhcWFhcWNxcGJy4CNwc3MzcjNzMSABcWFwcmJyYGByEHIQchA0T+qwkIC3ppW3MHenOZ3WUUrxmmF6gZoEIBSPBjjDFfX5TCLgFhGf6nFwFaAg9EPWNxAwIizxsCA4r5mwGNgI0BBwEWAgIezSMCAq6njYAABABCAAAGDwWwABoAHwAkACkA27IaKisREjmwGhCwHdCwGhCwI9CwGhCwKNAAsABFWLALLxuxCx8+WbAARViwAS8bsQEPPlmwCxCyJAEKK1gh2Bv0WbAK0LAKL0ARAAoQCiAKMApAClAKYApwCghdsgcDCitYIdgb9FmwBtCwBi9ACwAGEAYgBjAGQAYFXbIDAworWCHYG/RZsCfQsCcvQA8wJ0AnUCdgJ3AngCeQJwddsgABCitYIdgb9FmwChCwINCwIC+wD9CwDy+wBxCwHdCwEtCwBhCwHtCwHi+wFNCwFC+wAxCwJtCwF9AwMQEDIxMjNxc3BzczEwUyFhczBycGBzcHBwYEIwE3IQchJSUmJyUBBQclNgG/XveLsx2tFbgdsi8B/LTqJekdsQgPvh7OUf7+tgFNCf3OFAIw/fgB4y92/tUBlP4dEQEbdwId/eMDH6ACTAKgAQkBjHygAikkA6ABg38BxClM6AQ5AQP+PAE7AgEAAAEAOwAABIcFsAAZAGayEBobERI5ALAARViwGC8bsRgfPlmwAEVYsAwvG7EMDz5ZsBgQshcBCitYIdgb9FmwANCwFxCwE9CwEy+wA9CwExCyEgcKK1gh2Bv0WbAG0LASELAO0LAOL7IJBworWCHYG/RZMDEBIxYHNwcjBgYHARUhATcXMjcFNyEmJyU3IQQ01RsE0VCNN+3QAWb+7v5xGOnLZf3tUQHUDsL+5VkDmwT5VlsBtqirFP3jDwJcjgKtAraVBQHMAAEAEP/nBEcFsAAeAJGyGx8gERI5ALAARViwES8bsREfPlmwAEVYsAUvG7EFDz5ZshMRBRESObATL7AX0LAXL7IAFwFdshgBCitYIdgb9FmwGdCwCNCwCdCwFxCwFtCwC9CwCtCwExCyFAEKK1gh2Bv0WbAV0LAM0LAN0LATELAS0LAP0LAO0LAFELIaAQorWCHYG/RZsh4FERESOTAxAQcGAgQnJicTBz8CBzc3EzMHNw8CNwcHAzYSNzcERwgbxf7bsHSDYuUl5BblJeQ29yXqJekX6yXqXa7eHwgC/0zT/rWuAgIVAldW0Vd+VtJXATbRWdJaflnSWf3+BQEH7E0AAAH/5AAABKwEOgAaAFyyDRscERI5ALAARViwGS8bsRkbPlmwAEVYsAYvG7EGDz5ZsABFWLANLxuxDQ8+WbAARViwEi8bsRIPPlmyAA0ZERI5sAAvsgwBCitYIdgb9FmwD9CwABCwGNAwMQEWFhcWBwcjNzc2JicDIxMGAwcjNxIAPwIzAzqduxEJDh3tIQgFTVN57nr4RibtIzQBLNoMK+0DaCj6vG9sr85pgbco/WkCmGH+pt3LARkBWikC0QAC/+YAAAVgBbAAFgAfAHiyGCAhERI5sBgQsA3QALAARViwDC8bsQwfPlmwAEVYsAIvG7ECDz5ZsgYCDBESObAGL7IFAQorWCHYG/RZsAHQsAYQsArQsAovsg8KAV2yCQEKK1gh2Bv0WbAU0LAGELAV0LAKELAX0LAMELIfAQorWCHYG/RZMDElIQcjNyM3MzcjNzMTBTIEBwYEIyUHIQEFMjY3NiYnJQLb/skp9ijHJMYTxyPHfAH35gEBERL+xvX+yxMBOf79AReFsBEOc2v+y+fn58trywLIAfjK2fgBawE2Aod/boUEAQAEAML/5wU+BckAHAAqADgAPACUsgE9PhESObABELAo0LABELAs0LABELA50ACwOS+wOy+wAEVYsAovG7EKHz5ZsABFWLAkLxuxJA8+WbAKELAD0LADL7IOAwoREjmwChCyEQIKK1gh2Bv0WbADELIZAgorWCHYG/RZshwDChESObAkELAd0LAdL7AkELIuAgorWCHYG/RZsB0QsjUCCitYIdgb9FkwMQEGBicmJjc3NjYXFhYVJzYmIyIGBwcVFhYXMjY3ARYWBwcGBicmJjc3NjYDBhYXFjY3NzYmJyYGBwUnARcC7Aqhe3eNCAYNrH95jKUCMjI3TAoJAi0nMEMOAeJ+lwgGDbeHfpkIBQu6JAU8Nj5UDAoFOjc/WAn96nkDb3oEJXiQAgKrf0SNrQIElHMBOEBYRU4yLjgBPDf+bAKogUSMrgQCqoBCjaz+g0dSAgJVSk9IUAICW0nvTwRnTgACADH/6gPiBf8AGgAkAFqyFiUmERI5sBYQsBvQALAOL7AARViwAC8bsQAPPlmyCAAOERI5sAgvsgcHCitYIdgb9FmwFdCwABCyGgEKK1gh2Bv0WbAIELAb0LAOELIhAQorWCHYG/RZMDEFLgI3NwYHNzY3EzY2FxYWBwcGAAcHBhUUFwM2PwI0JyYHBwJmg7tQFgRLdhRbZlQay5WAjgsEFP76xQ8InWvHHQUCNlMaBxYHc8p/EBEFvAIVAd/I3gUEuYwst/6wZk4zLpgLAj+00yUlVQUFmSwAAAQAIwAAB+kFxQADABEAHwApAKGyICorERI5sCAQsAHQsCAQsBDQsCAQsBPQALAARViwJS8bsSUfPlmwAEVYsCgvG7EoHz5ZsABFWLAHLxuxBx8+WbAARViwIC8bsSAPPlmwAEVYsCMvG7EjDz5ZsAcQsA7QsA4vsAPQsAMvsgACCitYIdgb9FmwDhCyFQIKK1gh2Bv0WbAHELIcAgorWCHYG/RZsiIlIBESObInJSAREjkwMQEhNyEBNjYXFhYHBwYGJyYmNxcGFhcWNjc3NiYnJgYHASMBAyMTMwETMwc9/a8bAlD95BHTl46lCwcQ1JWQpAqsCEVHTWoPCghESFBpDv4Q//7Ntu79/gE1t+wBnJUCLp/HBATDmkqoxQQExJcCYGkCA21jVV9rAgJxXvugBBT77AWw++kEFwACAO0DkwTLBbAADAAUAG0AsABFWLAGLxuxBh8+WbAARViwCS8bsQkfPlmwAEVYsBMvG7ETHz5ZsgEVBhESObABL7IACQEREjmyAwEGERI5sATQsggBCRESObABELAL0LAGELENCitY2BvcWbABELAP0LANELAR0LAS0DAxAQMHAwMjEzMTEzMDIwEjAyMTIzchBD6uPDxDbl+COcOHXm3+b4ZNc02JEQGCBPb+nwIBfv6DAhz+hgF6/eQBvf5FAbtfAAIAff/pBHcEUgAWAB0AYrIUHh8REjmwFBCwGNAAsABFWLAKLxuxChs+WbAARViwAi8bsQIPPlmyGgoCERI5sBovsg8MCitYIdgb9FmwAhCyEwwKK1gh2Bv0WbIWCgIREjmwChCyFwwKK1gh2Bv0WTAxJQYnJiYCNzYSJBceAgcHIQMWFxY2NwMmBwMhEyYDrLLChM9oDg6xAQOJgsBfCgX9Ezxdj1O6dcqKmjQCCjVcXHMEApcBAoyRARSZBASO+JEx/rZnBAM3RAMrA3z+6gEgawD//wC2//IFiQWZACcDzwBJAoYAJwODAPMAAAEHA8gDCQAAABAAsABFWLAFLxuxBR8+WTAx//8Agv/yBiEFuAAnA80AjgKUACcDgwGbAAABBwPIA6EAAAAQALAARViwDS8bsQ0fPlkwMf//AIj/8gYWBagAJwPLAH4CkwAnA4MBgAAAAQcDyAOWAAAAEACwAEVYsAEvG7EBHz5ZMDH//wC1//IF1gWjACcDyQCSAo4AJwODASoAAAEHA8gDVgAAABAAsABFWLAFLxuxBR8+WTAxAAIARf/nBEgF9QAdAC0AVLIILi8REjmwCBCwHtAAsA0vsABFWLAVLxuxFQ8+WbIADRUREjmwAC+wDRCyBwEKK1gh2Bv0WbAAELIeAQorWCHYG/RZsBUQsicBCitYIdgb9FkwMQEWFzYnJiYnJgYHJzYXFhITFQICBCcuAjc3PgIXJgYHBwYXFhYXFjY3NyYmAmSkawMCCoRuRYNCDJGi0N0GDZ7++amKw1sQAhGR4pl2phUDBgQFYVd6pSANDnQEBQR7KjCVsgQDIBW5QwEE/tf+6kb+1/530gQCivGTFpHqfcYDqJQVNjlkcwMFzs5VTlsAAQAf/xsFVQWwAAcAJwCwBC+wAEVYsAYvG7EGHz5ZsAQQsAHQsAYQsgIBCitYIdgb9FkwMQUjEyEDIwEhBE3u6f2t6e0BBwQv5QXU+iwGlQAB/6f+8wT6BbAADAA1ALADL7AARViwCC8bsQgfPlmwAxCyAgEKK1gh2Bv0WbAF0LAIELIKAQorWCHYG/RZsAfQMDEBASEHITcBATchByEBA3P9lAMiIvugHAK5/j0ZBCgi/QQBmQJF/XHDogLIAsaNw/11AAEAnAJtA/gDMQADABEAsAIvsgEBCitYIdgb9FkwMQEhNyED1fzHIwM5Am3EAAABADQAAAUJBbAACAA8sgAJChESOQCwBy+wAEVYsAEvG7EBHz5ZsABFWLADLxuxAw8+WbIAAQMREjmwBxCyBgEKK1gh2Bv0WTAxAQEzASMDIzchAfcCNd39KcBu0CMBWQEtBIP6UAJBxQAAAwBJ/+gHrgRSAB4ALwBBAGKyBkJDERI5sAYQsCnQsAYQsDvQALAARViwCi8bsQoPPlmwBNCwChCwE9CwEy+wGdCyBxkKERI5shYZChESObATELI/AQorWCHYG/RZsCTQsAoQsjUBCitYIdgb9FmwLNAwMQEGAgYnJiYnBgYnLgI3NzYSNhcWFhc2NhcWFhcWByc2JycmJyYGBwcGFhYXFjY3BQYXFhYXFjY2Nzc2JicmJyYGB58Sn/SPiNUuevCFhMRgDwISn/OOi9YtePGHicksJg3pBgQFIp513SoHBkZ6RXyyF/qLBgUHZlhLl38bBgQmJVFqe7ACGJv+/JEEBLKVtJsDBI79lBeXAQWRBASykrKZAwKeiHaCATU9Jb4FAtaGJEulaAIFyqMQNjxpfAMCXq5YJDd4M2wEBcsAAf8X/kUDIgYZABYAPbIBFxgREjkAsABFWLAOLxuxDiE+WbAARViwAy8bsQMRPlmyCAEKK1gh2Bv0WbAOELITAQorWCHYG/RZMDEFBgYnIic3FjMWNxM2NhcWFwcmIyIGBwEfFcqjOU0jORWPG74V16o1ZykwKVBlDU+vvQQVvA8EsATrscYCARa4DWBTAAIAMAD+BDUD+QASACUAeLIOJicREjmwDhCwINAAsAIvsAbQsAYvsAIQsAjQsAYQsgsBCitYIdgb9FmwAhCyEAEKK1gh2Bv0WbALELAS0LACELAV0LAVL7AZ0LAZL7AVELAb0LAZELIeAQorWCHYG/RZsBUQsiMBCitYIdgb9FmwHhCwJdAwMRM2MzIWFjMyNwcGJyIuAiMGBwc2MzIWFjMyNwcGJyIuAiMGB45tjV3ZTS17ghZtfDxka2Y/hogzbYld20wteocYa4AxVqZVLoeDA5BpeRd92WsCKT0qAnzKaXkXfdlrAhxcGAJ8AAABAGIAggQUBMEAEwA3ALATL7IAAQorWCHYG/RZsATQsBMQsAfQsBMQsA/QsA8vshABCitYIdgb9FmwCNCwDxCwC9AwMQEhByc3IzchNyE3ITcXBzMHIQchA6f9+qNqcqQjARGh/nQkAfiranmxI/7hoAGZAWTiRZ3J38rrRabK3wD////VABMD2wRxAGcAIAAYAItAADmaAAcDoP85/ab//wAXABMD8wRnAGcAIgAaAItAADmaAAcDoP97/aYAAgA6AAAD4gWwAAUACQA4sgYKCxESObAGELAE0ACwAEVYsAAvG7EAHz5ZsABFWLADLxuxAw8+WbIGAAMREjmyCAADERI5MDEBMxMBIwMBARMBAiW//v4WwP4CKv7AlAE/BbD9Gv02AuQBx/4f/jcB4wD//wBpAKgCDgUKACcAEgA5ALYBBwASAMsEBwAJALADL7AV3DAxAAACAGYCfwKCBDkAAwAHACqyAAgJERI5sAXQALACL7AARViwBi8bsQYbPlmyAAgCERI5sAAvsATQMDEBIxMzEyMTMwEAmk2a55pOmgJ/Abr+RgG6AAAB/8//ZwEWAQYABwAMALAEL7AA0LAALzAxFyc2NzczBwZKe18VD8QNJJlPhXhTVsUA//8AXwAABZEGGgAmAEoAAAAHAEoCMwAAAAIASwAABEwGGgAVABkAg7IHGhsREjmwBxCwF9AAsABFWLAILxuxCCE+WbAARViwAy8bsQMbPlmwAEVYsBIvG7ESGz5ZsABFWLAYLxuxGBs+WbAARViwAC8bsQAPPlmwAEVYsBYvG7EWDz5ZsAMQsgEBCitYIdgb9FmwCBCyDgEKK1gh2Bv0WbABELAT0LAU0DAxMxMjNxc3NjYXFhYXByYjJgcHNwcjAyEjEzNPnKAgmA4j/MNOlUo5fnDUKA3XIM6dAlXuvO0DhrQBUb7SBAEmF8gzAspCAbT8egQ6AAEAXwAABKQGGQAYAG2yEhkaERI5ALAARViwEy8bsRMhPlmwAEVYsAYvG7EGGz5ZsABFWLAOLxuxDhs+WbAARViwCi8bsQoPPlmwAEVYsBcvG7EXDz5ZsBMQsgIBCitYIdgb9FmwBhCyCAEKK1gh2Bv0WbAM0LAN0DAxASYHIgYHBzMHIwMjEyM/AjY2FxYXFwMjA59tNV14Dw7XINWd7Z2hIJ8OGu+7bW3a/+wFQhABX15atPx6A4a0AWW2wwICECD6GwACAF8AAAa1BhoAJwArAL6yEywtERI5sBMQsCnQALAARViwFi8bsRYhPlmwAEVYsAMvG7EDGz5ZsABFWLARLxuxERs+WbAARViwIC8bsSAbPlmwAEVYsCovG7EqGz5ZsABFWLAILxuxCCE+WbAARViwAC8bsQAPPlmwAEVYsCMvG7EjDz5ZsABFWLAoLxuxKA8+WbADELIBAQorWCHYG/RZsAgQsg0BCitYIdgb9FmwFhCyHAEKK1gh2Bv0WbABELAh0LAi0LAl0LAm0DAxMxMjNzM3NjYXFhcHJiMmBgcHBTc2NhcWFhcHJicmBwc3ByMDIxMhAyEjEzNjnaEgoA0Z3648UBosLVVsDw8BYBEm+MBOlko6enTTKA3XIM6d7Zz+mZ0Eqe287QOGtGC3yQICEr4KAV5TZgFhtskCAiYXyDECAspCAbT8egOG/HoEOgABAF8AAAb5BhsAKgCrshMrLBESOQCwAEVYsAgvG7EIIT5ZsABFWLAWLxuxFiE+WbAARViwAy8bsQMbPlmwAEVYsBEvG7ERGz5ZsABFWLAiLxuxIhs+WbAARViwAC8bsQAPPlmwAEVYsBovG7EaDz5ZsABFWLAmLxuxJg8+WbADELIBAQorWCHYG/RZsAgQsg0BCitYIdgb9FmwFhCyHgEKK1gh2Bv0WbABELAk0LAl0LAo0LAp0DAxMxMjNzM3NjYXFhcHJiMmBgcHJTc2NhcWFxcBIxMmIyIGBwczByMDIxMhA2OdoSCgDRnirTJYGjchVWwPEAFnDRrvu2Zk6/8A7e2GIVt5EA7WH9Wd7Zz+mZ0DhrRfuMoEARK+CgFfUmYBZbbDAgEOI/obBUEQXFtgtPx6A4b8egABAF//7QT7BhkAJwCUshAoKRESOQCwAEVYsCIvG7EiIT5ZsABFWLARLxuxERs+WbAARViwHS8bsR0bPlmwAEVYsCYvG7EmGz5ZsABFWLAZLxuxGQ8+WbAARViwCy8bsQsPPlmwJhCyAAEKK1gh2Bv0WbALELIGAQorWCHYG/RZsAAQsA/QsBDQsCIQshUBCitYIdgb9FmwEBCwG9CwHNAwMQEjAwYXFhcWNwcGJyYmNxMjNzM3JiMiBgcDIxMjNzM3NjYXFhYXAzME27lmAwIGSSMyEUpKe3wNZa0grC9CY01nD8vtnaEgoA0Z16py22k6uQOG/aIZFEADAgq+FQECo4kCarT6Il1Y+18DhrRfuMgCAT8r/o4AAQAX/+kGnQYaAEoAwLIpS0wREjkAsABFWLA+LxuxPhs+WbAARViwRS8bsUUhPlmwAEVYsBAvG7EQGz5ZsABFWLBJLxuxSRs+WbAARViwLC8bsSwPPlmwAEVYsAovG7EKDz5ZsEkQsgEBCitYIdgb9FmwChCyBQEKK1gh2Bv0WbABELAO0LBFELIVBworWCHYG/RZsh1JLBESObA+ELIgAQorWCHYG/RZsjcsPhESObA3ELImAQorWCHYG/RZsCwQsjMBCitYIdgb9FkwMQEjAwcWFxY3BwYnJiY3EyM3Mzc2JicmBh8CFgcHNiYnIgYHBgQXFgcOAicmJjczFBYXMjY3NiQnJjc2JBcyFyY3NjYXFhYHBzMGfrlkAgNLIzIRS0p7eA9gpx+mDQpKTV1zCQQTBgTuAlJMTnMLDwEQRM0KBX7VdrHkAuZjVlp1DBH+7hb4CAcBBbFLXxMGDuuoucUVDLkDhv22L1IDAgq+FQECtJkCSbRZX2kCA4WNPKo6OQFLVgJNQVpFHVe7aJlRAwLJn1hZAklBYE4IWMOWvgIZfDmJpQIE1qxYAAAW/6n+cghFBa4ADQAaACgANwA9AEMASQBPAFYAWgBeAGIAZgBqAG4AdgB6AH4AggCGAIoAjgGhsluPkBESObBbELAM0LBbELAa0LBbELAc0LBbELAx0LBbELA80LBbELA+0LBbELBG0LBbELBK0LBbELBS0LBbELBX0LBbELBh0LBbELBj0LBbELBp0LBbELBt0LBbELBw0LBbELB60LBbELB+0LBbELCC0LBbELCE0LBbELCI0LBbELCM0ACwPS+wAEVYsEYvG7FGHz5Zsn86Ayuyd4IDK7J7egMrskl+AyuyiU4DK7KFiAMrso2EAyuyQYwDK7IKPUYREjmwCi+wA9CwAy+wDtCwDi+wChCwD9CwDy+ybw4PERI5fLBvLxiyUAsKK1gh2Bv0WbIVUG8REjmwChCyHgsKK1gh2Bv0WbADELIlCworWCHYG/RZsA8QsCnQsCkvsA4QsC7QsC4vsjQLCitYIdgb9FmwPRCwa9CwZ9CwY9CwPtCyPwwKK1gh2Bv0WbBl0LBp0LBt0LA80LBGELJHDAorWCHYG/RZsF/QsFvQsFfQsErQsEYQsGDQsFzQsFjQsEvQsA4QslELCitYIdgb9FmwDxCydgsKK1gh2Bv0WTAxAQYGJyYmNzc2NhcWFgcTExcWBwYGBxYVFAYHATYmJyYGBwcGFhcWNjcBMwMGBiMGJicXBjcyNjcBEzMHMwchNzM3MwMBEyEHIwclNyEDIzcBBzM2NzYnATchByE3IQchNyEHEzchByE3IQchNyEHATc2NzYvAgEjNzM3IzczAyM3MyUjNzM3IzczAyM3MwMPCohgYXQECAiFZV11AgxgqL8DAiY4T21g/rUHNzo/VQsPBzg7P1QLA9BjOwhpT1NnAlgEVi06CflkN28kvxQE/xTAJG03+bUyAS0Uvh4F2xQBLzNtHvvoHm1uEg1RAUgVARAV/W0VAQ8V/W4VAQ4VzBQBDxT9bhQBDhT9bxQBDRQBV1Z6EApAI2D8znAtbxVvLHCvcC1vBwBtLG4UbSxur24tbQHUZnkCAn1ecGB+AgJ4Yv64AiUBBoknOCAdWElWAwFMQFACAlRDcUBRAgJRRQFP/oVNXQFTVQJfAjkq/MkBO8pxccr+xQYfAR10qal0/uOp/LapBVVHBwNLdHR0dHR0+ThxcXFxcXEDwgEGUTYIAwL+0fx++vwV+X78fvr8FfkAAAUAXP3VB9cIcwADABwAIAAkACgATACwIS+wJS+wANCwAC+wIRCwAtCwAi+yIAIAERI5sCAvsB3QsB0vsATQsAQvsg0AAhESObANL7AU0LAUL7IHBBQREjmyGRQEERI5MDEJAwU0Njc2NjU0JiMiBgczNjYzMhYVFAcGBhUXIxUzAzMVIwMzFSMEGAO//EH8RAQPHiRKXKeVkKACywI6Kzk4XVsvysrKSwQEAgQEBlL8MfwxA8/xOjoYJ4dKgJeLfzM0QDRfPEFcTFuq/UwECp4EAAP/1wAAA58EjQADAAcACwBesgQMDRESObAEELAA0LAEELAI0ACwAEVYsAovG7EKHT5ZsABFWLAALxuxAA8+WbICAQorWCHYG/RZsgcKABESObAHL7IEAQorWCHYG/RZsAoQsggBCitYIdgb9FkwMSEhNyEDITchEyE3IQLU/QMjAv0S/ZAjAnB0/QMjAv3DATjEAQrEAAH/pwAAA+wEjQAIADiyBwkKERI5ALAARViwAi8bsQIdPlmwAEVYsAAvG7EADz5ZsABFWLAELxuxBA8+WbIHAgAREjkwMTMjATMTIQMnB5HqAnbt4v7/gwUiBI37cwNHXlEAAwA6/+oEYwSiAAMAFAAiAHGyGCMkERI5sBgQsALQsBgQsA3QALAARViwDS8bsQ0dPlmwAEVYsAQvG7EEDz5ZsgMNBBESOXywAy8YtGADcAMCXbQwA0ADAl2yAAEKK1gh2Bv0WbANELIYAQorWCHYG/RZsAQQsh8BCitYIdgb9FkwMQEhNyEBJiYCNzcSNzYXFhYSBwcCABMmJicmAgcXFhYXFhI3AxD+ZSMBm/7Jk9FeEQMhsaHkk85dEQQg/rmDBWximsAJAQVsYpfACwHfw/1OApUBBJ4cAR2omAUEkv78niH+7f65AvttgwQG/vzoR3GFBAYBAPAAAAL/pwAAA+wEjQADAAgAPLIFCQoREjmwBRCwAtAAsABFWLACLxuxAh0+WbAARViwAC8bsQAPPlmyBQACERI5sgcBCitYIdgb9FkwMSEhATMDJwcBIQPs+7sCdu2iBRz+rwHXBI3+ul5E/WIAAAEACgAAA98EjQAFADKyAQYHERI5ALAARViwBC8bsQQdPlmwAEVYsAIvG7ECDz5ZsAQQsgABCitYIdgb9FkwMQEhAyMTIQO8/eOo7coDCwPJ/DcEjQAAAQAtAAAEiASNABgAlbIAGRoREjkAsABFWLABLxuxAR0+WbAARViwGC8bsRgdPlmwAEVYsAwvG7EMDz5ZsgAMGBESObIJDAEREjmwCS+wBNCwBC9ADQ8EHwQvBD8ETwRfBAZdts8E3wTvBANdsgYCCitYIdgb9FmwCRCyCgIKK1gh2Bv0WbAO0LAJELAQ0LAQL7AGELAT0LAEELAW0LAWLzAxAQEhATMHJQcHJQchByM3ITcFNychNzMDMwIUAWMBEf5iyRv+6RoMATIa/tQm7Sf+0hoBKBID/tQb3NP2AnwCEf23kwMgLAKR2dmRATkPkwJJAAEAEQAABAkEogAfAGWyGyAhERI5ALAARViwFC8bsRQdPlmwAEVYsAYvG7EGDz5Zsh8GFBESObAfL7AP0LIOAgorWCHYG/RZsADQsAYQsgUBCitYIdgb9FmwCNCwFBCyGgEKK1gh2Bv0WbIXHxoREjkwMQElBgYHJQchNxc2PwIHNzM3NjYXFhYHJzYnJgYHByEDG/6YETs6Aokk/H8dCF0iDQOlHJYMGPG4rb0I7guPUmcNCgF2AeUBVJJAA8PCASWvRw4Fk2jT7wQE1rgBxgcChH5iAAABAA7/EwP/BXMAKwBvsh8sLRESOQCwAEVYsAkvG7EJHT5ZsABFWLAiLxuxIg8+WbIDIgkREjmwCRCwDNCwAxCyGQEKK1gh2Bv0WbAJELITAQorWCHYG/RZshAZExESObAiELAf0LAiELIpAQorWCHYG/RZsiUDKRESOTAxATYnJyYmNzY2NzczBxYWByc2JiciBgcGFxcWFgcGBgcHIzcmJjcXBhYzMjYCuxGPPMysBwnjsyydLZGjAusDZlVdewwRnT7IoQgJ2rQunC6kvATsBW5uYHsBOWovEjitfo60EdnfG7uKAVZXAVBDYDASPbOAjqsR4eMYx5QBXWJNAAEAFAAABDUGGAAKAEwAsABFWLADLxuxAyE+WbAARViwBi8bsQYbPlmwAEVYsAEvG7EBDz5ZsABFWLAJLxuxCQ8+WbIABgEREjmyBQYBERI5sggABRESOTAxAQMjATMDASEBASEBWFftAQ/tmgGKATX9+wFi/vUB9f4LBhj8kQGR/gH9xQAAAQAuAAAFZwWwAAsATACwAEVYsAMvG7EDHz5ZsABFWLAHLxuxBx8+WbAARViwAS8bsQEPPlmwAEVYsAovG7EKDz5ZsgADARESObIFAwEREjmyCQAFERI5MDEBAyMTMwM3ASEBASEBmXX2/PZ2AgJ4AUP9LwHl/uMCo/1dBbD9fQECgv0q/SYAAAEAFAAABEUGAAAMAFMAsABFWLAELxuxBCE+WbAARViwCC8bsQgbPlmwAEVYsAIvG7ECDz5ZsABFWLALLxuxCw8+WbIHCAIREjmwBy+yAAEKK1gh2Bv0WbIKAAcREjkwMQEjAyMBMwMzASEBASEBxXJS7QEL7JddAU8BJf5JARj+/QHZ/icGAPycAZ7+Bf3BAAEALgAABXsFsAAMAFgAsABFWLAELxuxBB8+WbAARViwCC8bsQgfPlmwAEVYsAIvG7ECDz5ZsABFWLALLxuxCw8+WbIGAgQREjmwBi+yHwYBcbIBAQorWCHYG/RZsgoBBhESOTAxASMDIxMzAzMBIQEBIQI+rmz2/PZqfQIKAT79mAGG/ugCcP2QBbD9nAJk/Tv9FQACAC7//wTwBbAAHgAnAGGyICgpERI5sCAQsB7QALAARViwAy8bsQMfPlmwAEVYsBUvG7EVDz5ZsABFWLABLxuxAQ8+WbIgAwEREjmwIC+yHgEKK1gh2Bv0WbIKHiAREjmwAxCyJwEKK1gh2Bv0WTAxAQMjEwUyFgcGBgcWFxYHBwYXFhcHByYnJjc3NicmJyUXMjY3NiYnJQGMaPb8Afbh7w8Ij5OUEQUGFAcEBCQC9SMFAwoSBgYUlP7w/4uiDg1paP7ZAlb9qgWwAdvCcKk9QKs0Nos3JD0pGwEsSixMeTAqjAnLAXdwam8EAQAAAgA7/+MEkQRUABIAIwBushkkJRESObAZELAK0ACwAEVYsAovG7EKGz5ZsABFWLAOLxuxDhs+WbAARViwAi8bsQIPPlmwAEVYsBIvG7ESDz5ZsgACChESObINCgIREjmwAhCyGAEKK1gh2Bv0WbAKELIgAQorWCHYG/RZMDElBicmJj8CNgAXFhYXNzMDEyMBBhcWFhcWNj8CJyYnJgYHAxCO46u5CQMIJwEGwW2gJ0TczBHT/jIGAgJcUmaiIAYBBBuPdZobxeIHBf/cLTn6ASoFA3Fmxf3T/fMB8jM5ZXUCA76cLkQ13AcFx8IAAAP/h/5HBFAEUAArADkARwCbsidISRESObAnELA50LAnELBE0ACwAEVYsCgvG7EoGz5ZsABFWLAWLxuxFhE+WbAoELAr0LArL7IAAworWCHYG/RZsgcWKBESObAHL7IOFgcREjmwDi+yLAEKK1gh2Bv0WbIbLA4REjmyIAcoERI5sBYQsjMBCitYIdgb9FmwBxCyPQEKK1gh2Bv0WbAoELJEAQorWCHYG/RZMDEBBxYHBwYEJyInBgcGFhcXFhYHBgYEJyYmNzY3Jjc2NjcmJjc3NjY3NxcXIQEmJwYHBhYzMjY3NiYnAwYWFzI2Nzc2JicmBgcENoMgCQQX/u26Q1IyBwYpOq2ztAcFl/7kh8/pBAfQIQYHVjtHQwUDEPW3KCpwAXX88DgeYw4JcWeFuA0JP1e/BmBQWIUNAwZgUFSIDgOgAVxeH6PHAhQyJyAiAwIGmINmomIDBY54pWYyPUllJjaYWCGWxQoBAxP73gMFO1k/SVtKMzgDAq1JYAJoThVNXwICZlQAAwEGBEcDVgaVAAMADgAZAE4AsA0vsBfQsBcvsgcJCitYIdgb9FmwAtCwAi+wANCwAC9ADw8AHwAvAD8ATwBfAG8AB12wAhCwA9AZsAMvGLANELIRCQorWCHYG/RZMDEBFwUnBzQ2MzIWFRQGIiY3FjMyNjc2JiMiBgJh9f7wpppuTUxibJhlYQNAJDoGBCQeJjcGlQHBAeZPa2hETWhiR1E3JCQxNAAAAQAKAAAEpASNAAcAP7IBCAkREjkAsABFWLAGLxuxBh0+WbAARViwBC8bsQQPPlmwAEVYsAEvG7EBDz5ZsAYQsgIBCitYIdgb9FkwMSEjEyEDIxMhA9nuqP4MqO3KA9ADyfw3BI0AAgAz//UCggMjABQAIQBnsggiIxESObAIELAc0ACwAEVYsAgvG7EIGT5ZsABFWLAPLxuxDw8+WbICDwgREjmwAi+2DwIfAi8CA12wDxCyEgIKK1gh2Bv0WbACELIVAgorWCHYG/RZsAgQshwCCitYIdgb9FkwMQEGIyImNzY2FxYWBwcGBCMnNzMWNicWNzc2JyYjIgYHBhYBsktMbXsEBrmAgYsJBRb+/NkVDQx3jkQ9OgwDAgtNNEwHBiwBNzmLc4GmAgSwkTTV3gGTAlSsAjZHGBlWVDoxQwADAAj/8gKAAyMAFAAgACwAirIXLS4REjmwFxCwEtCwFxCwJNAAsABFWLASLxuxEhk+WbAARViwCC8bsQgPPlmyKggSERI5sCovtt8q7yr/KgNdtg8qHyovKgNdtq8qvyrPKgNxshgCCitYIdgb9FmyAxgqERI5sg0qGBESObAIELIeAgorWCHYG/RZsBIQsiQCCitYIdgb9FkwMQEGBgcWBwYGJyYmNzY3Jjc2NhcWFgM2JiMiBgcGFjMyNhM2JiMiBgcGFjMyNgJ9A0BGZgQEr4Z/lgMDmlYEBKd6do/eBTMwMkwHBzYuL08vBSsmKkEHBi0mKkACSTlYKD5xcH8CAndkfE86ZGt+AgJ0/kUoLzgrKDI0AXwnKjEqJysyAAABACMAAAK7AxUABgAyALAARViwBS8bsQUZPlmwAEVYsAIvG7ECDz5ZsAUQsgQCCitYIdgb9FmyAAQFERI5MDEBASMBITchAqf+Sc0BuP5fGwJmAp/9YQJ/lgACABb/8gJzAyQAFAAhAFuyHSIjERI5sB0QsAfQALAARViwAC8bsQAZPlmwAEVYsA0vG7ENDz5ZsAAQsgICCitYIdgb9FmyBw0AERI5sAcvshUCCitYIdgb9FmwDRCyHAIKK1gh2Bv0WTAxAQcnJgYHNjMyFgcGBicmJjc3NjY3AyIHBwYXFjMyNjc2JgJEDgd0pTBQXWZ6BAS2g4iUCgcZ/smsTToFAwMKVjNSBgczAySbAQNba0WMc3ugAgKxjUXB4An+WD4kGxpaTjUyOwAAAQAK//ICkQMVABwAarIHHR4REjkAsABFWLACLxuxAhk+WbAARViwDS8bsQ0PPlmwAhCyAwIKK1gh2Bv0WbIHAg0REjmwBy+yGggKK1gh2Bv0WbIFBxoREjmwDRCyFAIKK1gh2Bv0WbIRFBoREjmyHBoUERI5MDETEyEHJQc2NzYWBwYGJyYmJxcWFjc2Njc2JiciBzh4AeEb/rk3OENtgwQEuIJ4mwSwBDMvPEgIBzY1QTUBgwGSlgGXGQIChHR+ngICgmYBLyQBAUk5NT8BJwAAAv/xAAACegMWAAoADgBJALAARViwCS8bsQkZPlmwAEVYsAQvG7EEDz5ZsgEJBBESObABL7ICAgorWCHYG/RZsAbQsAEQsAvQsggLBhESObINCQQREjkwMQE3ByMHIzchNwE3ATM3BwIWZBxcHLge/qUNAbC6/lOqMxIBOQGXo6OFAewC/iT1GAAAAf/0//MChQMkACQAb7ICJSYREjkAsABFWLANLxuxDRk+WbAARViwGC8bsRgPPlmyARgNERI5fLABLxiwDRCyBwIKK1gh2Bv0WbIJAQcREjmwARCyIwIKK1gh2Bv0WbITIwEREjmwGBCyHgIKK1gh2Bv0WbIbHiMREjkwMRMzNjY3NicnJgcHNjYXFhYHBgYHFgcGBicmJjUXFhcyNjc2JyPmUz1NBwlKF10cugmmfYGZBQNJUnYEA7yLfZmxBGo2UwcNeFwB0gI4LkMNAgJMAWl6AgN3YjtXJimBb4ICAoNtAVkCOC9ZBQAAAf/jAAACfgMkABcAWbIIGBkREjkAsABFWLAPLxuxDxk+WbAARViwAC8bsQAPPlmyFgIKK1gh2Bv0WbICFgAREjmyAw8AERI5sA8QsggCCitYIdgb9FmyDAAPERI5shUADxESOTAxISE3ATY3NiYnIgYHBzY2FxYWBwYPAgUCNv2tGAFWYQwHKyk6Qwy2Cq+Cf5IFBZZPnQFfhwEZU0MpLwFHNAF5mAICg2h+dzxuAgABAG0AAAINAxMABgAxALAARViwBS8bsQUZPlmwAEVYsAEvG7EBDz5ZsAUQsATQsAQvsgMCCitYIdgb9FkwMSEjEwc3JTMBi7VjzBsBbhcCNi+ZcwACABf/8AKMAyUADQAZAEayERobERI5sBEQsAfQALAARViwBy8bsQcZPlmwAEVYsAAvG7EADz5ZsAcQshECCitYIdgb9FmwABCyFwIKK1gh2Bv0WTAxBSYmNzc2NhcWFgcHBgYTNzQnJg8CFBcWNwElhIoLEBOyiISJCw8SsR0CVnYXFgJZdhcMBLCWj6iwBASylo+msAHzN28DA7WwMG8DB8MAAAH/2QAABAcEjQAMAEuyAA0OERI5ALAARViwCC8bsQgdPlmwAEVYsAMvG7EDDz5ZsgEBCitYIdgb9FmyBQEDERI5sAgQsgoBCitYIdgb9FmyBwoIERI5MDEBASEHITcBAzchByETAnv+swJWI/x4HQGC7RkDYyP9w9UCRP6AxKQBtwGmjMT+kAADAEMAAAU3BI4AEQAXAB0AbLIQHh8REjmwEBCwFdCwEBCwG9AAsABFWLAQLxuxEB0+WbAARViwBy8bsQcPPlmyDxAHERI5sA8vsADQsgYHEBESObAGL7AJ0LIUAQorWCHYG/RZsA8QshUBCitYIdgb9FmwGtCwFBCwG9AwMQEWFgcGAAcHIzcmJjc2JDc3FwEGFxMGBgU2JwM2NgN+0OkPEP7K+RjuGdHoDxABOPcb7f2kH/Jqj54C7xvta4ujBBMU9bzR/wAQbW4T+sHP/A55Af2v7yICLhCTZ+ch/dIPlwAAAQBwAAAFUQSNABkAXLIYGhsREjkAsABFWLAELxuxBB0+WbAARViwEC8bsRAdPlmwAEVYsBgvG7EYHT5ZsABFWLAKLxuxCg8+WbIXBAoREjmwFy+wANCwFxCyDAEKK1gh2Bv0WbAJ0DAxATY2NxMzAwYABwMjEyYCNxMzAwYHBhYXEzMDAXqZHDPuNSn+3eQ37jjLxB4y7TIIAQNRVH7tAdoauaoBNv7F/P7bGP7nARkdATnvAS/+0Dk8aYoYArAAAQAAAAAEeAShACQAWbIAJSYREjkAsABFWLAaLxuxGh0+WbAARViwEC8bsRAPPlmwAEVYsCMvG7EjDz5ZsiEBCitYIdgb9FmwANCwGhCyCAEKK1gh2Bv0WbAAELAP0LAhELAS0DAxJTY2NzYnJiYnJgYGBxcWFwchNzcmNzc+AhceAgcHAgc3ByECTnyVGQwGDG9gaaBUAwEMkh7+PCSpgRcFEqX+k43UZw0FI+C0I/48xyXIsWg8YmsDA23QtyTDOMnEArf6K5LufwQDg+iPK/7nnATEAAEAkwKHAzwDMQADABEAsAIvsgEBCitYIdgb9FkwMQEhNyEDHv11HgKLAoeqAAABAIwAAAYeBI0ADABZALAARViwAS8bsQEdPlmwAEVYsAgvG7EIHT5ZsABFWLALLxuxCx0+WbAARViwAy8bsQMPPlmwAEVYsAYvG7EGDz5ZsgABAxESObIFAQMREjmyCgEDERI5MDEBATMBIwMBIwMzEwEzA/IBQOz+JOVA/pzmR+AUAWfRAS4DX/tzAz78wgSN/KEDXwABAHAAAAS4BI4ACAAxALAARViwAy8bsQMdPlmwAEVYsAcvG7EHHT5ZsABFWLAFLxuxBQ8+WbIBAwUREjkwMQEXNwEhASMDNwHkBSMBqAEE/Ynw4eoBOEpTA0z7cwSNAQABADn/6wRqBI0AEQA8sg4SExESOQCwAEVYsAAvG7EAHT5ZsABFWLAILxuxCB0+WbAARViwBC8bsQQPPlmyDQEKK1gh2Bv0WTAxAQMGBCcmJjcTMwMGFhcWNjcTBGqAG/7l0sngFIHsggtbZ2uOEoMEjf0BwuEEBOW1AwD8/2VyAwRvaQMHAAEAYgAABFoEjQAHAC4AsABFWLAGLxuxBh0+WbAARViwAi8bsQIPPlmwBhCyAAEKK1gh2Bv0WbAE0DAxASEDIxMhNyEEN/6KqO2o/o4jA9UDyfw3A8nEAAABAA7/7QP/BJ8AJgBtshEnKBESOQCwAEVYsAkvG7EJHT5ZsABFWLAcLxuxHA8+WbICHAkREjmyDAkcERI5sgwMAV2wCRCyEAEKK1gh2Bv0WbACELIVAQorWCHYG/RZsiAJHBESObIDIAFdsBwQsiQBCitYIdgb9FkwMQE2LwImNzYkFxYWByc2JiciBgcGBBcWBw4CJyYnJjcXBhYzMjYCuxGPdkf9DQkBC7+84ALrA2dUXXsMEQE9RsQKB3/YgJ5ypgTsBW1uYXsBOWovJBpk1Ju8AgXCogFWVgFQQ2FdJWfGbJdPAwJHaMgBXWJNAAACAAoAAAQWBI0ADQAVAF6yABYXERI5sA/QALAARViwBC8bsQQdPlmwAEVYsAIvG7ECDz5ZsABFWLAMLxuxDA8+WbIPBAIREjmwDy+yAAEKK1gh2Bv0WbIKAA8REjmwBBCyFQEKK1gh2Bv0WTAxASMDIxMFFhYHBgUTFSMBFzY2NzYnJwIf3krtygGsxdEKD/8Aufz+qMNohgwWutwBqf5XBI0BBbeb8GH+KQ0CawICYFWfCQEAAAIAN/8wBGAEowATACIARrIDIyQREjmwAxCwH9AAsABFWLANLxuxDR0+WbAARViwBS8bsQUPPlmwDRCyFwEKK1gh2Bv0WbAFELIeAQorWCHYG/RZMDElFwcnBiMmJgI3NxIAFxYWEgcHAgMmJicmAgcVFhYXFjY3NgMqr6XdOiiRz14RAyABSe2Tz10RBy6yB2ximb8KBWxigLQfFkyefsgHApUBBp4bAREBSwYEkv75oTr+vwICb4AEBv785khxhgQFt6p3AAIACgAABDYEjQAKABMATbIEFBUREjmwBBCwDNAAsABFWLADLxuxAx0+WbAARViwAS8bsQEPPlmyCwEDERI5sAsvsgABCitYIdgb9FmwAxCyEgEKK1gh2Bv0WTAxAQMjEwUWFgcGBCMnFzI2NzYmJycBPkftygHIvN4LCv7t19fda4wMC1xY+AGZ/mcEjQEE0KWvzMUBYFVSYQQBAAIAOv/qBGMEoQAQACAARrIeISIREjmwHhCwCNAAsABFWLAJLxuxCR0+WbAARViwAC8bsQAPPlmwCRCyFgEKK1gh2Bv0WbAAELIdAQorWCHYG/RZMDEFJiYCNzc2EjYXFhYSBwcCABM2JyYmJyYCBxcWFhcWNjcB+5PRXREJGKX8mJPOXREDIP65fgYDBWtimsAJAQVtYYe4GRAElQEDnUOlAQWLBASS/vucHP7p/rcCfj1AboIEBv765UhxhQQFzr8AAQAKAAAEqASNAAkARQCwAEVYsAUvG7EFHT5ZsABFWLAILxuxCB0+WbAARViwAC8bsQAPPlmwAEVYsAMvG7EDDz5ZsgIFABESObIHBQAREjkwMSEjAQMjEzMBEzMD3uT+iYztyuUBd4zsAyX82wSN/NoDJgABAAoAAAXIBI0ADgBgsgEPEBESOQCwAEVYsAAvG7EAHT5ZsABFWLACLxuxAh0+WbAARViwBC8bsQQPPlmwAEVYsAgvG7EIDz5ZsABFWLAMLxuxDA8+WbIBAAQREjmyBwAEERI5sgoABBESOTAxARMBIQMjExMBIwsCIxMCA7QB1QE8y+w5dP4dpb5NNezKBI38twNJ+3MBSAIX/KEDfP2y/tIEjQAAAQAKAAADNASNAAUAKACwAEVYsAQvG7EEHT5ZsABFWLACLxuxAg8+WbIAAQorWCHYG/RZMDElIQchEzMBGQIbI/z5yu3CwgSNAAABAAoAAASdBI0ADABLALAARViwBC8bsQQdPlmwAEVYsAgvG7EIHT5ZsABFWLACLxuxAg8+WbAARViwCy8bsQsPPlmyBgIEERI5sAYQsAHQsgoBBhESOTAxAQcDIxMzAzcBIQEBIQHVpDrtyu1XfAGAATf96gFQ/vYB2Yv+sgSN/gt+AXf97P2HAAAB//L/6wOwBI0ADgAvsgUPEBESOQCwAEVYsAAvG7EAHT5ZsABFWLAFLxuxBQ8+WbILAQorWCHYG/RZMDEBMwMGBicmJjcXBhcWNjcCw+2GGfettcYG7QmfSmgPBI384LPPBATDqgGrBAJjWwABABgAAAHPBI0AAwAdALAARViwAi8bsQIdPlmwAEVYsAAvG7EADz5ZMDEhIxMzAQXty+wEjQABAAoAAASpBI0ACwCGALAARViwBi8bsQYdPlmwAEVYsAovG7EKHT5ZsABFWLAALxuxAA8+WbAARViwBC8bsQQPPlmyCQYAERI5sAkvtK8JvwkCXbI/CQFxss8JAXGyPwkBcrL/CQFxsg8JAXK0bwl/CQJxtN8J7wkCXbJfCQFytBwJLAkCXbICAQorWCHYG/RZMDEhIxMhAyMTMwMhEzMD3+1S/gZT7crtVgH7Vu0B2/4lBI3+EQHvAAABAD//8ARRBKMAIABksgIhIhESOQCwAEVYsAsvG7ELHT5ZsABFWLADLxuxAw8+WbIfCwMREjmwHy+wCxCyEQEKK1gh2Bv0WbIPHxEREjmyDA8BXbADELIaAQorWCHYG/RZsB8Qsh0BCitYIdgb9FkwMSUGBQcuAjc3EgAXFhYXJyYnJgYHBwYXFhYXFjc3IzchA+d//to6ldRgEQYfAUHtwd0Q5BK9hrUbDAcFCHRmh1oo8yAB3ZKUDQECkP+eNwERATwGBMm4AbwGBbuqWkFBbnsDAjrIsQABAAoAAAPmBI0ACQBFALAARViwBC8bsQQdPlmwAEVYsAIvG7ECDz5ZsgkEAhESObAJL7JKCQFdsgABCitYIdgb9FmwBBCyBgEKK1gh2Bv0WTAxASEDIxMhByEDIQMs/h5T7coDEiP93DQB5AHb/iUEjcT+1QAAAQAKAAAD+QSNAAsAUwCwAEVYsAYvG7EGHT5ZsABFWLAELxuxBA8+WbILBgQREjmwCy+ySQsBXbIAAQorWCHYG/RZsAQQsgIBCitYIdgb9FmwBhCyCAEKK1gh2Bv0WTAxASEDIQchEyEHIQMhAzX+GjYCOyP82coDJSP9yS8B6AH4/srCBI3E/vIAAgAKAAAEGgSNAAoAFgBDsg4XGBESObAOELAC0ACwAEVYsAIvG7ECHT5ZsABFWLAALxuxAA8+WbINAQorWCHYG/RZsAIQshYBCitYIdgb9FkwMTMTBR4CBwcGACETAxcyNjc3NicmJicKygFil+FsEAUd/qH+9x+GcKnPGAYIBgp5bgSNAQSP/Zks/f7GA8n8+QHBtSxHQGhyBAAAAQA5/+wESQSjABwATrITHR4REjkAsABFWLALLxuxCx0+WbAARViwAy8bsQMPPlmyAAsDERI5sg4LAxESObALELISAQorWCHYG/RZsAMQshoBCitYIdgb9FkwMQEGBCcuAjc3EgAXFhYXJyYmJyYGBwYXFBYXFjcD/Bz+39SQyVkSBiABQenC4grrA2BrhbAaEAFkYeM4AYW93AQCkP+fNAEOAUEGBN29AWdwBAXAtIk/cH8ECNoAAAMACgAABAAEjQAOABYAHgCsshgfIBESObAYELAC0LAYELAW0ACwAEVYsAEvG7EBHT5ZsABFWLAALxuxAA8+WbIYAAEREjmwGC+yvxgBcrSvGL8YAl20bxh/GAJxsv8YAXGyDxgBcrSPGJ8YAnKyXxgBcrLPGAFxsj8YAXG0HxgvGAJdsnkYAV2ySRgBXbIWAQorWCHYG/RZsggWGBESObAAELIRAQorWCHYG/RZsAEQsh4BCitYIdgb9FkwMTMTBQQXFgcGBxYWBwYGIwMDFzY2NzYnJxc2Njc2JycKygGUASZUHgYKz0tUBAj33pA2z2V6DBam18FfcgwUss0EjQEIpDlTrFcaiFmksgH7/scBA1JJkgmrAQNPRYgFAQAC/5sAAAQFBI0ABwAKAEYAsABFWLAELxuxBB0+WbAARViwAi8bsQIPPlmwAEVYsAYvG7EGDz5ZsgkEAhESObAJL7IAAQorWCHYG/RZsgoEAhESOTAxJSEHIwEzEyMBIQMC7v4uiPkCk9r95v5iAUhX+fkEjftzAbIBuAAAAQDrBGkCNgYtAAcAFgCwAEVYsAAvG7EAIT5ZsATQsAQvMDEBFwYHByM3NgG1gVEWFs4RHwYtV312enfXAAACAQQE0QN6Bn4ACwAPAFoAsAMvsAbQsAYvQAsPBh8GLwY/Bk8GBV2wANCwAC+wAxCyCQYKK1gh2Bv0WbAGELAP0LAPL7AM0LAML0APDwwfDC8MPwxPDF8MbwwHXbAPELAO0BmwDi8YMDEBBgYnJiYnFwYXFjclMxcjA3oItYyLoAKqBICGG/7Rok5tBbFoeAMDeGQCbwICc83AAAACANwE5wUtBpAABgAKAFsAsAMvsAXQsAUvsADQsAAvQAkPAB8ALwA/AARdsAMQsALQGbACLxiyBAMAERI5sAbQGbAGLxiwAxCwCdCwCS+wB9CwBy+2DwcfBy8HA12wCRCwCtAZsAovGDAxATMXIycHIwEXASMCIp3wuYKy5gNp6P8AqgXh+o2NAakB/vYAAgATBNoDqAaDAAYACgBbALADL7AE0BmwBC8YsADQGbAALxiwAxCwAdCwAS+wBtCwBi9ACQ8GHwYvBj8GBF2yAgMGERI5sAMQsAjQsAgvsAfQGbAHLxiwCBCwCtCwCi+2DwofCi8KA10wMQEjJwcjJTMFIwMzA6i7gbLlAUad/oeKoscE2o2N+lwBCwACANgE5wSUBssABgAVAGgAsAMvsATQGbAELxiwANAZsAAvGLADELAB0LABL7ADELAF0LAFL0AJDwUfBS8FPwUEXbICAwUREjmwAxCwB9CwBy+wDtCwDi+yPw4BXbIIBw4REjmyDwYKK1gh2Bv0WbIUCAcREjkwMQEjJwcnJTMXNzc2NzYnJzcWFgcGBwcDqqeRydEBObaoCyJaBwdNKg93gQEDiAkE56GhAfl0fQMKMy8GAmoDU0hrGT0AAAIA1wTnA6kG0AAGABoAjgCwAy+wBNAZsAQvGLAA0BmwAC8YsAMQsAHQsAEvsAMQsAXQsAUvQAkPBR8FLwU/BQRdsgIDBRESObAK0LAKL0AJPwpPCl8KbwoEXbAO0LAOL0ANDw4fDi8OPw5PDl8OBl2wChCwENCwEC+wDhCyFAYKK1gh2Bv0WbAKELIYBgorWCHYG/RZsBQQsBrQMDEBIycHIyUzNwYGIyImJgcGByc2NjMyFhY3NjcDqaWVxdMBS4/mCVU7I24kEjMgWgpTPCFzIRI5HATnjY3t30RbPQkCA0MYSFo+CAEERQAAAgEEBNADegZ+AAwAEABaALADL7AG0LAGL0ALDwYfBi8GPwZPBgVdsADQsAAvsAMQsgkGCitYIdgb9FmwBhCwD9CwDy+wDdCwDS9ADw8NHw0vDT8NTw1fDW8NB12wDxCwENAZsBAvGDAxAQYGJyYmJxcGFxY2NycXByMDegi1jIugAqoEgDpZDkDDxo8FsGh4AwN4ZAJvAgE3O84BvgACAQUE0gNuBwgADAAbAF0AsAMvsAbQsAYvQAsPBh8GLwY/Bk8GBV2wANCwAC+wAxCyCQYKK1gh2Bv0WbAGELAb0LAbL7AU0LAUL7Q/FE8UAl2yDhsUERI5shUMCitYIdgb9FmyGg4bERI5MDEBBgYnJiYnFwYXFjY3Jzc3Njc2Jyc3FxYVBgcHA24JsYiDogKmBH46WA7QCjBXCQlfKg1I2AOXCQWxa3QCAnZmAmwCATU6GXYCBjArBAFhBBN4XRg8AAIBBATNA4IG2wALACAAdgCwAy+wBtCwBi9ACw8GHwYvBj8GTwYFXbAA0LAAL7ADELIJBgorWCHYG/RZsAAQsBDQsBAvsBPQsBMvQAsPEx8TLxM/E08TBV2wEBCwFdCwFS+wExCyGQgKK1gh2Bv0WbAQELIeCAorWCHYG/RZsBkQsCDQMDEBBgYnJiYnFwYXFjcTBgcGByImBwYHJzY2MzIWFxY3NjcDcQiyi4WhAqgEfYUbvQosLkYoiSg7H2YJXkYWJy9GKDwfBbBreAICe2YCbgICcgERVDIzAk4DA1QbUGsNGicDA1MAAAH/pAAABIAEjQALAFMAsABFWLABLxuxAR0+WbAARViwCi8bsQodPlmwAEVYsAQvG7EEDz5ZsABFWLAHLxuxBw8+WbIAAQQREjmyBgEEERI5sgMABhESObIJBgAREjkwMQEBIQEBIQMBIQEBIQIrATEBJP4lARX+97D+x/7cAeb+/AEEAvsBkv2y/cEBmP5oAlcCNgABAG0AAASABI0ACAAxALAARViwAS8bsQEdPlmwAEVYsAcvG7EHHT5ZsABFWLAELxuxBA8+WbIAAQQREjkwMQEBIQEDIxMBMwIMAWIBEv3cROxL/vb3AnwCEfz6/nkBrgLfAAEAOf/sBEkEowAeAISyHB8gERI5ALAARViwCy8bsQsdPlmwAEVYsAMvG7EDDz5ZsgALAxESObIOCwMREjmwCxCyEgEKK1gh2Bv0WbIVCwMREjl8sBUvGLLwFQFdsgAVAXG0MBVAFQJdtIAVkBUCcbRgFXAVAl2yFgEKK1gh2Bv0WbADELIcAQorWCHYG/RZMDEBBgQnLgI3NxIAFxYWFycmJicmAyEHIQYXFhYXFjcD/Bz+39SQyVkSBiABQerB4grrA2Br7VwBfSL+kgYFB2VX4zkBhb3cBAKQ/580AQ4BQQYE3b0BZ3AEB/7HxDg2W2gDCNoAAAEAYv/rBQ0EjQAXAGuyBRgZERI5ALAARViwAi8bsQIdPlmwAEVYsBYvG7EWDz5ZsABFWLAOLxuxDg8+WbACELIAAQorWCHYG/RZsATQsAXQsggCFhESObAIL7AOELIPBworWCHYG/RZsAgQshMBCitYIdgb9FkwMQEhNyEHIQc2FxYWBwYEBzc2NzYnJgcDIwGy/rAjA5Ij/qwyhIjA0wwO/vbyFPAZGs5nn2PtA8nExO8pAwLVubzHAr0FwcoGAyf95gABAFUAAARiBbAABgAyALAARViwBS8bsQUfPlmwAEVYsAEvG7EBDz5ZsAUQsgMBCitYIdgb9FmyAAMFERI5MDEBASMBITchBEj9B/oC9/1eIgOWBRz65ATtwwACACr+UARMBFEAHAAqAHyyBCssERI5sAQQsCfQALAARViwBy8bsQcbPlmwAEVYsAQvG7EEGz5ZsABFWLAMLxuxDBE+WbAARViwFi8bsRYPPlmyBgcWERI5sAwQshEBCitYIdgb9FmyFAcWERI5sBYQsiIBCitYIdgb9FmwBBCyJwEKK1gh2Bv0WTAxEzYSNhcWFzczAwYAJyYnNxYXBBM3BicuAicmNxcGFxYWFxY3EyYnJgYHRBOU14G2WirPqiL+1+Sum0JzjAEFSgd+oGWdXAYEBu4GBAViVYpkVTSGfqwXAh+jAQyDAwSDc/wZ8f7uBARZsk0CBwE8G3wEAWjDdj89ATU7Z30DBYUB23cEA8amAAAB/wf+RgE/AM0ADAAsALANL7AARViwBC8bsQQRPlmyCQEKK1gh2Bv0WbANELIMBQorWCHYG/RZMDElAwYGJyYnNxYzMjcTAT8qGNCiREAiOSZ+ICvN/vS0xwICEsUPrwEMAAH/sv6aAP4AtQADABIAsAQvsALQsAIvsAHQsAEvMDETIxMzoO5e7v6aAhv////WAAAEJwYjAiYEqQAAAQYBaEseABMAsABFWLAHLxuxBx0+WbAP3DAxAAAC/8H//wbEBI0AGAAhAGuyBSIjERI5sAUQsBrQALAARViwEy8bsRMdPlmwAEVYsAMvG7EDDz5ZsABFWLALLxuxCw8+WbATELIFAQorWCHYG/RZshYTAxESObAWL7ADELIbAQorWCHYG/RZsBYQsiEBCitYIdgb9FkwMQEGBCMhEyEDBwIGJyM3NzY2NzcTIQMXFhYlAxc2Njc2JicGuQv+7dr+Hqn+sEQZO+e6PhgiZnwfD2gDJEbHxub9a0HcZo8NC1hZAYev2APJ/rZ//uztAcwBBqTAXAH6/mwBAcoI/o4BAmtaTFoFAAACAAoAAAbHBI0AEgAbAIGyAhwdERI5sAIQsBTQALAARViwAi8bsQIdPlmwAEVYsBEvG7ERHT5ZsABFWLALLxuxCw8+WbAARViwDy8bsQ8PPlmyAQILERI5sAEvsAIQsRsKK1jYG9xZsgUBCitYIdgb9FmwARCyDQEKK1gh2Bv0WbALELIVAQorWCHYG/RZMDEBIRMzAxcWFgcGBCMhEyEDIxMzAQMXNjY3NiYnAWsB7FbuR8nF5QsL/u3Y/h1T/hRT7crtAnJB3GiNDQtYWQKeAe/+bAEByqav2AHb/iUEjf2o/o4BAmtaTFoFAAEAYgAABQ4EjQAWAFqyBRcYERI5ALAARViwAi8bsQIdPlmwAEVYsAwvG7EMDz5ZsABFWLAVLxuxFQ8+WbACELIAAQorWCHYG/RZsATQsAXQsggCDBESObAIL7ISAQorWCHYG/RZMDEBITchByEHNhcWFgcDIxM2JyYnJgcDIwGy/rAjA5Ij/qwygYrJzBQ47TkGBRObbJtj7QPJxMTuJwIE4ML+pgFbNCl/BgMm/eYAAQAK/p8EowSNAAsAT7IDDA0REjkAsAIvsABFWLAGLxuxBh0+WbAARViwCi8bsQodPlmwAEVYsAAvG7EADz5ZsABFWLAELxuxBA8+WbIIAQorWCHYG/RZsAnQMDEhIQMjEyETMwMhEzMD2P6WPu0+/onK7agB9Kju/p8BYQSN/DYDygAAAgAL//wD9wSNAA0AFgBeshQXGBESObAUELAJ0ACwAEVYsAwvG7EMHT5ZsABFWLALLxuxCw8+WbAMELIAAQorWCHYG/RZsgMMCxESObADL7ALELIOAQorWCHYG/RZsAMQshQBCitYIdgb9FkwMQEhBxcWFgcOAiclEyEBNjY3NCYnJwMD1f3JJ/nAxRUQkueF/jnLAyH+GWh8Amlc3D4Dy+ABBcOid7FcAwEEjfw1AmZXTFcCAf6cAAL/g/6vBMAEjQAOABQAVrISFRYREjmwEhCwCdAAsABFWLAELxuxBB0+WbAARViwCi8bsQoPPlmyAAEKK1gh2Bv0WbEMCitY2BvcWbAI0LIPBAoREjmwBBCyEQEKK1gh2Bv0WTAxNzY2NxMhAzMDIxMhAyMTBSUTIQMCMW+DJFIDJ6mSXO07/RA77V0BZwHjhv6uQEHAZf3FAab8Nv3sAVH+rwITAwQDBv64/twAAAH/qQAABjsEjQAVAJ6yARYXERI5ALAARViwES8bsREdPlmwAEVYsA4vG7EOHT5ZsABFWLAKLxuxCh0+WbAARViwBi8bsQYPPlmwAEVYsAMvG7EDDz5ZsABFWLAVLxuxFQ8+WbIMAw4REjmwDC+yPwwBcbJfDAFyss8MAXG0rwy/DAJdtI8MnwwCcrAP0LIBAQorWCHYG/RZsATQsggPBBESObITAQ8REjkwMQEjAyMTIwEhAQMhEzMTMwMzASEBEyEDymZR7VJV/rr+zAHDywEJnFdT7lRJAUQBJP5h5v7uAdX+KwHV/isCYQIs/iAB4P4gAeD9w/2wAAABAAz/7gPvBKAAJgBBsiAnKBESOQCwAC+wAEVYsBgvG7EYDz5ZsgkAGBESObIMABgREjmyHwEKK1gh2Bv0WbAAELIkBworWCHYG/RZMDEBMjY3NiYiBgcHNjYXFhYHBgcWFgcOAicmJjczFhYzFjY3NicnNwIFZoAKCmWwag/uDP3Cw94ICulRWgQFfOyLud4E6gJcVmqQDBXchyACqlNNRExFPgGYsgIDpo21ZSOGWWqdVwICuZxHTANZT6ABAbAAAAEACwAABK4EjQAJAEyyAAoLERI5ALAARViwAC8bsQAdPlmwAEVYsAgvG7EIHT5ZsABFWLAFLxuxBQ8+WbAARViwAy8bsQMPPlmyBAMAERI5sgkFCBESOTAxATMDIxMBIxMzAwPL48vqj/1m48vqjwSN+3MDMfzPBI380gABAAoAAARtBI0ADAB3sgANDhESOQCwAEVYsAgvG7EIHT5ZsABFWLAFLxuxBR0+WbAARViwAi8bsQIPPlmwAEVYsAwvG7EMDz5ZsgYCBRESObAGL7I/BgFxsl8GAXKyzwYBcbSvBr8GAl20jwafBgJysgEBCitYIdgb9FmyCgEGERI5MDEBIwMjEzMDMwEhAQEhAbZtUu3K7VRXAYMBJv4QATP+6QHV/isEjf4gAeD9uf26AAAB/8EAAASXBI0AEQA/sgQSExESOQCwAEVYsAAvG7EAHT5ZsABFWLABLxuxAQ8+WbAARViwCS8bsQkPPlmwABCyAwEKK1gh2Bv0WTAxAQMjEyEDBwIGByM3NzY2NzcTBJfK7qn+sUYZPOK0RxgkZ3scD2kEjftzA8n+tn3+7e0CzAMKqbhZAfoAAQBy/+gEggSOAA8ATrIBEBEREjkAsAcvsABFWLAPLxuxDx0+WbAARViwCC8bsQgPPlmyAQ8IERI5sgIPCBESObACL7AIELEKCitY2BvcWbIODwgREjmwDi8wMQEXASEBBgYjJzcXNjY3AzcCEAcBXAEP/d1csnRrEVI6TiP69QJKOAJ7/HSjdgXEBgE6KwN8AQABAAr+rwS4BI0ACwBCsgkMDRESOQCwAy+wAEVYsAcvG7EHHT5ZsABFWLAKLxuxCh0+WbAARViwBS8bsQUPPlmyCAEKK1gh2Bv0WbAA0DAxJTMDIxMhEzMDIRMzA/u9cNg7/F/K7agB9Kjvw/3sAVEEjfw2A8oAAQBdAAAEZASNABIARrIOExQREjkAsABFWLAILxuxCB0+WbAARViwES8bsREdPlmwAEVYsAAvG7EADz5Zsg4IABESObAOL7IEAQorWCHYG/RZMDEhIxMGJyYmNxMzAwYXFhcWNxMzA5ruUn9/0NMVOO46BgYTm2+YZO0BqycCAuDEAWH+njQpgAMDJQIgAAEACgAABkMEjQALAEGyBwwNERI5ALAARViwAy8bsQMdPlmwAEVYsAEvG7EBDz5ZsgQBCitYIdgb9FmwAxCwBtCwBBCwCNCwBhCwCtAwMSEhEzMDIRMzAyETMwV4+pLK7agBU6juqQFUqO4Ejfw2A8r8NgPKAAABAAr+rwZYBI0ADwBBsgsQERESOQCwAy+wAEVYsAcvG7EHHT5ZsABFWLAELxuxBA8+WbIAAQorWCHYG/RZsA3QsAnQsAcQsArQsA7QMDElMwMjEyETMwMhEzMDIRMzBZu9cNg7+r/K7agBU6juqQFUqO/D/ewBUQSN/DYDyvw2A8oAAgBK//sE4wSNAAwAFQBesgsWFxESObALELAU0ACwAEVYsAovG7EKHT5ZsABFWLAHLxuxBw8+WbIACgcREjmwAC+wChCyCAEKK1gh2Bv0WbAHELINAQorWCHYG/RZsAAQshMBCitYIdgb9FkwMQEWFgcGBCclEyE3IQMTNjY3NiYnJwMDXrvKFhj+1cz+OKj+rCMCPkaXZX8CAm1Y20EC+AXKorPZBAEDycT+bP3JAmtZTlwCAf6O//8AC//7BeEEjQAmBBEAAAAHA+QEEgAAAAIAC//7A/cEjQAKABMAT7IRFBUREjmwERCwANAAsABFWLAILxuxCB0+WbAARViwBy8bsQcPPlmwCBCxEQorWNgb3FmyAAEKK1gh2Bv0WbAHELILAQorWCHYG/RZMDEBFhYHBgQnJRMzAxM2Njc2JicnAwJyu8oWGP7Vy/44y+pHl2OCAgJsWttBAvgFyaOz2QQBBI3+bP3JAmtZTV0CAf6OAAEAE//qBB4EoQAdAIGyCx4fERI5ALAARViwEi8bsRIdPlmwAEVYsBovG7EaDz5ZsgAaEhESObIDAQorWCHYG/RZsggSGhESOXywCC8YtGAIcAgCXbQwCEAIAl2y8AgBXbIACAFxtIAIkAgCcbIFAQorWCHYG/RZsBIQsgsBCitYIdgb9FmyDxIaERI5MDETFhYXFhMhNyE2JicmBgcHNiQXFhIPAgIAJyYmJ/0FZWzuVv6CIwFuDWltcYwa7iABINDK6AgEBiH+w+fD6QgBhWpnAwcBO8SPoAMEc2oBvuIEA/7r4zcz/vD+wgYE2LkAAAIACv/rBiIEogAWACMAlrIBJCUREjmwARCwH9AAsABFWLAOLxuxDh0+WbAARViwCS8bsQkdPlmwAEVYsAYvG7EGDz5ZsABFWLAALxuxAA8+WbIKBgkREjl8sAovGLRgCnAKAl2y8AoBXbIACgFxtDAKQAoCXbSACpAKAnGyBQEKK1gh2Bv0WbAOELIaAQorWCHYG/RZsAAQsiABCitYIdgb9FkwMQUuAjcHAyMTMwMzNgAXFhYSBwcGAgQTNCYnJgIHBhYXFhI3A7qHz2cLvlTsyuxVrEUBNdKUzl0RBBWg/v/Ta2mdxAIDa2ybvwgRBIPkiQH+HgSN/hj0AQkFBJP+/Z4ksv7wlALSiJAEBv7v94abBAYBDO4AAAL/0gAABFYEjgANABYAYbIRFxgREjmwERCwDNAAsABFWLAHLxuxBx0+WbAARViwAC8bsQAPPlmwAEVYsAkvG7EJDz5ZshIHABESObASL7ILAQorWCHYG/RZsgELEhESObAHELITAQorWCHYG/RZMDEjASYmNzYkMwUDIxMjARMGFhcXEyciBi4BclJSBgkBB88B0cruTuL+1LELVVHjOslfgwIPK5Fep74B+3MBvP5EAxtKTwIBAUoBWwAAAf/1AAAERASNAA0AULIBDg8REjkAsABFWLAILxuxCB0+WbAARViwAi8bsQIPPlmyBwIIERI5sAcvsgQHCitYIdgb9FmwAdCwCBCyCwEKK1gh2Bv0WbAHELAM0DAxASMDIxMjNzMTIQchAzMCgM9V7VTOHs1ZAwsj/eM20AHm/hoB5qoB/cT+xwAAAf+p/q8GOwSNABkAqrIIGhsREjkAsAMvsABFWLARLxuxER0+WbAARViwBS8bsQUPPlmwAEVYsAkvG7EJDz5ZsABFWLANLxuxDQ8+WbIXCREREjmwFy+yPxcBcbJfFwFyss8XAXG0rxe/FwJdtI8XnxcCcrIHAQorWCHYG/RZsgAHFxESObAFELIBAQorWCHYG/RZsAcQsAvQsg8XBxESObAXELAS0LARELAU0LAUL7AY0LAYLzAxARMzAyMTIwMjAyMTIwEhAQMhEzMTMwMzASEEnJvAXcs7n6VhUu1SVf66/swBw8sBCZxXU+5USQFEASQCUP5y/e0BUQHV/isB1f4rAmECLP4gAeD+IAHgAAABAAr+rwRtBI0AEACIsgAREhESOQCwBC+wAEVYsAwvG7EMHT5ZsABFWLAPLxuxDx0+WbAARViwCS8bsQkPPlmwAEVYsAYvG7EGDz5Zsg0JDBESObANL7I/DQFxsl8NAXKyzw0BcbSvDb8NAl20jw2fDQJysggBCitYIdgb9FmyAAgNERI5sAYQsgEBCitYIdgb9FkwMQETMwMjEyMDIwMjEzMDMwEhAn3Ny13LO4/jbVLtyu1UVwGDASYCRv58/e0BUQHV/isEjf4gAeAAAAEACgAABSQEjQAUAICyBRUWERI5ALAARViwFC8bsRQdPlmwAEVYsAYvG7EGHT5ZsABFWLARLxuxEQ8+WbAARViwCi8bsQoPPlmyABEUERI5sAAvsj8AAXGyXwABcrLPAAFxtK8AvwACXbSPAJ8AAnKwBNCwABCyEAEKK1gh2Bv0WbAM0LIIDAAREjkwMQEzNzMHNwEhAQEhAycHIzcjAyMTMwFpRCugLjIBgwEl/hABNP7q4j8poClEVu3K5gKr4OABAeH9uP27AdUBzM3+KQSNAAEAYgAABXIEjQAOAIWyCQ8QERI5ALAARViwBy8bsQcdPlmwAEVYsAovG7EKHT5ZsABFWLACLxuxAg8+WbAARViwDi8bsQ4PPlmyCAIHERI5sAgvsj8IAXGyXwgBcrLPCAFxtK8IvwgCXbSPCJ8IAnKyAQEKK1gh2Bv0WbAHELIEAQorWCHYG/RZsgwBCBESOTAxASMDIxMhNyEDMwEFAQEhArxtUu2o/qojAkJUVwGCASb+EQEz/ukB1f4rA8rD/iAB4AH9uf27AAACAED/6gV5BKkAJAAvAIKyAzAxERI5sAMQsC/QALAARViwCy8bsQsdPlmwAEVYsBsvG7EbHT5ZsABFWLAELxuxBA8+WbAA0LICBBsREjmwAi+wCxCyDAEKK1gh2Bv0WbAEELITAQorWCHYG/RZsAAQsiQBCitYIdgb9FmwAhCwJ9CwGxCyLAEKK1gh2Bv0WTAxBSYnBickABM3EgA3BwYGBwcGFhc3JiY3NzYSFxYWFxYHBgcWMwEWFzY3NzYnJgMGBRzbnaKY/vX+4RsDHAEu5xZ4mxoGFZ6kP0gvDAUe+7mdsQkEESPHZ0j9+gN/tCANDIe6JwkSBzM+AgIBRwETHgEIATUEzQKzrivC0AIDaeF+JvEBDwUEya1PePmxBwFls1x+8o7QBQb+zGEA//8AbQAABIAEjQAmA/cAAAAHA9UABf7VAAH/pP6vBIAEjQAPAFqyChARERI5ALAHL7AARViwAS8bsQEdPlmwAEVYsA8vG7EPHT5ZsABFWLALLxuxCw8+WbAARViwCS8bsQkPPlmyAA8LERI5sgQBCitYIdgb9FmyCgsPERI5MDEBASEBEzMDIxMjAwEhAQEhAisBMQEk/iW4xlzLO4aw/sf+3AHm/vwBBAL7AZL9sv6D/e0BUQGY/mgCVwI2AAABAGL+rwW6BI0ADwBcsgkQERESOQCwAi+wAEVYsAgvG7EIHT5ZsABFWLAOLxuxDh0+WbAARViwBC8bsQQPPlmyAAEKK1gh2Bv0WbAIELIGAQorWCHYG/RZsArQsAvQsAAQsAzQsA3QMDElMwMjEyETITchByEDIRMzBPu/cNk7/GCo/q4jA4ci/raGAfWo7cP97AFRA8nExPz6A8oAAAEAXQAABGQEjQAYAE+yBRkaERI5ALAARViwCy8bsQsdPlmwAEVYsBcvG7EXHT5ZsABFWLAALxuxAA8+WbIRCwAREjmwES+yBwEKK1gh2Bv0WbAE0LARELAU0DAxISMTBgcHIzcmJjcTMwMGFxYXNzMHNjcTMwOa7lFGXCqfKq+wFDnuOgcCA3Uxny9EXWTtAasVC83KEty2AWH+pCsoeBv08woXAiAAAAEACgAABBEEjQASAEayDhMUERI5ALAARViwAC8bsQAdPlmwAEVYsAgvG7EIDz5ZsABFWLARLxuxEQ8+WbIEAAgREjmwBC+yDgEKK1gh2Bv0WTAxEzMDNhcWFgcDIxM2JyYnJgcDI9TtUYR40NUVOe06BgYTm2ybZO0Ejf5VJwIC4cP+nwFiNCl/BgMm/d8AAAIAN//xBaUEpwAbACQAZLIOJSYREjmwDhCwHdAAsABFWLAPLxuxDx0+WbAARViwAC8bsQAPPlmyIA8AERI5sCAvshMBCitYIdgb9FmwBNCwIBCwDNCwABCyFwEKK1gh2Bv0WbAPELIcAQorWCHYG/RZMDEFLgI3JiY3FwYXFhc2ABcWEgcHIQYWFxY3FwYDJgYHITYnJiYDWJrydRCXmQu8AwMHcz0BQtnm7x0X/N4SkpGBqS93fX23LQI6EQsPdA8Bg+eREtu1ASckeBvoAQ8EBP7Y9JmOngIDP71KA+4Dn5dTN05YAAACADT/7AR6BKIAFQAfAF6yESAhERI5sBEQsBfQALAARViwAC8bsQAdPlmwAEVYsAgvG7EIDz5Zsg4ACBESObAOL7AAELIRAQorWCHYG/RZsAgQshYBCitYIdgb9FmwDhCyGQEKK1gh2Bv0WTAxAR4CBwcGACcuAjc3ITYmJyYHJzYTFjY3IQcGFxYWAoOf620RDSD+q+eZ11wTGAMgEpKPgKswenx8ty39xwYLChB1BKIDivicZfv+ywQDifWfmZGbAgM/vEv8EgOflxk9M1BXAAABAAz/5wQFBI0AGgBqshMbHBESOQCwAEVYsAIvG7ECHT5ZsABFWLAMLxuxDA8+WbACELIAAQorWCHYG/RZsgQAAhESObIaDAIREjmwGi+yGAEKK1gh2Bv0WbIFGBoREjmwDBCyEgEKK1gh2Bv0WbIQEhgREjkwMQEhNyEHARYWBw4CJyYmNzMWFxY2NzYmJyc3ArH9+CIDOhv+lomeCAeG6Ii82gTqBLVsjAoKX2CRIgPJxKX+xRe5gXWnWQMFvJyUBQJiVE1XAwHFAAADADr/7ARjBKMAEAAXAB4AiLIZHyAREjmwGRCwENCwGRCwEtAAsABFWLAILxuxCB0+WbAARViwAC8bsQAPPlmwCBCyEQEKK1gh2Bv0WbIVCAAREjl8sBUvGLIwFQFdskMVAV20YBVwFQJdsvAVAV2yABUBcbSAFZAVAnGwABCyGAEKK1gh2Bv0WbAVELIbAQorWCHYG/RZMDEFJiYCNzcSABcWFhIHBwYCBBEmBgchNiYDFjY3IQYWAfuS0V4RAx8BSe+Rz14RBBWg/v9yrTMCJQpv/3OrMv3cCnAQApUBBJ4cAREBTQYCkv76niSy/vGUA+0FmKCMovzeBZmdhqYAAQAEAAAECgSiACYAprIlJygREjkAsABFWLAeLxuxHh0+WbAARViwDC8bsQwPPlmyBh4MERI5sAYvsg8GAV2wAdCwAS+yzwEBXUAJHwEvAT8BTwEEXbIAAQFdsgICCitYIdgb9FmwBhCyBwIKK1gh2Bv0WbAMELIPAQorWCHYG/RZsArQsAcQsBPQsAYQsBTQsAIQsBjQsAEQsBnQsB4QsiQBCitYIdgb9FmyIQEkERI5MDEBIQclBwclByUGByUHITcXNjc3BzcXNzcHNzM3NjYXFhYHJzYnJgMBvgGCGv6TDwgBdhv+iSM2Aokk/H8dCDQfE5gclgYQoBuNAxvwva69CO0KkKQoArqSAkMZApMBRDoDw8IBFkApA5MCEUsCkhjX+QQE0bMBwAMD/v8AAAEAHv/wA+sEogAiAJuyHSMkERI5ALAVL7AARViwCC8bsQgPPlmyIhUIERI5sCIvsg8iAV2yzyIBXbQQIiAiAl2yAAIKK1gh2Bv0WbAIELIDAQorWCHYG/RZsAAQsAzQsCIQsA3QsCIQsB3QsB0vss8dAV22Hx0vHT8dA12yAB0BXbIgAgorWCHYG/RZsA/QsB0QsBLQsBIvsBUQshoBCitYIdgb9FkwMQEhBhcWNxcGJyYmNwc3MzcjNzM2JBcWFwcmJyIGByUHIQchAxH+lQTCRYMMc2i+6QScGo0RjhqJQQEVx16FJVprZ48wAXka/okQAXgBhMsEAx3BHgIC3LUBklyTydQCAh7BHgJocwGTXAAEAAoAAAe+BKMAAwARAB8AKQCqsiAqKxESObAgELAB0LAgELAN0LAgELAT0ACwAEVYsCUvG7ElHT5ZsABFWLAoLxuxKB0+WbAARViwBC8bsQQdPlmwAEVYsCAvG7EgDz5ZsABFWLAjLxuxIw8+WbAEELAL0LALL7AD0LADL7YAAxADIAMDXbIAAgorWCHYG/RZsAsQshUCCitYIdgb9FmwBBCyHAIKK1gh2Bv0WbIiJSAREjmyJyUgERI5MDElITchAxYWBwcGBicmJjc3NjYDBhYXFjY3NzYmJyYGBwEjAQMjEzMBEzMHCv3UGwIrm4+mCgYO0JmQpgoFDNU7B0ZHS2sOCgdGRkxsDv4f5P6JjO3K5QF3jOzIlQNCBLuRQpzCBAS+jUCdxP5dWWACBGhZTllgAgJkWvyxAyX82wSN/NoDJgAC/9kAAASyBI0AFgAfAJOyACAhERI5sB/QALAARViwDC8bsQwdPlmwAEVYsAIvG7ECDz5ZsgYCDBESObAGL7QfBi8GAnGyBQcKK1gh2Bv0WbAB0LAGELAK0LAKL7QfCi8KAnG2DwofCi8KA122jwqfCq8KA12yCQcKK1gh2Bv0WbAU0LAGELAV0LAKELAX0LAXL7AMELIfAQorWCHYG/RZMDElIQcjNyM3MzcjNzMTBRYWBwYEIycHIQMXNjY3NiYnJwKT/v0b7RvKIMkOyyHJYwHOudkLCv7w0v4OAQTX5GKLDQxXVP2ZmZm2TbcCOgEFzJ+r1gFNAQQBAmpZT18EAQACABD/6AQjBgAAEgAfAGSyBCAhERI5sAQQsBzQALAJL7AARViwDS8bsQ0bPlmwAEVYsAcvG7EHDz5ZsABFWLAELxuxBA8+WbIGDQcREjmyCw0HERI5sA0QshYBCitYIdgb9FmwBBCyGwEKK1gh2Bv0WTAxAQYCBicmJwcjATMDNhcWFhcWBycnJicmBwMWFxY2NzYEGhOS1n+3XS3PAQrubHmmobsJAwbqBByejWVRM4t8qRgIAhig/vODAwSMewYA/dGBBATfv0E+cye8BQSJ/jWDBAPCqFQAAAEAN//oBAMEVAAbAEuyABwdERI5ALAARViwDy8bsQ8bPlmwAEVYsAgvG7EIDz5ZsgABCitYIdgb9FmyBA8IERI5shMIDxESObAPELIWAQorWCHYG/RZMDElFjY3Nw4CJyYCNzcSABcWFhUjJiYnJgYHBhYB8VeDFt8OhtRw094YAh0BNt+w0N0CXlKKrAgGYq0CZ1MBbK9jAwUBMOgUAQEBNwYE4rNicQQG8uKCjQAAAgA7/+cEmwYAABIAHwBhsgQgIRESObAEELAZ0ACwBy+wAEVYsAQvG7EEGz5ZsABFWLAJLxuxCQ8+WbAARViwDS8bsQ0PPlmyBgQJERI5sgsECRESObIYAQorWCHYG/RZsAQQsh0BCitYIdgb9FkwMRM2EjYXFhcTMwEjNwYnJiYnJjczBhcWFhcWNxMmJyYGRBOW1oGjX2jt/vbMDH+um74MBAbuBgQFYleFZ1Q1g32sAh+jAQyEAwR2Aiv6AHWOBATluz88NTtnfgQEhQHaeAQDwv//AKQAAAMtBbUABgAVtQAAAgA0/+gEPwRRABMAIwBDshgkJRESObAYELAE0ACwAEVYsAUvG7EFGz5ZsABFWLAOLxuxDg8+WbIXAQorWCHYG/RZsAUQsh8BCitYIdgb9FkwMRM2Ejc2Fx4CBwcGAgYnJiYnJjcXFhYXFjY3NicmJicmBgcGRRa7kmV5jMxhEAIUoPuTjc4vLQ/rB2lae7McBgQJall+shcIAiCwARNBLQMCkPyWFp7+/40EApJ/e5F2aXwDBcS9OD5rfwMDy6VRAAAC/8f+YAQhBFIAEgAeAGCyBB8gERI5sAQQsB3QALAARViwDS8bsQ0bPlmwAEVYsAovG7EKGz5ZsABFWLAHLxuxBxE+WbAARViwBC8bsQQPPlmwDRCyFwEKK1gh2Bv0WbAEELIcAQorWCHYG/RZMDEBBgIGJyYnAyMBNwc2FxYWFxYHJzc0JicmBwMWFxY2BBgTkdZ/qGFh7gEE0g58r569CQMG7QRmX4RjVzKHerECGJ7+84UDBHP9/gXaAXKJBALkvUA+AUt+jQQEfP4VdAQDxgACADv+YARLBFEAEgAeAGuyDB8gERI5sAwQsBjQALAARViwBy8bsQcbPlmwAEVYsAQvG7EEGz5ZsABFWLAJLxuxCRE+WbAARViwDS8bsQ0PPlmyBgcNERI5sgsHDRESObIXAQorWCHYG/RZsAQQshwBCitYIdgb9FkwMRM2EjYXFhc3MwEjEwYnJiYnJjcXBxQWFxY3EyYnJgZEEpLZha9cKtD+/O1jeZ2cwAwEBu4EZF6DZFk3f32xAh+eAQ6GAwR/b/omAf11BALhvz89AUp7lAIEeQH3bwMDxwAAAgA7/+sECARUABUAHgCAsgAfIBESObAW0ACwAEVYsAgvG7EIGz5ZsABFWLAALxuxAA8+WbIZCAAREjmwGS+0vxnPGQJdtF8ZbxkCcbQfGS8ZAnGyjxkBXbTvGf8ZAnGyDAcKK1gh2Bv0WbAAELIQAQorWCHYG/RZshIACBESObAIELIWAQorWCHYG/RZMDEFLgI3NzYAFxYSBwchBhYXFjcXBgYDJgMFNzYnJiYCDZDYag4CGQE518fNGxP9WAqGfYmSLT69EcBiAcIGCAUIWBMBiPSXFP4BQQYE/urign+fAgRRqDM3A6EG/vABHS8rQk8AAAIAMP5QBDoEUQAbACkAfLIEKisREjmwBBCwJtAAsABFWLAHLxuxBxs+WbAARViwBC8bsQQbPlmwAEVYsAwvG7EMET5ZsABFWLAWLxuxFg8+WbIGBxYREjmwDBCyEQEKK1gh2Bv0WbIUBxYREjmwFhCyIQEKK1gh2Bv0WbAEELImAQorWCHYG/RZMDETNhI2FxYXNzMDBgAnJic3FhcWEzcGJyYmJyY3MwYXFBYXFjcTJicmBgdGFIbOgrVcK86tIv7Y4aCSQmx7+EwRfp+asAcDBu0GAVhWi2JSMIh5nxYCH6UBBocCBIRz/Azt/vcEBEyxPwIHARBFegQE4ME+OzM7aH8EBIkB1HoEA8GrAAEAb//nBUYFyAAdAE6yDB4fERI5ALAARViwDS8bsQ0fPlmwAEVYsAMvG7EDDz5ZsgANAxESObIRAw0REjmwDRCyEwEKK1gh2Bv0WbADELIaAQorWCHYG/RZMDEBBgAnLgInJjc2EiQXFgAXIwInJgADBwYWFxY2NwTeI/6x9ZLehQsIGSPTASit3wEKCvUN/cj/ABICA5OIi7kmAdzj/u4EA4T7nnOSzQFHpAME/vTnASQHBv6X/uYvvdgEBpyPAAEAcf/oBUoFyAAkAFyyFSUmERI5ALAARViwDi8bsQ4fPlmwAEVYsAMvG7EDDz5ZshEOAxESObAOELIUAQorWCHYG/RZsAMQsh4BCitYIdgb9FmyIw4DERI5sCMvsiIBCitYIdgb9FkwMSUGBCcuAicmNzc2EiQXFgQXJwInJgYGBwYXFBYWFxY3EyE3IQTAS/7atpjsjg4ICwQbzwE1tt4BBRLwF/V0w4kXDAFIjmC6cDX+5SICELxjcQMDhPqeVl4n0wFbtQME9N0BAQAIA3/7m149dbtlAQVYARvAAAIALgAABR0FsAALABYAQ7IPFxgREjmwDxCwCtAAsABFWLACLxuxAh8+WbAARViwAC8bsQAPPlmyDgEKK1gh2Bv0WbACELIWAQorWCHYG/RZMDEzEwUyBBIHBwYCBAcTAxcyADc2JyYmJy78AZi9ARuDFQUZ1/6mxgq2mtMBKSocDxSxkQWwAbf+vcYsxv69uAIE5PvmAQEB2JB3k6MEAAACAHL/6AVyBcgAEwAnAEayCigpERI5sAoQsBvQALAARViwCy8bsQsfPlmwAEVYsAAvG7EADz5ZsAsQshoBCitYIdgb9FmwABCyJAEKK1gh2Bv0WTAxBS4CJyY3NzYSJBceAhcWAgIEATY3NCYmJyYABwcGFRQWFhcWADcCf4/hiA0ICgwi1QEzrZDgiA0OZNb+5gFOBgFBg1y1/vUiAgZCg1ywAQInFQOH/qBWV1LCAUetAwOG/J6u/pn+6o8DDjQ6br1kAwX+y/YPNDpwwGcDBwEh5QAAAgBy/wMFbAXIABkAKwBGsiEsLRESObAhELAD0ACwAEVYsBAvG7EQHz5ZsABFWLAFLxuxBQ8+WbAQELIgAQorWCHYG/RZsAUQsicBCitYIdgb9FkwMSUXBycGIy4CJyY3NzYSJBcWFhIXFgcHBgIDNjc0JiYnJgYCFRQWFxY2EjcD2Mau9UY4kt2IDQcKCSDVATSxk+GHDAYKCB/ICAcBP4NeiduGl4pzxo4WU8aK9AsDhv+hV1c+xgFQsQMDiP8AnVhXN8r+xQI/NTpyvGUDBK7+wri83QQFfQECmgAAAQCrAAADNQSMAAYAMgCwAEVYsAUvG7EFHT5ZsABFWLAALxuxAA8+WbIEAAUREjmwBC+yAwEKK1gh2Bv0WTAxISMTBTclMwJx7Zf+kCYCQCQDZHrXywABAB8AAAQKBKAAGQBVsgoaGxESOQCwAEVYsBEvG7ERHT5ZsABFWLAALxuxAA8+WbIDEQAREjmwERCyCQEKK1gh2Bv0WbINEQAREjmyFwARERI5sAAQshkBCitYIdgb9FkwMSEhNwE3Njc2JicmBgcHPgIXFhYHBgcHAQUDpfx6HgIbPW0OCVNOZIoQ6wmI4oK20AoMt03+pwIwqQGkM19lRlQCAnpiAne9aAEFspWnnUD+9QIAAAEACgAABBUFxAAHADKyAwgJERI5ALAARViwBi8bsQYdPlmwAEVYsAUvG7EFDz5ZsAYQsgIBCitYIdgb9FkwMQEzAyEDIxMhAyfuWf3jqO3KAh0FxP4F/DcEjQAAAf9//qAEFQSNABgAWbIFGRoREjkAsAwvsABFWLACLxuxAh0+WbIAAQorWCHYG/RZsgQAAhESObIFDAIREjmwBS+wDBCyEQEKK1gh2Bv0WbAFELIWAworWCHYG/RZshgWBRESOTAxASE3IQcBFhYHBgYEJyYnNxYXFjY3EiUnNwLA/dQjA14b/mSTpw0OrP7cqrLSSo+joekTI/7hZRIDycSa/oYe9KGi+YsDA2a0WQICwJcBChQChgAAAv/R/sQEIwSMAAoADgBSALAARViwCS8bsQkdPlmwAEVYsAIvG7ECDz5ZsABFWLAGLxuxBg8+WbIAAQorWCHYG/RZsAYQsAXQsAUvsggGABESObAAELAM0LINCQIREjkwMSUzByMDIxMhNwEzASETBwNysSKwN+03/W0VAzn8/NcBlHcewsP+xQE7oAPt/DYCgywA//8AigKIAv8FvQMHA9AAcwKYABMAsABFWLAHLxuxBx8+WbAR0DAxAP//AGQCmALtBa4DBwPMAHMCmAATALAARViwCS8bsQkfPlmwDdAwMQD//wB9AooDBAWtAwcDywBzApgAEACwAEVYsAEvG7EBHz5ZMDH//wCJAooC5gW8AwcDygBzApgAEwCwAEVYsBQvG7EUHz5ZsBXQMDEA//8AlgKYAy4FrQMHA8kAcwKYABAAsABFWLAFLxuxBR8+WTAx//8AewKKAvMFuwMHA8gAcwKYABkAsABFWLASLxuxEh8+WbAY0LASELAk0DAxAP//AKYCjQL1BbsDBwPHAHMCmAATALAARViwCC8bsQgfPlmwHNAwMQAAAf/U/p0ETgSMABwAXbIHHR4REjkAsA8vsABFWLABLxuxAR0+WbIDAQorWCHYG/RZsgcBDxESObAHL7IaAQorWCHYG/RZsgUaBxESObAPELIUAQorWCHYG/RZshIUGhESObIcGhQREjkwMRMTIQchAzYXMhYWBwYGBCcmJzcWFxY2NzYmJyYHWeEDFCX9r3FjgHqvUA0Pnv73pM+5WneykcwTDmhplEgBdgMW0v6oNgJ634mX840CBHWvZAICvpZ/nwMEcgAAAQAn/sQEVASMAAYAJQCwAS+wAEVYsAUvG7EFHT5ZsgMBCitYIdgb9FmyAAMFERI5MDEBASMBITchBDr85vkDDP1NIwOxA/n6ywUFwwAAAgA6//IGoQSfABgAJACRsgElJhESObABELAb0ACwAEVYsAwvG7EMHT5ZsABFWLAPLxuxDx0+WbAARViwAi8bsQIPPlmwAEVYsAAvG7EADz5ZsA8QshEBCitYIdgb9FmyFAAPERI5sBQvshUBCitYIdgb9FmwABCyGAEKK1gh2Bv0WbACELIZAQorWCHYG/RZsAwQshwBCitYIdgb9FkwMSEhBSMmJgI3NzYSNhcyFjMhByEDIQchAyEFNxMnJgYHBhcWFhcF2f17/vJOkdBdEQYXov+dWcRdAoEj/cowAegj/ho2Ajv8a2WWxIK2IRYFBWpdDgKUAQOdNqkBCJABEcT+8sP+ygwEAxYMArSpcGNwhAQAAgBH/rAERgSjABkAKABRsiMpKhESObAjELAE0ACwFS+wAEVYsAwvG7EMHT5ZsBUQsgABCitYIdgb9FmyBRUMERI5sAUvshoBCitYIdgb9FmwDBCyIgEKK1gh2Bv0WTAxBRY2NwYnJgI3PgIXFhYSBwcGAgQnJic3FgEWNzc2JyYmJyYGBhcWFgFQkdpQgpm8zRQOlOiLk8tYEx0kxf7krYyRQXIBIqFxHAcCA2RaW45HCgleiwO50l0EAgEV15P4hgIEkf7+osLx/qarAwI9tC8B6QR7rjg8aHoDA3jWZ1xtAAIATv/mBIoEpQAMAB0ARrISHh8REjmwEhCwANAAsABFWLAGLxuxBh0+WbAARViwAC8bsQAPPlmwBhCyEQEKK1gh2Bv0WbAAELIaAQorWCHYG/RZMDEFJgITEgAXFhIDBwIAEzc0JicmBgcHBhcWFhcWNjcCGOLoGyQBR+/g5xsLMP7EjQVraIq8GQQGAwVsYYq7GRUFAUoBAQEhAUkFBf66/v5H/v7+3AKAU4yVBAXUwiA8QnSLBAXWxwD///8P/kgB3AQ6AgYBZAAA////D/5IAdwEOgIGAWQAAP//ACIAAAHLBDoABgD0AAD///99/lsBywQ6ACYA9AAAAAYBbdUK//8AIgAAAcsEOgAGAPQAAAABAAr/5gPoBKEAIABpsgchIhESOQCwAEVYsBQvG7EUHT5ZsABFWLAeLxuxHg8+WbAARViwDy8bsQ8PPlmwHhCyAgEKK1gh2Bv0WbIJHhQREjmwCS+yBwcKK1gh2Bv0WbAUELIMBworWCHYG/RZshgJBxESOTAxJRYzMjY3NicnNzcmJyYHAyMTNjYXFhYXARYWBwYGJyYnAZBFRU9vCxPSYB/uNU+xKn/pfh7ywXK/Xv7Ygo4GCvCubnfbM25TlAIBrvo2AgP3/RQC7NbfBARnav7TFqF3r9gCAjb///+XAAAEGgSNAiYD6QAAAQcD1f8E/24AOwCyHxoBcbJvGgFxsv8aAXGyDxoBcrKfGgFysl8aAXK2vxrPGt8aA3GyPxoBcbLfGgFdtB8aLxoCXTAxAP///5cAAAQaBI0CJgPpAAABBwPV/wT/bgA7ALIfGgFxsm8aAXGy/xoBcbIPGgFysp8aAXKyXxoBcra/Gs8a3xoDcbI/GgFxst8aAV20HxovGgJdMDEA//8AYgAABFoEjQImA9kAAAEGA9UlvgAIALIACwFdMDH///+bAAAEBQYeAiYD7AAAAQcARADSAB4AEwCwAEVYsAQvG7EEHT5ZsAzcMDEA////mwAABD8GHgImA+wAAAEHAHcBbQAeABMAsABFWLAFLxuxBR0+WbAN3DAxAP///5sAAAQIBh8CJgPsAAABBgFnaR4AEwCwAEVYsAQvG7EEHT5ZsA/cMDEA////mwAABEAGEwImA+wAAAEGAW53HwAJALAEL7AV3DAxAP///5sAAAQiBesCJgPsAAABBwBrAJ8AHgAMALAEL7Ac3LAL0DAx////mwAABAUGfQImA+wAAAEHAWwBAwBSAAwAsAQvsBTcsBfQMDH///+bAAAEUQaZAiYD7AAAAAcDxQD7AAT//wA5/j0ESQSjAiYD6gAAAAcAewFgAAD//wAKAAAD+QYeAiYD6AAAAQcARACiAB4AEwCwAEVYsAYvG7EGHT5ZsA3cMDEA//8ACgAABA8GHgImA+gAAAEHAHcBPQAeABMAsABFWLAHLxuxBx0+WbAO3DAxAP//AAoAAAP5Bh8CJgPoAAABBgFnOR4AEwCwAEVYsAYvG7EGHT5ZsBDcMDEA//8ACgAAA/kF6wImA+gAAAEGAGtvHgAMALAGL7Ad3LAM0DAx//8AGAAAAeAGHgImA+QAAAEGAESKHgATALAARViwAi8bsQIdPlmwBdwwMQD//wAYAAAC9gYeAiYD5AAAAQYAdyQeABMAsABFWLADLxuxAx0+WbAG3DAxAP//ABgAAALABh8CJgPkAAABBwFn/yEAHgATALAARViwAi8bsQIdPlmwCNwwMQD//wAYAAAC2gXrAiYD5AAAAQcAa/9XAB4ADACwAi+wFdywBNAwMf//AAoAAASoBhMCJgPfAAABBwFuAJUAHwAJALAFL7AU3DAxAP//ADr/6gRjBh4CJgPeAAABBwBEAN8AHgATALAARViwCS8bsQkdPlmwItwwMQD//wA6/+oEYwYeAiYD3gAAAQcAdwF6AB4ACQCwCS+wI9wwMQD//wA6/+oEYwYfAiYD3gAAAQYBZ3YeAAkAsAkvsCLcMDEA//8AOv/qBGMGEwImA94AAAEHAW4AhAAfAAkAsAkvsCvcMDEA//8AOv/qBGMF6wImA94AAAEHAGsArAAeAAwAsAkvsDLcsCHQMDH//wA5/+sEagYeAiYD2AAAAQcARADAAB4AEwCwAEVYsAkvG7EJHT5ZsBPcMDEA//8AdP/nBE4FyQAGABQUAP//AI7/+QQvBcgABgAdAAD//wBa/+cEcwWwAgYAGQAA//8ACQAABCoFsAIGABgAAP//ACb/6AQ5BcUCBgAXAAD//wALAAAEPwXHAgYAFgAA//8AOf/rBGoGHgImA9gAAAEHAHcBWwAeAAkAsAAvsBTcMDEA//8AOf/rBGoGHwImA9gAAAEGAWdXHgAJALAAL7AT3DAxAP//ADn/6wRqBesCJgPYAAABBwBrAI0AHgAMALAAL7Aj3LAS0DAx//8AbQAABIAGHgImA/cAAAEHAHcBNQAeABMAsABFWLABLxuxAR0+WbAL3DAxAP///5sAAAQ8BdICJgPsAAABBgBycSIAEwCwAEVYsAQvG7EEHT5ZsAzcMDEA////mwAABBMGBQImA+wAAAEHAWoApwAeAAkAsAQvsA7cMDEAAAL/m/5RBAUEjQAXABoAhLIVGxwREjmwFRCwGtAAsABFWLAVLxuxFR0+WbAARViwCy8bsQsRPlmwAEVYsAAvG7EADz5ZsABFWLATLxuxEw8+WbAARViwAS8bsQEPPlmwCxCyBgMKK1gh2Bv0WbABELAQ0LAQL7IZFQAREjmwGS+yEQcKK1gh2Bv0WbIaFQAREjkwMSEXBwYHBhcWNxcGJyImNzY3JyEHIwEzEwEhAwPQBS+DBwU4Gz0MRVVXaQIDvCz+Loj5ApPa/f18AUhXAx9WVjkDAReQKwJtVJhr4vkEjftzAbIBuP//ADn/7ARJBh4CJgPqAAABBwB3AWoAHgAJALALL7Af3DAxAP//ADn/7ARJBh8CJgPqAAABBgFnZh4ACQCwCy+wHtwwMQD//wA5/+wESQX/AiYD6gAAAQcBawFHACcACQCwCy+wJdwwMQD//wA5/+wESQYjAiYD6gAAAQYBaH0eAAkAsAsvsCHcMDEA//8ACgAABBoGIwImA+kAAAEGAWj+HgATALAARViwAi8bsQIdPlmwG9wwMQD//wAKAAAEDAXSAiYD6AAAAQYAckEiABMAsABFWLAGLxuxBh0+WbAN3DAxAP//AAoAAAP5BgUCJgPoAAABBgFqdx4ACQCwBi+wD9wwMQD//wAKAAAD+QX/AiYD6AAAAQcBawEaACcACQCwBi+wFNwwMQAAAQAK/lED+QSNABwAgLIVHR4REjkAsABFWLAXLxuxFx0+WbAARViwEC8bsRARPlmwAEVYsAQvG7EEDz5ZsABFWLAVLxuxFQ8+WbIcFwQREjmwHC+yAAEKK1gh2Bv0WbAVELICAQorWCHYG/RZsAPQsBAQsgsDCitYIdgb9FmwFxCyGQEKK1gh2Bv0WTAxASEDIQcjFwcGBwYXFjcXBiciJjc2NyETIQchAyEDNf4aNgI7I2AFL4MHBTgbPQxFVVdpAgOW/hXKAyUj/ckvAegB+P7KwgMfVlY5AwEXkCsCbVSMYASNxP7y//8ACgAABAwGIwImA+gAAAEGAWhQHgATALAARViwBi8bsQYdPlmwEdwwMQD//wA///AEUQYfAiYD5gAAAQYBZ2oeAAkAsAsvsCLcMDEA//8AP//wBFEGBQImA+YAAAEHAWoAqAAeAAkAsAsvsCTcMDEA//8AP//wBFEF/wImA+YAAAEHAWsBSwAnAAkAsAsvsCncMDEA//8AP/35BFEEowImA+YAAAAHA6sBIP6S//8ACgAABKkGHwImA+UAAAEGAWd8HgATALAARViwBy8bsQcdPlmwENwwMQD//wANAAAC+AYTAiYD5AAAAQcBbv8vAB8ACQCwAi+wDtwwMQD//wAYAAAC9AXSAiYD5AAAAQcAcv8pACIAEwCwAEVYsAIvG7ECHT5ZsAXcMDEA//8AGAAAAssGBQImA+QAAAEHAWr/XwAeAAkAsAIvsAfcMDEA////iv5RAc8EjQImA+QAAAAGAW3iAP//ABgAAAICBf8CJgPkAAABBgFrAScACQCwAi+wDNwwMQD////y/+sEkAYfAiYD4wAAAQcBZwDxAB4AEwCwAEVYsAAvG7EAHT5ZsBPcMDEA//8ACv35BJ0EjQImA+IAAAAHA6sAzP6S//8ACgAAAzQGHgImA+EAAAEGAHcbHgATALAARViwBS8bsQUdPlmwCNwwMQD//wAK/fkDNASNAiYD4QAAAAcDqwDK/pL//wAKAAADOwSQAiYD4QAAAQcDqwIlA4oAEACwAEVYsAovG7EKHT5ZMDH//wAKAAADNASNAiYD4QAAAAcBawDu/Ub//wAKAAAEqAYeAiYD3wAAAQcAdwGLAB4AEwCwAEVYsAgvG7EIHT5ZsAzcMDEA//8ACv35BKgEjQImA98AAAAHA6sBLv6S//8ACgAABKgGIwImA98AAAEHAWgAngAeABMAsABFWLAGLxuxBh0+WbAP3DAxAP//ADr/6gRjBdICJgPeAAABBgByfiIACQCwCS+wIdwwMQD//wA6/+oEYwYFAiYD3gAAAQcBagC0AB4ACQCwCS+wJNwwMQD//wA6/+oE5AYdAiYD3gAAAQcBbwD7AB4ADACwCS+wI9ywJdAwMf//AAoAAAQWBh4CJgPbAAABBwB3ASAAHgAJALAEL7AY3DAxAP//AAr9+QQWBI0CJgPbAAAABwOrANL+kv//AAoAAAQWBiMCJgPbAAABBgFoMx4ACQCwBC+wGtwwMQD//wAO/+0EGwYeAiYD2gAAAQcAdwFJAB4ACQCwCS+wKdwwMQD//wAO/+0D/wYfAiYD2gAAAQYBZ0UeAAkAsAkvsCjcMDEA//8ADv49A/8EnwImA9oAAAAHAHsBRQAA//8ADv/tBBgGIwImA9oAAAEGAWhcHgAJALAJL7Ar3DAxAP//AGL9+QRaBI0CJgPZAAAABwOrAN7+kv//AGIAAARaBiMCJgPZAAABBgFoSh4AEwCwAEVYsAYvG7EGHT5ZsA3cMDEA//8AYv5DBFoEjQImA9kAAAAHAHsBMAAG//8AOf/rBGoGEwImA9gAAAEGAW5lHwAJALAAL7Ac3DAxAP//ADn/6wRqBdICJgPYAAABBgByXyIACQCwAC+wEtwwMQD//wA5/+sEagYFAiYD2AAAAQcBagCVAB4ACQCwAC+wFdwwMQD//wA5/+sEagZ9AiYD2AAAAQcBbADxAFIADACwAC+wG9ywHtAwMf//ADn/6wTFBh0CJgPYAAABBwFvANwAHgAMALAAL7AU3LAW0DAxAAEAOv6BBGoEjQAfAGGyBSAhERI5ALAARViwAC8bsQAdPlmwAEVYsBYvG7EWHT5ZsABFWLANLxuxDRc+WbAARViwEi8bsRIPPlmyBBIAERI5sA0QsggDCitYIdgb9FmwEhCyGwEKK1gh2Bv0WTAxAQMGBgcGBwYXFjcXBiciJjc2NyYmNxMzAwYWFxY2NxMEaoIYp4R5CgU4Gz0MRVVXaQICS7LCE4HsggtbZ2uOEoMEjfz1jcMpT1g5AwEXkCsCbVRiTRPdqgMA/P9lcgMEb2kDBwD//wCMAAAGHgYfAiYD1gAAAQcBZwEVAB4AEwCwAEVYsAEvG7EBHT5ZsA/cMDEA//8AbQAABIAGHwImA/cAAAEGAWcxHgATALAARViwCC8bsQgdPlmwDdwwMQD//wBtAAAEgAXrAiYD9wAAAQYAa2ceAAwAsAEvsBrcsAnQMDH////WAAAEJwYeAiYEqQAAAQcAdwE4AB4AEwCwAEVYsAgvG7EIHT5ZsAzcMDEA////1gAABCcF/wImBKkAAAEHAWsBFQAnAAkAsAcvsBLcMDEAAAH/1gAABCcEjQAJAEQAsABFWLAHLxuxBx0+WbAARViwAi8bsQIPPlmyAAEKK1gh2Bv0WbIEAAIREjmwBxCyBQEKK1gh2Bv0WbIJBQcREjkwMSUhByE3ASE3IQcBMAJgI/xpGwLf/a8jA4UawsKYAzHElgD///+bAAAEBQUeAiYD7AAAAAcBd/9I/t3///9tAAAENQUhACYD6DwAAAcBd/4//uD///94AAAE5QUcACYD5TwAAAcBd/5K/tv///97AAACCwUhACYD5DwAAAcBd/5N/uD////S/+oEbQUeACYD3goAAAcBd/6k/t3///8sAAAEvAUeACYD9zwAAAcBd/3+/t3////iAAAEggUeACYD1AoAAAcBd/60/t3///+bAAAEBQSNAgYD7AAA//8ACgAABAAEjQIGA+sAAP//AAoAAAP5BI0CBgPoAAD////WAAAEJwSNAgYEqQAA//8ACgAABKkEjQIGA+UAAP//ABgAAAHPBI0CBgPkAAD//wAKAAAEnQSNAgYD4gAA//8ACgAABcgEjQIGA+AAAP//ADr/6gRjBKECBgPeAAD//wAKAAAENgSNAgYD3QAA//8AYgAABFoEjQIGA9kAAP//AG0AAASABI0CBgP3AAD///+kAAAEgASNAgYD9gAA//8AGAAAAtoF6wImA+QAAAEHAGv/VwAeAAwAsAIvsBXcsATQMDH//wBtAAAEgAXrAiYD9wAAAQYAa2ceAAwAsAEvsBrcsAnQMDH//wAKAAAD+QXrAiYD6AAAAQYAa28eAAwAsAYvsB3csAzQMDH//wAKAAAD/gYeAiYDugAAAQcAdwEsAB4ACQCwBC+wCNwwMQD//wAO/+0D/wSfAgYD2gAA//8AGAAAAc8EjQIGA+QAAP//ABgAAALaBesCJgPkAAABBwBr/1cAHgAMALACL7AV3LAE0DAx////8v/rA7AEjQIGA+MAAP//AAoAAASdBh4CJgPiAAABBwB3ASAAHgAJALAEL7AP3DAxAP//AHL/6ASCBgUCJgQKAAABBwFqAIgAHgAJALAPL7AT3DAxAP///5sAAAQFBI0CBgPsAAD//wAKAAAEAASNAgYD6wAA//8ACgAAA98EjQIGA7oAAP//AAoAAAP5BI0CBgPoAAD//wALAAAErgYFAiYEBwAAAQcBagDGAB4ACQCwAC+wDdwwMQD//wAKAAAFyASNAgYD4AAA//8ACgAABKkEjQIGA+UAAP//ADr/6gRjBKECBgPeAAD//wAKAAAEpASNAgYDxgAA//8ACgAABDYEjQIGA90AAP//ADn/7ARJBKMCBgPqAAD//wBiAAAEWgSNAgYD2QAA////pAAABIAEjQIGA/YAAAABAA3+OQPuBKAAKACwsiIpKhESOQCwGC+wAEVYsAwvG7EMHT5ZsABFWLAXLxuxFw8+WbAMELIGAQorWCHYG/RZsigXDBESObAoL7K/KAFytK8ovygCXbRvKH8oAnGy/ygBcbIPKAFysl8oAXKyzygBcbI/KAFxtB8oLygCXbKPKAFyskooAV2yCSgGERI5siYBCitYIdgb9FmyESYoERI5sBcQsBrQsBcQsiEBCitYIdgb9FmyHiYhERI5MDEBMjY3NiYiBgcHNjYXFhYHBgcWFgcGBgcDIxMmJjczFhYzFjY3NicnNwIEZoAKCmWwag/uDP3Cw94ICulRWgQH2LZN7k+GhgLqAlxWapAMFdyHIAKqU01ETEU+AZiyAgOmjbVlI4ZZjrUU/kQByCOqeUdMA1lPoAEBsAABAAr+mgS9BI0ADwCosgMQERESOQCwAEVYsAwvG7EMHT5ZsABFWLAJLxuxCR0+WbAARViwAS8bsQEXPlmwAEVYsAYvG7EGDz5ZsABFWLADLxuxAw8+WbIKBgkREjmwCi+0rwq/CgJdsj8KAXGyzwoBcbI/CgFysv8KAXGyDwoBcrRvCn8KAnG03wrvCgJdtB8KLwoCXbJfCgFysgUBCitYIdgb9FmwAxCyDgcKK1gh2Bv0WTAxASMTIxMhAyMTMwMhEzMDMwRf7j69Uv4GU+3K7VYB+1btq7/+mgFmAdv+JQSN/hEB7/woAAABADr+QwRPBKMAHgBesgMfIBESOQCwAEVYsA0vG7ENHT5ZsABFWLAELxuxBBE+WbAARViwAy8bsQMPPlmyAAMNERI5sAbQshENAxESObANELIUAQorWCHYG/RZsAMQshwBCitYIdgb9FkwMQEGBgcDIxMmAjc3EgAXFhYXJyYmJyYGBwYXFBYXFjcEAhnorEvuTpuVFwYgAUHpwuIK6wNga4WwGhABZGHjOAGFp9QV/k4BwS8BKMU0AQ4BQQYE3b0BZ3AEBcC0iT9wfwQI2gD//wBtAAAEgASNAgYD9wAA//8AN/46BaUEpwImBCAAAAAHA/0Cv/+g//8ACwAABK4F0gImBAcAAAEHAHIAkAAiAAkAsAAvsArcMDEA//8Acv/oBIIF0gImBAoAAAEGAHJSIgAJALAPL7AQ3DAxAP//AEMAAAU3BI4CBgPSAAD///+k/lQErgWwAiYAJQAAAAcBbQFtAAP//wAi/lgD3ARQAiYARQAAAAcBbQCnAAf//wAn/lsEugWwAiYAKQAAAAcBbQEuAAr//wA7/lEEAgRRAiYASQAAAAcBbQD8AAD////k/psBywQ6AiYA9AAAAAcBdgNEAAoAAAAAAA8AugADAAEECQAAAF4AAAADAAEECQABABoAXgADAAEECQACAAwAeAADAAEECQADACgAhAADAAEECQAEACgAhAADAAEECQAFACwArAADAAEECQAGACYA2AADAAEECQAHAEAA/gADAAEECQAJAAwBPgADAAEECQALABQBSgADAAEECQAMACYBXgADAAEECQANAFwBhAADAAEECQAOAFQB4AADAAEECQAQAAwCNAADAAEECQARABoCQABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADEAIABHAG8AbwBnAGwAZQAgAEkAbgBjAC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AUgBvAGIAbwB0AG8AIABNAGUAZABpAHUAbQBJAHQAYQBsAGkAYwBSAG8AYgBvAHQAbwAgAE0AZQBkAGkAdQBtACAASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADIALgAwADAAMQAxADUAMgA7ACAAMgAwADEANABSAG8AYgBvAHQAbwAtAE0AZQBkAGkAdQBtAEkAdABhAGwAaQBjAFIAbwBiAG8AdABvACAAaQBzACAAYQAgAHQAcgBhAGQAZQBtAGEAcgBrACAAbwBmACAARwBvAG8AZwBsAGUALgBHAG8AbwBnAGwAZQBHAG8AbwBnAGwAZQAuAGMAbwBtAEMAaAByAGkAcwB0AGkAYQBuACAAUgBvAGIAZQByAHQAcwBvAG4ATABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABBAHAAYQBjAGgAZQAgAEwAaQBjAGUAbgBzAGUALAAgAFYAZQByAHMAaQBvAG4AIAAyAC4AMABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBwAGEAYwBoAGUALgBvAHIAZwAvAGwAaQBjAGUAbgBzAGUAcwAvAEwASQBDAEUATgBTAEUALQAyAC4AMABSAG8AYgBvAHQAbwBNAGUAZABpAHUAbQAgAEkAdABhAGwAaQBjAAMAAP/0AAD/agBkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQACAAgAAv//AA8AAQAAAAoAXACsAARERkxUABpjeXJsAChncmVrADZsYXRuAEQABAAAAAD//wACAAAABAAEAAAAAP//AAIAAQAFAAQAAAAA//8AAgACAAYABAAAAAD//wACAAMABwAIY3BzcAAyY3BzcAA4Y3BzcAA+Y3BzcABEa2VybgBKa2VybgBKa2VybgBKa2VybgBKAAAAAQABAAAAAQADAAAAAQACAAAAAQAAAAAAAQAEAAUADAAMAAwADAHeAAEAAAABAAgAAQAKAAUAJABIAAEA3gAIACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBmAGgAgwCEAIUAhgCHAIgAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCcAJ0AngCfAKAAwwDFAMcAyQDLAM0AzwDRANMA1QDXANkA2wDdAN8A4QDjAOUA5wDrAO0A7wDxAPMA9wD5APwA/gEAAQIBBgEIAQoBDwERARMBFQEXARkBGwEdAR8BIQEjASUBJwEpASsBLQEvATEBMwE1ATcBOQE7ATwBPgFAAU4BYgF5AXsBfAF9AX4BfwGAAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gJSAlQCWAJaAlwCXgJiAmQCagJsAnACcgJ0AnYCegJ8An4CgAKaAqICpAKqArADhwOOA5MDlgACAAAAAgAKO9oAAQNsAAQAAAGxBtI6+jr6BvwHUjfeI2I7mDuqOHYHWDiWOJY43jTeDqg4ljiWO6omhAqSCxQ1MDjeNI43uDdKOOQPYgt+OFQ2GjiMC8AM6gz0N643rji4NhoO1g3qOW4OTDeoOW4OZjfeN9433jfeN9433juYOHY4djh2OHY4ljiWOJY4ljuqOJY7qjuqO6o7qjuqON443jjeON445DhUOFQ4VDhUOFQ4VDiMOIw4jDiMN644uDi4OLg4uDi4OW42GjluN944VDfeOFQ33jhUO5g7mDuYO5g7qjuqOHY4jDh2OIw4djiMOHY4jDh2OIw4ljeuOJY4ljiWOJY4ljjeNN4OqA6oDqgOqDiWN644ljeuOJY3rjeuO6o4uDuqOLg7qji4DtYO1g7WNTA1MDUwON443jjeON443jjeN7g45DluOOQPYg9iD2I33jhUNTAO6Dr6N944djiWOJY7qjjkN94jYjZ+N944dg9iOJY7qjiWNN433jiWOJYPhDuqJoQQfjUwOOQRfDdKElo4ljjkN64S+DluEv43rhW8OW4Xlji4GKgYwhjIGM4ayBrOGwQbNji4OHY4dhu0Nn44ljiWON4dKh7cIJo03jY0OJY33iHQI2I2fiNsOHY3SiW6OJY03jiWOJY4ljuqJoQ7mDUwNjQ3SjiWOJYmpihAND4pHingKm44VCrMK6Y3QCwwOIw3qCz6LSQ4uDYaLoo5bjYaN6gxEDFOMoA0aDYaMwI4jDiMN0AziDOyNAg5bjQ+NGg33ji4NI45bjSOOW40tDYaNn43QDZ+N0o3qDTeNN403jTeOJY7mDUwOOQ5bjjkN0o3qDeuOJY3SjeoOJY4ljiWN944VDfeOFQ4djiMOIw4jDdKN6g7qji4OLg2GjY0OW42NDluNjQ5bjZ+N0A3QDdKN6g33jhUOJY3rje4N7g3uDfeOFQ33jhUN944VDfeOFQ33jhUN944VDfeOFQ33jhUN944VDfeOFQ33jhUN944VDh2OIw4djiMOHY4jDh2OIw4djiMOHY4jDh2OIw4djiMOJY4ljuqOLg7qji4O6o4uDuqOLg7qji4O6o4uDuqOLg4uDjeON445DluOOQ5bjjkOW445DluO6o6+jmIOvo6+jr6Ovo6+jsAOwo7HDsuO0A7XjtoO3I7mDuqO6oAAQGxAAQABgALAAwAEwAlACYAJwAoACkAKgAsAC0ALgAvADAAMQAyADMANAA1ADYAOAA5ADoAOwA8AD0APgA/AEUARgBJAEoATABPAFEAUgBTAFQAVgBYAFoAWwBcAF0AXwCDAIQAhQCGAIcAiACKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJwAnQCeAJ8AoACjAKQApQCmAKcAqACrAKwArQCuALQAtQC2ALcAuAC5AMAAwQDCAMMAxADFAMYAxwDIAMkAywDNAM8A0QDTANUA1gDXANgA2QDaANsA3ADdAN4A5wDoAOsA7QDvAPEA8wD3APkA/AD+AQABAgEGAQcBCAEJAQoBCwEMAQ8BEAERARIBEwEUARgBGgEcASUBJwEpASsBLQEvATEBMwE1ATcBOQE6ATsBPAE+AUABTgFPAWIBZQFmAXkBewF8AX0BfgF/AYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZIBkwGUAZUBlgGXAZgBmgGbAZ4BoQGjAaYBpwGpAa0BrgGvAbEBsgGzAbQBtQG2AbgBuQG8AcMBxAHFAcYByQHKAcsBzAHNAc4BzwHRAdIB0wHUAdUB1gHXAdgB2QHaAdsB3QHeAd8B4AHhAeMB5AHlAeYB6AHpAesB7AHtAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6Af0CAQIDAgUCBgIHAggCCQIMAg0CDwIQAhECEwIUAhYCFwIcAh0CIQIlAiYCKQI2AjcCOAI5AjoCRAJRAlICUwJUAlgCWQJcAl4CYAJiAmQCbAJuAnACcQJyAnQCdQJ9AoICgwKEAosCjwKRApICkwKUApUCmAKZApsCnQKeAp8CqAKpAq0CrwKwArECsgKzArQCtQK4ArkCvQK+Ar8C1gLXAuYC5wL4AvoC/AMCAwMDBAMFAwYDBwMIAwkDCgMLAwwDDQMOAw8DEAMRAxIDEwMUAxUDFgMXAxgDGQMaAxsDHAMdAx4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDLAMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDQwNGA0gDVANVA1YDVwNYA1kDWgNbA1wDcANxA3MDdAN1A34DfwPZA9sD3APeA+ED4gPpA+wEMQQzBDQACgA4/8QBJf/EASf/xAFi/8QBxf/EAc7/xAHl/8QCYv/EAm7/xAJ2/8QAFQA6ABQAOwAmAD0AFgCgABYBNwAmATkAFgE7ABYBfwAWAZUAFgGbABYCNwAUAjkAFAJwABYCcgAWAvgAJgL6ACYC/AAmA1QAFgNWABYDWAAWA1oAFgABABP/CADOABD+7gAS/u4AJf9AAC7/MAA4ABQARf/eAEf/6wBI/+sASf/rAEv/6wBT/+sAVf/rAFb/5gBZ/+oAWv/oAF3/6ACD/0AAhP9AAIX/QACG/0AAh/9AAIj/QACj/94ApP/eAKX/3gCm/94Ap//eAKj/3gCq/+sAq//rAKz/6wCt/+sArv/rALX/6wC2/+sAt//rALj/6wC5/+sAvP/qAL3/6gC+/+oAv//qAMD/6ADC/+gAw/9AAMT/3gDF/0AAxv/eAMf/QADI/94Ayv/rAMz/6wDO/+sA0P/rANL/6wDW/+sA2P/rANr/6wDc/+sA3v/rAOD/6wDi/+sA5P/rAOb/6wD3/zABEP/rARL/6wEU/+sBFv/rASUAFAEnABQBLP/qAS7/6gEw/+oBMv/qATT/6gE2/+oBOv/oAUb/6wFI/+oBTv9AAU//3gFiABQBef9AAYL/QAGF/0ABjP9AAZz/6wGg/+oBof/rAaP/6AGt/+gBr//rAbL/6wGz/+sBtf/qAbv/6gG8/+sBvf/qAcUAFAHL/zABzgAUAdP/QAHlABQB8//eAfj/6wIB/+sCBP/rAgb/6AIH/+sCE//rAhT/6wIX/+sCIf/oAin/QAI2/+sCOP/oAjr/6AI8/+sCQP/rAkT/6wJiABQCa//rAm3/6wJuABQCcf/oAnYAFAKS/0ACk//eApT/QAKV/94Cmf/rApv/6wKd/+sCqf/rAqv/6wKt/+sCsf/oArP/6AK1/+gCw//rAsT/6wLF/+sCz//rAtb/QALX/94DAv9AAwP/3gME/0ADBf/eAwb/QAMH/94DCP9AAwn/3gMK/0ADC//eAwz/QAMN/94DDv9AAw//3gMQ/0ADEf/eAxL/QAMT/94DFP9AAxX/3gMW/0ADF//eAxj/QAMZ/94DG//rAx3/6wMf/+sDIf/rAyP/6wMl/+sDJ//rAyn/6wMv/+sDMf/rAzP/6wM1/+sDN//rAzn/6wM7/+sDPf/rAz//6wNB/+sDQ//rA0X/6wNH/+oDSf/qA0v/6gNN/+oDT//qA1H/6gNT/+oDVf/oA1f/6ANZ/+gDW//oA3L+7gN2/u4Dev7uA3v+7gPs/8AAIAA4/98AOv/kADv/7AA9/90AoP/dASX/3wEn/98BN//sATn/3QE7/90BYv/fAX//3QGV/90Bm//dAcX/3wHO/98B5f/fAjf/5AI5/+QCYv/fAm7/3wJw/90Ccv/dAnb/3wL4/+wC+v/sAvz/7ANU/90DVv/dA1j/3QNa/90D7AAOABoAOP/OADr/7QA9/9AAoP/QASX/zgEn/84BOf/QATv/0AFi/84Bf//QAZX/0AGb/9ABxf/OAc7/zgHl/84CN//tAjn/7QJi/84Cbv/OAnD/0AJy/9ACdv/OA1T/0ANW/9ADWP/QA1r/0AAQAC7/7gA5/+4AnP/uAJ3/7gCe/+4An//uAPf/7gEr/+4BLf/uAS//7gEx/+4BM//uATX/7gHL/+4DRv/uA0j/7gBKAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCq/+gAq//oAKz/6ACt/+gArv/oAMr/6ADM/+gAzv/oAND/6ADS/+gA1v/oANj/6ADa/+gA3P/oAN7/6ADg/+gA4v/oAOT/6ADm/+gBFv/oAUb/6AFmABABnP/oAaH/6AGy/+gBs//oAfj/6AIE/+gCB//oAhP/6AIU/+gCF//oAjz/6AJA/+gCRP/oAmv/6AJt/+gCmf/oApv/6AKd/+gCq//oAsP/6ALE/+gCxf/oAs//6AMb/+gDHf/oAx//6AMh/+gDI//oAyX/6AMn/+gDKf/oAz3/6AM//+gDQf/oA0X/6ANwABADcQAQA3MAEAN0ABADdQAQA34AEAN/ABAAAgIF/9YDcf+YAD0AR//sAEj/7ABJ/+wAS//sAFX/7ACq/+wAq//sAKz/7ACt/+wArv/sAMr/7ADM/+wAzv/sAND/7ADS/+wA1v/sANj/7ADa/+wA3P/sAN7/7ADg/+wA4v/sAOT/7ADm/+wBFv/sAUb/7AGc/+wBof/sAbL/7AGz/+wB+P/sAgT/7AIH/+wCE//sAhT/7AIX/+wCPP/sAkD/7AJE/+wCa//sAm3/7AKZ/+wCm//sAp3/7AKr/+wCw//sAsT/7ALF/+wCz//sAxv/7AMd/+wDH//sAyH/7AMj/+wDJf/sAyf/7AMp/+wDPf/sAz//7ANB/+wDRf/sABgAU//iALX/4gC2/+IAt//iALj/4gC5/+IBEP/iARL/4gEU/+IBr//iAbz/4gIB/+ICNv/iAqn/4gKt/+IDL//iAzH/4gMz/+IDNf/iAzf/4gM5/+IDO//iA0P/4gNxABgABgAQ/4QAEv+EA3L/hAN2/4QDev+EA3v/hAAQAC7/7AA5/+wAnP/sAJ3/7ACe/+wAn//sAPf/7AEr/+wBLf/sAS//7AEx/+wBM//sATX/7AHL/+wDRv/sA0j/7AALAFv/zAPW/9cD1/+4A9j/7gPZ/70D3P/yA97/8gPm//ED6v/zA+wAEwP3/7cABABKABQAWAAyAFsAEQNxABAAHgAG//IAC//yAFr/8wBd//MAwP/zAML/8wE6//MBZv/yAaP/8wGt//MCBf/1Agb/8wIh//MCOP/zAjr/8wJx//MCsf/zArP/8wK1//MDVf/zA1f/8wNZ//MDW//zA3D/8gNx//IDc//yA3T/8gN1//IDfv/yA3//8gAIAFv/5QGW/8sBuP/kA9z/7APe/+wD5v/rA+r/7QPsAA0APgAn//MAK//zADP/8wA1//MAiv/zAJX/8wCW//MAl//zAJj/8wCZ//MAm//zAMn/8wDL//MAzf/zAM//8wDf//MA4f/zAOP/8wDl//MBD//zARH/8wET//MBFf/zAUX/8wFS//MBfv/zAYn/8wGQ//MBqwANAcf/8wHh//MB5P/zAiP/8wI1//MCO//zAj3/8wI///MCQf/zAkP/8wJq//MCbP/zAqj/8wKq//MCrP/zAs7/8wMu//MDMP/zAzL/8wM0//MDNv/zAzj/8wM6//MDPP/zAz7/8wNA//MDQv/zA0T/8wNc//MEMf/zBDL/8wQ0//MENf/zAD8AJ//mACv/5gAz/+YANf/mAIr/5gCV/+YAlv/mAJf/5gCY/+YAmf/mAJv/5gDJ/+YAy//mAM3/5gDP/+YA3//mAOH/5gDj/+YA5f/mAQ//5gER/+YBE//mARX/5gFF/+YBUv/mAX7/5gGJ/+YBkP/mAZb/wgGrABABx//mAeH/5gHk/+YCI//mAjX/5gI7/+YCPf/mAj//5gJB/+YCQ//mAmr/5gJs/+YCqP/mAqr/5gKs/+YCzv/mAy7/5gMw/+YDMv/mAzT/5gM2/+YDOP/mAzr/5gM8/+YDPv/mA0D/5gNC/+YDRP/mA1z/5gQx/+YEMv/mBDT/5gQ1/+YANwAl/+QAPP/SAD3/0wCD/+QAhP/kAIX/5ACG/+QAh//kAIj/5ACg/9MAw//kAMX/5ADH/+QBOf/TATv/0wFO/+QBef/kAX//0wGC/+QBhf/kAYz/5AGV/9MBl//SAZv/0wGr/+IB0//kAdn/0gHo/9ICKf/kAlj/0gJw/9MCcv/TAnT/0gKD/9ICkv/kApT/5AKe/9ICvv/SAtb/5AMC/+QDBP/kAwb/5AMI/+QDCv/kAwz/5AMO/+QDEP/kAxL/5AMU/+QDFv/kAxj/5ANU/9MDVv/TA1j/0wNa/9MAJwAQ/0YAEv9GACX/zQCD/80AhP/NAIX/zQCG/80Ah//NAIj/zQDD/80Axf/NAMf/zQFO/80Bef/NAYL/zQGF/80BjP/NAbH/8gHT/80CKf/NApL/zQKU/80C1v/NAwL/zQME/80DBv/NAwj/zQMK/80DDP/NAw7/zQMQ/80DEv/NAxT/zQMW/80DGP/NA3L/RgN2/0YDev9GA3v/RgABAasADgCvAEf/3ABI/9wASf/cAEv/3ABR/8EAUv/BAFP/1gBU/8EAVf/cAFn/3QBa/+EAXf/hAKr/3ACr/9wArP/cAK3/3ACu/9wAtP/BALX/1gC2/9YAt//WALj/1gC5/9YAvP/dAL3/3QC+/90Av//dAMD/4QDC/+EAyv/cAMz/3ADO/9wA0P/cANL/3ADW/9wA2P/cANr/3ADc/9wA3v/cAOD/3ADi/9wA5P/cAOb/3AEH/8EBCf/BAQv/wQEM/8EBEP/WARL/1gEU/9YBFv/cASz/3QEu/90BMP/dATL/3QE0/90BNv/dATr/4QFG/9wBSP/dAZz/3AGe/8EBoP/dAaH/3AGj/+EBpf/mAaf/wQGo/+sBqf/pAa3/4QGu//ABr//WAbD/5wGy/9wBs//cAbT/4wG1/90Btv/OAbj/1AG5/9sBu//dAbz/1gG9/90B9v/BAfj/3AH7/8EB/P/BAf3/wQH//8ECAP/BAgH/1gIC/8ECA//BAgT/3AIG/+ECB//cAgn/wQIL/8ECDP/BAg//wQIR/8ECE//cAhT/3AIW/8ECF//cAh3/wQIf/8ECIP/BAiH/4QI2/9YCOP/hAjr/4QI8/9wCQP/cAkT/3AJN/8ECXf/BAmX/wQJn/8ECa//cAm3/3AJx/+ECiv/BAoz/wQKQ/8ECmf/cApv/3AKd/9wCpf/BAqf/wQKp/9YCq//cAq3/1gKx/+ECs//hArX/4QK5/8ECu//BAr3/wQLD/9wCxP/cAsX/3ALP/9wC5//BAxv/3AMd/9wDH//cAyH/3AMj/9wDJf/cAyf/3AMp/9wDL//WAzH/1gMz/9YDNf/WAzf/1gM5/9YDO//WAz3/3AM//9wDQf/cA0P/1gNF/9wDR//dA0n/3QNL/90DTf/dA0//3QNR/90DU//dA1X/4QNX/+EDWf/hA1v/4QB2AAb/2gAL/9oAR//wAEj/8ABJ//AAS//wAFX/8ABZ/+8AWv/cAF3/3ACq//AAq//wAKz/8ACt//AArv/wALz/7wC9/+8Avv/vAL//7wDA/9wAwv/cAMr/8ADM//AAzv/wAND/8ADS//AA1v/wANj/8ADa//AA3P/wAN7/8ADg//AA4v/wAOT/8ADm//ABFv/wASz/7wEu/+8BMP/vATL/7wE0/+8BNv/vATr/3AFG//ABSP/vAWb/2gGc//ABoP/vAaH/8AGj/9wBqP/sAasADwGt/9wBsP/qAbL/8AGz//ABtP/OAbX/7wG2/+cBu//vAb3/7wH4//ACBP/wAgb/3AIH//ACE//wAhT/8AIX//ACIf/cAjj/3AI6/9wCPP/wAkD/8AJE//ACa//wAm3/8AJx/9wCmf/wApv/8AKd//ACq//wArH/3AKz/9wCtf/cAsP/8ALE//ACxf/wAs//8AMb//ADHf/wAx//8AMh//ADI//wAyX/8AMn//ADKf/wAz3/8AM///ADQf/wA0X/8ANH/+8DSf/vA0v/7wNN/+8DT//vA1H/7wNT/+8DVf/cA1f/3ANZ/9wDW//cA3D/2gNx/9oDc//aA3T/2gN1/9oDfv/aA3//2gBEABAADAASAAwAR//nAEj/5wBJ/+cAS//nAFX/5wCq/+cAq//nAKz/5wCt/+cArv/nAMr/5wDM/+cAzv/nAND/5wDS/+cA1v/nANj/5wDa/+cA3P/nAN7/5wDg/+cA4v/nAOT/5wDm/+cBFv/nAUb/5wGc/+cBof/nAasADwGy/+cBs//nAfj/5wIE/+cCB//nAhP/5wIU/+cCF//nAjz/5wJA/+cCRP/nAmv/5wJt/+cCmf/nApv/5wKd/+cCq//nAsP/5wLE/+cCxf/nAs//5wMb/+cDHf/nAx//5wMh/+cDI//nAyX/5wMn/+cDKf/nAz3/5wM//+cDQf/nA0X/5wNyAAwDdgAMA3oADAN7AAwABgG0/+oB9//uAgX/1QIP/+0CY//sAtH/7AABAgX/wAABAbQAIAB+AAYADAALAAwAR//oAEj/6ABJ/+gASgAMAEv/6ABT/+oAVf/oAFoACwBdAAsAqv/oAKv/6ACs/+gArf/oAK7/6AC1/+oAtv/qALf/6gC4/+oAuf/qAMAACwDCAAsAyv/oAMz/6ADO/+gA0P/oANL/6ADW/+gA2P/oANr/6ADc/+gA3v/oAOD/6ADi/+gA5P/oAOb/6AEQ/+oBEv/qART/6gEW/+gBOgALAUb/6AFmAAwBnP/oAaH/6AGjAAsBq/+QAa0ACwGv/+oBsAALAbL/6AGz/+gBtAAMAbz/6gH4/+gCAf/qAgT/6AIGAAsCB//oAhP/6AIU/+gCF//oAiEACwI2/+oCOAALAjoACwI8/+gCQP/oAkT/6AJr/+gCbf/oAnEACwKZ/+gCm//oAp3/6AKp/+oCq//oAq3/6gKxAAsCswALArUACwLD/+gCxP/oAsX/6ALP/+gDG//oAx3/6AMf/+gDIf/oAyP/6AMl/+gDJ//oAyn/6AMv/+oDMf/qAzP/6gM1/+oDN//qAzn/6gM7/+oDPf/oAz//6ANB/+gDQ//qA0X/6ANVAAsDVwALA1kACwNbAAsDcAAMA3EADANzAAwDdAAMA3UADAN+AAwDfwAMA9cADQPZAA4D2v/1A9z/7APe/+0D5v/sA+r/7gPs/78D9wANAAECBf/iAA0AXP/tAF7/7QE9/+0BP//tAUH/7QH5/+0CBf/AAgj/7QJZ/+0Cdf/tAoT/7QKf/+0Cv//tAAwAXP/yAF7/8gE9//IBP//yAUH/8gH5//ICCP/yAln/8gJ1//IChP/yAp//8gK///IAHwBa//QAXP/yAF3/9ABe//MAwP/0AML/9AE6//QBPf/zAT//8wFB//MBo//0Aa3/9AH5//ICBv/0Agj/8gIh//QCOP/0Ajr/9AJZ//ICcf/0AnX/8gKE//ICn//yArH/9AKz//QCtf/0Ar//8gNV//QDV//0A1n/9ANb//QAXQAG/8oAC//KADj/0gA6/9QAPP/0AD3/0wBa/+YAXP/vAF3/5gCg/9MAwP/mAML/5gEl/9IBJ//SATn/0wE6/+YBO//TAWL/0gFm/8oBf//TAZX/0wGX//QBm//TAaP/5gGt/+YBxf/SAc7/0gHR/+0B2f/0AeX/0gHm/+0B6P/0Aer/4QHv/9QB+f/vAgX/yQIG/+YCCP/vAg//0QIh/+YCJP/lAjf/1AI4/+YCOf/UAjr/5gJC/+MCWP/0Aln/7wJi/9ICY//EAm7/0gJw/9MCcf/mAnL/0wJ0//QCdf/vAnb/0gJ4/+ECev/hAoP/9AKE/+8Cjf/hAp7/9AKf/+8CsP/tArH/5gKy/+0Cs//mArT/7QK1/+YCtv/hAr7/9AK//+8Cxv/UAsf/9QLI/+cC0P9kAtH/yQNU/9MDVf/mA1b/0wNX/+YDWP/TA1n/5gNa/9MDW//mA3D/ygNx/8oDc//KA3T/ygN1/8oDfv/KA3//ygBsAAb/wAAL/8AAOP+dADr/xwA8//AAPf+rAFH/0gBS/9IAVP/SAKD/qwC0/9IBB//SAQn/0gEL/9IBDP/SASX/nQEn/50BOf+rATv/qwFi/50BZv/AAX//qwGV/6sBl//wAZv/qwGe/9IBp//SAcX/nQHM//UBzv+dAdH/6gHZ//AB3v/1AeX/nQHm/+oB6P/wAer/5QHv/8EB9v/SAfv/0gH8/9IB/f/SAf//0gIA/9ICAv/SAgP/0gIF/80CCf/SAgv/0gIM/9ICD//SAhH/0gIW/9ICHf/SAh//0gIg/9ICN//HAjn/xwJN/9ICWP/wAl3/0gJi/50CY//MAmX/0gJn/9ICbv+dAnD/qwJy/6sCdP/wAnb/nQJ4/+UCev/lAn7/3wKD//ACh//1Aor/0gKM/9ICjf/lApD/0gKe//ACpf/SAqf/0gKw/+oCsv/qArT/6gK2/+UCuf/SArv/0gK9/9ICvv/wAsb/zgLI/+oCyv/1AtD/ngLR/84C1P/1Auf/0gNU/6sDVv+rA1j/qwNa/6sDcP/AA3H/wANz/8ADdP/AA3X/wAN+/8ADf//AAG8ABv+xAAv/sQA4/54AOv/FADz/8gA9/6gAUf/PAFL/zwBU/88AXP/vAKD/qAC0/88BB//PAQn/zwEL/88BDP/PASX/ngEn/54BOf+oATv/qAFi/54BZv+xAX//qAGV/6gBl//yAZv/qAGe/88Bp//PAcX/ngHO/54B0f/sAdn/8gHl/54B5v/sAej/8gHq/+EB7//CAfb/zwH5/+8B+//PAfz/zwH9/88B///PAgD/zwIC/88CA//PAgX/xgII/+8CCf/PAgv/zwIM/88CD//PAhH/zwIW/88CHf/PAh//zwIg/88CN//FAjn/xQJN/88CWP/yAln/7wJd/88CYv+eAmP/wAJl/88CZ//PAm7/ngJw/6gCcv+oAnT/8gJ1/+8Cdv+eAnj/4QJ6/+ECfv/fAoP/8gKE/+8Civ/PAoz/zwKN/+ECkP/PAp7/8gKf/+8Cpf/PAqf/zwKw/+wCsv/sArT/7AK2/+ECuf/PArv/zwK9/88Cvv/yAr//7wLG/80CyP/oAtD/nwLR/8YC5//PA1T/qANW/6gDWP+oA1r/qANw/7EDcf+xA3P/sQN0/7EDdf+xA37/sQN//7EATQA4/74AUf/hAFL/4QBU/+EAWv/vAF3/7wC0/+EAwP/vAML/7wEH/+EBCf/hAQv/4QEM/+EBJf++ASf/vgE6/+8BYv++AZ7/4QGj/+8Bp//hAa3/7wHF/74Bzv++AeX/vgHv/8kB9v/hAfv/4QH8/+EB/f/hAf//4QIA/+ECAv/hAgP/4QIF/98CBv/vAgn/4QIL/+ECDP/hAg//4QIR/+ECFv/hAh3/4QIf/+ECIP/hAiH/7wIk/+0COP/vAjr/7wJC/+sCTf/hAl3/4QJi/74CY//fAmX/4QJn/+ECbv++AnH/7wJ2/74Cfv/pAor/4QKM/+ECkP/hAqX/4QKn/+ECsf/vArP/7wK1/+8Cuf/hArv/4QK9/+ECx//1AtH/4ALn/+EDVf/vA1f/7wNZ/+8DW//vAGQAOP/mADr/5wA8//IAPf/nAFH/1gBS/9YAVP/WAFz/8QCg/+cAtP/WAQf/1gEJ/9YBC//WAQz/1gEl/+YBJ//mATn/5wE7/+cBYv/mAX//5wGV/+cBl//yAZv/5wGe/9YBp//WAcX/5gHO/+YB0f/uAdn/8gHl/+YB5v/uAej/8gHq/+gB7//mAfb/1gH5//EB+//WAfz/1gH9/9YB///WAgD/1gIC/9YCA//WAgX/0AII//ECCf/WAgv/1gIM/9YCD//WAhH/1gIW/9YCHf/WAh//1gIg/9YCN//nAjn/5wJN/9YCWP/yAln/8QJd/9YCYv/mAmP/zgJl/9YCZ//WAm7/5gJw/+cCcv/nAnT/8gJ1//ECdv/mAnj/6AJ6/+gCg//yAoT/8QKK/9YCjP/WAo3/6AKQ/9YCnv/yAp//8QKl/9YCp//WArD/7gKy/+4CtP/uArb/6AK5/9YCu//WAr3/1gK+//ICv//xAsb/5wLI/+0C0P/mAtH/0ALn/9YDVP/nA1b/5wNY/+cDWv/nAAICLQALAtD/5gCTACUAEAAn/+gAK//oADP/6AA1/+gAOP/gADr/4AA9/98AgwAQAIQAEACFABAAhgAQAIcAEACIABAAiv/oAJX/6ACW/+gAl//oAJj/6ACZ/+gAm//oAKD/3wDDABAAxQAQAMcAEADJ/+gAy//oAM3/6ADP/+gA3//oAOH/6ADj/+gA5f/oAQ//6AER/+gBE//oARX/6AEl/+ABJ//gATn/3wE7/98BRf/oAU4AEAFS/+gBYv/gAXkAEAF+/+gBf//fAYIAEAGFABABif/oAYwAEAGQ/+gBlf/fAZv/3wHF/+ABx//oAcwAEAHO/+AB0wAQAdcAFAHeABAB4f/oAeT/6AHl/+AB6v/hAe//4AH3ABMB/gAQAgr/4AIcABACI//oAikAEAI1/+gCN//gAjn/4AI7/+gCPf/oAj//6AJB/+gCQ//oAmL/4AJq/+gCbP/oAm7/4AJw/98Ccv/fAnb/4AJ4/+ECef/gAnr/4QJ7/+ACf//hAocAEAKIABACjf/hAo7/4AKSABAClAAQApr/6QKo/+gCqv/oAqz/6AK2/+ECt//gAsb/3wLI/94CygAQAs7/6ALQ/98C0v/yAtQAEALVABAC1gAQAwIAEAMEABADBgAQAwgAEAMKABADDAAQAw4AEAMQABADEgAQAxQAEAMWABADGAAQAy7/6AMw/+gDMv/oAzT/6AM2/+gDOP/oAzr/6AM8/+gDPv/oA0D/6ANC/+gDRP/oA1T/3wNW/98DWP/fA1r/3wNc/+gEMf/oBDL/6AQ0/+gENf/oADIAG//yADj/8QA6//QAPP/0AD3/8ACg//ABJf/xASf/8QE5//ABO//wAWL/8QF///ABlf/wAZf/9AGb//ABxf/xAcz/9QHO//EB0f/zAdn/9AHe//UB5f/xAeb/8wHo//QB7//xAjf/9AI5//QCWP/0AmL/8QJu//ECcP/wAnL/8AJ0//QCdv/xAoP/9AKH//UCnv/0ArD/8wKy//MCtP/zAr7/9ALG//ICyP/yAsr/9QLQ//IC1P/1A1T/8ANW//ADWP/wA1r/8AAIAFgADgCJ/tcBq/+YAbH/xwHX/xIB9/9SAsL/zwPs/4AAZgAlAA8AOP/mADr/5gA8AA4APf/mAIMADwCEAA8AhQAPAIYADwCHAA8AiAAPAKD/5gDDAA8AxQAPAMcADwEl/+YBJ//mATn/5gE7/+YBTgAPAWL/5gF5AA8Bf//mAYIADwGFAA8BjAAPAZX/5gGXAA4Bm//mAcX/5gHMAA4Bzv/mAdEACwHTAA8B1wATAdkADgHeAA4B5f/mAeYACwHoAA4B6v/lAe//5gHw//QB9wASAf4ADwIF/+cCCv/oAg//5wIcAA8CKQAPAjf/5gI5/+YCWAAOAmL/5gJj/+cCbv/mAnD/5gJy/+YCdAAOAnb/5gJ4/+UCef/oAnr/5QJ7/+gCgwAOAocADgKIAA8Cjf/lAo7/6AKSAA8ClAAPAp4ADgKwAAsCsgALArQACwK2/+UCt//oAr4ADgLG/+YCyP/mAsoADgLQ/+YC0f/nAtQADgLVAA8C1gAPAwIADwMEAA8DBgAPAwgADwMKAA8DDAAPAw4ADwMQAA8DEgAPAxQADwMWAA8DGAAPA1T/5gNW/+YDWP/mA1r/5gA3AAb/vwAL/78AOP+fADr/yQA9/60AoP+tASX/nwEn/58BOf+tATv/rQFi/58BZv+/AX//rQGV/60Bm/+tAcX/nwHO/58B0f/sAeX/nwHm/+wB6v/mAe//xAIF/80CD//VAjf/yQI5/8kCYv+fAmP/zAJu/58CcP+tAnL/rQJ2/58CeP/mAnr/5gJ+/98Cjf/mArD/7AKy/+wCtP/sArb/5gLG/9ECyP/sAtD/oQLR/88DVP+tA1b/rQNY/60DWv+tA3D/vwNx/78Dc/+/A3T/vwN1/78Dfv+/A3//vwAwADj/4wA8/+UAPf/kAKD/5AEl/+MBJ//jATn/5AE7/+QBYv/jAX//5AGV/+QBl//lAZv/5AHF/+MBzP/lAc7/4wHR/+kB1//iAdn/5QHe/+UB5f/jAeb/6QHo/+UB/v/qAhz/6gJY/+UCYv/jAm7/4wJw/+QCcv/kAnT/5QJ2/+MCg//lAof/5QKI/+oCnv/lArD/6QKy/+kCtP/pAr7/5QLK/+UC0P/kAtT/5QLV/+oDVP/kA1b/5ANY/+QDWv/kACMAOP/iADz/5AEl/+IBJ//iAWL/4gGX/+QBxf/iAcz/5AHO/+IB0f/pAdf/4QHZ/+QB3v/kAeX/4gHm/+kB6P/kAff/5AH+/+sCHP/rAlj/5AJi/+ICbv/iAnT/5AJ2/+ICg//kAof/5AKI/+sCnv/kArD/6QKy/+kCtP/pAr7/5ALK/+QC1P/kAtX/6wAXADj/6wA9//MAoP/zASX/6wEn/+sBOf/zATv/8wFi/+sBf//zAZX/8wGb//MBxf/rAc7/6wHl/+sCYv/rAm7/6wJw//MCcv/zAnb/6wNU//MDVv/zA1j/8wNa//MANgBR/+8AUv/vAFT/7wBc//AAtP/vAQf/7wEJ/+8BC//vAQz/7wGe/+8Bp//vAfb/7wH3/+4B+f/wAfv/7wH8/+8B/f/vAf//7wIA/+8CAv/vAgP/7wIF/+4CCP/wAgn/7wIL/+8CDP/vAg//7wIR/+8CFv/vAh3/7wIf/+8CIP/vAiT/9AJC//ECTf/vAln/8AJd/+8CY//vAmX/7wJn/+8Cdf/wAoT/8AKK/+8CjP/vApD/7wKf//ACpf/vAqf/7wK5/+8Cu//vAr3/7wK///AC0f/vAuf/7wAiAAb/8gAL//IAWv/1AF3/9QDA//UAwv/1ATr/9QFm//IBo//1Aa3/9QIF//QCBv/1Ag//9AIh//UCJP/1Ajj/9QI6//UCY//1AnH/9QKx//UCs//1ArX/9QLR//UDVf/1A1f/9QNZ//UDW//1A3D/8gNx//IDc//yA3T/8gN1//IDfv/yA3//8gAyAFH/7gBS/+4AVP/uALT/7gEH/+4BCf/uAQv/7gEM/+4Bnv/uAaf/7gH2/+4B9wAUAfv/7gH8/+4B/f/uAf//7gIA/+4CAv/uAgP/7gIF/+0CCf/uAgr/7QIL/+4CDP/uAg3/0AIP/+4CEf/uAhb/7gId/+4CH//uAiD/7gJN/+4CXf/uAmP/7QJl/+4CZ//uAnn/7QJ7/+0Civ/uAoz/7gKO/+0CkP/uAqX/7gKn/+4Ct//tArn/7gK7/+4Cvf/uAtH/7QLn/+4ACgAG//UAC//1AWb/9QNw//UDcf/1A3P/9QN0//UDdf/1A37/9QN///UAWQBH//AASP/wAEn/8ABL//AAU//HAFX/8ACq//AAq//wAKz/8ACt//AArv/wALX/xwC2/8cAt//HALj/xwC5/8cAyv/wAMz/8ADO//AA0P/wANL/8ADW//AA2P/wANr/8ADc//AA3v/wAOD/8ADi//AA5P/wAOb/8AEQ/8cBEv/HART/xwEW//ABRv/wAZz/8AGh//ABr//HAbL/8AGz//ABvP/HAfj/8AIB/8cCBP/wAgf/8AIT//ACFP/wAhf/8AI2/8cCPP/wAj7/6wJA//ACRP/wAmv/8AJt//ACmf/wApv/8AKd//ACqf/HAqv/8AKt/8cCw//wAsT/8ALF//ACz//wAxv/8AMd//ADH//wAyH/8AMj//ADJf/wAyf/8AMp//ADL//HAzH/xwMz/8cDNf/HAzf/xwM5/8cDO//HAz3/8AM///ADQf/wA0P/xwNF//AD3P/rA97/6wPm/+kD6v/rAKEABgANAAsADQBF//AAR//AAEj/wABJ/8AASgANAEv/wABT/+IAVf/AAFoACwBdAAsAo//wAKT/8ACl//AApv/wAKf/8ACo//AAqv/AAKv/wACs/8AArf/AAK7/wAC1/+IAtv/iALf/4gC4/+IAuf/iAMAACwDCAAsAxP/wAMb/8ADI//AAyv/AAMz/wADO/8AA0P/AANL/wADW/8AA2P/AANr/wADc/8AA3v/AAOD/wADi/8AA5P/AAOb/wAEQ/+IBEv/iART/4gEW/8ABOgALAUb/wAFP//ABZgANAZz/wAGh/8ABowALAa0ACwGv/+IBsf/WAbL/wAGz/8ABtv/VAbz/4gHz//AB9//IAfj/wAH+/9cCAf/iAgT/wAIGAAsCB//AAhP/wAIU/8ACF//AAhz/1wIhAAsCNv/iAjgACwI6AAsCPP/AAj7/7AJA/8ACQgAMAkT/wAJr/8ACbf/AAnEACwKI/9cCk//wApX/8AKZ/8ACm//AAp3/wAKp/+ICq//AAq3/4gKxAAsCswALArUACwLD/8ACxP/AAsX/wALHAAsCyQALAs//wALV/9cC1//wAwP/8AMF//ADB//wAwn/8AML//ADDf/wAw//8AMR//ADE//wAxX/8AMX//ADGf/wAxv/wAMd/8ADH//AAyH/wAMj/8ADJf/AAyf/wAMp/8ADL//iAzH/4gMz/+IDNf/iAzf/4gM5/+IDO//iAz3/wAM//8ADQf/AA0P/4gNF/8ADVQALA1cACwNZAAsDWwALA3AADQNxAA0DcwANA3QADQN1AA0DfgANA38ADQPXAA0D2QAOA9r/9QPc/+wD3v/tA+b/7APq/+4D7P+/A/cADQAPAfcAFAH+ABACBf/wAgr/8AIP//ACEgAWAhwAEAJj/+YCef/wAnv/3AKIABACjv/wArf/8ALR//AC1QAQAEwAR//uAEj/7gBJ/+4AS//uAFX/7gCq/+4Aq//uAKz/7gCt/+4Arv/uAMr/7gDM/+4Azv/uAND/7gDS/+4A1v/uANj/7gDa/+4A3P/uAN7/7gDg/+4A4v/uAOT/7gDm/+4BFv/uAUb/7gGc/+4Bof/uAbL/7gGz/+4B9wASAfj/7gH+AA4CBP/uAgX/4wIH/+4CCv/jAg3/uAIP/+MCE//uAhT/7gIX/+4CHAAOAjz/7gJA/+4CRP/uAmP/ugJr/+4Cbf/uAnn/4wJ7/9kCiAAOAo7/4wKZ/+4Cm//uAp3/7gKr/+4Ct//jAsP/7gLE/+4Cxf/uAs//7gLR/+MC1QAOAxv/7gMd/+4DH//uAyH/7gMj/+4DJf/uAyf/7gMp/+4DPf/uAz//7gNB/+4DRf/uACAAWv/AAF3/wADA/8AAwv/AATr/wAGj/8ABrf/AAgX/gAIG/8ACCv/uAg//8AIh/8ACJP/bAjj/wAI6/8ACQv/cAmP/RwJx/8ACef/uAnv/7gKO/+4Csf/AArP/wAK1/8ACt//uAscABwLJ//QC0f9/A1X/wANX/8ADWf/AA1v/wAAhAFr/9ABc//AAXf/0AMD/9ADC//QBOv/0AaP/9AGt//QB9//vAfn/8AH+//MCBv/0Agj/8AIP/+4CHP/zAiH/9AI4//QCOv/0Aln/8AJx//QCdf/wAoT/8AKI//MCn//wArH/9AKz//QCtf/0Ar//8ALV//MDVf/0A1f/9ANZ//QDW//0AAoABv/WAAv/1gFm/9YDcP/WA3H/1gNz/9YDdP/WA3X/1gN+/9YDf//WABUAXP/gAfn/4AIF/3YCCP/gAgr/wgIP/9MCJP/ZAkL/2wJZ/+ACY/8eAnX/4AJ5/8ICe//tAoT/4AKO/8ICn//gArf/wgK//+ACx//wAsn/8gLR/1YADQIF/2QCCv/SAg//2QIk/9kCQv/bAmP/HgJ5/9ICe//tAo7/0gK3/9ICx//wAsn/8gLR/1YACgHv/8MCBf/PAg//1AJj/84Cev/nAn7/3wLG/9ECyP/sAtD/oALR/9EACQIF/2oCD//GAiT/2QJC/9sCY/8eAnv/7QLH//ACyf/yAtH/VgAJAA0AFABBABEAVv/iAGEAEwPc/9kD3v/ZA+b/2QPq/9kD7P+0AAoABv/XAAv/1wFm/9cDcP/XA3H/1wNz/9cDdP/XA3X/1wN+/9cDf//XABQAW//BAZb/xQG0/7QB9P/XAgX/uQIP/+kCJP+yAj7/0gJC/8gCY/+gAnv/xQKa/+QCx//MAsn/zALR/8sC0v/vA9z/5wPe/+cD5v/mA+r/6AA6AAT/xABW/78AW//RAG7/bAB+/24Aif9DAKn/rAC7/6EBlv+4AaX/fgGp/3sBsP+bAbH/eQG0/7IBtv9+Abj/fQG5/3wB1/+vAe8ADwH0/+QB9f+gAff/dAH6/4ACBf+yAg7/fQIP/7ICEP+AAhL/eQIVACgCIv99AiT/fwI+/2YCQv/aAlH/gQJT/5gCX/99AmP/swJp/6ACe/98An7/mgJ//2wCmv/mAsL/awLH/5ICyf+tAs3/ewLQAA8C0f+RAtL/8gPW//ED2f/xA9r/vAPc/7kD3v+5A+b/uQPq/7kD7P+vA/b/7QAGAbT/6gH3/+4CBf/WAg//7QJj/+wC0f/sABIB1/+uAe8AEgH1/+AB9/+tAfr/1gIO/98CEv/SAiL/4AI+/84CUf/dAlP/4gJf/+ACaf/gAnv/6QJ//9oCwv+9As3/3wLQABEAMABW/34AW/+dAG7+8QB+/vQAif6rAKn/XgC7/0sBlv9yAaX/DwGp/woBsP9BAbH/BwG0/2gBtv8PAbj/DgG5/wwB1/9jAe8ABQH0/70B9f9JAff+/gH6/xMCBf9oAg7/DgIP/2gCEP8TAhL/BwIVADACIv8OAiT/EQI+/ucCQv+sAlH/FQJT/zwCX/8OAmP/agJp/0kCe/8MAn7/PwJ//vECmv/AAsL+7wLH/zECyf9fAs3/CgLQAAUC0f8wAtL/1QACAff/aAI+/+4AFwGW/9QBqP/tAasAEQG0/+ABtv/nAbj/5QG5/+4B1wASAfT/6QIF/9cCY//XAnv/0wJ+/9YCf//FApr/5wLGAA0CyAAMAtH/1gLS//ID3P/pA97/5wPm/+cD6v/pAAECPv/xAAICBf/WA3H/iAAJAA0ADwBBAAwAVv/rAGEADgPc/+cD3v/nA+b/5wPq/+kD7P/LAB0AI/+vAFj/7wBb/98BR//u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AX4BfgAFAX8BfwAQAYIBggACAYMBgwADAYQBhAAcAYUBhQACAYYBhgAGAYcBhwARAYgBiAAHAYkBiQAFAYoBigAHAYsBiwAJAYwBjAACAY0BjgAHAZABkAAFAZIBkgALAZQBlAAMAZUBlQAQAZcBlwAPAZoBmgAHAZsBmwAQAZ4BngAWAaMBowAZAacBpwAWAa0BrQAZAa8BrwAXAbEBsQATAbwBvAAXAcMBxAAGAcYBxgAcAckBygAHAcsBywAIAcwBzQAdAc8BzwAJAdEB0QAeAdIB0gAHAdMB0wACAdUB1QADAdYB1gAcAdgB2AAGAdkB2QAPAdsB2wAHAd0B3QAJAd4B4AAHAeEB4QAFAeMB4wALAeQB5AAEAeUB5QAMAeYB5gAeAegB6AAPAekB6QAHAesB6wAHAe0B7QAdAe8B7wAdAfMB8wASAfYB9gAfAfgB+AAVAfkB+QAaAgECAQAXAgMCAwATAgQCBAAUAgYCBgAZAgcCBwATAggCCAAaAg0CDQAgAg8CDwAgAhACEAATAhMCFAAVAhYCFgAfAhwCHQAgAiECIQAZAiUCJQAdAiYCJgAgAikCKQACAjYCNgAXAjcCNwANAjgCOAAZAjkCOQANAjoCOgAZAlECUQATAlICUgAcAlMCUwAfAlQCVAAcAlgCWAAPAlkCWQAaAlwCXAAJAl4CXgAJAmACYAAJAmICYgAJAmQCZAAHAmwCbAAEAm0CbQAUAm4CbgAMAnACcAAQAnECcQAZAnICcgAQAnQCdAAPAnUCdQAaAn0CfQAWAoICggAHAoMCgwAPAoQChAAaAosCiwAHAo8CjwAHApECkQAHApICkgACApMCkwASApQClAACApUClQASApgCmAAGApkCmQAVApsCmwAVAp0CnQAVAp4CngAPAp8CnwAaAqgCqAAFAqkCqQAXAq0CrQAXAq8CrwATArACsAAeArECsQAZArICsgAeArMCswAZArQCtAAeArUCtQAZArgCuAAcArkCuQAfAr0CvQAfAr4CvgAPAr8CvwAaAtYC1gACAtcC1wASAuYC5gAHAucC5wAWAvgC+AAOAvoC+gAOAvwC/AAOAwIDAgACAwMDAwASAwQDBAACAwUDBQASAwYDBgACAwcDBwASAwgDCAACAwkDCQASAwoDCgACAwsDCwASAwwDDAACAw0DDQASAw4DDgACAw8DDwASAxADEAACAxEDEQASAxIDEgACAxMDEwASAxQDFAACAxUDFQASAxYDFgACAxcDFwASAxgDGAACAxkDGQASAxoDGgAGAxsDGwAVAxwDHAAGAx0DHQAVAx4DHgAGAx8DHwAVAyADIAAGAyEDIQAVAyIDIgAGAyMDIwAVAyQDJAAGAyUDJQAVAyYDJgAGAycDJwAVAygDKAAGAykDKQAVAyoDKgAHAywDLAAHAy4DLgAFAy8DLwAXAzADMAAFAzEDMQAXAzIDMgAFAzMDMwAXAzQDNAAFAzUDNQAXAzYDNgAFAzcDNwAXAzgDOAAFAzkDOQAXAzoDOgAFAzsDOwAXA0MDQwAXA0YDRgAIA0gDSAAIA1QDVAAQA1UDVQAZA1YDVgAQA1cDVwAZA1gDWAAQA1kDWQAZA1oDWgAQA1sDWwAZA1wDXAAFA3IDcgABA3YDdgABA3oDewABBDEEMQAEBDMENAAFAAEABgQwAAEAAAAAAAAAAAABAAAAAAAAAAAAFgAZABYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAgAAAAAAAAACAAAAAAAGgAAAAAAAAAAAAgAAAAIAAAAGwAJAAoACwAMABcADQAYAAAAAAAAAAAAAAAAAAMAAAAEAAQABAAAAAQAAAAAAAAAAAAAAAUABQAGAAUABAAAAAcAAAAOAA8AAAAcAA8AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIAAgAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgAAAAIAAoACgAKAAoADQAAAAAAAwADAAMAAwADAAMAAAAEAAQABAAEAAQAAAAAAAAAAAAAAAUABgAGAAYABgAGAAAAAAAOAA4ADgAOAA8AAAAPAAIAAwACAAMAAgADAAgABAAIAAQACAAEAAgABAAAAAQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQACAAEAAgABAAIAAQACAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABQAAAAUABQAAAAAACAAGAAgABgAIAAYACAAEAAAAAAAAAAAAAAAAABsABwAbAAcAGwAHABsABwAJAAAACQAAAAAAAAAKAA4ACgAOAAoADgAKAA4ACgAOAAoADgAMAAAADQAPAA0AGAAQABgAEAAYABAAAAAAAAAACAAEAAAADgAAAAAAAAAAAAAAAgADAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAHAAkAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAACAANAAAAAAACAAAAAAACAAAAGAAAAAgAAAAAAAIAAAAAAAAACAAAAAAAAAAAAA0AAAAXAAAAAAAAAA0ABAAAAAUAAAAOAAQAAAAPAAAAAAAAAAUAAAAAAAAAAAAAAA8AAAAGAAAAAAAEAAQAAAAOAAAAAAAAAAAAAAAOAAYADgAAAAAAAAAAAAAAAAAAAAkAAAAIAAAAAAAAABoAEQAAAAkAAAAAABUAAAACAAAAAAAAAAAAAAAXAAAAAAAAAAAAEQAAAAAACAAAAAAACAAJABUAAAAXAAAAEgAAAAAAAAAAAAAAAAAAAAAAAwAAAAAABQAAAAQAHAAAAAUABQAFABMABQAFAAYABQAFAAQAAAAPAAQAHAAFABQABQAFAAAAAAAFAAAABQAAAAQABAAAAAUABAAHAAAAAAAAABMABQAAAAUABQAPAAAACAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAGAAsADwALAA8ACAAEAAgAAAAIAAQACAAAAAgABAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAABcAHAAAAAAAAAAFAAAAAAAAAAAACQAAAAAABQAAAAUAAAAAAAgABAAIAAQACQAAAA0ADwANAAAAFwAcAAkAAAASABQAAAAAAAAAAAAAAAAAAAAAAAAAFwAcAAAAAAARABMAAAAFAAAABQASABQAAAAFAAAAAgADAAIAAwAAAAAAAAAEAAAABAAAAAQAFwAcAAAAAAAAAAAAAAAFAAAABQAIAAYACAAEAAgABgAAAAAAFQAPABUADwAVAA8AEgAUAAAABQAAAAUAAAAFABcAHAAAAAAAAAAEAAQABAAAAAAAAAAAABEAAAAAAAAACAAEAAAAAAAAAAAAEQATAAIAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAAAAAAAAAAAAAACAAMAAgADAAIAAwACAAMAAgADAAIAAwACAAMAAgADAAIAAwACAAMAAgADAAIAAwAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAACAAGAAgABgAIAAYACAAGAAgABgAIAAYACAAGAAgABAAIAAQACAAEAAgABgAIAAQACgAOAAoADgAAAA4AAAAOAAAADgAAAA4AAAAOAA0ADwANAA8ADQAPAA0ADwAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAGQAZAAAAAQABABYAAQABAAEAFgAAAAAAAAAWABYAAAAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgAAAAIAAgAAAABAAAACgIGCBAABERGTFQAGmN5cmwASGdyZWsAdmxhdG4ApAAEAAAAAP//ABIAAAAKABQAHgAoADQAQQBLAFUAXwBpAHMAfQCHAJEAmwClAK8ABAAAAAD//wASAAEACwAVAB8AKQA1AEIATABWAGAAagB0AH4AiACSAJwApgCwAAQAAAAA//8AEgACAAwAFgAgACoANgBDAE0AVwBhAGsAdQB/AIkAkwCdAKcAsQAoAAZBWkUgAFRDUlQgAH5NT0wgAKhOQVYgANRST00gAQBUVVIgASwAAP//ABMAAwANABcAIQArADIANwBEAE4AWABiAGwAdgCAAIoAlACeAKgAsgAA//8AEgAEAA4AGAAiACwAOABFAE8AWQBjAG0AdwCBAIsAlQCfAKkAswAA//8AEgAFAA8AGQAjAC0AOQBGAFAAWgBkAG4AeACCAIwAlgCgAKoAtAAA//8AEwAGABAAGgAkAC4AOgA+AEcAUQBbAGUAbwB5AIMAjQCXAKEAqwC1AAD//wATAAcAEQAbACUALwA7AD8ASABSAFwAZgBwAHoAhACOAJgAogCsALYAAP//ABMACAASABwAJgAwADwAQABJAFMAXQBnAHEAewCFAI8AmQCjAK0AtwAA//8AEwAJABMAHQAnADEAMwA9AEoAVABeAGgAcgB8AIYAkACaAKQArgC4ALljMnNjBFhjMnNjBF5jMnNjBGRjMnNjBGpjMnNjBGpjMnNjBGpjMnNjBGpjMnNjBGpjMnNjBGpjMnNjBGpjY21wBHBjY21wBHBjY21wBHBjY21wBHBjY21wBHBjY21wBHBjY21wBHBjY21wBHBjY21wBHBjY21wBHBkbGlnBHhkbGlnBH5kbGlnBIRkbGlnBIpkbGlnBIpkbGlnBIpkbGlnBIpkbGlnBIpkbGlnBIpkbGlnBIpkbm9tBJBkbm9tBJZkbm9tBJxkbm9tBKJkbm9tBKJkbm9tBKJkbm9tBKJkbm9tBKJkbm9tBKJkbm9tBKJmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhmcmFjBKhsaWdhBLJsaWdhBLpsbnVtBMBsbnVtBMZsbnVtBMxsbnVtBNJsbnVtBNJsbnVtBNJsbnVtBNJsbnVtBNJsbnVtBNJsbnVtBNJsb2NsBNhsb2NsBN5sb2NsBORudW1yBOpudW1yBPBudW1yBPZudW1yBPxudW1yBPxudW1yBPxudW1yBPxudW1yBPxudW1yBPxudW1yBPxvbnVtBQJvbnVtBQhvbnVtBQ5vbnVtBRRvbnVtBRRvbnVtBRRvbnVtBRRvbnVtBRRvbnVtBRRvbnVtBRRwbnVtBRpwbnVtBSBwbnVtBSZwbnVtBSxwbnVtBSxwbnVtBSxwbnVtBSxwbnVtBSxwbnVtBSxwbnVtBSxzbWNwBTJzbWNwBThzbWNwBT5zbWNwBURzbWNwBURzbWNwBURzbWNwBURzbWNwBURzbWNwBURzbWNwBURzczAxBUpzczAxBVBzczAxBVZzczAxBVxzczAxBVxzczAxBVxzczAxBVxzczAxBVxzczAxBVxzczAxBVxzczAyBWJzczAyBWhzczAyBW5zczAyBXRzczAyBXRzczAyBXRzczAyBXRzczAyBXRzczAyBXRzczAyBXRzczAzBXpzczAzBYBzczAzBYZzczAzBYxzczAzBYxzczAzBYxzczAzBYxzczAzBYxzczAzBYxzczAzBYxzczA0BZJzczA0BZhzczA0BZ5zczA0BaRzczA0BaRzczA0BaRzczA0BaRzczA0BaRzczA0BaRzczA0BaRzczA1BapzczA1BbBzczA1BbZzczA1BbxzczA1BbxzczA1BbxzczA1BbxzczA1BbxzczA1BbxzczA1BbxzczA2BcJzczA2BchzczA2Bc5zczA2BdRzczA2BdRzczA2BdRzczA2BdRzczA2BdRzczA2BdRzczA2BdRzczA3BdpzczA3BeBzczA3BeZzczA3BexzczA3BexzczA3BexzczA3BexzczA3BexzczA3BexzczA3Bex0bnVtBfJ0bnVtBfh0bnVtBf50bnVtBgR0bnVtBgR0bnVtBgR0bnVtBgR0bnVtBgR0bnVtBgR0bnVtBgQAAAABAAEAAAABAAMAAAABAAIAAAABAAAAAAACAAgACQAAAAEADgAAAAEAEAAAAAEADwAAAAEADQAAAAEAQwAAAAEARQAAAAEARAAAAAEAQgAAAAMAPwBAAEEAAAACABEAEgAAAAEAEgAAAAEAPAAAAAEAPgAAAAEAPQAAAAEAOwAAAAEACgAAAAEADAAAAAEACwAAAAEARwAAAAEASQAAAAEASAAAAAEARgAAAAEAMAAAAAEAMgAAAAEAMQAAAAEALwAAAAEAOAAAAAEAOgAAAAEAOQAAAAEANwAAAAEABQAAAAEABwAAAAEABgAAAAEABAAAAAEAFAAAAAEAFgAAAAEAFQAAAAEAEwAAAAEAGAAAAAEAGgAAAAEAGQAAAAEAFwAAAAEAHAAAAAEAHgAAAAEAHQAAAAEAGwAAAAEAIAAAAAEAIgAAAAEAIQAAAAEAHwAAAAEAJAAAAAEAJgAAAAEAJQAAAAEAIwAAAAEAKAAAAAEAKgAAAAEAKQAAAAEAJwAAAAEALAAAAAEALgAAAAEALQAAAAEAKwAAAAEANAAAAAEANgAAAAEANQAAAAEAMwBLAJgAmACYAJgEJgQmBCYEJgcUB8AOUA5QDmYOiA6IDogOiA6+DuQPEg8SDxIPEg8mDyYPJg8mDzoPOg86DzoPTg9OD04PTg9gD2APYA9gD3oPeg96D3oPvA+8D7wPvA/aD9oP2g/aD/gP+A/4D/gQKhAqECoQKhBcEFwQXBBcEI4QohDuEMwQzBDMEMwQ7hDuEO4Q7hEaAAEAAAABAAgAAgHEAN8DvQPsA+sD6gPpA+gD5wPmA+UD5APjA+ID4QPgA98D3gPdA9wD2wPaA9kD2APXA9YD9gP3BKkDvAO7BFAEUQRSBFMEVARVBFcEWARZBFoEWwRcBF0EXgRfBE4EYARhBGIEYwRkBGUEZgRtBG4EbwRwBEwEcQRyBHMEdAR1BHYEdwR4BE0EeQR6BHsEfAR9BH4EfwSABIEEggSDBIQEhQSGBIcEiASJBIoEiwSMBI0EjgSPBJAEkQSSBJMERASUBJUElgSXBJgEmQSaBJ0EnARPBJ4EnwSgBKEEogSjBKQEpQSmBKcEqAP+BFYEmwSqBKsErAStBK4ErwSwBLEEsgO6A7kEswS0BLUDuAS2BLcDtwS4A7YEuQPGBLoD0QS7BLwD0gS9A9MD1AS+BL8EwAP5BMED+ATCBMMExATFA/8EAAQBBMYExwQCBMgEAwTJBMoEBATLBAUEBgQHBMwECAQJBM0EzgTPBNAE0QTSBNMECgTcBNQECwQMBA0EDgQPBBAEEQQSBBMEFAQ4BBUEFgTVBBcEGAQZBNYEGgTXBNgEGwQcBB0EHgQfBCAE2QQhBCIE2gQjBNsEJAQlBCcEJgABAN8ACAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AZgBoAIMAhACFAIYAhwCIAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAnACdAJ4AnwCgAKIAwwDFAMcAyQDLAM0AzwDRANMA1QDXANkA2wDdAN8A4QDjAOUA5wDrAO0A7wDxAPMA9wD5APwA/gEAAQIBBgEIAQoBDwERARMBFQEXARkBGwEdAR8BIQEjASUBJwEpASsBLQEvATEBMwE1ATcBOQE7ATwBPgFAAU4BYgF5AXsBfAF9AX4BfwGAAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gJSAlQCWAJaAlwCXgJiAmQCagJsAnACcgJ0AnYCegJ8An4CgAKaAqICpAKqArADhwOOA5MDlgABAAAAAQAIAAIBdAC3A+wD6wPqA+kD6APnA+YD5QPkA+MD4gPhA+AD3wPeA90D3APbA9oD2QPYA9cD1gP2A/cEqQRQBFEEUgRTBFQEVQRXBFgEWQRaBFsEXARdBF4EXwROBGAEYQRiBGMEZARlBGYEbQRuBG8EcASmBHEEcgRzBHQEdQR2BHcEeARNBHkEegR7BHwEfQR+BH8EgASBBIIEgwSEBIUEhgSHBIgEiQSKBIsEjASNBI4EjwSQBJEEkgSTBEQElASVBJYElwSYBJkEmgSdBJwETwSeBJ8EoAShBKIEowSkBKUEpwSoA/4EVgSbBMgEAwTJBMoEBATLBAUEBgQHBMwECAQJBM0EzgTPBNAE0QTSBNMECgTcBNQECwQMBA0EDgQPBBAEEQQSBBMEFATAA/kEwQP4BMIEwwTEBMUD/wQABAEExgTHBAIEOAQVBBYE1QQXBBgEGQTWBBoE1wTYBBsEHAQdBB4EHwQgBNkEIQQiBNoEIwTbAAEAtwBFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AowCkAKUApgCnAKgAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC8AL0AvgC/AMAAwgDEAMYAyADKAMwAzgDQANIA1ADWANgA2gDcAN4A4ADiAOQA5gDoAOwA7gDwAPIA9AD4APoA/QD/AQEBAwEHAQkBCwEQARIBFAEWARgBGgEcAR4BIAEiASQBJgEoASoBLAEuATABMgE0ATYBOAE6AT0BPwFBAU8BYwHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIQIiAlMCVQJZAlsCXQJfAmMCZQJrAm0CcQJzAnUCdwJ7An0CfwKBApsCowKlAqsCsQAGAAAABgASACoAQgBaAHIAigADAAAAAQASAAEAkAABAAAASgABAAEATQADAAAAAQASAAEAeAABAAAASgABAAEATgADAAAAAQASAAEAYAABAAAASgABAAEA8gADAAAAAQASAAEASAABAAAASgABAAECGQADAAAAAQASAAEAMAABAAAASgABAAECGwADAAAAAQASAAEAGAABAAAASgABAAEDLQACAAEBcQF1AAAABAAAAAEACAABBh4ANgByAKQArgC4AMoA/AEOARgBSgFkAX4BkAG6AewB9gIYAjICRAJ2AogCogLMAt4DEAMaAyQDNgNoA3IDfAOGA6ADugPMA/YEKAQyBFQEbgSABLIExATeBQgFGgUkBS4FOAVCBWwFlgXABeoGFAAGAA4AFAAaACAAJgAsAIMAAgFxAIQAAgFyAIYAAgFzAwQAAgF0AVQAAgF1AwIAAgF2AAEABALYAAIBdgABAAQAyQACAXIAAgAGAAwC2gACAXYC3AACA6sABgAOABQAGgAgACYALACLAAIBcQCMAAIBcgMeAAIBcwMcAAIBdAFWAAIBdQMaAAIBdgACAAYADAFKAAIBcgDlAAIDqwABAAQC3gACAXYABgAOABQAGgAgACYALACPAAIBcQCQAAIBcgDrAAIBcwMqAAIBdAFYAAIBdQMsAAIBdgADAAgADgAUAuAAAgFyAuIAAgF2APkAAgOrAAMACAAOABQA/AACAXIC5AACAXYA/gACA6sAAgAGAAwC5gACAXIC6AACAXYABQAMABIAGAAeACQBTAACAXEBBgACAXIAlAACAXMC6gACAXYBCAACA6sABgAOABQAGgAgACYALACVAAIBcQCWAAIBcgCYAAIBcwMwAAIBdAFaAAIBdQMuAAIBdgABAAQC7AACAXIABAAKABAAFgAcARcAAgFyAVwAAgF1Au4AAgF2ARkAAgOrAAMACAAOABQBHQACAXIC8AACAXYBYAACA6sAAgAGAAwC8gACAXYBYgACA6sABgAOABQAGgAgACYALACcAAIBcQCdAAIBcgErAAIBcwNIAAIBdAFeAAIBdQNGAAIBdgACAAYADAL0AAIBcwL2AAIBdgADAAgADgAUAvgAAgFxAvoAAgFyAv4AAgF2AAUADAASABgAHgAkA1QAAgFxAKAAAgFyA1oAAgFzA1gAAgF0A1YAAgF2AAIABgAMATwAAgFyAwAAAgF2AAYADgAUABoAIAAmACwAowACAXEApAACAXIApgACAXMDBQACAXQBVQACAXUDAwACAXYAAQAEAtkAAgF2AAEABADKAAIBcgACAAYADALbAAIBdgLdAAIDqwAGAA4AFAAaACAAJgAsAKsAAgFxAKwAAgFyAx8AAgFzAx0AAgF0AVcAAgF1AxsAAgF2AAEABAFLAAIBcgABAAQC3wACAXYAAQAEAy0AAgF2AAMACAAOABQC4QACAXIC4wACAXYA+gACA6sAAwAIAA4AFAD9AAIBcgLlAAIBdgD/AAIDqwACAAYADALnAAIBcgLpAAIBdgAFAAwAEgAYAB4AJAFNAAIBcQEHAAIBcgC0AAIBcwLrAAIBdgEJAAIDqwAGAA4AFAAaACAAJgAsALUAAgFxALYAAgFyALgAAgFzAzEAAgF0AVsAAgF1Ay8AAgF2AAEABALtAAIBcgAEAAoAEAAWABwBGAACAXIBXQACAXUC7wACAXYBGgACA6sAAwAIAA4AFAEeAAIBcgLxAAIBdgFhAAIDqwACAAYADALzAAIBdgFjAAIDqwAGAA4AFAAaACAAJgAsALwAAgFxAL0AAgFyASwAAgFzA0kAAgF0AV8AAgF1A0cAAgF2AAIABgAMAvUAAgFzAvcAAgF2AAMACAAOABQC+QACAXEC+wACAXIC/wACAXYABQAMABIAGAAeACQDVQACAXEAwAACAXIDWwACAXMDWQACAXQDVwACAXYAAgAGAAwBPQACAXIDAQACAXYAAQAEAVAAAgFyAAEABAFSAAIBcgABAAQBUQACAXIAAQAEAVMAAgFyAAUADAASABgAHgAkAK8AAgFxALAAAgFyAOwAAgFzAysAAgF0AVkAAgF1AAUADAASABgAHgAkAz4AAgFxAzwAAgFyA0IAAgFzA0AAAgF0A0QAAgF2AAUADAASABgAHgAkAz8AAgFxAz0AAgFyA0MAAgFzA0EAAgF0A0UAAgF2AAUADAASABgAHgAkA0wAAgFxA0oAAgFyA1AAAgFzA04AAgF0A1IAAgF2AAUADAASABgAHgAkA00AAgFxA0sAAgFyA1EAAgFzA08AAgF0A1MAAgF2AAEABAHBAAIBcgACABEAJQApAAAAKwAtAAUALwA0AAgANgA7AA4APQA+ABQARQBJABYASwBNABsATwBUAB4AVgBbACQAXQBeACoAiQCJACwAmwCbAC0AqQCpAC4AuwC7AC8A9AD0ADABRQFIADEBwAHAADUAAQAAAAEACAABAAYAPwABAAIBIQEiAAEAAAABAAgAAgAOAAQE3QTeBN8E4AABAAQAxwDIANsA3AAEAAAAAQAIAAEAJgACAAoAHAACAAYADAOsAAIASgOxAAIAWAABAAQDsgACAFgAAQACAEoAVwAEAAAAAQAIAAEARAACAAoAFAABAAQDrQACAE0AAQAEA68AAgBNAAQAAAABAAgAAQAeAAIACgAUAAEABAOuAAIAUAABAAQDsAACAFAAAQACAEoDrAABAAAAAQAIAAEABgN5AAEAAQBLAAEAAAABAAgAAQAGAiIAAQABAaEAAQAAAAEACAABAAYDjAABAAEANgABAAAAAQAIAAIAHAACA8EDwAABAAAAAQAIAAIACgACA78DvgABAAIALwBPAAEAAAABAAgAAgAeAAwEMQQzBDIENAQ1BCgEKQQqA/sELAQtBC4AAQAMACcAKAArADMANQBGAEcASABLAFMAVABVAAEAAAABAAgAAgAMAAMELwQwBDAAAQADAEkASwP7AAEAAAABAAgAAgBmAAgERgQ2BDcEOQQ6BEIEQwRFAAEAAAABAAgAAgAWAAgAGwAVABQAHQAZABgAFwAWAAEACAP6BCsEZwRoBGkEagRrBGwAAQAAAAEACAACABYACARnBCsEbARrBGoEaQP6BGgAAQAIABQAFQAWABcAGAAZABsAHQABAAAAAQAIAAIAFgAIABUAFgAXABgAGQAbAB0AFAABAAgENgQ3BDkEOgRCBEMERQRGAAEAAAABAAgAAQAGA3AAAQABABMABgAAAAEACAADAAEAEgABAGYAAAABAAAASgACAAIDgwODAAADxwPQAAEAAQAAAAEACAACADwACgPQA88DzgPNA8wDywPKA8kDyAPHAAEAAAABAAgAAgAaAAoEOwB8AHUAdgQ8BD0EPgQ/BEAEQQACAAEAFAAdAAAAAQAAAAEACAACACYAEAPQA88DzgPNA8wDywPKA8kDyAPHBEkERwRKBEsESAThAAEAEAAUABUAFgAXABgAGQAaABsAHAAdAE0ATgDyAhkCGwMt",
-  "Roboto-Regular.ttf": "AAEAAAASAQAABAAgR0RFRtRX1FkAAg/sAAACREdQT1NKcuCzAAISMAAAUiRHU1VCw4aZEQACZFQAABfoT1MvMqCnsaYAAAGoAAAAYGNtYXBAmkl2AAAafAAAEshjdnQgJEEG5QAAL9wAAABMZnBnbWf0XKsAAC1EAAABvGdhc3AACAATAAIP4AAAAAxnbHlmHN2bBQAAOfAAAdM2aGRteDc4ERcAABWQAAAE7GhlYWT4RqsOAAABLAAAADZoaGVhCroKggAAAWQAAAAkaG10eOiEiIgAAAIIAAATiGxvY2HgyGepAAAwKAAACcZtYXhwBxIC+QAAAYgAAAAgbmFtZTVTY1kAAg0oAAACmHBvc3T/bQBkAAIPwAAAACBwcmVwdKCP7AAALwAAAADbAAEAAAACAACEKlnoXw889QAbCAAAAAAAxPARLgAAAADQ206a+hv91QkwCHMAAAAJAAIAAAAAAAAAAQAAB2z+DAAACUn6G/5KCTAAAQAAAAAAAAAAAAAAAAAABOIAAQAABOIAjwAWAFQABQABAAAAAAAOAAACAAIUAAYAAQADBIUBkAAFAAAFmgUzAAABHwWaBTMAAAPRAGYCAAAAAgAAAAAAAAAAAOAACv9QACF/AAAAIQAAAABHT09HAEAAAP/9BgD+AABmB5oCACAAAZ8AAAAABDoFsAAgACAAAgOMAGQAAAAAAAAAAAH7AAAB+wAAAg8AoAKPAIgE7QB3BH4AbgXcAGkE+QBlAWUAZwK8AIUCyAAmA3IAHASJAE4BkgAdAjUAJQIbAJADTAASBH4AcwR+AKoEfgBdBH4AXgR+ADUEfgCaBH4AhAR+AE0EfgBwBH4AZAHwAIYBsQApBBEASARkAJgELgCGA8cASwcvAGoFOAAcBPsAqQU1AHcFPwCpBIwAqQRsAKkFcwB6BbQAqQItALcEagA1BQQAqQROAKkG/ACpBbQAqQWAAHYFDACpBYAAbQTtAKgEvwBQBMYAMQUwAIwFFwAcBxkAPQUEADkEzgAPBMoAVgIfAJIDSAAoAh8ACQNYAEADnAAEAnkAOQRaAG0EfQCMBDAAXASDAF8EPQBdAscAPAR9AGAEaACMAfEAjQHp/78EDgCNAfEAnAcDAIsEagCMBJAAWwR9AIwEjABfArUAjAQgAF8CnQAJBGkAiAPgACEGAwArA/cAKQPJABYD9wBYArUAQAHzAK8CtQATBXEAgwHzAIsEYABpBKYAWwW0AGkE2AAfAesAkwToAFoDWABmBkkAWwOTAJMDwQBmBG4AfwZKAFoDqgB4Av0AggRGAGEC7wBCAu8APgKCAHsEiACaA+kAQwIWAJMB+wB0Au8AegOjAHoDwABmBdwAVQY1AFAGOQBvA8kARAd6//IERABZBYAAdgS6AKYEwgCLBsEATgSwAH4EkQBHBIgAWwScAJUFmgAdAfoAmwRzAJoETwAiAikAIgWLAKIEiACRB6EAaAdEAGEB/ACgBYcAXQK5/+QFfgBlBJIAWwWQAIwE8wCIAgP/tAQ3AGIDxACpA40AjAOrAHgDagCBAfEAjQKtAHkCKgAyA8YAewL8AF4CWgB+AAD8pwAA/W8AAPyLAAD9XgAA/CcB7/04Ag0AtwQLAHECFwCTBHMAsQWkAB8FcQBnBT4AMgSRAHgFtQCyBJEARQW7AE0FiQBaBVIAcQSFAGQEvQCgBAIALgSIAGAEUABjBCUAbQSIAJEEjgB6ApcAwwRuACUD7ABlBMQAKQSIAJEETQBlBIgAYAQsAFEEXQCPBaMAVwWaAF8GlwB6BKEAeQRC/9oGSABKBf8AKgVkAHsIkQAxCKQAsQaCAD4FtACwBQsAogYEADIHQwAbBL8AUAW0ALEFqQAvBQcATQYsAFMF2QCvBXoAlgeHALAHwACwBhIAEAbrALIFBQCjBWQAkwcnALcFGABZBGwAYQSSAJ0DWwCaBNQALgYgABUEEABYBJ4AnARSAJwEoAAsBe8AnQSdAJwEngCcA9gAKAXNAGQEvQCcBFkAZwZ4AJwGngCRBPcAHgY2AJ0EWACdBE0AZAaHAJ0EZAAvBGj/6ARNAGcGyQAnBuQAnASJ//0EngCcBwgAnAYrAIEEVv/cBysAtwX4AJkE0gAoBEYADwcLAMkGCwC8BtEAkwXhAJYJBAC2B9EAmwQjAFAD2wBMBXEAZwSLAFsFCgAWBAMALgVxAGcEiABbBwEAnAYkAH4HCACcBisAgQUyAHUERwBkBP0AdAAA/GcAAPxxAAD9ZgAA/aQAAPobAAD6LARW/9wFGwCoBIkAjARjAKIDkACRBNsAsQQFAJEFCQCjBH4AmgaMAEQFgwA+B88AqAW0AJEIMQCwBvQAkQXuAHEE0wBtBywANAVcAB8FbwCWBGoAgwVwAIoGLwA/BL3/3gUJAKMEWgCaBbIAsQSIAJEFhwBdBKgAaASoAGkEtwA6A0kAOwT2AFcGlABZBuQAZAZWADYFKwAxBEkAUgQHAHkHwQBEBnUAPwf7AKkGoQCQBPYAdgQdAGUFrQAjBSAARgVkAJYDIABvBBQAAAgpAAAEFAAACCkAAAK5AAACCgAAAVwAAAR/AAACMAAAAaIAAADRAAAAAAAAAjQAJQI0ACUFQACiBj8AkAOmAA0BmQBgAZkAMAGXACQBmQBPAtQAaALbADwCwQAkBGkARgSPAFcCsgCKA8QAlAVaAJQA9gAmB6oARAJmAGwCZgBZA6MAOwLvADYDYAB6BKYAWwZVAB8GkACnCHYAqAdjADkGKwCMBH4AXwXaAB8EIgAqBHQAIAVIAF0FTwAfBecAegPOAGgIOgCiBQEAZwUXAJgGJgBUBtcAZAbPAGMGagBZBI8AagWOAKkErwBFBJIAqATFAD8IOgBiAgz/sASCAGUEZACYBBEAPgQvAIUECAArAkwAtQKPAG4CAwBcBPMAPARuAB8EiwA8BtQAPAbUADwE7gA8BpsAXwAAAAAIMwBbCDUAXAQgADsEngBaAfz/tgGRAGcDpACDA54AgQOfAIED9ABpBA4AaQPz/14D7wBuA6QAgQH9AJ8EhQATBFAAigR8AGAEgACKA+YAigPLAIoErABjBOMAigHoAJcDzwArBFQAigO0AIoGAgCKBOMAigS7AGAEXACKBLsAWQRKAIoEIABDBCYAKAR8AHQEZwAUBhUAMQRUACYEKwANBCMARwLvAFAC7wB6Au8AQgLvAD4C7wA2Au8AWwLvAFYC7wA6Au8ATwLvAEkDlgCPArUAngQ6AB4EwwBkBUwAsQUkALIEEwCSBT0AsgQPAJIEIABDBDMAMAQ8ABYDrwCKBGcAFAS7AGAEZwAUA4kAPgTOAIoD7wA/BWcAYAUXAGAE8gB1BXIAJgR8AGAHQQAnB08AigV0ACgEzQCKBFkAigUkAC4GCwAfBD8ARwTsAIoETgCLBMEAJwQfACIFKACKBGoAPQZRAIoGrACKBR0ACAXxAIoETgCKBHsASwZ2AIoEhwBQBBEACwZHAB8EeQCLBQkAiwU3ACMFwgBgBF8ADQSoACYGYQAmBGoAPQRqAIoFwwACBMoAXgQ/AEcEuwBgBDMAMAPjAEIIIgCKBKsAKAR9AIwEMgBcBJMAWwSMAFsDeQBXBI0AjAScAFsEPQBdBH0AYAWBAH4FrgB+BZMAsgXgAH4F4wB+A9UAoASCAIMDrwCKBFgADwTPAD4C7wBQAu8ANgLvAFsC7wBWAu8AOgLvAE8C7wBJBGsAZQQuAEoGpABgBLkAggUAAHgCBv+0AgT/tAH7AJsB+//6AfsAmwH7AIYEUACKAfsAAAI1ACUFXQAlBV0AJQSGAAAExgAxAp3/9AU4ABwFOAAcBTgAHAU4ABwFOAAcBTgAHAU4ABwFNQB3BIwAqQSMAKkEjACpBIwAqQIt/+ACLQCwAi3/6QIt/9YFtACpBYAAdgWAAHYFgAB2BYAAdgWAAHYFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABcBD0AXQQ9AF0EPQBdBD0AXQH6/8YB+gCWAfr/zwH6/7wEagCMBJAAWwSQAFsEkABbBJAAWwSQAFsEaQCIBGkAiARpAIgEaQCIA8kAFgPJABYFOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FNQB3BDAAXAU1AHcEMABcBTUAdwQwAFwFNQB3BDAAXAU/AKkFGQBfBIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQVzAHoEfQBgBXMAegR9AGAFcwB6BH0AYAVzAHoEfQBgBbQAqQRoAIwCLf+3Afr/nQIt/7YB+v+cAi3/7AH6/9ICLQAYAfH/+wItAKoGlwC3A9oAjQRqADUCA/+0BQQAqQQOAI0ETgChAfEAkwROAKkB8QBXBE4AqQKHAJwETgCpAs0AnAW0AKkEagCMBbQAqQRqAIwFtACpBGoAjARq/7wFgAB2BJAAWwWAAHYEkABbBYAAdgSQAFsE7QCoArUAjATtAKgCtQBTBO0AqAK1AGMEvwBQBCAAXwS/AFAEIABfBL8AUAQgAF8EvwBQBCAAXwS/AFAEIABfBMYAMQKdAAkExgAxAp0ACQTGADECxQAJBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBTAAjARpAIgFMACMBGkAiAUwAIwEaQCIBxkAPQYDACsEzgAPA8kAFgTOAA8EygBWA/cAWATKAFYD9wBYBMoAVgP3AFgHev/yBsEATgWAAHYEiABbBID/vgSA/74EJgAoBIUAEwSFABMEhQATBIUAEwSFABMEhQATBIUAEwR8AGAD5gCKA+YAigPmAIoD5gCKAej/vgHoAI4B6P/HAej/tATjAIoEuwBgBLsAYAS7AGAEuwBgBLsAYAR8AHQEfAB0BHwAdAR8AHQEKwANBIUAEwSFABMEhQATBHwAYAR8AGAEfABgBHwAYASAAIoD5gCKA+YAigPmAIoD5gCKA+YAigSsAGMErABjBKwAYwSsAGME4wCKAej/lQHo/5QB6P/KAegABgHoAIkDzwArBFQAigO0AIIDtACKA7QAigO0AIoE4wCKBOMAigTjAIoEuwBgBLsAYAS7AGAESgCKBEoAigRKAIoEIABDBCAAQwQgAEMEIABDBCYAKAQmACgEJgAoBHwAdAR8AHQEfAB0BHwAdAR8AHQEfAB0BhUAMQQrAA0EKwANBCMARwQjAEcEIwBHBTgAHATw//AGGP/+ApEABAWU//oFMv94BWb//QKX/5sFOAAcBPsAqQSMAKkEygBWBbQAqQItALcFBACpBvwAqQW0AKkFgAB2BQwAqQTGADEEzgAPBQQAOQIt/9YEzgAPBIUAZARQAGMEiACRApcAwwRdAI8EcwCaBJAAWwSIAJoD4AAhA/cAKQKX/+YEXQCPBJAAWwRdAI8GlwB6BIwAqQRzALEEvwBQAi0AtwIt/9YEagA1BSQAsgUEAKkFBwBNBTgAHAT7AKkEcwCxBIwAqQW0ALEG/ACpBbQAqQWAAHYFtQCyBQwAqQU1AHcExgAxBQQAOQRaAG0EPQBdBJ4AnASQAFsEfQCMBDAAXAPJABYD9wApBD0AXQNbAJoEIABfAfEAjQH6/7wB6f+/BFIAnAPJABYHGQA9BgMAKwcZAD0GAwArBxkAPQYDACsEzgAPA8kAFgFlAGcCjwCIBB4AoAID/7QBmQAwBvwAqQcDAIsFOAAcBFoAbQSMAKkFtACxBD0AXQSeAJwFiQBaBZoAXwUKABYEA//7CFkAWwlJAHYEvwBQBBAAWAU1AHcEMABcBM4ADwQCAC4CLQC3B0MAGwYgABUCLQC3BTgAHARaAG0FOAAcBFoAbQd6//IGwQBOBIwAqQQ9AF0FhwBdBDcAYgQ3AGIHQwAbBiAAFQS/AFAEEABYBbQAsQSeAJwFtACxBJ4AnAWAAHYEkABbBXEAZwSLAFsFcQBnBIsAWwVkAJMETQBkBQcATQPJABYFBwBNA8kAFgUHAE0DyQAWBXoAlgRZAGcG6wCyBjYAnQUEADkD9wApBIMAXwWpAC8EoAAsBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARa/8oFOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBTgAHARaAG0FOAAcBFoAbQU4ABwEWgBtBIwAqQQ9AF0EjACpBD0AXQSMAKkEPQBdBIwAqQQ9AF0EjP/wBD3/ugSMAKkEPQBdBIwAqQQ9AF0EjACpBD0AXQItALcB+gCbAi0AowHxAIUFgAB2BJAAWwWAAHYEkABbBYAAdgSQAFsFgABHBJD/xAWAAHYEkABbBYAAdgSQAFsFgAB2BJAAWwV+AGUEkgBbBX4AZQSSAFsFfgBlBJIAWwV+AGUEkgBbBX4AZQSSAFsFMACMBGkAiAUwAIwEaQCIBZAAjATzAIgFkACMBPMAiAWQAIwE8wCIBZAAjATzAIgFkACMBPMAiATOAA8DyQAWBM4ADwPJABYEzgAPA8kAFgShAF8EoQBfBSQAsgRSAJwFtACpBJ0AnATGADED2AAoBQQAOQP3ACkFegCWBFkAZwV6AJYEWQBnBHMAsQNbAJoHQwAbBiAAFQYvAD8Evf/eBGgAjAUF/9QFBf/UBHMAAwNb//wFOAALBCf/0wW0ALEEngCcBbQAqQSdAJwG/ACpBe8AnQWpAC8EoAAsBM4ADwQCAC4FBAA5A/cAKQRQAGMEbAASBj8AkAR+AF0EfgBeBH4ANQR+AJoEkgBkBKYAhwVzAHoEfQBgBbQAqQRqAIwFOAAcBFoAOQSMAF8EPQApAi3/CgH6/vAFgAB2BJAAMwTtAFUCtf+LBTAAjARpACsEpv86BPsAqQR9AIwFPwCpBIMAXwU/AKkEgwBfBbQAqQRoAIwFBACpBA4AjQUEAKkEDgCNBE4AqQHxAIYG/ACpBwMAiwW0AKkEagCMBQwAqQR9AIwE7QCoArUAggS/AFAEIABfBMYAMQKdAAkFFwAcA+AAIQUXABwD4AAhBxkAPQYDACsEygBWA/cAWAXG/ngEhQATBCL/nwUf/7wCJP/ABMX/3wRn/1cE/P/4BIUAEwRQAIoD5gCKBCMARwTjAIoB6ACXBFQAigYCAIoEuwBgBFwAigQmACgEKwANBFQAJgHo/7QEKwANA+YAigOvAIoEIABDAegAlwHo/7QDzwArBFQAigQfACIEhQATBFAAigOvAIoD5gCKBOwAigYCAIoE4wCKBLsAYATOAIoEXACKBHwAYAQmACgEVAAmBD8ARwTjAIoEfABgBCsADQXDAAIE7ACKBB8AIgVnAGAFOAAcBFoAbQSMAKkEPQBdAAAAAQAABOQJCgQAAAICAgMGBQcGAgMDBAUCAgIEBQUFBQUFBQUFBQICBQUFBAgGBgYGBQUGBgIFBgUIBgYGBgYFBQYGCAYFBQIEAgQEAwUFBQUFAwUFAgIFAggFBQUFAwUDBQQHBAQEAwIDBgIFBQYFAgYEBwQEBQcEAwUDAwMFBAICAwQEBwcHBAgFBgUFCAUFBQUGAgUFAgYFCQgCBgMGBQYGAgUEBAQEAgMCBAMDAAAAAAACAgUCBQYGBgUGBQYGBgUFBQUFBQUFAwUEBQUFBQUFBgYHBQUHBwYKCgcGBgcIBQYGBgcHBggJBwgGBggGBQUEBQcFBQUFBwUFBAcFBQcHBgcFBQcFBQUICAUFCAcFCAcFBQgHCAcKCQUEBgUGBQYFCAcIBwYFBgAAAAAAAAUGBQUEBQUGBQcGCQYJCAcFCAYGBQYHBQYFBgUGBQUFBAYHCAcGBQUJBwkHBgUGBgYEBQkFCQMCAgUCAgEAAgIGBwQCAgICAwMDBQUDBAYBCQMDBAMEBQcHCggHBQcFBQYGBwQJBgYHCAgHBQYFBQUJAgUFBQUFAwMCBgUFCAgGBwAJCQUFAgIEBAQEBQQEBAIFBQUFBAQFBgIEBQQHBgUFBQUFBQUFBwUFBQMDAwMDAwMDAwMEAwUFBgYFBgUFBQUEBQUFBAUEBgYGBgUICAYFBQYHBQYFBQUGBQcIBgcFBQcFBQcFBgYGBQUHBQUGBQUFBQQJBQUFBQUEBQUFBQYGBgcHBAUEBQUDAwMDAwMDBQUHBQYCAgICAgIFAgIGBgUFAwYGBgYGBgYGBQUFBQICAgIGBgYGBgYGBgYGBQUFBQUFBQUFBQUFBQICAgIFBQUFBQUFBQUFBAQGBQYFBgUGBQYFBgUGBQYGBQUFBQUFBQUFBQYFBgUGBQYFBgUCAgICAgICAgIHBAUCBgUFAgUCBQMFAwYFBgUGBQUGBQYFBgUGAwYDBgMFBQUFBQUFBQUFBQMFAwUDBgUGBQYFBgUGBQYFCAcFBAUFBAUEBQQICAYFBQUFBQUF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sRCxUrG2sc2x5LH7shKyK7JEslCyXLJzsoqyobK6stGy6LL/sxizL7NGs12zdLOLs6Szu7PSs+m0ArQZtDC0R7RdtHO0jLSltLG0vbTUtOu1AbUatTC1RrVdtXa1jLWjtbq10LXmtf+2FrYttkO2XLZztou2ora4ts+25rdJt9+39rgNuCS4OrhRuGi4f7iVuKy43bj0uQq5Ibk4uU+5ZrnOulK6abp/upa6rLrDutq68bsIuxS7K7tCu1S7a7uCu5m7sLvHu9676bv0vAu8F7wjvDq8UbxdvGm8gLyXvKO8r7zEvPm9Bb0RvSi9P71LvVe9br2EvZS9q73Bvdi9774IviG+OL5Pvlu+Z75+vpS+q77Cvtm+7777vwe/E78fvza/TL9Yv2S/cL98v5O/n7+2v8y/47/5wBDAJ8BAwFnAcsCLwOjBTsFlwXzBk8GpwcLB2cHwwgfCHsI1wkvCYsJ5wpDCp8LKwvLDBcMcwzPDScNfw3jDkcOdw6nDwMPXw+3EBcQbxDHESMRhxHjEj8SmxL3E1MTtxQTFG8UxxUrFYcV3xY7F8cYIxh7GNcZMxmLGeMaOxqXHDsckxzrHUcdox3THi8eix7nH0Mfbx/HICMgUyCrINshLyFfIbsh6yJHIqMi/yNjI78j7yRHJKMk+yUrJYMlsyYLJjsmkybrJ0cnqygPKX8p2yozKpMq7ytLK6Mrzyv/LC8sXyyPLL8s7y1fLX8tny2/Ld8t/y4fLj8uXy5/Lp8uvy7fLv8vHy+DL+cwQzCfMPsxUzG/Md8x/zIfMj8yXzK/Mx8zezPXNDM0lzTzNp82vzcjN0M3Yze/OBs4OzhbOHs4mzj3ORc5NzlXOXc5lzm3Odc59zoXOjc6kzqzOtM8Hzw/PF88wz0fPT89Xz3DPeM+Pz6XPvM/Tz+rQAdAa0DPQStBh0GnQcdB90JTQnNCz0MrQ1tDi0PnRENEn0T7RRtFO0WfRgNGM0ZjRpNGw0bzRyNHQ0djR4NH30g7SFtIt0kTSW9J00nzShNKb0rLSy9LT0uzTBdMe0zfTT9Nm03zTldOu08fT4NPo0/DUCdQi1DvUU9Rq1IDUmdSx1MrU49T81RTVMdVO1VrVZtVu1XrVhtWS1Z7VtdXM1eXV/dYW1i7WR9Zf1njWkNar1sXW3tb31xDXKddC11vXdNeN16jXw9fP19vX8tgJ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AAUAJABIAAEA3gAIACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAkgCwALEAsgCzALQAtQC2ALcAuAC5ANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoASwBMAEyATgBOgE8AT4BPwFFAUYBfwGFAYoBjQJHAkgCSgJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwJkAmUCZgKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsgK0ArYCuAK6ArwCvgLAAsICxQLHAskCywLNAs8C0QLTAtUC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLyAvQC9gNTA1QDVQNWA1cDWANZA1sDXANdA14DXwNgA2EDYgNkA2UDZgNnA2gDaQNqA3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DuwO9A78D1APaA+AESQRLBE8EVwRZBF4EagACAAAABAAOD84V8jViAAEDVAAEAAABpQrSCtIGggtwCoAK/g+aDAAGiA7uDu4MRg6gCiIO7g7uD5oKigaSDGYMRgrYCqwNUg8QCl4L4gsQDBYGmA22DbYNtgwgCxAKUAxMDbAMTAsQBqYN5gtwD5oLcAasBrIGvAbCBsgMTAbOBtgNtgb+BxQHKgcwB0YHTAdSB4QHigeQDcANwAe+Du4H4AgCDVIIMA7uDu4LJg7uDu4IRg3ADcAIeAiCCIwIpg1ICLgNsAjSCOgLEAkyCUwJaAloCxAJYgloCWgJaAtwDCAK2AxMCxAN5g1IDqAOoA1ICtIK0grSCtIK0gmKCbAJugnECeIJ9AoGChgK/g+aD5oPmg+aDGYLcAtwC3ALcAtwC3ALcAr+DAAMAAwADAAO7g7uDu4O7g7uD5oPmg+aD5oPmgxGDEYMRgxGDxAL4gviC+IL4gviC+IL4gwWDBYMFgwWDbYMIAwgDCAMIAwgDEwMTAtwC+ILcAviC3AL4gr+Cv4K/gr+D5oMAAwWDAAMFgwADBYMAAwWDAAMFg7uDbYO7g7uDu4O7g7uDEYOoAoiCiIKIgoiDu4Ntg7uDbYO7g22DbYPmgwgD5oMIA+aDCAKUApQClAMZgxmDGYMRgxGDEYMRgxGDEYKrA8QDEwPEApeCl4KXgtwDAAO7g7uD5oPEAtwCoAMAApeDu4O7g6gDu4O7g+aCooMZg8QDVIO7g8QDbYMIAxMDCAMAA3mDu4O7gxGDqAOoAsmC3AKgA3mDAAO7g7uD5oKigr+DGYNUgviDBYMIAsQDEwNsAwWDUgMTAqsCqwKrA8QDEwK0grSCtIO7g22C3AL4gwADBYK2AxMCv4PEAxMDu4NUg2wDu4LcAviC3AL4gwADBYMFgwWDVINsA+aDCAMIAsQCyYMTAsmDEwLJgxMDVINsAtwC+ILcAviC3AL4gtwC+ILcAviC3AL4gtwC+ILcAviC3AL4gtwC+ILcAviC3AL4gwADBYMAAwWDAAMFgwADBYMAAwWDAAMFgwADBYMAAwWDu4O7g+aDCAPmgwgD5oMIA+aDCAPmgwgD5oMIA+aDCAMIAxGDEYPEAxMDxAMTA8QDEwOoA7uDGYNUg2wDeYNSA1SDbANtg3ADeYOoA7uDu4PEA+aAAIAhwAGAAYAAAALAAsAAQATABMAAgAlACoAAwAsADUACQA4AD4AEwBFAEYAGgBJAEoAHABMAEwAHgBRAFQAHwBWAFYAIwBaAFoAJABcAF0AJQCKAIoAJwCcAJwAKACwALQAKQC2ALgALgC6ALoAMQC8AL0AMgC/AMAANADCAMQANgDGAMsAOQDRANEAPwDTAN0AQADfAN8ASwDhAOMATADlAOcATwDpAO0AUgDwAPAAVwD1APcAWAD6APsAWwD9AP8AXQEDAQQAYAEJAQkAYgEMAQwAYwEXARkAZAErAS0AZwEwATAAagEyATIAawFJAUkAbAFsAW0AbQFvAXEAbwG6AboAcgG9Ab0AcwHEAcUAdAHIAcgAdgHKAcsAdwHNAc0AeQIoAigAegIqAisAewJHAkgAfQJKAkoAfwJMAm0AgAJvAnIAogJ3AnwApgKBAokArAKLAosAtQKNAo0AtgKPAo8AtwKRApEAuAKTApwAuQKlAqcAwwKpAqkAxgKrAqsAxwKtAq0AyAKvAq8AyQKyArIAygK0ArQAywK2ArYAzAK4ArgAzQK6AroAzgK8ArwAzwK+AsoA0ALMAswA3QLOAs4A3gLQAtAA3wLbAtsA4ALdAt0A4QLfAt8A4gLh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BB7/6wQg/+sEIv/rBCT/6wQm/+sEKP/rBCr/6wQs/+sELv/rBDD/6wQy/+sENP/qBDb/6gQ4/+oEOv/qBDz/6gQ+/+oEQP/qBEL/6ARE/+gERv/oBE0AFAAfADj/1QA6/+QAO//sAD3/3QDR/9UA1f/VARj/5AEy/9UBOv/VAmb/3QLb/9UC3f/VAt//1QLt/+wC7//dAvH/3QNY/90DZ//dA2r/3QOO/9UDoP/sA6L/7AOk/+wDpv/dA7f/5AO//90EQf/dBEP/3QRF/90ETf/VBGr/3QAaADj/sAA6/+0APf/QANH/sADV/7ABGP/tATL/sAE6/7ACZv/QAtv/sALd/7AC3/+wAu//0ALx/9ADWP/QA2f/0ANq/9ADjv+wA6b/0AO3/+0Dv//QBEH/0ARD/9AERf/QBE3/sARq/9AAEAAu/+4AOf/uAmL/7gJj/+4CZP/uAmX/7gKy/+4C4f/uAuP/7gLl/+4C5//uAun/7gLr/+4Df//uBDP/7gQ1/+4ARwAGABAACwAQAEf/6ABI/+gASf/oAEv/6ABV/+gAk//oAJj/6AC6/+gAx//oAMj/6AD2/+gBAv/oAR3/6AEh/+gBOf/oAUv/6AFM/+gBVv/oAWwAEAFtABABbwAQAXAAEAFxABACbv/oAm//6AJw/+gCcf/oAnL/6AKK/+gCjP/oAo7/6AKQ/+gCkv/oApT/6AKW/+gCmP/oApr/6AKc/+gCnv/oAqD/6AKi/+gCpP/oA2v/6AOR/+gDlf/oA5j/6AOoABADqQAQA6wAEAOz/+gDuf/oA77/6APM/+gDzv/oA8//6APb/+gD7P/oBAj/6AQK/+gEDP/oBA7/6AQQ/+gEEv/oBBT/6AQW/+gEKv/oBCz/6AQu/+gEMv/oAAEAVgAEAAAAJgCmAZwB+gIUAlYCzAPCBLgFkgYsCMYKjAteDFQOGg5MDn4O/BDiEVgSKhRMFQIWaBciF6gYBhjIGT4ewBlQGqIc4B0CHhgelh7AHuoAAQAmAE8AWABbAF8AnAC0ALYAtwC4AL8AwgDDAMQAyQDLAMwAzQDRANUA1wDYANoA4gDmAOcA6ADpAOoA7ADuAPAA9QD3APoA/wECASEBbQA9AEf/7ABI/+wASf/sAEv/7ABV/+wAk//sAJj/7AC6/+wAx//sAMj/7AD2/+wBAv/sAR3/7AEh/+wBOf/sAUv/7AFM/+wBVv/sAm7/7AJv/+wCcP/sAnH/7AJy/+wCiv/sAoz/7AKO/+wCkP/sApL/7AKU/+wClv/sApj/7AKa/+wCnP/sAp7/7AKg/+wCov/sAqT/7ANr/+wDkf/sA5X/7AOY/+wDs//sA7n/7AO+/+wDzP/sA87/7APP/+wD2//sA+z/7AQI/+wECv/sBAz/7AQO/+wEEP/sBBL/7AQU/+wEFv/sBCr/7AQs/+wELv/sBDL/7AAXAFP/7AEX/+wCeP/sAnn/7AJ6/+wCe//sAnz/7ALG/+wCyP/sAsr/7ANx/+wDd//sA5P/7APZ/+wD3f/sBBz/7AQe/+wEIP/sBCL/7AQk/+wEJv/sBCj/7AQw/+wABgAQ/4QAEv+EAW7/hAFy/4QBdv+EAXf/hAAQAC7/7AA5/+wCYv/sAmP/7AJk/+wCZf/sArL/7ALh/+wC4//sAuX/7ALn/+wC6f/sAuv/7AN//+wEM//sBDX/7AAdAAb/8gAL//IAWv/zAF3/8wC8//MBGf/zAWz/8gFt//IBb//yAXD/8gFx//ICgf/zAoL/8wLw//MDc//zA5b/8wOf//MDp//zA6j/8gOp//IDrP/yA7j/8wPA//MD4f/zA+P/8wPl//MEQv/zBET/8wRG//MAPQAn//MAK//zADP/8wA1//MAg//zAJL/8wCX//MAsv/zANL/8wEH//MBFv/zARr/8wEc//MBHv/zASD/8wE4//MBVf/zAij/8wIp//MCK//zAiz/8wJT//MCXf/zAl7/8wJf//MCYP/zAmH/8wKJ//MCi//zAo3/8wKP//MCnf/zAp//8wKh//MCo//zAsX/8wLH//MCyf/zAvr/8wNX//MDZP/zA4r/8wON//MDuv/zA73/8wPY//MD2v/zA9z/8wQb//MEHf/zBB//8wQh//MEI//zBCX/8wQn//MEKf/zBCv/8wQt//MEL//zBDH/8wSq//MAPQAn/+YAK//mADP/5gA1/+YAg//mAJL/5gCX/+YAsv/mANL/5gEH/+YBFv/mARr/5gEc/+YBHv/mASD/5gE4/+YBVf/mAij/5gIp/+YCK//mAiz/5gJT/+YCXf/mAl7/5gJf/+YCYP/mAmH/5gKJ/+YCi//mAo3/5gKP/+YCnf/mAp//5gKh/+YCo//mAsX/5gLH/+YCyf/mAvr/5gNX/+YDZP/mA4r/5gON/+YDuv/mA73/5gPY/+YD2v/mA9z/5gQb/+YEHf/mBB//5gQh/+YEI//mBCX/5gQn/+YEKf/mBCv/5gQt/+YEL//mBDH/5gSq/+YANgAl/+QAPP/SAD3/0wCx/+QAs//kANn/0gEM/+QCTP/kAk3/5AJO/+QCT//kAlD/5AJR/+QCUv/kAmb/0wKD/+QChf/kAof/5ALv/9MC8f/TA1P/5ANY/9MDW//kA2f/0wNo/9IDav/TA4P/5AOP/9IDpv/TA6//5AO//9MDwv/SA8X/5APH/+QD0P/SA+r/0gPv/+QD8f/kA/P/5AP1/+QD9//kA/n/5AP7/+QD/f/kA///5AQB/+QEA//kBAX/5ARB/9MEQ//TBEX/0wRP/9IEV//SBGr/0wAmABD/HgAS/x4AJf/NALH/zQCz/80BDP/NAW7/HgFy/x4Bdv8eAXf/HgJM/80CTf/NAk7/zQJP/80CUP/NAlH/zQJS/80Cg//NAoX/zQKH/80DU//NA1v/zQOD/80Dr//NA8X/zQPH/80D7//NA/H/zQPz/80D9f/NA/f/zQP5/80D+//NA/3/zQP//80EAf/NBAP/zQQF/80ApgBH/9wASP/cAEn/3ABL/9wAUf/zAFL/8wBT/9YAVP/zAFX/3ABZ/90AWv/hAF3/4QCT/9wAmP/cAJr/3QC6/9wAvP/hAMD/8wDH/9wAyP/cAMr/3QDr//MA7//zAPD/8wDy//MA8//zAPT/8wD2/9wA9//zAPn/8wD6//MA/f/zAP//8wEC/9wBBP/zARf/1gEZ/+EBHf/cASH/3AE1//MBOf/cAUT/8wFJ//MBS//cAUz/3AFW/9wCbv/cAm//3AJw/9wCcf/cAnL/3AJ3//MCeP/WAnn/1gJ6/9YCe//WAnz/1gJ9/90Cfv/dAn//3QKA/90Cgf/hAoL/4QKK/9wCjP/cAo7/3AKQ/9wCkv/cApT/3AKW/9wCmP/cApr/3AKc/9wCnv/cAqD/3AKi/9wCpP/cAr//8wLB//MCw//zAsT/8wLG/9YCyP/WAsr/1gLi/90C5P/dAub/3QLo/90C6v/dAuz/3QLw/+EDa//cA23/8wNv/90Dcf/WA3P/4QN2/90Dd//WA3j/3QOR/9wDkv/zA5P/1gOU//MDlf/cA5b/4QOY/9wDmf/zA57/8wOf/+EDp//hA67/8wOz/9wDtP/zA7j/4QO5/9wDvv/cA8D/4QPM/9wDzv/cA8//3APV//MD1//zA9n/1gPb/9wD3f/WA+H/4QPj/+ED5f/hA+n/8wPs/9wECP/cBAr/3AQM/9wEDv/cBBD/3AQS/9wEFP/cBBb/3AQc/9YEHv/WBCD/1gQi/9YEJP/WBCb/1gQo/9YEKv/cBCz/3AQu/9wEMP/WBDL/3AQ0/90ENv/dBDj/3QQ6/90EPP/dBD7/3QRA/90EQv/hBET/4QRG/+EESv/zBEz/8wRW//MEY//zBGX/8wRn//MAcQAG/9oAC//aAEf/8ABI//AASf/wAEv/8ABV//AAWf/vAFr/3ABd/9wAk//wAJj/8ACa/+8Auv/wALz/3ADH//AAyP/wAMr/7wD2//ABAv/wARn/3AEd//ABIf/wATn/8AFL//ABTP/wAVb/8AFs/9oBbf/aAW//2gFw/9oBcf/aAm7/8AJv//ACcP/wAnH/8AJy//ACff/vAn7/7wJ//+8CgP/vAoH/3AKC/9wCiv/wAoz/8AKO//ACkP/wApL/8AKU//AClv/wApj/8AKa//ACnP/wAp7/8AKg//ACov/wAqT/8ALi/+8C5P/vAub/7wLo/+8C6v/vAuz/7wLw/9wDa//wA2//7wNz/9wDdv/vA3j/7wOR//ADlf/wA5b/3AOY//ADn//cA6f/3AOo/9oDqf/aA6z/2gOz//ADuP/cA7n/8AO+//ADwP/cA8z/8APO//ADz//wA9v/8APh/9wD4//cA+X/3APs//AECP/wBAr/8AQM//AEDv/wBBD/8AQS//AEFP/wBBb/8AQq//AELP/wBC7/8AQy//AENP/vBDb/7wQ4/+8EOv/vBDz/7wQ+/+8EQP/vBEL/3ARE/9wERv/cADQABv+gAAv/oABZ//EAWv/FAF3/xQCa//EAvP/FAMr/8QEZ/8UBbP+gAW3/oAFv/6ABcP+gAXH/oAJ9//ECfv/xAn//8QKA//ECgf/FAoL/xQLi//EC5P/xAub/8QLo//EC6v/xAuz/8QLw/8UDb//xA3P/xQN2//EDeP/xA5b/xQOf/8UDp//FA6j/oAOp/6ADrP+gA7j/xQPA/8UD4f/FA+P/xQPl/8UENP/xBDb/8QQ4//EEOv/xBDz/8QQ+//EEQP/xBEL/xQRE/8UERv/FAD0AR//nAEj/5wBJ/+cAS//nAFX/5wCT/+cAmP/nALr/5wDH/+cAyP/nAPb/5wEC/+cBHf/nASH/5wE5/+cBS//nAUz/5wFW/+cCbv/nAm//5wJw/+cCcf/nAnL/5wKK/+cCjP/nAo7/5wKQ/+cCkv/nApT/5wKW/+cCmP/nApr/5wKc/+cCnv/nAqD/5wKi/+cCpP/nA2v/5wOR/+cDlf/nA5j/5wOz/+cDuf/nA77/5wPM/+cDzv/nA8//5wPb/+cD7P/nBAj/5wQK/+cEDP/nBA7/5wQQ/+cEEv/nBBT/5wQW/+cEKv/nBCz/5wQu/+cEMv/nAHEABgAMAAsADABH/+gASP/oAEn/6ABL/+gAU//qAFX/6ABaAAsAXQALAJP/6ACY/+gAuv/oALwACwDH/+gAyP/oAPb/6AEC/+gBF//qARkACwEd/+gBIf/oATn/6AFL/+gBTP/oAVb/6AFsAAwBbQAMAW8ADAFwAAwBcQAMAm7/6AJv/+gCcP/oAnH/6AJy/+gCeP/qAnn/6gJ6/+oCe//qAnz/6gKBAAsCggALAor/6AKM/+gCjv/oApD/6AKS/+gClP/oApb/6AKY/+gCmv/oApz/6AKe/+gCoP/oAqL/6AKk/+gCxv/qAsj/6gLK/+oC8AALA2v/6ANx/+oDcwALA3f/6gOR/+gDk//qA5X/6AOWAAsDmP/oA58ACwOnAAsDqAAMA6kADAOsAAwDs//oA7gACwO5/+gDvv/oA8AACwPM/+gDzv/oA8//6APZ/+oD2//oA93/6gPhAAsD4wALA+UACwPs/+gECP/oBAr/6AQM/+gEDv/oBBD/6AQS/+gEFP/oBBb/6AQc/+oEHv/qBCD/6gQi/+oEJP/qBCb/6gQo/+oEKv/oBCz/6AQu/+gEMP/qBDL/6ARCAAsERAALBEYACwAMAFz/7QBe/+0A7f/tAvP/7QL1/+0C9//tA5f/7QPD/+0D0f/tA+v/7QRQ/+0EWP/tAAwAXP/yAF7/8gDt//IC8//yAvX/8gL3//IDl//yA8P/8gPR//ID6//yBFD/8gRY//IAHwBa//QAXP/yAF3/9ABe//MAvP/0AO3/8gEZ//QCgf/0AoL/9ALw//QC8//zAvX/8wL3//MDc//0A5b/9AOX//IDn//0A6f/9AO4//QDwP/0A8P/8gPR//ID4f/0A+P/9APl//QD6//yBEL/9ARE//QERv/0BFD/8gRY//IAeQAG/8oAC//KADj/0gA6/9QAPP/0AD3/0wBR/9EAUv/RAFT/0QBa/+YAXP/vAF3/5gC8/+YAwP/RANH/0gDV/9IA2f/0AN3/7QDg/+EA6//RAO3/7wDv/9EA8P/RAPL/0QDz/9EA9P/RAPf/0QD5/9EA+v/RAP3/0QD//9EBBP/RARj/1AEZ/+YBMv/SATX/0QE6/9IBRP/RAUn/0QFs/8oBbf/KAW//ygFw/8oBcf/KAmb/0wJ3/9ECgf/mAoL/5gK//9ECwf/RAsP/0QLE/9EC2//SAt3/0gLf/9IC7//TAvD/5gLx/9MDWP/TA2f/0wNo//QDav/TA23/0QNz/+YDgv/tA47/0gOP//QDkv/RA5T/0QOW/+YDl//vA5n/0QOe/9EDn//mA6b/0wOn/+YDqP/KA6n/ygOs/8oDrv/RA7T/0QO3/9QDuP/mA7//0wPA/+YDwv/0A8P/7wPQ//QD0f/vA9X/0QPX/9ED4P/tA+H/5gPi/+0D4//mA+T/7QPl/+YD5v/hA+n/0QPq//QD6//vBEH/0wRC/+YEQ//TBET/5gRF/9MERv/mBEr/0QRM/9EETf/SBE//9ARQ/+8EUf/hBFP/4QRW/9EEV//0BFj/7wRj/9EEZf/RBGf/0QRq/9MAHQA4/74AWv/vAF3/7wC8/+8A0f++ANX/vgEZ/+8BMv++ATr/vgKB/+8Cgv/vAtv/vgLd/74C3/++AvD/7wNz/+8Djv++A5b/7wOf/+8Dp//vA7j/7wPA/+8D4f/vA+P/7wPl/+8EQv/vBET/7wRG/+8ETf++ADQAOP/mADr/5wA8//IAPf/nAFz/8QDR/+YA1f/mANn/8gDd/+4A4P/oAO3/8QEY/+cBMv/mATr/5gJm/+cC2//mAt3/5gLf/+YC7//nAvH/5wNY/+cDZ//nA2j/8gNq/+cDgv/uA47/5gOP//IDl//xA6b/5wO3/+cDv//nA8L/8gPD//ED0P/yA9H/8QPg/+4D4v/uA+T/7gPm/+gD6v/yA+v/8QRB/+cEQ//nBEX/5wRN/+YET//yBFD/8QRR/+gEU//oBFf/8gRY//EEav/nAIgAJQAQACf/6AAr/+gAM//oADX/6AA4/+AAOv/gAD3/3wCD/+gAkv/oAJf/6ACxABAAsv/oALMAEADR/+AA0v/oANMAEADV/+AA3AAQAOD/4QDxABAA+P/gAQMAEAEH/+gBDAAQARb/6AEY/+ABGv/oARz/6AEe/+gBIP/oATL/4AE4/+gBOv/gAVEAEAFV/+gCKP/oAin/6AIr/+gCLP/oAkwAEAJNABACTgAQAk8AEAJQABACUQAQAlIAEAJT/+gCXf/oAl7/6AJf/+gCYP/oAmH/6AJm/98CgwAQAoUAEAKHABACif/oAov/6AKN/+gCj//oAp3/6AKf/+gCof/oAqP/6ALF/+gCx//oAsn/6ALb/+AC3f/gAt//4ALv/98C8f/fAvr/6ANTABADV//oA1j/3wNbABADZP/oA2f/3wNq/98DgwAQA4r/6AON/+gDjv/gA6b/3wOvABADt//gA7r/6AO9/+gDv//fA8UAEAPHABAD2P/oA9r/6APc/+gD5v/hA+f/4APtABAD7gAQA+8AEAPxABAD8wAQA/UAEAP3ABAD+QAQA/sAEAP9ABAD/wAQBAEAEAQDABAEBQAQBBv/6AQd/+gEH//oBCH/6AQj/+gEJf/oBCf/6AQp/+gEK//oBC3/6AQv/+gEMf/oBEH/3wRD/98ERf/fBE3/4ARR/+EEUv/gBFP/4QRU/+AEaAAQBGkAEARq/98Eqv/oAC0AOP/xADr/9AA8//QAPf/wANH/8QDT//UA1f/xANn/9ADc//UA3f/zARj/9AEy//EBOv/xAVH/9QJm//AC2//xAt3/8QLf//EC7//wAvH/8ANY//ADZ//wA2j/9ANq//ADgv/zA47/8QOP//QDpv/wA7f/9AO///ADwv/0A9D/9APg//MD4v/zA+T/8wPq//QD7f/1BEH/8ARD//AERf/wBE3/8QRP//QEV//0BGj/9QRq//AAWQAlAA8AOP/mADr/5gA8AA4APf/mALEADwCzAA8A0f/mANMADgDV/+YA2QAOANwADgDdAAsA4P/lAPEADwD4/+gBAwAPAQwADwEY/+YBMv/mATr/5gFRAA4CTAAPAk0ADwJOAA8CTwAPAlAADwJRAA8CUgAPAmb/5gKDAA8ChQAPAocADwLb/+YC3f/mAt//5gLv/+YC8f/mA1MADwNY/+YDWwAPA2f/5gNoAA4Dav/mA4IACwODAA8Djv/mA48ADgOm/+YDrwAPA7f/5gO//+YDwgAOA8UADwPHAA8D0AAOA+AACwPiAAsD5AALA+b/5QPn/+gD6gAO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ABADogOiABADpAOkABADpgOmAA8DpwOnABkDqAOpAB0DrAOsAB0DrQOtAAIDrgOuABcDsAOwABMDsQOxAAUDswOzABYDtwO3AA0DuAO4ABkDvQO9AAQDvgO+ABQDvwO/AA8DwAPAABkDwQPBAAIDwgPCAA4DwwPDABsDxAPEAAIDxgPGABMDyAPIABMDywPLAAUDzAPMABYDzgPPABYD0APQAA4D0QPRABsD2APYAAMD2QPZABgD3QPdABgD3wPfABUD4APgABID4QPhABkD4gPiABID4wPjABkD5APkABID5QPlABkD6gPqAA4D6wPrABsD8APwABMD8gPyABMD9AP0ABMD9gP2ABMD+AP4ABMD+gP6ABMD/AP8ABMD/gP+ABMEAAQAABMEAgQCABMEBAQEABMEBgQGABMEBwQHAAUECAQIABYECQQJAAUECgQKABYECwQLAAUEDAQMABYEDQQNAAUEDgQOABYEDwQPAAUEEAQQABYEEQQRAAUEEgQSABYEEwQTAAUEFAQUABYEFQQVAAUEFgQWABYEFwQXAAIEGQQZAAIEGwQbAAMEHAQcABgEHQQdAAMEHgQeABgEHwQfAAMEIAQgABgEIQQhAAMEIgQiABgEIwQjAAMEJAQkABgEJQQlAAMEJgQmABgEJwQnAAMEKAQoABgEMAQwABgEMwQzAAwENQQ1AAwEQQRBAA8EQgRCABkEQwRDAA8ERAREABkERQRFAA8ERgRGABkESQRJAAkESwRLAAIETQRNAAYETwRPAA4EUARQABsEVQRVAAcEVgRWAAgEVwRXAA4EWARYABsEWwRbABcEXQRdAB8EXgReAAcEYARgAAkEZARkAAIEZgRmAAIEagRqAA8EqgSqAAMAAgFtAAYABgAHAAsACwAHABAAEAATABEAEQAXABIAEgATACUAJQARACcAJwAFACsAKwAFAC4ALgAcADMAMwAFADUANQAFADcANwAZADgAOAAKADkAOQAGADoAOgANADsAOwAJADwAPAASAD0APQAOAD4APgAUAEUARQAaAEcASQAVAEsASwAVAFEAUgAYAFMAUwAIAFQAVAAYAFUAVQAVAFcAVwAbAFkAWQALAFoAWgACAFwAXAAWAF0AXQACAF4AXgAMAIMAgwAFAJIAkgAFAJMAkwAVAJcAlwAFAJgAmAAVAJoAmgALALEAsQAR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b20EbGRub20EbGRub20EbGZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmZyYWMEcmxpZ2EEfGxpZ2EEhGxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxudW0EimxvY2wEkGxvY2wElmxvY2wEnG51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom51bXIEom9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqG9udW0EqHBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnBudW0ErnNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNtY3AEtHNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDEEunNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDIEwHNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDMExnNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDQEzHNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDUE0nNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDYE2HNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nNzMDcE3nRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5HRudW0E5AAAAAEAAAAAAAIAAgADAAAAAQAHAAAAAQAYAAAAAwAVABYAFwAAAAIACAAJAAAAAQAJAAAAAQAUAAAAAQAEAAAAAQAGAAAAAQAFAAAAAQAZAAAAAQARAAAAAQATAAAAAQABAAAAAQAKAAAAAQALAAAAAQAMAAAAAQANAAAAAQAOAAAAAQAPAAAAAQAQAAAAAQASABsAOAPGBrQHYA3wDfAOBg4oDl4OhA6yDsYO2g7uDwAPGg9cD3oPmA/KD/wQLhBCEHoQbBB6EKYAAQAAAAEACAACAcQA3wHnAboBuwG8Ab0BvgG/AcABwQHCAcMBxAHFAcYBxwHIAckBygHLAcwBzQHOAc8B0AHRAdIB0wHoAekCRAI7AeoB6wHsAe0B7gHvAfAB8QHyAfMB9AH1AfYB9wH4AfkB+gH7AfwB/QH+AgACAQTdAgICAwIEAgUCBgIHAggCCQIKAgsCLwIPAhACEQIUAhUCFgIXAhgCGQIbAhwCHgIdAvwC/QL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0DHgMfAyADIQMiAyMDJAMlAyYDJwMoAykDKgMrAywDLQMuAy8DMAMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRgNFA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSBKsErAStBK4ErwSwBLEEsgSzBLQEtQS2BLcEuAS5BLoEuwS8BL0EvgS/BMAEwQTCBMMExATFBMYB/wTHBMgEyQTKBMsEzATNBM4EzwTQBNEE0gTTBNQE1QTWBNgE2QTbAhoE3AIOBNcCEwINBNoCDAISAAEA3wAIACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAhQCSALAAsQCyALMAtAC1ALYAtwC4ALkA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgBLAEwATIBOAE6ATwBPgE/AUUBRgF/AYUBigGNAkcCSAJKAkwCTQJOAk8CUAJRAlICUwJUAlUCVgJXAlgCWQJaAlsCXAJdAl4CXwJgAmECYgJjAmQCZQJmAoMChQKHAokCiwKNAo8CkQKTApUClwKZApsCnQKfAqECowKlAqcCqQKrAq0CrwKyArQCtgK4AroCvAK+AsACwgLFAscCyQLLAs0CzwLRAtMC1QLZAtsC3QLfAuEC4wLlAucC6QLrAu0C7wLxAvIC9AL2A1MDVANVA1YDVwNYA1kDWwNcA10DXgNfA2ADYQNiA2QDZQNmA2cDaANpA2oDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwO7A70DvwPUA9oD4ARJBEsETwRXBFkEXgRqAAEAAAABAAgAAgF0ALcBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAv0DMAI7AfoEygTLAfsB/AH9Af4B/wIABM4EzwTRBNQE3QICAgMCBAIFAgYCBwIIAgkCCgILAfQB9QH2AfcB+AH5Ai8CDwIQAhECFAIVAhcCGQL+Av8DAAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZA08DGgMbAxwDHQMeAx8DIAMhAyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMxAzIDMwM0AzUDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRgNFA0cDSANJA0oDSwNMA00DTgNQA1EDUgTJBMwEzQTQBNIE0wIBBNUEwQTCBMMExATFBMYExwTIBNYE2ATZAhgE2wIaBNwC/AIOBNcCEwINBNoCFgIMAhIAAQC3AEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgCHAIwAkwDpAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEtATEBMwE5ATsBPQFAAUcCSwJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoQChgKIAooCjAKOApACkgKUApYCmAKaApwCngKgAqICpAKmAqgCqgKsAq4CswK1ArcCuQK7Ar0CvwLBAsMCxgLIAsoCzALOAtAC0gLUAtYC2gLcAt4C4ALiAuQC5gLoAuoC7ALuAvAC8wL1AvcDkAORA5IDkwOUA5UDlgOXA5gDmQOaA5sDnAOdA54DnwO8A74DwAPOA9UD2wPhBEcESgRMBFAEWARaBFsEXwRrAAYAAAAGABIAKgBCAFoAcgCKAAMAAAABABIAAQCQAAEAAAAaAAEAAQBNAAMAAAABABIAAQB4AAEAAAAaAAEAAQBOAAMAAAABABIAAQBgAAEAAAAaAAEAAQKuAAMAAAABABIAAQBIAAEAAAAaAAEAAQObAAMAAAABABIAAQAwAAEAAAAaAAEAAQOdAAMAAAABABIAAQAYAAEAAAAaAAEAAQQaAAIAAQCnAKsAAAAEAAAAAQAIAAEGHgA2AHIApACuALgAygD8AQ4BGAFKAWQBfgGQAboB7AH2AhgCMgJEAnYCiAKiAswC3gMQAxoDJAM2A2gDcgN8A4YDoAO6A8wD9gQoBDIEVARuBIAEsgTEBN4FCAUaBSQFLgU4BUIFbAWWBcAF6gYUAAYADgAUABoAIAAmACwCTAACAKcCTQACAKgCTwACAKkD8QACAKoEewACAKsD7wACAKwAAQAEBIgAAgCsAAEABAKJAAIAqAACAAYADASKAAIArASMAAIBogAGAA4AFAAaACAAJgAsAlQAAgCnAlUAAgCoBAsAAgCpBAkAAgCqBH0AAgCrBAcAAgCsAAIABgAMBHcAAgCoAqMAAgGiAAEABASOAAIArAAGAA4AFAAaACAAJgAsAlgAAgCnAlkAAgCoAqcAAgCpBBcAAgCqBH8AAgCrBBkAAgCsAAMACAAOABQEkAACAKgEkgACAKwCtAACAaIAAwAIAA4AFAK2AAIAqASUAAIArAK4AAIBogACAAYADAOtAAIAqASWAAIArAAFAAwAEgAYAB4AJAR5AAIApwK+AAIAqAJcAAIAqQSYAAIArALAAAIBogAGAA4AFAAaACAAJgAsAl0AAgCnAl4AAgCoAmAAAgCpBB0AAgCqBIEAAgCrBBsAAgCsAAEABASaAAIAqAAEAAoAEAAWABwCywACAKgEgwACAKsEnAACAKwCzQACAaIAAwAIAA4AFALRAAIAqASeAAIArALXAAIBogACAAYADASgAAIArALbAAIBogAGAA4AFAAaACAAJgAsAmIAAgCnAmMAAgCoAuEAAgCpBDUAAgCqBIUAAgCrBDMAAgCsAAIABgAMBKIAAgCpBKQAAgCsAAMACAAOABQDoAACAKcDogACAKgEpgACAKwABQAMABIAGAAeACQDpgACAKcCZgACAKgERQACAKkEQwACAKoEQQACAKwAAgAGAAwC8gACAKgEqAACAKwABgAOABQAGgAgACYALAJnAAIApwJoAAIAqAJqAAIAqQPyAAIAqgR8AAIAqwPwAAIArAABAAQEiQACAKwAAQAEAooAAgCoAAIABgAMBIsAAgCsBI0AAgGiAAYADgAUABoAIAAmACwCbwACAKcCcAACAKgEDAACAKkECgACAKoEfgACAKsECAACAKwAAQAEBHgAAgCoAAEABASPAAIArAABAAQEGgACAKwAAwAIAA4AFASRAAIAqASTAAIArAK1AAIBogADAAgADgAUArcAAgCoBJUAAgCsArkAAgGiAAIABgAMA64AAgCoBJcAAgCsAAUADAASABgAHgAkBHoAAgCnAr8AAgCoAncAAgCpBJkAAgCsAsEAAgGiAAYADgAUABoAIAAmACwCeAACAKcCeQACAKgCewACAKkEHgACAKoEggACAKsEHAACAKwAAQAEBJsAAgCoAAQACgAQABYAHALMAAIAqASEAAIAqwSdAAIArALOAAIBogADAAgADgAUAtIAAgCoBJ8AAgCsAtgAAgGiAAIABgAMBKEAAgCsAtwAAgGiAAYADgAUABoAIAAmACwCfQACAKcCfgACAKgC4gACAKkENgACAKoEhgACAKsENAACAKwAAgAGAAwEowACAKkEpQACAKwAAwAIAA4AFAOhAAIApwOjAAIAqASnAAIArAAFAAwAEgAYAB4AJAOnAAIApwKBAAIAqARGAAIAqQREAAIAqgRCAAIArAACAAYADALzAAIAqASpAAIArAABAAQC+AACAKgAAQAEAvoAAgCoAAEABAL5AAIAqAABAAQC+wACAKgABQAMABIAGAAeACQCcwACAKcCdAACAKgCqAACAKkEGAACAKoEgAACAKsABQAMABIAGAAeACQEKwACAKcEKQACAKgELwACAKkELQACAKoEMQACAKwABQAMABIAGAAeACQELAACAKcEKgACAKgEMAACAKkELgACAKoEMgACAKwABQAMABIAGAAeACQEOQACAKcENwACAKgEPQACAKkEOwACAKoEPwACAKwABQAMABIAGAAeACQEOgACAKcEOAACAKgEPgACAKkEPAACAKoEQAACAKwAAQAEBIcAAgCoAAIAEQAlACkAAAArAC0ABQAvADQACAA2ADsADgA9AD4AFABFAEkAFgBLAE0AGwBPAFQAHgBWAFsAJABdAF4AKgCBAIEALACDAIMALQCGAIYALgCJAIkALwCMAIwAMACXAJoAMQDPAM8ANQABAAAAAQAIAAEABgACAAEAAgLVAtYAAQAAAAEACAACAA4ABATeBN8E4AThAAEABAKHAogCmQKaAAQAAAABAAgAAQAmAAIACgAcAAIABgAMAaMAAgBKAagAAgBYAAEABAGpAAIAWAABAAIASgBXAAQAAAABAAgAAQBEAAIACgAUAAEABAGkAAIATQABAAQBpgACAE0ABAAAAAEACAABAB4AAgAKABQAAQAEAaUAAgBQAAEABAGnAAIAUAABAAIASgGjAAEAAAABAAgAAQAGAZUAAQABAEsAAQAAAAEACAABAAYBJwABAAEAugABAAAAAQAIAAEABgGsAAEAAQA2AAEAAAABAAgAAgAcAAIB4wHkAAEAAAABAAgAAgAKAAIB5QHmAAEAAgAvAE8AAQAAAAEACAACAB4ADAIoAioCKQIrAiwCHwIgAiECIgGuAiQCJQABAAwAJwAoACsAMwA1AEYARwBIAEsAUwBUAFUAAQAAAAEACAACAAwAAwImAicCJwABAAMASQBLAiIAAQAAAAEACAACAGYACAI9Ai0CLgIwAjECOQI6AjwAAQAAAAEACAACABYACAAbABUAFgAXABgAGQAdABQAAQAIAa0CIwRxBHIEcwR0BHUEdgABAAAAAQAIAAIAFgAIBHYCIwRxBHIEcwR0Aa0EdQABAAgAFAAVABYAFwAYABkAGwAdAAEAAAABAAgAAgAWAAgAFQAWABcAGAAZABsAHQAUAAEACAItAi4CMAIxAjkCOgI8Aj0AAQAAAAEACAABAAYBaQABAAEAEwAGAAAAAQAIAAMAAQASAAEAUgAAAAEAAAAaAAIAAgF8AXwAAAHUAd0AAQABAAAAAQAIAAEAKAHAAAEAAAABAAgAAgAaAAoCMgB6AHMAdAIzAjQCNQI2AjcCOAACAAEAFAAdAAAAAQAAAAEACAACACYAEAHUAdUB1gHXAdgB2QHaAdsB3AHdAkACPgJBAkICPwJDAAEAEAAUABUAFgAXABgAGQAaABsAHAAdAE0ATgKuA5sDnQQa"
+  "Roboto-Italic.ttf": "AAEAAAARAQAABAAQR0RFRqWLoiAAAdT4AAACWEdQT1PInCKzAAHXUAAAZfhHU1VChRYO9AACPUgAABX2T1MvMpeDsUwAAAGYAAAAYGNtYXDOyFo6AAAWdAAABoJjdnQgO/gmfQAAL1AAAAD+ZnBnbagFhDIAABz4AAAPhmdhc3AACAAZAAHU7AAAAAxnbHlmJ9ZJigAAOpAAAZd6aGVhZAakHScAAAEcAAAANmhoZWEMnBKaAAABVAAAACRobXR4O9/cTQAAAfgAABR8bG9jYY3Y7xYAADBQAAAKQG1heHAIzxDGAAABeAAAACBuYW1lOSJt4gAB0gwAAALAcG9zdP9hAGQAAdTMAAAAIHByZXB5WM7TAAAsgAAAAs4AAQAAAAMBSDPLHDFfDzz1ABsIAAAAAADE8BEuAAAAAN8Gv2v6N/3VCUMIcwACAAkAAgAAAAAAAAABAAAHbP4MAAAJA/o3/mwJQwgAAbMAAAAAAAAAAAAAAAAFHwABAAAFHwCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAAQAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA5YAZAAAAAAAAAAAAfcAAAH3AAACAABEAnwAyQTHAFIEXABJBa8AugTUADkBWwCsAqgAbQK0/5ADWABrBGcATAGH/48CJQAaAgwANAM0/5AEXABqBFwA+gRcABgEXAA1BFwABQRcAHIEXABtBFwAnQRcAEAEXACUAesAKQGu/5sD8gBCBEIAcAQPADsDqwClBvgAQQUQ/68E1gA7BQ0AcAUYADsEaQA7BEoAOwVJAHQFiQA7AhwASQRIAAcE3gA7BC4AOwbGADsFiQA7BVcAcwTlADsFVwBrBMgAOwScACkEoQCpBQgAYwTxAKUG4gDDBN3/1ASpAKgEpv/sAg8AAAMwAMACD/97Az4ATwOA/4ECZgDQBDkAMQRcAB8EEABGBGAARwQdAEUCswB1BFwAAwRGACAB4wAvAdv/EwPvACAB4wAvBs4AHgRJACAEbQBGBFz/1wRpAEYCoQAgBAEALgKKAEMERwBbA8IAbgXVAIAD2v/FA6z/qgPa/+4CoAA3AeUAIgKg/40FRwBpAeX/8QQ/AFAEg//zBYkAEgQUAEMB3f/4BML/2gM/ANoGGQBeA3kAwwOuAFYETACBBhoAXQOPAPgC5gDoBCYAJgLiAF0C4gBvAm8A1QRm/+YDzAB4AgcApQHt/8gC4gDgA4gAvwOtABEFuQC6Bg8AtQYTAJ4Drf/RB0H/gwQkACgFVwAgBJYAOQSdAB8GjgATBI0AXARvAEQEZgA6BHn/4ASjAEYFcAA2AewALwRSAC4ELgAjAhkAJAVgADUEZgAlB2YAVQcMAEcB7QA0BV0AUgKl/0cFVQBmBHAAQwVlAGMEzQBbAfX/CQQYAD8DpwEYA3MBKAOZAPgDUQEHAeMBDgKZAQECGv+uA6kA3gLlAMMCSP/pAAD9agAA/eoAAP0LAAD99AAA/NsAAPy6Af4BIwPtAPQCEQClBFEARAV5/7IFSABnBRf/xARvAAwFiQBEBG//2wWPAFYFXgCFBSkACgRjAEgEmf/xA+QAhQRmAEUEMAApBAUAigRmACUEawB1AoQAhARN/7gDzgBABKAAYARm/90ELQBKBGUASAQMAIcEPABoBXgAQAVvAE4GZABnBH4AUgQiAGcGGABoBdIAogU8AHMIUP/NCGMARAZRALQFiABCBO4ANgXW/4wHC/+rBJwAJQWJAEQFf//LBOEAlAX+AFsFrQBBBVAAywdNAEIHhABCBeMAigbAAEQE3gA2BTwAdgb6AEkE8f/pBEsARwRwADEDQgAuBK//jQXy/6cD8QAgBHsAMAQyADAEfP/IBcEAMQR6ADAEewAwA7sAYAWhAEkEmgAwBDkAeQZHADAGbAAlBNEAVgYQADEENwAxBC0AMgZWADEEQv+/BEYAIAQtAE4Glf/DBq8AMARwACAEewAwBtMAbgX9AE8ENgAvBvUASgXLAC0Erv+6BCb/ogbWAFsF3gBPBp4AJgW1ACoIwABJB5UALwQE/80Dvf/JBUgAZwRpAEME5ACtA+UAhQVIAGcEZgBDBssAdAX1AFIG0wBuBf0ATwUKAGkEJwBMBNgAQAAA/OcAAP0KAAD+FgAA/jsAAPo3AAD6TgXlAEQE0QAwBDYALwT0ADsEZ//XBEIANQN2ACUEwABEA+cAJQdx/6sGOv+nBXkARASeADAE4wA2BFwALgZaALwFWgB2BdsAOwS+ADAHkwA7BYgAJQf8AEIGvwAlBcEAawSvAFwE+//UBBT/xQb2AKwFNABXBZoAywR9AHkFRgDKBEkAlAVGABwGAACIBJoABATjADYEOQAuBdr/ywTT/8gFhwBEBGYAJQXtADsE0AAwByEAOwYYADEFXQBSBIQAPASE//0Env/5A5n/6QUQ/9QEKf/FBNEALgZiADEGsABIBiYArQUEAGgEKQCwA+kAoAeG/+AGRP/aB74APAZvACME0QBlA/4ATQWCAJsE+gB9BTwAaAXe/8sE1//IAwkA8wP/AAAH9AAAA/8AAAf0AAACrgAAAgQAAAFcAAAEZgAAAikAAAGfAAABAgAAANUAAAAAAAACLQAaAi0AGgUiAKYGGQCYA4r/XgGOALABjgCJAYz/lwGOANICyAC4AtAAlQKt/5QESAB3BG3/9gKeAKEDsQA4BTsAOAF0AFIHbwCWAlUAXQJVAAQDh//wAuIAjwLiAGQC4gCKAuIAkALiAKIC4gB7AuIAqgNHAH4C4v/cAuIALQLi/6sC4v+8AuL/sgLi/9gC4v/eAuL/8ALi/8kC4v/4BIP/8wYlAAoGXwA5CD8AOwW+AAkF/AAfBFwAUQWtAEMEAwBKBFIACwUf//IFJv/lBbsAzAOxAEsH+wA1BNsA6wTxAH8GAQC2BqwAkgalAJAGQwC+BG0ATQVkACQEi/+tBHAAqwSgAEEH+wBLAf3/FQRfADMEQgBwA/z/0wQZABgD6QBCAkQAdwJ8AHEB9f/kBNcAdQRNAFkEaAB1BqAAdQagAHUEyAB1BmgAKAAAAAAH9f+rCDUAXALY/+oC2ABsAtgAHAPxAGkD8QAnA/EAcAPwAEsD8QBKA/H/9wPxABcD8f/9A/EAvQPxAEYEA//dBAsAdQQz/7cF5gCUBEYAeQRbAEIEBwBuBAAAEgQpAB0EmABGBDsAHgSYAEwEvQAeBdQAHgOZAB4ENAAeA7L/9gHaACsEvgAeBIgATAOvAB4EAAASBBQABgOFABkDkwAeBEb/sASYAEwERv+wA27/0wSqAB4D0v/WBT4AUgTwAH0EzQAOBUkAbQRaAEgHCv/DBxgAHgVKAG4EqQAeBDkAIAT9/4kF3f+vBB8AEgTGACAELQAfBJz/xAQAAFoFAQAeBEgAVgYgAB4GeQAeBPYAUQXNACAELgAgBFoAIAZFAB4EZP/gA/P/+gYY/68EVwAfBOMAHwUPAGoFlwBQBEcAdQSE/7cGMQBtBEgAVQRIAB4FmAAuBKYAQAQfABIEnABGBBQAAAPGAB8H5AAeBIf/3gLY//sC2P/xAtgAFwLYAB0C2AAvAtgACALYADcDewCTAqABCwPIAB4EGv+ZBJ8ASAUjAEQE/QBEA/UAJgUVAEQD8AAmBF0AHgRaAEgEMAAeBGP/pgHvAPwDiQESAAD9KgPSANMD1gAiA/AAzgPXAM0DkwAeA4QBEgODARMC4gCPAuIAZALiAIoC4gCQAuIAogLiAHsC4gCqBVgAgAWDAIEFaABEBbMAgwW2AIMDuAC8BF8AOQQ3/4EEqv/TBEn/1QQOACsDiQEUAYb/vgZxAEwElgA+Ae3/DwRm/6wEZv/jBGb/uARmACwEZgBWBGYAJARmAGYEZgAbBGYAQARmAQ0CAP8JAf//CQH2AC8B9v94AfYALwQwAB4E2gBkBAEAYgRcAB8EEwBEBHAAQwRpACMEfABCBGv/1wR5AEIEHQBGBFwANQRO/78DaACpBLEALAOZ/+kGCv+aA9oAHgSY//QEvQAeBL0AHgH3AAACJQAaBTYALwU2AC8EZAA+BKEAqQKK//QFEP+vBRD/rwUQ/68FEP+vBRD/rwUQ/68FEP+vBQ0AcARpADsEaQA7BGkAOwRpADsCHABJAhwASQIcAEkCHABJBYkAOwVXAHMFVwBzBVcAcwVXAHMFVwBzBQgAYwUIAGMFCABjBQgAYwSpAKgEOQAxBDkAMQQ5ADEEOQAxBDkAMQQ5ADEEOQAxBBAARgQdAEUEHQBFBB0ARQQdAEUB7AAvAewALwHsAC8B7AAvBEkAIARtAEYEbQBGBG0ARgRtAEYEbQBGBEcAWwRHAFsERwBbBEcAWwOs/6oDrP+qBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBQ0AcAQQAEYFDQBwBBAARgUNAHAEEABGBQ0AcAQQAEYFGAA7BPYARwRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUFSQB0BFwAAwVJAHQEXAADBUkAdARcAAMFSQB0BFwAAwWJADsERgAgAhwASQHsABECHABJAewALgIcAEkB7AAvAhz/iwHj/20CHABJBmQASQO+AC8ESAAHAfX/CQTeADsD7wAgBC4AOwHjAC8ELgA7AeP/ogQuADsCeQAvBC4AOwK/AC8FiQA7BEkAIAWJADsESQAgBYkAOwRJACAESQAgBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBMgAOwKhACAEyAA7AqH/nwTIADsCoQAgBJwAKQQBAC4EnAApBAEALgScACkEAQAuBJwAKQQBAC4EnAApBAEALgShAKkCigBDBKEAqQKKAEMEoQCpArIAQwUIAGMERwBbBQgAYwRHAFsFCABjBEcAWwUIAGMERwBbBQgAYwRHAFsFCABjBEcAWwbiAMMF1QCABKkAqAOs/6oEqQCoBKb/7APa/+4Epv/sA9r/7gSm/+wD2v/uB0H/gwaOABMFVwAgBGYAOgRd/68EXf+vBAcAbgRj/6YEY/+mBGP/pgRj/6YEY/+mBGP/pgRj/6YEWgBIA8gAHgPIAB4DyAAeA8gAHgHaACsB2gArAdoAKwHaACsEvQAeBJgATASYAEwEmABMBJgATASYAEwEWwBCBFsAQgRbAEIEWwBCBAsAdQRj/6YEY/+mBGP/pgRaAEgEWgBIBFoASARaAEgEXQAeA8gAHgPIAB4DyAAeA8gAHgPIAB4EiABMBIgATASIAEwEiABMBL4AHgHaAA4B2gArAdoAKwHk/4IB2gArA7L/9gQ0AB4DmQAeA5kAHgOZAB4DmQAeBL0AHgS9AB4EvQAeBJgATASYAEwEmABMBCkAHQQpAB0EKQAdBAAAEgQAABIEAAASBAAAEgQHAG4EBwBuBAcAbgRbAEIEWwBCBFsAQgRbAEIEWwBCBFsAQgXmAJQECwB1BAsAdQQD/90EA//dBAP/3QUQ/68EzQADBe0AEQKAABcFawBrBQ3/7QU9AB4ChAAgBRD/rwTWADsEaQA7BKb/7AWJADsCHABJBN4AOwbGADsFiQA7BVcAcwTlADsEoQCpBKkAqATd/9QCHABJBKkAqARjAEgEMAApBGYAJQKEAIQEPABoBFIALgRtAEYEZv/mA8IAbgRO/78ChABlBDwAaARtAEYEPABoBmQAZwRpADsEUQBEBJwAKQIcAEkCHABJBEgABwT9AEQE3gA7BOEAlAUQ/68E1gA7BFEARARpADsFiQBEBsYAOwWJADsFVwBzBYkARATlADsFDQBwBKEAqQTd/9QEOQAxBB0ARQR7ADAEbQBGBFz/1wQQAEYDrP+qA9r/xQQdAEUDQgAuBAEALgHjAC8B7AAvAdv/EwQyADADrP+qBuIAwwXVAIAG4gDDBdUAgAbiAMMF1QCABKkAqAOs/6oBWwCsAnwAyQQAAEQB9f8JAY4AiQbGADsGzgAeBRD/rwQ5ADEEaQA7BYkARAQdAEUEewAwBV4AhQVvAE4E5ACtA+UAhQgZAEYJAwBzBJwAJQPxACAFDQBwBBAARgSpAKgD5ACFAhwASQcL/6sF8v+nAhwASQUQ/68EOQAxBRD/rwQ5ADEHQf+DBo4AEwRpADsEHQBFBV0AUgQYAD8EGAA/Bwv/qwXy/6cEnAAlA/EAIAWJAEQEewAwBYkARAR7ADAFVwBzBG0ARgVIAGcEaQBDBUgAZwRpAEMFPAB2BC0AMgThAJQDrP+qBOEAlAOs/6oE4QCUA6z/qgVQAMsEOQB5BsAARAYQADEEYABHBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQIcAEkB7AAvAhwADQHj//AFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVVAGYEcABDBVUAZgRwAEMFVQBmBHAAQwVVAGYEcABDBVUAZgRwAEMFCABjBEcAWwUIAGMERwBbBWUAYwTNAFsFZQBjBM0AWwVlAGMEzQBbBWUAYwTNAFsFZQBjBM0AWwSpAKgDrP+qBKkAqAOs/6oEqQCoA6z/qgR+AAAEoQCpA7sAYAVQAMsEOQB5BFEARANCAC4GAACIBJoABARGACAE3gAsBN4ALARRABEDQv/nBREAWAQJADoEqQCoA+QAXgTd/9QD2v/FBDAAKQRK/9cGGQCYBFwAGARcADUEXAAFBFwAcgRwAIEEhABUBHAAlASEAH4FSQB0BFwAAwWJADsESQAgBRD/rwQ5ADEEaQA7BB0ARQIc/+AB7P+NBVcAcwRtAEYEyAA7AqEAIAUIAGMERwBbBIb/sQTWADsEXAAfBRgAOwRgAEcFGAA7BGAARwWJADsERgAgBN4AOwPvACAE3gA7A+8AIAQuADsB4//wBsYAOwbOAB4FiQA7BEkAIAVXAHME5QA7BFz/1wTIADsCof/uBJwAKQQBAC4EoQCpAooAQwUIAGME8QClA8IAbgTxAKUDwgBuBuIAwwXVAIAEpv/sA9r/7gWd/wwEY/+mBAT/4gT6//0CFgACBKIAHgRH/5oE1wAYBGP/pgQwAB4DyAAeBAP/3QS+AB4B2gArBDQAHgXUAB4EvQAeBJgATAQ7AB4EBwBuBAsAdQQz/7cB2gArBAsAdQPIAB4DkwAeBAAAEgHaACsB2gArA7L/9gQ0AB4EAABaBGP/pgQwAB4DkwAeA8gAHgTGACAF1AAeBL4AHgSYAEwEqgAeBDsAHgRaAEgEBwBuBDP/twQfABIEvgAeBFoASAQLAHUFmAAuBMYAIAQAAFoFPgBSBYwAKwYK/5oEmP/0BAAAEgXmAJQF5gCUBeYAlAQLAHUFEP+vBDkAMQRpADsEHQBFBGP/pgPIAB4B7P/wAAAAAgAAAAMAAAAUAAMAAQAAABQABAZuAAAA9ACAAAYAdAAAAAIADQB+AKAArACtAL8AxgDPAOYA7wD+AQ8BEQElAScBMAFTAV8BZwF+AX8BjwGSAaEBsAHwAf8CGwI3AlkCvALHAskC3QLzAwEDAwMJAw8DIwOKA4wDkgOhA7ADuQPJA84D0gPWBCUELwRFBE8EYgRvBHkEhgSfBKkEsQS6BM4E1wThBPUFAQUQBRMeAR4/HoUe8R7zHvkfTSAJIAsgESAVIB4gIiAnIDAgMyA6IDwgRCB0IH8gpCCqIKwgsSC6IL0hBSETIRYhIiEmIS4hXiICIgYiDyISIhoiHiIrIkgiYCJlJcruAvbD+wT+///9//8AAAAAAAIADQAgAKAAoQCtAK4AwADHANAA5wDwAP8BEAESASYBKAExAVQBYAFoAX8BjwGSAaABrwHwAfoCGAI3AlkCvALGAskC2ALzAwADAwMJAw8DIwOEA4wDjgOTA6MDsQO6A8oD0QPWBAAEJgQwBEYEUARjBHAEegSIBKAEqgSyBLsEzwTYBOIE9gUCBREeAB4+HoAeoB7yHvQfTSAAIAogECATIBcgICAlIDAgMiA5IDwgRCB0IH8goyCmIKsgsSC5ILwhBSETIRYhIiEmIS4hWyICIgYiDyIRIhoiHiIrIkgiYCJkJcruAfbD+wH+///8//8AAQAA//b/5AHp/8IB3f/BAAAB0AAAAcsAAAHHAAABxQAAAcMAAAG7AAABvf8W/wf/Bf74/usB/wAAAAD+Zf5EATT92P3X/cn9tP2o/af9ov2d/YoAAAAPAA4AAAAA/QoAAP/v/P78+wAA/LoAAPyyAAD8pwAA/KEAAPyZAAD8kQAA/zkAAP82AAD8XgAA5fPls+Vk5Y/k+OWN5Y7hcuFz4W8AAOFs4WvhaeFh47rhWeOy4VDhIuEdAADhAgAA4P3g9uD14K7goeCf4JTflOCJ4F3fut6s367frd+m36Pfl99732TfYdv9E8cLBwbLAtMB1wABAAAAAAAAAAAAAAAAAAAAAADkAAAA7gAAARgAAAEyAAABMgAAATIAAAF0AAAAAAAAAAAAAAAAAAABdAF+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWwAAAAAAXQBkAAAAagAAAAAAAABwAAAAggAAAIwAAACUgAAAmIAAAKOAAACmgAAAr4AAALOAAAC4gAAAAAAAAAAAAAAAAAAAAAAAAAAAtIAAAAAAAAAAAAAAAAAAAAAAAAAAALCAAACwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKQApECkgKTApQClQCBAowCoAKhAqICowKkAqUAggCDAqYCpwKoAqkCqgCEAIUCqwKsAq0CrgKvArAAhgCHArsCvAK9Ar4CvwLAAIgAiQLBAsICwwLEAsUAigKLAIsAjAKNAI0C9AL1AvYC9wL4AvkAjgL6AvsC/AL9Av4C/wMAAwEAjwCQAwIDAwMEAwUDBgMHAwgAkQCSAwkDCgMLAwwDDQMOAJMAlAMdAx4DIQMiAyMDJAKOAo8ClgKxAzwDPQM+Az8DGwMcAx8DIACuAK8DlwCwA5gDmQOaALEAsgOhA6IDowCzA6QDpQC0A6YDpwC1A6gAtgOpALcDqgOrALgDrAC5ALoDrQOuA68DsAOxA7IDswO0AMQDtgO3AMUDtQDGAMcAyADJAMoAywDMA7gAzQDOA/UDvgDSA78A0wPAA8EDwgPDANQA1QDWA8UD9gPGANcDxwDYA8gDyQDZA8oA2gDbANwDywPEAN0DzAPNA84DzwPQA9ED0gDeAN8D0wPUAOoA6wDsAO0D1QDuAO8A8APWAPEA8gDzAPQD1wD1A9gD2QD2A9oA9wPbA/cD3AECA90BAwPeA98D4APhAQQBBQEGA+ID+APjAQcBCAEJBJID+QP6ARcBGAEZARoD+wP8A/4D/QEoASkBKgErBJEBLAEtAS4BLwEwBJMElAExATIBMwE0A/8EAAE1ATYBNwE4BJUElgQBBAIEiASJBAMEBASXBJgEkAFMAU0EjgSPBAUEBgQHAU4BTwFQAVEBUgFTAVQBVQSKBIsBVgFXAVgEEgQRBBMEFAQVBBYEFwFZAVoEjASNBCwELQFbAVwBXQFeBJkEmgFfBC4EmwFvAXABgQGCBJ0EnAGnBIcBrQAAQEqZmJeWh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNRUE9OTUxLSklIR0YoHxAKCSwBsQsKQyNDZQotLACxCgtDI0MLLSwBsAZDsAdDZQotLLBPKyCwQFFYIUtSWEVEGyEhWRsjIbBAsAQlRbAEJUVhZIpjUlhFRBshIVlZLSwAsAdDsAZDCy0sS1MjS1FaWCBFimBEGyEhWS0sS1RYIEWKYEQbISFZLSxLUyNLUVpYOBshIVktLEtUWDgbISFZLSywAkNUWLBGKxshISEhWS0ssAJDVFiwRysbISEhWS0ssAJDVFiwSCsbISEhIVktLLACQ1RYsEkrGyEhIVktLCMgsABQiopksQADJVRYsEAbsQEDJVRYsAVDi1mwTytZI7BiKyMhI1hlWS0ssQgADCFUYEMtLLEMAAwhVGBDLSwBIEewAkMguBAAYrgQAGNXI7gBAGK4EABjV1pYsCBgZllILSyxAAIlsAIlsAIlU7gANSN4sAIlsAIlYLAgYyAgsAYlI2JQWIohsAFgIxsgILAGJSNiUlgjIbABYRuKISMhIFlZuP/BHGCwIGMjIS0ssQIAQrEjAYhRsUABiFNaWLgQALAgiFRYsgIBAkNgQlmxJAGIUVi4IACwQIhUWLICAgJDYEKxJAGIVFiyAiACQ2BCAEsBS1JYsgIIAkNgQlkbuEAAsICIVFiyAgQCQ2BCWbhAALCAY7gBAIhUWLICCAJDYEJZuUAAAQBjuAIAiFRYsgIQAkNgQlmxJgGIUVi5QAACAGO4BACIVFiyAkACQ2BCWblAAAQAY7gIAIhUWLICgAJDYEJZsSgBiFFYuUAACABjuBAAiFRYuQACAQCwAkNgQllZWVlZWVmxAAJDVFhACgVACEAJQAwCDQIbsQECQ1RYsgVACLoBAAAJAQCzDAENARuxgAJDUliyBUAIuAGAsQlAG7gBALACQ1JYsgVACLoBgAAJAUAbuAGAsAJDUliyBUAIuAIAsQlAG7IFQAi6AQAACQEAWVlZuEAAsICIVblAAAIAY7gEAIhVWlizDAANARuzDAANAVlZWUJCQkJCLSxFsQJOKyOwTysgsEBRWCFLUViwAiVFsQFOK2BZGyNLUViwAyVFIGSKY7BAU1ixAk4rYBshWRshWVlELSwgsABQIFgjZRsjWbEUFIpwRbBPKyOxYQYmYCuKWLAFQ4tZI1hlWSMQOi0ssAMlSWMjRmCwTysjsAQlsAQlSbADJWNWIGCwYmArsAMlIBBGikZgsCBjYTotLLAAFrECAyWxAQQlAT4APrEBAgYMsAojZUKwCyNCsQIDJbEBBCUBPwA/sQECBgywBiNlQrAHI0KwARaxAAJDVFhFI0UgGGmKYyNiICCwQFBYZxtmWWGwIGOwQCNhsAQjQhuxBABCISFZGAEtLCBFsQBOK0QtLEtRsUBPK1BbWCBFsQFOKyCKikQgsUAEJmFjYbEBTitEIRsjIYpFsQFOKyCKI0REWS0sS1GxQE8rUFtYRSCKsEBhY2AbIyFFWbEBTitELSwjRSCKRSNhIGSwQFGwBCUgsABTI7BAUVpasUBPK1RaWIoMZCNkI1NYsUBAimEgY2EbIGNZG4pZY7ECTitgRC0sAS0sAC0sBbELCkMjQ2UKLSyxCgtDI0MLAi0ssAIlY2awAiW4IABiYCNiLSywAiVjsCBgZrACJbggAGJgI2ItLLACJWNnsAIluCAAYmAjYi0ssAIlY2awIGCwAiW4IABiYCNiLSwjSrECTistLCNKsQFOKy0sI4pKI0VksAIlZLACJWFksANDUlghIGRZsQJOKyOwAFBYZVktLCOKSiNFZLACJWSwAiVhZLADQ1JYISBkWbEBTisjsABQWGVZLSwgsAMlSrECTiuKEDstLCCwAyVKsQFOK4oQOy0ssAMlsAMlirBnK4oQOy0ssAMlsAMlirBoK4oQOy0ssAMlRrADJUZgsAQlLrAEJbAEJbAEJiCwAFBYIbBqG7BsWSuwAyVGsAMlRmBhsIBiIIogECM6IyAQIzotLLADJUewAyVHYLAFJUewgGNhsAIlsAYlSWMjsAUlSrCAYyBYYhshWbAEJkZgikaKRmCwIGNhLSywBCawBCWwBCWwBCawbisgiiAQIzojIBAjOi0sIyCwAVRYIbACJbECTiuwgFAgYFkgYGAgsAFRWCEhGyCwBVFYISBmYbBAI2GxAAMlULADJbADJVBaWCCwAyVhilNYIbAAWRshWRuwB1RYIGZhZSMhGyEhsABZWVmxAk4rLSywAiWwBCVKsABTWLAAG4qKI4qwAVmwBCVGIGZhILAFJrAGJkmwBSawBSawcCsjYWWwIGAgZmGwIGFlLSywAiVGIIogsABQWCGxAk4rG0UjIVlhZbACJRA7LSywBCYguAIAYiC4AgBjiiNhILBdYCuwBSURihKKIDmKWLkAXRAAsAQmY1ZgKyMhIBAgRiCxAk4rI2EbIyEgiiAQSbECTitZOy0suQBdEACwCSVjVmArsAUlsAUlsAUmsG0rsV0HJWArsAUlsAUlsAUlsAUlsG8ruQBdEACwCCZjVmArILAAUliwUCuwBSWwBSWwByWwByWwBSWwcSuwAhc4sABSsAIlsAFSWliwBCWwBiVJsAMlsAUlSWAgsEBSWCEbsABSWCCwAlRYsAQlsAQlsAclsAclSbACFzgbsAQlsAQlsAQlsAYlSbACFzhZWVlZWSEhISEhLSy5AF0QALALJWNWYCuwByWwByWwBiWwBiWwDCWwDCWwCSWwCCWwbiuwBBc4sAclsAclsAcmsG0rsAQlsAQlsAQmsG0rsFArsAYlsAYlsAMlsHErsAUlsAUlsAMlsAIXOCCwBiWwBiWwBSWwcStgsAYlsAYlsAQlZbACFziwAiWwAiVgILBAU1ghsEBhI7BAYSMbuP/AUFiwQGAjsEBgI1lZsAglsAglsAQmsAIXOLAFJbAFJYqwAhc4ILAAUliwBiWwCCVJsAMlsAUlSWAgsEBSWCEbsABSWLAGJbAGJbAGJbAGJbALJbALJUmwBBc4sAYlsAYlsAYlsAYlsAolsAolsAclsHErsAQXOLAEJbAEJbAFJbAHJbAFJbBxK7ACFzgbsAQlsAQluP/AsAIXOFlZWSEhISEhISEhLSywBCWwAyWHsAMlsAMliiCwAFBYIbBlG7BoWStksAQlsAQlBrAEJbAEJUkgIGOwAyUgY1GxAAMlVFtYISEjIQcbIGOwAiUgY2EgsFMrimOwBSWwBSWHsAQlsAQmSrAAUFhlWbAEJiABRiMARrAFJiABRiMARrAAFgCwACNIAbAAI0gAILABI0iwAiNIASCwASNIsAIjSCOyAgABCCM4sgIAAQkjOLECAQewARZZLSwjEA0MimMjimNgZLlAAAQAY1BYsAA4GzxZLSywBiWwCSWwCSWwByawdisjsABUWAUbBFmwBCWwBiawdyuwBSWwBSawBSWwBSawdiuwAFRYBRsEWbB3Ky0ssAclsAolsAolsAgmsHYrirAAVFgFGwRZsAUlsAcmsHcrsAYlsAYmsAYlsAYmsHYrCLB3Ky0ssAclsAolsAolsAgmsHYriooIsAQlsAYmsHcrsAUlsAUmsAUlsAUmsHYrsABUWAUbBFmwdystLLAIJbALJbALJbAJJrB2K7AEJrAEJgiwBSWwByawdyuwBiWwBiawBiWwBiawdisIsHcrLSwDsAMlsAMlSrAEJbADJUoCsAUlsAUmSrAFJrAFJkqwBCZjiopjYS0ssV0OJWArsAwmEbAFJhKwCiU5sAclObAKJbAKJbAJJbB8K7AAULALJbAIJbAKJbB8K7AAUFRYsAclsAslh7AEJbAEJQuwCiUQsAklwbACJbACJQuwByUQsAYlwRuwByWwCyWwCyW4//+wdiuwBCWwBCULsAclsAolsHcrsAolsAglsAgluP//sHYrsAIlsAIlC7AKJbAHJbB3K1mwCiVGsAolRmCwCCVGsAglRmCwBiWwBiULsAwlsAwlsAwmILAAUFghsGobsGxZK7AEJbAEJQuwCSWwCSWwCSYgsABQWCGwahuwbFkrI7AKJUawCiVGYGGwIGMjsAglRrAIJUZgYbAgY7EBDCVUWAQbBVmwCiYgELADJTqwBiawBiYLsAcmIBCKOrEBByZUWAQbBVmwBSYgELACJTqKigsjIBAjOi0sI7ABVFi5AABAABu4QACwAFmKsAFUWLkAAEAAG7hAALAAWbB9Ky0siooIDYqwAVRYuQAAQAAbuEAAsABZsH0rLSwIsAFUWLkAAEAAG7hAALAAWQ2wfSstLLAEJrAEJggNsAQmsAQmCA2wfSstLCABRiMARrAKQ7ALQ4pjI2JhLSywCSuwBiUusAUlfcWwBiWwBSWwBCUgsABQWCGwahuwbFkrsAUlsAQlsAMlILAAUFghsGobsGxZKxiwCCWwByWwBiWwCiWwbyuwBiWwBSWwBCYgsABQWCGwZhuwaFkrsAUlsAQlsAQmILAAUFghsGYbsGhZK1RYfbAEJRCwAyXFsAIlELABJcWwBSYhsAUmIRuwBiawBCWwAyWwCCawbytZsQACQ1RYfbACJbCCK7AFJbCCKyAgaWGwBEMBI2GwYGAgaWGwIGEgsAgmsAgmirACFziKimEgaWFhsAIXOBshISEhWRgtLEtSsQECQ1NaWCMQIAE8ADwbISFZLSwjsAIlsAIlU1ggsAQlWDwbOVmwAWC4/+kcWSEhIS0ssAIlR7ACJUdUiiAgEBGwAWCKIBKwAWGwhSstLLAEJUewAiVHVCMgErABYSMgsAYmICAQEbABYLAGJrCFK4qKsIUrLSywAkNUWAwCiktTsAQmS1FaWAo4GwohIVkbISEhIVktLLCYK1gMAopLU7AEJktRWlgKOBsKISFZGyEhISFZLSwgsAJDVLABI7gAaCN4IbEAAkO4AF4jeSGwAkMjsCAgXFghISGwALgATRxZioogiiCKI7gQAGNWWLgQAGNWWCEhIbABuAAwHFkbIVmwgGIgXFghISGwALgAHRxZI7CAYiBcWCEhIbAAuAAMHFmKsAFhuP+rHCMhLSwgsAJDVLABI7gAgSN4IbEAAkO4AHcjeSGxAAJDirAgIFxYISEhuABnHFmKiiCKIIojuBAAY1ZYuBAAY1ZYsAQmsAFbsAQmsAQmsAQmGyEhISG4ADiwACMcWRshWbAEJiOwgGIgXFiKXIpaIyEjIbgAHhxZirCAYiBcWCEhIyG4AA4cWbAEJrABYbj/kxwjIS0AAED/fjR9VXw+/x97O/8fej3/H3k7QB94PP8fdzw9H3Y1Bx91Ov8fdDpnH3M5Tx9yOf8fcTb/H3A4zR9vOP8fbjdeH203zR9sN/8fazctH2o3GB9pNP8faDL/H2cyzR9mM/8fZTH/H2Qw/x9jMKsfYjBnH2Eu/x9gLoAfXy//H14vkx9dLf8fXCz/H1sr/x9aKs0fWSr/H1gqDR9XKf8fVij/H1UnJB9UJy0fUyVeH1Il/x9RJasfUCb/H08mgB9OJP8fTSMrH0wjqx9LI/8fSiNWH0kjKx9IIv8fRyD/H0Ygch9FIf8fRCFyH0Mf/x9CHpMfQR7/H0Ad/x8/HP8fPTuTQOofPDs0Hzo1Dh85NnIfODZPHzc2Ih82NZMfMzJAHzEwch8vLkofKypAHycZBB8mJSgfJTMbGVwkGhIfIwUaGVwiGf8fISA9HyA4GBZcHxgtHx4X/x8dFv8fHBYHHxszGRxbGDQWHFsaMxkcWxc0FhxbFRk+FqZaEzESVRExEFUSWRBZDTQMVQU0BFUMWQRZHwRfBAIPBH8E7wQDD14OVQs0ClUHNAZVATEAVQ5ZClkGWX8GAS8GTwZvBgM/Bl8GfwYDAFkvAAEvAG8A7wADCTQIVQM0AlUIWQJZHwJfAgIPAn8C7wIDA0BABQG4AZCwVCtLuAf/UkuwCVBbsAGIsCVTsAGIsEBRWrAGiLAAVVpbWLEBAY5ZhY2NAB1CS7CQU1iyAwAAHUJZsQICQ1FYsQQDjllzdAArACsrK3N0ACtzdHUAKwArACsrKysrc3QAKwArKysAKwArKysBKwErASsBKwErASsrACsrASsrASsAKwArASsrKysrASsrACsrKysrKysBKysAKysrKysrKwErACsrKysrKysrKysrKysBKysAKysrKysrKysrKwErKysrKysrACsrKysrKysrKysrKysrKysrKysrKxgAAAYAABUFsAAUBbAAFAQ6ABQAAP/sAAD/7AAA/+z+YP/1BbAAFQAA/+sAAAC9AMAAnQCdALoAlwCXACcAwACdAIYAvACrALoAmgDTALMAmQHgAJYAugCaAKkBCwCCAK4AoACMAJUAuQCpABcAkwCaAHsAiwChAN4AoACMAJ0AtgAnAMAAnQCkAIYAogCrALYAvwC6AIIAjgCaAKIAsgDTAJEAmQCtALMAvgHJAf0AlgC6AEcAmACdAKkBCwCCAJkAnwCpALAAgQCFAIsAlACpALUAugAXAFAAYwB4AH0AgwCLAJAAmACiAK4A1ADeASYAewCJAJMAnQClALQEjQAQAAAAAAAyADIAMgAyADIAXQB/ALYBNQHEAj8CVQKIArsC6AMHAyIDNANRA2UDuwPVBBkEiwS4BQoFbAWKBgQGZQZxBn0GpAbBBugHQAfzCCoIkgjcCSEJVgmCCdYKAQoWCkUKeQqaCs8K9AtDC3wL1wwgDIgMqAzaDQANQQ1uDZMNww3fDfMODw40DkUOWQ7LDyUPcA/KEB8QUhDDEQARKRFmEZsRsRIVElMSoBL7E1YTjBPrFB4UWhR/FMIU7hUqFVgVpRW5FggWSxZyFtMXIxeJF9MX7xiNGMAZRRmiGa4ZzRp1GocavhrmGyIbiBucG+AcARweHEkcYhynHLMcxBzVHOYdPR2OHaweCh5JHq8fWx/DIAIgXSC6IR4hUyFoIZshyCHqIioifSLyI4kjsSQFJFkkwSUhJWYltiXeJjAmUSZwJngmnia8Ju4nGydaJ3knqSe9J9In2ygJKCUoQihWKJconyi4KOgpRyltKZcptinuKkkqjSr2K2or1iwELHcs6S0+LXwt4C4JLlwu1S8RL2cvtzASMEUwgjDaMSAxkTH7MlQy0TMgM3cz2jQpNG00lDTdNTQ1gDXyNhY2UTaONuc3EzdNN3U3qTfsODE4azjCOSk5bTnkOlA6aTqwOv87bzuTO8Y8ATwyPF08hjykPUQ9bz2oPc8+Az5HPow+xj8cP4M/yEArQIBA4kEyQXhBn0H9QlxCokMDQ2VDoUPaRC5EgEToRU5FzEZKRtNHWEfCSBhITkiGSPJJWkoRSsdLOUusS/ZMPkxsTIpMukzQTOVNmE3sTghOJE5nTq9PG08/T2NPo0/hT/RQB1ATUCZQZVCjUN9RG1EuUUFRdlGrUe9SPFKzUyZTOVNMU4JTuFPLU95UJ1RvVKlVElV6VcdWEVYkVjdWclavVsJW1VboVvtXT1efV+9X/lgNWBlYJVhcWLlZNlm0WjBaplsbW3xb4FwvXINc1F0kXWldrl4iXi5eOl5lXmVeZV5lXmVeZV5lXmVeZV5lXmVeZV5lXmVebV51XodemV61XtFe7V8IXyNfL187X2lfil+4X9df41/zYBBg2GD7YRthMmE7YURhTWFWYV9haGFxYaphs2G8YcVhzmHXYeBh6WHyYftiBGJcYpdi+GMEY15jq2QFZFZkq2TuZS9lcGX7Zk5muWb3Z0VnW2dsZ4JnmGgGaCNoWmhsaJhpMmlvac5p/WoxamZqmWqmasRq4GrsayhraGvLbDVsmG1QbVBubm60bu5vE29Wb69wKnBFcJ1w5nEPcX1xvHHVciJyUHKBcqty7nMQc0BzXnPBdAR0YHSYdOV1B3U5dVZ1h3WzdcZ18HZAdmx26Hc5d3h3lXfFeB14P3hoeI54x3kaeWB5yXoWeml6xXsRe1N7hnvJfBN8ZHzSfP59MX1rfaV92n4RfkN+hX7FftF/B39af76AC4A2gJKA0IEQgUuBvoHKggKCQIKFgruDG4Nsg7uEHYR5hNGFPoWBhd2GBoZHhpmGs4cfh3GHg4fAh/OIoIkAiV6JkonFifaKK4psirSLG4tLi2iLlovVi/qMIYxijKqM1o0FjVaNX41ojXGNeo2DjYyNlY3ijjmOe47OjzCPT4+Tj9mQA5BQkGyQwpDUkU6Rs5HYkeCR6JHwkfiSAJIIkhCSGJIgkiiSMJI4kkCSUpJaksOTD5Mtk4eT0pQslJ2U6pVFlaCV8ZZhlrCWuJcsl1mXqpfjmD+YcZi1mLWYvZkOmV+ZpZnNmg2aIJozmkaaWZptmoGal5qqmr2a0JrjmvebCpsdmzCbRJtXm2qbfZuQm6Obt5vKm92b8JwEnBecKpw9nE+cYZx1nImcn5yynMWc2JzqnP6dEJ0inTWdSZ1bnW6dgZ2TnaWduZ3Mnd+d8Z4FnhieK54+nlCeY552ns+fYp91n4ifm5+tn8Cf05/mn/igC6AeoDGgQ6BWoGmgfKCPoOuhY6F2oYihm6GtocCh06HmofmiDaIgojOiRqJZomyif6KSoqWiuKLKotyi76L7owejGqMto0GjVaNoo3ujj6Ojo7ajyaPVo+Gj9KQHpBukL6RCpFSkZ6R6pIykn6SypMak2qTtpQClFKUopTulTaVgpXOlhqWYpaulvqXSpeal+aYLph+mM6ZGplmmbKaAppOmpaa4psqm3abwpwSnGKcsp0Cnl6f6qA2oIKgzqEWoWahsqH+okqilqLioyqjdqPCpA6kWqSKpLqk5qUypX6lxqYOpl6mrqbepw6nWqemp+6oOqiCqMqpFqlmqbKp/qpKqpaq4qsyq36ryqwSrGKsrqz2rUKukq7eryavcq++sAawTrCWsOKyQrKKstKzHrNqs7q0BrRStJ606rUWtV61qrXatiK2craittK3HrdOt5q35rgyuIK4zrj+uUa5krnaugq6Urqiuuq7Grtiu6q79rxGvJa97r46voK+zr8av2a/rr/6wErAesDKwRrBZsG2wgrCKsJKwmrCisKqwsrC6sMKwyrDSsNqw4rDqsPKxBrEasS2xQLFTsWWxebGBsYmxkbGZsaGxtLHHsdqx7bIAshSyJ7KNspWyqbKxsrmyzLLfsuey77L3sv+zErMasyKzKrMyszqzQrNKs1KzWrNis3WzfbOFs82z1bPds/G0BLQMtBS0KLQwtEO0VbRotHu0jrShtLW0ybTctO+097T/tQu1HrUmtTm1TLVhtXa1ibWcta+1wrXKtdK15rX6tga2ErYltji2S7Zetma2brZ2tom2nLaktre2yrbetvK2+rcCtxW3KLc8t0S3WLdst4C3lLent7q3zLfgt/S4CLgcuCS4LLhAuFS4aLh8uI+4obi1uMi43LjwuQS5F7kruT+5R7lbuW+5grmVuam5vLnQueO597oKuh66MbpOumq6frqSuqa6urrOuuK69rsKuye7RLtYu2y7f7uSu6W7t7vLu9678rwFvBm8LLxAvFO8cLyMvJ+8srzGvNq87r0CvRW9KL08vU+9Y712vYq9nb2xvcS94b39vhC+I742vkm+XL5vvoK+lL6ovry+0L7kvve/Cr8dvzC/Q79Wv2m/fL+Pv6G/tb/Jv92/8cAEwBfAKsA8wFnAbMB/wJLApcC4wMvA3sDxwPnBPMF+waPByMIJwkzCfMKxwujDH8MnwzvDQ8NLw1PDW8Njw2vDc8N7w4PDlsOpw7zDz8Pjw/fEC8QfxDPER8RbxG/Eg8SXxKvEv8TLxN/E88UHxRvFL8VDxVfFa8V+xZHFpcW5xc3F4cX1xgnGHcYxxkXGWMZrxn/Gk8anxrvGz8bjxvfHCsccxzDHRMdYx2zHgMeUx6jHtMfAx8zH2Mfkx/DH/MgEyAzIFMgcyCTILMg0yDzIRMhMyFTIXMhkyGzIgMiTyKbIucjByMnI3cjlyPjJCskSyRrJIskqyT3JRclNyVXJXcllyW3Jdcl9yfnKLcqAyojKlMqnyrnKwcrNyuDK88r/yxLLJcs5y0XLWMtry37Lkcudy6nLvQAGAGQAAAMoBbAAAwAHAAsADwATABcAAEEVITUzESMRIREjERMVITUBASMBEQEzAQMJ/XYbNgLENhf9dgKK/a86AlH9rzoCUQWwNjb6UAWw+lAFsPqGNjYFXPqMBXT6jAV0+owAAgBE//IB9AWwAAMADwATQAkCAgcNC3IAAnIAKyvdzi8wMUEDIxMDNjY3NhYHFAYHBiYB9MKkqPIBOy8uPQE9Li48BbD76wQV+qovPwEBPC4uPgEBOgACAMkEEwKnBgAABQALAAyzCQMLBQAvM80yMDFBBwMjEzchBwMjEzcBoRdTbjcXAZAXU244FgYAkv6lAVyRkv6lAWOKAAQAUgAABPsFsAADAAcACwAPACNAEQQABQ0ODgAKCQkAAgJyABJyACsrETkvMxE5LzMyETMwMXMBMwEzATMBASE3IQMhNyGkAg+S/e/7AhCQ/fACJPwOGAPytvwNGAPzBbD6UAWw+lADhYv9iooAAwBJ/zAELgacAAMABwA9ADZAHAQHOjoIKxAjBBQvNTUGLw1yAQIfHxQaGgMUBXIAK80zLxEzEjk5K80zLxESFzkzEjk5MDFBAyMTAwMjEwE2JiYnLgI3PgIXHgMHIzYuAicmBgYHBhYWFx4CBw4CJy4DNzMGHgIXFjY2AzoxkzF+KpIqAYQJPmw8ZJ9XCAmAzHxnkVciBrQEDSpQP0t1SAkIPW4/Y51VCAqO3YBlmWUvBrYEFTVZQE2HWgac/s8BMfmf/vUBCwFDSWRDFyZuonV+uGIDAkyBqF40a1o4AgI6bEpNZEIZJ22hdIe2WwICQ3mjYjtnTy0CATVtAAAFALr/6AUxBcgAEQAjADUARwBLACNAEUkySwU7RCkyFw4gBQVyMg1yACsrMsQyEMQyMxEzETMwMVM3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGATc+AhceAgcHDgInLgI3BwYWFhcWNjY3NzYmJicmBgYBAScBvwcJVotZVXc7BgYJVotYVHg8lgkDFjoyNEwtBwkDFTkzNE0uAYsHCFeLWFV3OwUHCVWLWFV3PJYHAxU5MjVMLQcJAxY6MjVMLgFd/JBjA3EES0xVi1ECAlOIUU1ViVACAlKHnk8rUTQCATNTL04sUjYBATNU/E9NVYtQAgJTh1FOVYpQAgJTh59RK1E1AQIzVDBPLFI1AQEzUwNF+5dIBGgAAQA5/+oEgQXHAEIAJEAUIxIADyIBBhowMCsRETsTcgcaA3IAKzIrMi8yMi8RFzkwMUE3NjY3NiYnIgYGBwYWFhcBIwEuAjc+AhceAgcOAgcFDgIHBhYWFxY+AjczDgIHBgYHBgYnLgI3PgIBpew9XggHVkE5VzUGByQ8HAIby/5GLFw7BQhnrG5VjlEFBENmOf7FK1Q9Bwo2bktssYVSDqALPGJCCQ8JSudtdr5qCQhvngMomyhiTUJSATpeNjZnXyv8xgKkQYuYU22lWgMCSoVaSnZeKNceS1w3THA/AgNfocFfZKeVSQoXClNPAgNis3xnmXYAAQCsBCIBigYAAAUACLEDBQAvxjAxQQcDIxM3AYoTTH88EAYAdf6XAXhmAAABAG3+KgMUBmwAFwAIsQYTAC8vMDFTNzYSEjY3Fw4CAgcHBgISFhcHJiYCAn8CFmCb2Y0cbqJxSBQCEAweXVoud5BECAJBC5MBOAEj7EZ8UdTz/vuCD2v+/v7851FvUvgBIwEoAAAB/5D+KQI3BmsAFwAIsRMGAC8vMDFBBwYCAgYHJz4CEjc3NhICJic3FhYSEgIlAhVhmtmOHG2ickgUAw8LIFxYL3aPRQgCVQuT/sf+3exGclPW9wEHgw9qAQABBudQcFP4/t7+2QABAGsCYAOLBbEADgAUQAoNAQcEBA4MBgJyACvEMhc5MDFTEyU3BRMzAyUXBRMHAwOP8f7rRQEWM5VGATAT/sWSgILfAswBEFqPcAFc/qdtoFv+7VcBIf7qAAACAEwAkgQ0BLYAAwAHABC1BwcDAwYCAC/GMxDGLzAxQQchNwEDIxMENB78Nh8Cibi1uAMNrq4BqfvcBCQAAAH/j/7dAOsA3AAKAAixBAAAL80wMXcHBgYHJz4CNzfrGBF4V2QjOikLGtyUbbxCSytZYjaYAAEAGgIfAhACtwADAAixAwIALzMwMUEHITcCEBv+JRsCt5iYAAEANP/yARUA1AALAAqzAwkLcgArMjAxdzQ2NzYWBxQGBwYmNT8xMT8BPzEwQF8xQgEBPjExQAEBPAAB/5D/gwOTBbAAAwAJsgACAQAvPzAxQQEjAQOT/KGkA2AFsPnTBi0AAgBq/+gEIAXIABcALwATQAkrBh8SBXIGDXIAKysyETMwMUEHDgMnLgM2Nzc+AxceAwYDEzY2LgInJg4CBwMGBh4CFxY+AgQUIhJFe8GMa4xRIQELIRFHe8GKa41RIgHmKwYJCSdSRV18TSoLKgYJCSZRRV59TCoDTN1257xuBAJPhKSzVt525LdrBAJMgKKx/q0BHTJ2dWM+AwRTiaBL/uQweHlnQQMEVo2kAAEA+gAAA1QFuAAGAAy1BgRyAQxyACsrMDFBAyMTBTclA1T4tdb+fSACGgW4+kgEzIevxAABABgAAAQnBccAHwAZQAwQEAwVBXIDHx8CDHIAKzIRMysyMi8wMWUHITcBPgI3NiYmJyYGBgcHPgIXHgIHDgMHAQPOGPxiFgIaN3xeCwgqYEhdiFMNsg2L3ohxtGELBkJhcDb+Q5iYjQIMN36QU0RxRQIDTIhXAYjMbwMCW6p3To+DdDP+WQAAAgA1/+oEGgXHABwAOwAqQBYbHB4fBAAAHR0SMy8vKQ1yDQ0JEgVyACsyMi8rMi8yETkvMxIXOTAxQRc+Ajc2JiYnJgYGBwc+AhceAgcOAyMnBzcXHgMHDgMnLgM3FwYWFhcWNjY3NiYmJwGdeVGNXQkIKGBNTntPDLMMidJ5eLJaCQdai6RRpQYSjlaZczwHCFOHrWNalm04BLQFNGlNVoZRCAk7dVADMwIBOXJWSm9AAgE+cksBe7ZjAgJltXpbiFwuAShvAQIsV4hfZKJyOwICOmmVXAFLcEACAkR+VlRwOgIAAgAFAAAEHgWwAAcACwAdQA4DBwcGAgIFCQxyCwUEcgArMisSOS85MxI5MDFBByE3ATMDAQEDIxMEHhv8AhUDIJ/U/e4DDfy1/QHqmHcD5/7V/WUDxvpQBbAAAQBy/+gEawWwACkAHUAOJwkJAh0ZGRMNcgUCBHIAKzIrMi8yETkvMzAxQScTIQchAzY2Fx4DBw4DJy4DJzMeAhcWPgI3Ni4CJyYGAXGVuALXG/3FcDZ5P2WPWCIICU6DtG5bj2U4BKoFM2RNSXBQLgcGFDZcQkhxArYoAtKr/nMgIAEBUYirW2q1hkoDAT1sk1hIcUICATdge0I7b1k2AgIxAAABAG3/6QPyBbMANgAbQA0OLBgiIiwDAARyLA1yACsrMhE5LzMRMzAxQTMHIyYOAgcHBh4CFxY+Ajc2LgInJgYGByc+AxceAwcOAycuAzc3NhI2JAOjFRAMf8qWXhIeBwkrWEpHb04tBwYNLlRBT4lhFGAUTnOaYmKKVSEICkyBsG1vnF0hDAsZc8EBFwWznQFTl8t31ziHfFICAzpjez82cmI+AgJJe0kBWJp0PwMDUYemWGa3jU8DAmWkw2FXqgEt5oQAAQCdAAAEjQWwAAYAE0AJAQUFBgRyAwxyACsrMhEzMDFBBwEjASE3BI0S/OnHAxT9CBgFsHL6wgUYmAAABABA/+kEKwXHABAAIAAwAEAAIUAQDT09JS0VFQQ1LQVyHQQNcgArMisyEjkvEjkzEjkwMUEOAicuAjc+AxceAgc2JiYnJgYGBwYWFhcWNjYBDgInLgI3PgIXHgIHNiYmJyYGBgcGFhYXFjY2A8sKjt6Bd7lkCgdZjK1bcLtrvAcwaExUiFYJCC9oTlSIVQEVCYnOcWitYgcJgc57cqtZvgYpW0RMeEkIByhbRUx3SwGThsBkAwJktHxgmWo2AgJgrnJJeEkCAkuDUUxzQgICRH4C+natXgMCW6NtfrpjAwJir3ZAbUQBAkV4SUFtQgECRXcAAAEAlP/9BBAFxwA4ABtADQA4FiEhOAwrBXI4DHIAKysyETkvMxEzMDF3MxY+Ajc3Ni4CJyYOAgcGHgIXFj4CNzcOAycuAzc+AxceAwcHDgQjI94PgsmRWhIfBwcpWEtHb08uBgYNLVNCQHJbPw5WC05+oV1iilMgCAlNgLFud5xUGAwIEk5+s+6YF5oBS4zGe+A3i4BWAgM8Zn0/NnNlQAICMVZtOwFXpINMAgNUiqhXZrqQUQMDa6zMZEWK+M2WUwD//wAp//IBpARHBCYAEvUAAAcAEgCPA3P///+b/t0BjQRHBCcAEgB4A3MABgAQDAAAAgBCAMkDuARPAAQACQAWQAwBAwcGAAQIBQgCCQIALy8SFzkwMVMBBwE3JQEHNwHEAngh/ScTAz/9PIoVA10CoP7kuwF7bNL+6A96AXoAAgBwAY8D/wPPAAMABwAOtQYHEgMCEAA/Mz8zMDFBByE3AQchNwP/HfzWHALjHfzWHAPPoaH+YaGhAAIAOwDAA9UESAAEAAkAFUALBQgEAAYDAQcCCQIALy8SFzkwMUEBNwEHBQE3BwEDRP10IQL8FPyeAtmZFvyAAngBGbf+hW7XARcXe/6FAAIApf/yA7wFxwAgACwAG0ANAQEkJCoLchERDRYDcgArMjIvKzIRMy8wMUEHPgI3PgI3NiYmJyYGBgcHPgIXHgIHDgIHBgYBNjY3NhYHFAYHBiYB87IJN1pAMF9FCQceTj9BaEUNtA58v3Fvn08KCV+JRj0//vsBOy8vPAE8Ly48AZoBVoRwOStYaUU7YDoCAjBbPwFzpFUCA12mb2Gcgjoyfv5zLz8BATwvLj0BAToAAgBB/joGoAWZAEEAaAAnQBISBQVHUhNyYWRkC11dHR08KTAALzMvMxEzLzMzETMrMjIRMzAxQQ4DJy4DNxMzAwYGFhYXFj4CNzY2LgInJg4DBwYGHgIXFjY3FwYGJy4DAjc2EjY2JBceAxIFBgYWFhcWPgI3Fw4DJy4CNjc+BBcWFhcHJiYnJg4CBogPR3Oia0pbLQYLjZKLBggKKitNb0wtCxQCNHXAjIvswJJhGBUCM3K8iFirTxxQw12f55hPCxgbdK7kARWgnuaVTQv79wcKDDI2MlE/LxE5F0Vbc0dVXyYCCw04VnORWFKDP1ojVjNUfFU0AfxbvZ5fAwI/Zno9Aiz91B5NSTICA1GDkDt25ciaWQICWqHU8n1w4s2hXgEBKCZ0MiYBAmi06wELipEBGfW6ZwICaLTq/vbrJGBcQAICNFJcJkg5d2M7AgNWhJQ/SaGZfEgCATszXyQoAQNZjp4AAAP/rwAABIsFsAAEAAkADQApQBQEBwcKDQ0GAAsMDAIIAwJyBQIIcgArMisyETkvMzk5MxEzMhEzMDFBASMBMxMDNzMBAwchNwMs/UzJAxiBivETeAEfdhz85RwFJPrcBbD6UAU6dvpQAhuengAAAgA7//8EmgWwABkAMAApQBQZKSYCJycBJiYODA8CchwbGw4IcgArMhEzKzIROS8zMxEzEjk5MDFBITcFMjY2NzYmJiclAyMTBR4DBw4CBwMhNwUyNjY3NiYmJyU3BRceAgcOAgK0/o8ZATtNiV0KCjRrSP7i4b39AcNbm3A5CAh3s2DJ/kaFATpVkF8LCSpmT/7pHQFjH1p7OQYLlegCqZsBNmxSTl8rAgH67gWwAQItW45ja5JTDf0pnQE+eFhOcD0DAZsBOA5jlVmPv18AAAEAcP/oBPkFxwAnABVAChkVEANyJAAFCXIAK8wzK8wzMDFBNw4CJy4DNzc+AxceAhcjLgInJg4CBwcGHgIXFjY2A9y5HqX5moq7aSEQFRRpqeeTk8ZnBLoDNHZlbqV0Rg8WCwY1d2ZwnmgBzgKW3HYEA3jE7HiRhPXAbgMDftqNXJRYAwNYl7pflE+xnWUDBE6VAAACADsAAATPBbAAGgAeABtADQIBAR0ODw8eAnIdCHIAKysyETMRMxEzMDFhITcFMjY2Nzc2LgInJTcFHgMHBw4CBAMDIxMBxv7NHQEbn+mOFw0MEUqOcP62HAEyktGBLxAMFXzC/wBr/b39nQGL75ZaYLiVWwMBngEDcb70hleU+7hlBbD6UAWwAAAEADsAAASxBbAAAwAHAAsADwAdQA4LCgoGDw4HAnIDAgYIcgArMjIrMjIROS8zMDFlByE3AQMjEwEHITcBByE3A9oc/RMbAQn9vf0Csxv9dRwDUBz9HRydnZ0FE/pQBbD9jp2dAnKengAAAwA7AAAEpAWwAAMABwALABtADQcGBgIKCwsDAnICCHIAKysyETMROS8zMDFBAyMTAQchNwEHITcB9f29/QKbHP2GHANLHP0nHAWw+lAFsP1xnp4Cj56eAAEAdP/rBQUFxwArABtADSsqKgUZFRADciQFCXIAKzIrzDMSOS8zMDFBAw4CJy4DNzc+AxceAhcjLgInJg4CBwcGHgIXFjY2NxMhNwTOVjuvyF+Rx3QnERAUZafqmYvHcQq6B0F5WnKncUQPEQsLP4JrPXdsLzv+uBwC1f3rUl0mAQJ4xvSAcYn7w28DA27GiFaASAMEW5u/YnRVuaBlAgESLioBRpwAAAMAOwAABXcFsAADAAcACwAbQA0JBggDAgIGBwJyBghyACsrETkvMzIRMzAxQQchNxMDIxMhAyMTBGgc/QIci/29/QQ//bv8Az6dnQJy+lAFsPpQBbAAAQBJAAACAgWwAAMADLUAAnIBCHIAKyswMUEDIxMCAv28/QWw+lAFsAAAAQAH/+gERAWwABMAE0AJEAwMBwlyAgJyACsrMi8yMDFBEzMDDgInLgI3MwYWFhcWNjYC2bC7rxOI2IuBtVoJvAYoYlFXg1EBqAQI+/mHy28CA2i9gUx2RgIDTYQAAAMAOwAABVEFsAADAAkADQAcQBAGBwsFDAgGAgQDAnIKAghyACsyKzISFzkwMUEDIxMhAQE3AQEDATcBAfX9vf0EGf09/nMGASYCMsD+aYMB5QWw+lAFsP1X/pvdARcCGvpQAs+Q/KEAAgA7AAADsQWwAAMABwAVQAoDAgIGBwJyBghyACsrETMRMzAxZQchNwEDIxMDsRz9PRsBCP29/Z2dnQUT+lAFsAAAAwA7AAAGtwWwAAYACwAQABtADQIHDgULCHIMBAAHAnIAKzIyMisyMhE5MDFBMwEBMwEjATMDAyMBMwMjEwF3rgEBApvA/MWP/oGhgGK8Bdqi/btkBbD7XwSh+lAFsPyC/c4FsPpQAkIAAAEAOwAABXgFsAAJABdACwMIBQkHAnICBQhyACsyKzISOTkwMUEDIwEDIxMzARMFeP23/fjEvf22AgrFBbD6UARr+5UFsPuSBG4AAgBz/+kFEAXHABUAKwATQAknBhwRA3IGCXIAKysyETMwMUEHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGHgIXFj4CBQAMFGeo6peQwWshEA0TaanqlZLBah/XDQsGN3xtb6h1Rg4NCwc4fGtyqHNFAwZbhv7KdAMDfcz2fFuG/cp1AwN8zPbZX1W4oWYEA12fwGBfU7miaQQDXZ7CAAABADsAAATvBbAAFwAXQAsCAQEODA8Ccg4IcgArKzIROS8zMDFBJTcFMjY2NzYmJiclAyMTBR4CBw4CArT+ehwBb16dZwwLN3ZU/qjhvf0B/oLLbAwNnfUCOgGdAUCAY1V7RAMB+u4FsAEDZ8CJmshgAAADAGv/CgUIBccAAwAZAC8AGUAMIBUDcgArKwMKCXICAC8rMjIRMysyMDFlAQcBAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgIDJQE9iv7IAlgNE2io6paRwWsgDw0TaanrlZHBax/YDQsFN31scKd1Rw4NCgY5fGtyqHNEp/7TcAEpAtNbh/7JdAMDfcz2fFyF/cp1AwN8y/fZX1W4oWYEA12fwGBfU7miaQQDXZ/BAAIAOwAABLwFsAAYAB0AI0ASGxoJAwwMCwsAHBkYCHIWAAJyACsyKzIyEjkvMxIXOTAxQQUeAgcOAgcHITcFMjY2NzYmJiclAyMhAzcTBwE4AciFzGsMCmuoZjj+PBoBQVibaQwLOHdU/t3hvQM/5br0AQWwAQNgu45xo20gFJ0BQH1cWHY+AgH67gKUAf14DQAAAQAp/+oEowXGADkAH0APCiYPNjExKwlyGBQUDwNyACsyLzIrMi8yETk5MDFBNi4CJy4DNz4DFx4CByc2JiYnJgYGBwYeAhceAwcOAycuAzcXBh4CFxY2NgNsCSxUaDRLkXRBBwhimLZdgcxyB7wHOnlYUJFkCwgwVWUuUJVzPQgJZJy6XmKvhkgFuwUoUXBDT5dqAXdCWT0pEhpGY4hbZZlmMgIDbcSFAVd9RAICNG1VO1Q6KA8bSWeOYGiYYS4CAT1yo2gBRmpHJQECMGoAAAIAqQAABQkFsAADAAcAFUAKAAMDBgcCcgEIcgArKzIyETMwMUEDIxMhByE3A0P8uv0Cfxz7vBwFsPpQBbCengABAGP/6AUcBbAAFQATQAkBEQYLAnIGCXIAKysRMzIwMUEzAw4CJy4CNxMzAwYWFhcWNjY3BGC8qBai+ZmR0WURqLqnCzF7ZGqjZxAFsPwpmOB5AwN825ID2fwmX5RXAwNRmGgAAgClAAAFYQWwAAQACQAXQAsABggBCQJyAwgIcgArMisyEjk5MDFlATMBIwMTFyMBAjECXdP9EZdx3RCM/trmBMr6UAWw+yXVBbAAAAQAwwAAB0EFsAAFAAoADwAVABtADRAMAQoCchMSDgQJCHIAKzIyMjIrMjIyMDFBATMDASMTEwMjAwEBMwEjAxMTIwMDAf8BtI6Q/jCNJkQFg3MESgFzwf3HjCxzHYN+EQHBA+/+bfvjBbD8Ev4+BbD8JgPa+lAFsPv//lEELgGCAAAB/9QAAAUrBbAACwAaQA4HBAoBBAkDCwJyBgkIcgArMisyEhc5MDFBEwEzAQEjAQEjAQEBnvwBquf9yQFT0v79/kvpAkT+tgWw/dMCLf0m/SoCOP3IAugCyAABAKgAAAUzBbAACAAXQAwEBwEDBgMIAnIGCHIAKysyEhc5MDFBEwEzAQMjEwEBde8B7uH9c128Yf66BbD9JgLa/Gb96gIrA4UAAAP/7AAABM4FsAADAAkADQAfQA8EDAwJDQJyBwMDAgIGCHIAKzIRMxEzKzIyETMwMWUHITcBASM3ATMjByE3BAwc/EMbBGb7s3sbBEt8Txz8dhydnZ0EfvrlmgUWnp4AAAEAAP7IAqMGgAAHAA60AwYCBwYALy8zETMwMUEHIwEzByEBAqMZuf77uhj+kgE0BoCY+XiYB7gAAQDA/4MCnwWwAAMACbIBAgAALz8wMUUBMwEB/P7EpAE7fQYt+dMAAAH/e/7IAiAGgAAHAA60BQQAAQQALy8zETMwMVM3IQEhNzMBlxkBcP7L/pAYugEFBeiY+EiYBogAAgBPAtkDEAWwAAQACQAWQAkIBwcGAAUCAwIAP80yOTkzETMwMUEBIwEzEwM3MxMCGP7osQGhdA1uAmijBND+CQLX/SkCC8z9KQAB/4H/aAMXAAAAAwAIsQIDAC8zMDFhByE3Axcb/IUbmJgAAQDQBNoCKwYAAAMACrIDgAIALxrNMDFBEyMDAZ6Njs0GAP7aASYAAAIAMf/pA8cEUAAbADoAKUAVKyweJx46Og8nMQtyGBkKcgkFDwdyACsyMisyKzISOS8zERI5OTAxZRM2JiYnJgYGBwc+AxceAgcDBgYXBwcmNhMHJyIOAgcGFhYXFjY2NxcOAycuAjc+AzMCrloHJVVAOGtODLQHWISYSG2hUgtTCQMOArcLAXUVqzZ4bEoIBidQNUWGZBNCE1Z1hkNbk1UGBmCXtFi5Ai8+XjQCASZMOgFReVEnAQJZoHD+CDdvNREBLl4CBYIBECxTQjZPLAEBOGhEWUJvUCwBAk6NXmeMVCUAAAMAH//oBAIGAAAEABoALwAZQA4hFgdyKwsLcgQKcgAAcgArKysyKzIwMUEzAwcjAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYWFhcWPgIBKrboMqcD2QINRXerc2iOUh4GCxFOfKpub4tIE8IDBwQnWU8/b1o/ECcCPG9KU3hRLwYA+sfHAiwVY8akYgMCXJW1W1xhupZXAwNmob5vFjyGdksCAi1RaTrzSH9PAwNHd5AAAAEARv/qA+IEUQAnABlADB0ZGRQHcgQEAAkLcgArMjIvKzIvMjAxZRY2Njc3DgInLgM3Nz4DFx4CFScuAicmDgIHBwYeAgHjQnJQEawQicVrcp9gJAoEDFKJvHVyqFyqATBeRVN7VTEJBQYJLmCDATRgPwFtpFsCAluYv2UrbcWZVgMCZ7BwAUBsQgMCQnOMSCpAhnNIAAMAR//oBHYGAAAEABoALwAZQA0hBAQWC3IrCwdyAQByACsrMisyLzIwMWUTMwEjATc+AxceAwcHDgMnLgM3BwYeAhcWNjY3NzYuAicmDgIC3OS2/vWl/YoCDUd6rnRojFEdBgsRTnurbmqLTRfDAgcFKFpNUoxkFicDID9bOFR6UzDdBSP6AAIJFWTIpmIDA1yXtFtcYbqVVgMEZqG7bxU8hXVLAwJOgkzzN2VQMQEDR3eQAAEARf/rA9oEUQArAB9AEGcTAQYTEhIAGQsHciQAC3IAKzIrMhE5LzNfXTAxRS4DNzc+AxceAwcHITcFNzYmJicmDgIHBwYeAhcWNjcXDgIB6m+jZywJBApSibtycZZVGgsL/O8YAlcDCiRfUFN6Ui8JBAYUOWZLW5E8Zy+CmhQCVZG6ZitoyaJfAwJcl7tiU5cBEEiGVwIDSXuRRSpAgmtDAgJTQFhFXi4AAgB1AAADUQYZABEAFQAVQAsUFQZyDQYBcgEKcgArKzIrMjAxYSMTPgIXFhYXByYmJyIGBgcXByE3AS21zA5kpnIhQiAWFzEYQF45Cs4Z/cYaBKttpVwBAQkHmAUGATVdPXKOjgAAAwAD/lEEKQRRABMAKQA+ABtADzAlC3I6GgdyDgYPcgAGcgArKzIrMisyMDFBMwMOAicuAic3FhYXFjY2NxMBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgODprUTh9mLSYx2KGgvgVNbjVkOjv0HAwxHeK50aYxRHQYLEU58q21ri0wWwgMHBihZTVKMZBYnAyA/WjlUelMwBDr73ofOcgMCLlQ9bENPAwJHhFkDR/60FmTIpWECA1yXtFtcYbqVVgMEZqG7bxY8hHVLAgNOgkzzN2ZQMAEDR3iQAAIAIAAAA9oGAAADABoAF0AMEQIWCgdyAwByAgpyACsrKzIRMzAxQQEjAQMnPgMXHgMHAyMTNiYmJyYOAgHg/vW1AQsYSg5Le6tuV3VCFgl2tngHF01ITHpbOQYA+gAGAPxGAmG7llcDAj9sjU/9OwLIQWk/AgI+a4MAAgAvAAAB5QXGAAMADwAQtwcNAwZyAgpyACsrzjIwMUEDIxMTNDY3NhYHFAYHBiYBoLy1vCQ7Ly89AT0uLjwEOvvGBDoBHC8/AQE8Li49AQE5AAL/E/5GAdYFxgARAB0AE0AJDQYPchUbAAZyACvOMisyMDFTMwMOAicmJic3FhYzMjY2NxM0Njc2FhUGBgcGJuG2zQxLhWIfPB4RFSoVMD8kB+87Ly88ATwuLj0EOvtFW45QAgEKCJUFBylGLAXXLz8BATwuLzwBATkAAwAgAAAEGwYAAAMACQANAB1AEQYHCwUMCAYCCQYDAHIKAgpyACsyKz8SFzkwMUEBIwkDNzcBAwE3AQHh/vW2AQsC8P3o/r0W2AGBdf7ccwF3BgD6AAYA/jr+EP7d1twBYfvGAg6b/VcAAAEALwAAAe8GAAADAAy1AwByAgpyACsrMDFBASMBAe/+9bUBCgYA+gAGAAAAAwAeAAAGYARRAAQAGwAyACFAESkSAi4iIhcLAwZyCwdyAgpyACsrKxEzMxEzETMzMDFBAyMTMwMnPgMXHgMHAyMTNiYmJyYOAiUHPgMXHgMHAyMTNiYmJyYOAgFolLa8rG9SDkh5rHFUdEcZB3m1eAgfVEhRd08wArCCDE18pGNYekkZCXe2eAgdVEo7YkgvA1j8qAQ6/gwCZbyUVAMCPWmITf0vAslEaD0CAjxphSAmXaaASAICPWqNUv05AspFaDsBAihJYAACACAAAAPaBFEABAAbABlADRICFwsDBnILB3ICCnIAKysrETMRMzAxQQMjEzMDJz4DFx4DBwMjEzYmJicmDgIBZ5K1vKt0Sg5Le6tuV3VCFgl2tngHF01ITHpbOQNI/LgEOv4MAmG7llcDAj9sjU/9OwLIQWk/AgI+a4MAAgBG/+kEFwRRABUAKwAQtxwRC3InBgdyACsyKzIwMVM3PgMXHgMHBw4DJy4DNwcGHgIXFj4CNzc2LgInJg4CTwMMVYzAdnKjZSgKAg1WjcB1caNkKMACBw0zYk5Tflk1CQIHDTNiTlN/WDUCCxdtyp5aAwJem8JnF23InFkDAl2awH0YP4h0SgICRXaQRxc/iXdLAgNHeJEAAAP/1/5gBAAEUQAEABoALwAZQA4hFgdyKwsLcgMGcgIOcgArKysyKzIwMUEDIwEzAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHAwYWFhcWPgIBa962AQSmAnUCDUV2q3NlkFglBg4RUX6tbm+LSRLCAwcHK1tOPm9aQA8rAUBvR1N7VDIDX/sBBdr98hVix6RiAwJVja9cb2K7llUDA2WhvXAWPIZ1TAICLVFpOv77R3lKAgJHeZEAAwBG/mAEJwRRAAQAGgAvABlADiEWC3IrCwdyBA5yAwZyACsrKzIrMjAxQRM3MwEBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgJt4TGo/vv9LgMMSHmwdWiOUx8GCxFQfqxubI1NF8QDBwYqWk1Tj2YXJwIhQVw5VHtUMv5gBRXF+iYDqhVlyaRgAgNclrVbXGK6lVUDBGWgvG8VPIZ2TQMCUIVM8zdnUTIBA0h5kgACACAAAALRBFQABAAWABlADQYJCQUUB3IDBnICCnIAKysrMjIRMzAxQQMjEzMlByYmIyYOAgcHPgMXMhYBcp21vLABRREVKxVBZ083EDkLM1uLYhYrA4j8eAQ6Ca4EBgEpSmQ6HlGqkFgDCAABAC7/6wOzBE8ANQAXQAsbAA4yKQtyFw4HcgArMisyETk5MDFBNiYmJy4DNz4DFx4CByc2JiYnJgYGBwYeAhceAgcOAycuAjcXFBYWFxY2NgK8CT9lMDx6ZTsDBE17kkhmp2IDswIyWDg1ZkgIBiZDSx9SoGQFBFF/mExptWwDtTdiPzVvUQElPkYlDA8sRWdKUHpSKAECUJZrATlSLQEBI0k6KzchFQgXRntkVX1RJgECU51xAUFZLgEBHkcAAgBD/+0ClQVBAAMAFQATQAkKEQtyBAIDBnIAKzIvKzIwMUEHITcTMwMGFhYXMjY3BwYGJy4CNwKVGf3HGe60twMKJicWKxYNIEMhU14iBwQ6jo4BB/vJIzghAQcDmAkJAQFSgkoAAgBb/+gEFAQ6AAQAGwAVQAoBEQZyGAMDCwtyACsyLzIrMjAxQRMzAyMTNw4DJy4DNxMzAwYeAhcWNjYC0I62vK1pSg1CcadyWXdEFgh1tXUEBh4/NGyWWAEEAzb7xgHeA2a3jU8DA0JwkFACuv1DLFVGKwIEWZ4AAgBuAAAD7gQ6AAQACQAXQAsABggBCQZyAwgKcgArMisyEjk5MDFlATMBIwMTByMDAYUBqr/93X8rmgV01LADivvGBDr8X5kEOgAEAIAAAAX+BDoABQAKAA8AFQAkQBQHCwARAxQGCRAMAQoGchIOBAkKcgArMjIyKzIyMhIXOTAxZQEzBwEjExMHIwMBATMBIwMTByMDNwFMAaR9Ov5WeiBLD3Z1A1MBcbr+FH8RcgZvfgfJA3G7/IEEOvxxqwQ6/I0Dc/vGBDr8isQDlqQAAAH/xQAAA/UEOgALABpADgcECgEECQMLBnIGCQpyACsyKzISFzkwMUETATMBASMDASMBAwFJpwEm3/5OAQjFs/7P3QG+/wQ6/ncBif3h/eUBlf5rAi0CDQAC/6r+RwPsBDoAEwAYABlADRcWFQMIAhgGcg8ID3IAKzIrMhIXOTAxZQEzAQ4DIyYmJzcWFhcWNjY3ExMXBwMBXAHIyP2FGUNVakAbNxoLDBgLQ2FHHD+BDIfEewO/+x41Yk4sAQoGmAIDAQIqUjkEnfyuv0IEUwAD/+4AAAPPBDoAAwAJAA0AHEANBAwMCQ0GcgcDAwYCEgA/MzMRMysyMhEzMDFlByE3AQEjNwEzIwchNwNKG/0EGwNp/Kx1GQNOek8b/TEcmJiYAxb8UpEDqZmZAAIAN/6TAxYGPwARACUAGUAKHQkKChwcEhMBAAAvMi8zOS8zEjk5MDFBFwYGBwcOAgc3NjY3Nz4CAwcuAjc3NiYmJzceAgcHBhYWAvocengRHA94vXYLb3oPHBFprXsqbIg3DBwHGExHCmyeUAsbCQxFBj90Kbx6z3udTgN6BIBrz3y4ffjncSSFuG/PQmc+BXoEVZ5wz0iKbgABACL+8gHCBbAAAwAJsgACAQAvPzAxQQEjAQHC/vKSAQ4FsPlCBr4AAv+N/pACbAY8ABMAJgAbQAseCwoKHx8BFRQAAQAvMy8zEjkvMxI5OTAxUzceAgcHBhYWFwcuAjc3NiYmASc+Ajc3PgI3BwYGBwcOApwqbIc4DRsIGE1GCWqfUQsbCQ1E/sIcUWs8DBsQeLx1Cm95EBwQaa0FzHAjhrhv0EJmPgRyBFGZb9BIi2744nUbZ4tRznuZSQNwBIFrzny4fQABAGkBkATdAyYAHwAbQAsMAAAWBoAcBhAQBgAvMy8RMxoQzTIvMjAxQTcOAycmJicmJicmBgYHBz4DFxYWFxYWFzI2NgRPjgY0WHxPVIY6JFE2O04rCJwHNVl8T1SGOSRSNj1RMAMIA0eIbT8BAlE5JD8BATpeMwNHhWo8AQJSOSRAAT5jAAL/8f6XAaEETwADAA8ADLMBBw0AAC8v3c4wMUMTMwMTFAYHBiY1NjY3NhYPw6On8DsvLj0BPC8uPP6XBBX76wVQLz4BATsuLz0BAToAAAMAUP8LA/IFJgADAAcALwAlQBICASUlIQMcB3IHBAgIDAYRDXIAK83MMxI5OSvNzDMSOTkwMUEDIxMDAyMTNxY2Njc3DgInLgM3Nz4DFx4CByM0JiYnJg4CBwcGHgIDCDO2MycztjNyQ3NSEawRisdrcp5dIgoFDVWLvnVyp1oBqy5cRVN9VzMKBQgILF4FJv7gASD7BP7hAR9ZAjVgPwFtpVsCA1uYv2UrbcaYVgMDZ69wQWxDAgJCco1IKj+Gc0kAA//zAAAEiAXHAAMABwAiACFAEAYFBQEfFgVyDA0NAgIBDHIAKzIRMxEzKzIROS8zMDFhITchASE3IQEDBgYHJz4CNxM+AhceAgcnNiYmJyYGBgPf/BQcA+z+7v1zGwKO/upSCkFGsSw2HAZVEIXUhHSiUQa8BSZXRlF2R50B0p0BBP2EVaM2NxFUZSoCfoHIbwMDY65yAUJoPgICUIIAAAYAEv/lBY0E8QATACcAKwAvADMANwAOtQ8ZBSMNcgArMi8zMDFBBh4CFxY+Ajc2LgInJg4CBz4DFx4DBw4DJy4DAQcnNwEHJzcBJzcXASc3FwEyCyFThFhfqIRUDAsgVINYYKeEVbUOcrXng33AfjYNDnK06IN9v382BRHfcOD8QuBu3wNdqZCo/I2ojqgCV1CdgU8CA0yFqVpQnIBPAgNMhKhZfuazZgIDabDbdH7ntGcDA2qx2wJ7xZLF+7rFkcT+qtaA1gM113/XAAUAQwAABJ8FsQADAAcADAARABUALUAWCxAQBgcSFRUIDgMDAgIRFAxyCREEcgArMisSOS8zEjk5MhEzzjIzETMwMUEHITcBByE3JQEzAQcDEwcHAQEDIxMDtxb81RYC+Rb81BcBhAHn2v3GdoHmIXr+7wHahryHAuF9ff7dfHzdAxX8rAEDVvzgNAEDVP1W/PoDBgAC//j+8gHZBbAAAwAHAA20AQIGBwIAP93ezTAxUyMTMxMDIxOttYq1ooS1hP7yAxgDpv0KAvYAAAL/2v4PBJkFxwAvAGEAHkATUz8AAQUrXTUxMA8hDE9EHRQRcgArMi8zFzkwMWU3PgI3Ni4CJy4DNz4DFx4CByM2JiYnJgYGBwYeAhceAwcOAwMHDgIHBh4CFx4DBw4DJy4DNzcGHgIXFjY2NzYuAicuAzc+AwJVDEJ+WAsIM11qLk6QcDsHB2KWs1mFw2QJtAY3clRIkmgMCTBYajFPk3I9BwdbjaZ9DEN1TwoJMFlrMk6RcDwHB2CVs1pkqnxABboFI0lqQUeSaQsJM1xpLU6ScjwHBleHoGt2AixcST1UOSYPGkFdhV9kj1sqAgJmv4hRfEgCASphUUBTNSQPGkFfh2Bff0shAv94AyxbSEBVNiQQGkBdhl5mj1opAQI4bKBqAkNoRyYBAStiTz1SNyUPGkJfh2Bcfk0jAAACANoE7wNSBcgACwAXAA60AwkJDxUALzMzLzMwMVM2Njc2FhUGBgcGJiU0Njc2FgcUBgcGJtoBOy8vPAE9Li09AaI7Ly89AT0uLjwFWS4/AQE8Ly48AQE6LC4/AQE8Ly48AQE5AAADAF7/6AXeBccAHwAzAEcAH0AOHQQEJSVDFA0NLy85A3IAKzIRMxEzLzMRMxEzMDFBNwYGJy4CNzc+AhcWFgcnNiYnJgYGBwcGFhYXFjYlBh4CFxY+Ajc2LgInJg4CBzYSNiQXHgISBwYCBgQnLgICA6+MDriYbIY5CAwMX6JxkZoHjgVFW0liNwkNBRNGRl5h/T4PMXq9fYTot3UQDzB6vH2E6bd1ghGG1gERnJXnmUIQEYXW/u+cleeZQgJVAZWqBQNvr2JzaLJsAgOpjwFVZAECTHhBdTl1UgIEZtR03LJsAgNntud9c9uyawIDZrTnfZUBEdV6AwJ+0/76jJT+7tZ7AwJ/1AEHAAIAwwKyA0oFyAAXADEAGrUxGhoNFiq4AQCyCA0DAD8zGtzEEjkvMzAxQRM2JiYnJgYHJz4CFx4CBwMGBhcjJhMHIw4CBwYWMzI2NjcXDgIjJiY3PgIzAnE0Aw0qKDlWD5wIX4tMU3I4BzEHAwebDWEThihYQQYHQCsmU0MPBhlNXjVjfgMDcKJQA14BViQ7JAECMjgMUmgyAgFHe1L+xi5aLlABbG8BFzUvMScfNiVxLkEiAXVmYGgo//8AVgCWA40DsgQmAZL5/QAHAZIBOv/9AAIAgQF4A8UDIQADAAcAErYGBwMGAgIDAC8zETMSOS8wMUEHITcFAyMTA8Uc/NgdAxo9tT4DIaKiS/6iAV4ABABd/+gF3QXHAB4ALwBDAFcANUAbHxsYIAQCAgEBDykNDTU1UwwPD0lTE3I/SQNyACsyKxI5LzMRMxEzLzMSOX0vMxIXOTAxQSM3Fz4CNzYmJicjAyMTBR4CBw4CBwYGBw4CBzcWFgcHBhYXByMmNjc3NiYlBh4CFxY+Ajc2LgInJg4CBzYSNiQXHgISBwYCBgQnLgICAzXeErwoTzoHCCVHLY1xioUBAk2ETgUDSGk1BAcEChASHxdvfggGAwMCAYsFBQQGBzf9dQ8xer19hOm2dRAPMHq8fYTpt3WCEYbWARGcleeZQhAQhtb+75yV55lCAo+AAQIbNyw0NhQC/S8DUAECM2xWS00wHQIIAwcIBQFaA250NyE9IRElSCU1Rz5KdNyybAMCZ7bnfXPcsWsCA2a0532VARHVegMCftP++oyU/u7WewIDf9MBCAAAAQD4BRcDmwWlAAMACLEDAgAvMzAxQQchNwObF/10FwWljo4AAgDoA74C1wXHAA8AGwAPtRMMwBkEAwA/MxrMMjAxUz4CFx4CBw4CJy4CNwYWMzI2NzYmJyIG6wJKeElDZTcCA0d2SUNnOnsFOzM4UgYGNzQ4VgS4R3xMAQFJckBHeksBAUZxQzFKUzYwTQFVAAADACYAAQQABPMAAwAHAAsAErcLAgMDBAoScgArLzkvMzIwMUEHITcBAyMTAQchNwQAGfyGGQJamaSZAS0Y/NUYA1eYmAGc/C4D0vull5cAAAEAXQKbAuYFvgAcABOxHAK4AQCzCxMDcgArMhrMMjAxQQchNwE+Ajc2JiciBgcHPgIXHgIHDgIHBwK5F/27FAE8HEEyBgc1L0JQDpsJV4hSRnZGBARIZC/EAxuAdAEJGDtFKC83AUs9AVN2PwEBM2VMQWxZJZIAAAIAbwKOAuwFvgAZADMALEAMHBgAABoaECwpKSQQuAEAtQsLCBADcgArMjIvGhDMMi8yETkvMxI5OTAxQTM+Ajc2JiMmBgcjPgIXHgIHDgIHIwc3Fx4CBw4CJy4CNTMGFhcyNjc2JiYnAVxJJUg0BgdCLjJND5wIVoFIQ3xNAwJdhT54Bw5fQHlNAwJhkEpJekmXAUg1N2IIBiI9JARlAhcyKjMvAS4wS2QwAQEuYExKWScBJE4BAiFTTFRqMgIBNWdONzIBOTwqLhMBAAEA1QTaAqYGAAADAAqyAYAAAC8azTAxUxMzAdXr5v7OBNoBJv7aAAAD/+b+YAQlBDoABAAaAB4AGUAMHQUAFgsTcgMSchwAAC8yKysyETkvMDFBMwMjEzc3DgMnLgInEzMGFBYWFxY+AgEzASMDcLW8oxtEPAwvWJJtPHdXDAttBBtGQlh6Tiz9zrT++7MEOvvGAQX2Ali8oGIDASlUQgEiM3FjQQIDO2uKAov6JgAAAQB4AAADvQWxAAwADrYDCwJyABJyACsrzTAxYSMTJy4CNz4CMwUCwbZbSIjAXg4PluyRARUCCAEDdcyHlNV0AQAAAQClAmoBhQNLAAsACLEDCQAvMzAxUzY2NzYWFQYGBwYmpgE9MjE+AT8xMD8C1jFCAQE+MTE/AQE8AAH/yP5LAREAAAATABG2CwqAEwIAEgA/MjIazDIwMXMzBxYWBw4DBzc+Ajc2JiYnJoEVP0ACAj5hcTUEJE88BwYuRhs4DlVAQVQvFAJsAhEtKycjCgQAAQDgApsCcAWwAAYACrMGAnIBAC8rMDFBAyMTBzclAnCEmWncGAFiBbD86wJVOIhwAAACAL8CsANvBcgAEQAjABC2Fw4gBQNyDgAvKzIRMzAxUzc+AhceAgcHDgInLgI3BwYWFhcWNjY3NzYmJicmBgbHBwtjoWpkhj4ICAthoGpkhz+xCQUUQDw+VjIICQUVPzs+VzMEE1Bko14CA2GfX1Fkol0CA2GesFMzYEABAj1jOFIyYT8CAjxjAP//ABEAmQNaA7UEJgGTDQAABwGTAV8AAP//ALoAAAU0Ba0EJwHWAE4CmAAnAZQBEQAIAAcCMALAAAD//wC1AAAFeQWtBCcBlADmAAgAJwHWAEkCmAAHAdUDBgAA//8AngAABY0FvgQnAZQBjAAIACcCMAMZAAAABwIvAKMCmwAC/9H+ewLwBFAAIQAtABhACgAAJSUrEBERDRYALzMzLz8zLzMvMDFBNw4CBw4CBwYWFhcWNjY3Nw4CJy4CNz4CNz4CARQGBwYmNTY2NzYWAZCyCTZZPi9dQwgIIVJCQWhFDLQNfL9yb6RSCghdh0UoNR8BADsvLj0BPC4vPAKoAVWCbjosWWpFPmE4AQIzXT8Bc6ZYAgNapXJhnoQ7IkxZAXIvPgEBOy4vPQEBOgAG/4MAAAd5BbAABAAIAAwAEAAUABgAMUAYABcXCAcUEwcTBxMCDQMYAnIMCwsOAghyACsyMhEzKzIyETk5Ly8RMxEzMhEzMDFBASMBMwMHITcBByE3EwMjEwEHITcBByE3BCf8RekEVHskH/0uHwV3G/04G8nBtcICnxv9mxsDHxv9ORsFEfrvBbD8YK+v/oiYmAUY+lAFsP2SmJgCbpiYAAACACgAzQQCBGQAAwAHAAyzBAYCAAAvLzMyMDF3JwEXAwE3AY5mA3Vl8f2OgQJxzoQDEoX87gMkc/zcAAADACD/owWcBewAAwAbADMAF0ALAQAvCiMWA3IKCXIAKysyETMyMzAxQQEjAQMHDgMnLgQ3Nz4DFx4EBzc2Ni4CJyYOAgcHBhQeAhcWPgIFnPscmATnBwwUZ6jql3OqcD0QDQ0TaanqlXWpcD0O1A0JARtBclZwqHVGDg0JHEJxVXKoc0UF7Pm3Bkn9GluG/sp0AwJTjLLHZFyF/cp1AwJTi7PHwF9Ek4pwRQMDXp7BYF9DkotyRQMEXZ/BAAIAOQAABF4FsAADABkAHUAODw4OAxkEBAMAAnIDCHIAKysROS8zETkvMzAxQTMDIwEFHgIHDgIjJTcFMjY2NzYmJiclATa1/bUBKgFWfMFoCwyZ6ob+vRsBK1eXZAwKNHBP/usFsPpQBIsBA2O4go/BYQGXAUF9WlB2QgMBAAEAH//pBBoGFQA5ABlADSMbNggCCnIIAXIbC3IAKysrETMRMzAxQQMjEz4DFx4CBw4DBwYeAwcOAicuAic3FhYXFjY2NzYuAzc+Azc2JiYnJgYGAZC9tL4MQ26aZGSWTggGMkA2CgkuTlE2BAZ0uG0wZWEqNy9yOzxsSQkIMVBRNAUFNUQ4CAccRThWbDoEWfunBFhbonxEAgNNkmc/Zl5iOjldVVdkP3KdTgEBDyAZnCErAQEpUz87XlZYZ0I6YVtfOjRXNgIDVokAAAMAE//qBlcEUQAUADIAXgA3QBxXMzMyF0ZFFCUAAykXRRdFDx8pC3JMPj4FDwdyACsyMhEzKzISOTkvLxIXOREzETMyETMwMWUTNiYmJyYGBgcnPgMXHgIHAwMHJyIGBgcGFhYzFj4CNxcOAicuAjc+AzMBLgM3Nz4DFx4DBwchNyE3NiYmJyYOAgcHBh4CFxY2NxcOAgKNWgYbTEM9cE8MsQlUgJlNcptIDFM9GfRAg14JBytQMS5sZ0wNTC6Zs1ZfjkoGBliJplQCcnWkYyYKBQxShrdwaZRYHgsS/PMZAlIGCx9dUk55VjMJBgcONmhRW5xLMzJ/iLUCHTxmQAICK1Y+EVR8USUBA2OrcP4KAaSMASpaSTZIJQEeOE4vkU1gKwECTY1hYYNPIv1vAViWwGotZsOcWgMCUIetYHaOIEp9TgIDRXWLQyxFh29FAgI+LoorNhgAAgBc/+gESgYtADQAOAAZQAs2IBYWASoMC3I4AQAvMysyEjkvMzMwMUE3HgISBwcOAycuAzc+AxceAgcnNi4CJyYOAgcGHgIXFj4CNzc2LgIlAScBAYlEpvGSNBYOD1SIuXVjmmYuCQlOg7FtY6BdBEkFJkdZLlB+WjYIBxQ3W0FQd1IyCg4UJXPFAjX9wTsCPwWNoCy2/f7QpWJoyKFeAwNPhateZL2UVQMEY6NjATRONRwBAjpohUo5cmA7AwJKfI9CZYv6z5Uc/pltAWYAAAMARACqBC4EvAADAA8AGwATtxkTAgcNAwISAD/dxjIQxjIwMUEHITcBNjY3NhYHBgYHBiYDNjY3NhYHBgYHBiYELiD8NiEBsQE+MTE/AQE/MDA/jQE9MjE/AQE/MTA/AxC4uAE3MUIBAT4xMT8BATz9ADFCAQE+MTFAAQE9AAMAOv95BCkEuQADABkALwAZQAwgAQEVC3IrAAAKB3IAKzIvMisyLzIwMUEBIwEBNz4DFx4DBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAgQp/JSDA238pgMOV4/BeHGhYiULAg5Yj8F2caFjJcMDBwowYU5TgFo3CwIICzBhTlSAWjYEufrABUD9UBhty59aAwNenMFmGG3JnFkDA12ZwH0XP4d1SgIDRXeQRxc/iHdMAwJGeJIAA//g/mAECQYAAAMAGQAvABtADysKIBUHcgoLcgMAcgIOcgArKysrMhEzMDFBASMBAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHAwYeAhcWPgIB6P6utgFTAswCDUV2q3NmkFgkBg4RUX6tbm+LSBPCAwcHK1tOPm9bPw8rASRCWjZTe1QyBgD4YAeg/CwVY8akYgMCVY2vXG9iu5ZWAwNmob5uFT2FdksCAi1RaTr++zZfSiwBA0h5kQAABABG/+gFEgYAAAQAGgAvADMAHUAPIQQEFgtyMzIrCwdyAQByACsrMs4yKzIvMjAxZRMzASMBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgEHITcC3OS2/vWl/YoCDEh6rnRojFEdBgsRTXyrbmqLTRjEAgcFKFpNUoxkFicCHz9bOFR6UzAD/hv9lRvdBSP6AAIIFmPJpmMDA12XtFtcYbqWVQMEZqC7cRY8hXVMAgNOg0zzN2VQMQEDRniQAwKYmAAEADYAAAXCBbAAAwAHAAsADwAfQA8DAoAHBgYKDAsCcg0KCHIAKzIrMhE5LzMazDIwMUEHITcBByE3EwMjEyEDIxMFwhn6vRkD4xz9AhyL/bz9BD/9vPwEj4+P/q+dnQJy+lAFsPpQBbAAAQAvAAABnwQ6AAMADLUDBnICCnIAKyswMUEDIxMBn7y0vAQ6+8YEOgAAAwAuAAAEWQQ6AAMACQANAB9ADwwHBwsGBgIJAwZyCgIKcgArMisyETkvMzMRMzAxQQMjEyEBIzczAQMBNwEBn7y1vANv/Y3vAacB0JP+rIMBpgQ6+8YEOv2UogHK+8YB8339kAAAAwAjAAADsQWwAAMABwALABtADQIKAAcGBgoLAnIKCHIAKysRMxEzMhEzMDFBBwU3AQchNwEDIxMCmBf9ohgDdhz9PBwBB/28/QOjg7yF/bSdnQUT+lAFsAAAAgAkAAACNwYAAAMABwATQAkCBgAHAHIGCnIAKysyETMwMUEHBTcBASMBAjcX/gQXAcn+9rUBCwOmgruCAxX6AAYAAAADADX+RwVhBbMAAwAHABkAHUAOFQ4GBwcDCHIJBQQAAnIAKzIyMisyETMvMzAxQTMDIwE3AQcTMwEOAiciJic3FhYzMjY2NwExvf28ASOOAleO9b3++Q5am24fOx4eGDAZN0cnBwWw+lAFRm36t2oFsPn9Z6JdAgoJmQcJPFwvAAIAJf5IA+cEUQAEACoAGUAOHBUPciYLB3IDBnICCnIAKysrMisyMDFBAyMTMwMHPgMXHgMHAw4CJyImJzcWFjMWNjY3EzYuAicmDgIBa5G1vKF9JA1DcKRvXHxFFgl9DlmZbB87HR4YMxg3RyYIfQcJJkw9U39ZOQNI/LgEOv4GAl6+m1wCAkV1llP8/WafWgEKCZwHCAE4VzADATZfSisCAjxqhwAFAFX/7AdfBccAIwAnACsALwAzADNAGi8uLiYyKDMCciknJghyFRISFhkJBAcHAwADAD8yMhEzPzMzETMrMjIrMjIROS8zMDFBMhYXByYmIyYOAgcDBh4CFxY2NwcGBicuAzcTPgMBByE3AQMjEwEHITcBByE3AwpJkkkRRYxGY5ltRQ8wCg08dF1JkkgORo5GfLZyKw8vE2ei2AQAG/0SHAEI/L39ArMc/XYcA1Ac/RwcBcYOCJ4OEAFHfKJa/s1Om39PAgIODJ8ICwEDY6fTcwEwe9mmXfrWnZ0FE/pQBbD9jp2dAnKengADAEf/6AbYBFIAKgBAAFYAJ0ATJAAARzwTEhI8UhkLCzEHcjwLcgArKzIRMzIROS8zETMzETMwMUUuAzc3PgMXHgMHByE3BTc2JiYnJg4CBwcGHgIXFjY3FwYGATc+AxceAwcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIE3XGeYCQKBAxUibZuaJNYIAwT/P4aAkkFCyNfTUx1VDIJBQcLLl5NWJ9FPUvO+w8DDVWMvndyn18iCgMOVoy+dnGfXyPFAwcILV1OU35XNAoDBwkuXk9TfVYzFAJbmb5lLWTCnlwDA0+FrGB6lwEcR3xOAgNId4pAKz6Fc0kCAzg0f0g9AiAXbcqfWgMCX5zBZRhtyJ1ZAgNem798Fz6HdUwCA0Z3kEgWPol3TAMCR3mRAAEANAAAAwsGGQARAA62DQYBcgEKcgArKzIwMXMjEz4CFxYWFwcmJiciBgYH6LTLDV6fcCVJJCIWLBdAWzYKBKxppl4BAQ0IjwYHATlhOwAAAQBS/+kFGgXEACwAG0ANDwAGCQkAGiIDcgAJcgArKzIROS8zETMwMUUuAzc3IQchBwYeAhcWPgI3NzYuAicmBgcnPgIXHgMHBw4DAkeQyXUnEhQEHxv8owcPFUqFY26re0wPDg4STZV0YbdYIziMkkOX2YMuEg0TcLLuFAJsuO2EfJUjWZ96SAMCX6DCX19jvpteAgEtJ5EoKxABAXLE+4teg/vLdgAAAf9H/kYDOAYZACcAKUAVFAICFScGch8iIh4bAXILDg4KBw9yACsyMhEzKzIyETMrMjIRMzAxQQcjAw4CJyImJzcWFjMyNjY3EyM3Mzc+AhcyFhcHJiYjIgYGBwcCmhbFnQxWl2wfOh0dFzAZN0UmBp6mFqYODVyecCZJJCQYMBhAVjEJDwQ6jvv7ZqBbAgsJkwcJPVwvBAWOcmmmXgIOCZEGBjddO3IAAwBm/+kGFAY6AAkAIQA5AB1ADgUGBikpAAAcA3I1EAlyACsyKzIvMhE5ETMwMUE3DgIHNz4CAwcOAycuBDc3PgMXHgQHNzY2LgInJg4CBwcGFB4CFxY+AgV5mwxltYIOVGc4fQ0TZ6nqlnSpcD4PDQwUaKrqlXSqcD0O1Q4IARtBcVdwp3VGDg0JHEFxVnKoc0QGOAKBtWEDhwJJev0aW4f+yXQDAlOMs8djXIX9ynUDAlOLssjAX0STinBEAwRen8BgX0OSi3JGAgRdnsIAAAMAQ//pBPUEsgAJAB8ANQAVQAomGwtyMQAAEAdyACsyLzIrMjAxQTcOAgc3PgIBNz4DFx4DBwcOAycuAzcHBh4CFxY+Ajc3Ni4CJyYOAgRrigpQl3YMS1Qo++0CDlePwXdyoWIlCwIOWI/BdnGhYibDAwcKMGFOU4BaNwoDCAswYU5UgFo2BLEBcZ5UA3QDQWv9mxdty55aAwJenMFmGG3JnFgCA12av30XP4d1SgIDRXeQRxc/iHdMAwJGeJIAAAIAY//pBooGAwAJAB8AGUAMBQoKAAAVAnIbEAlyACsyKzIvMhEzMDFBNw4CBzc+AiUzAw4CJy4CNxMzAwYWFhcWNjY3BfWVDm/GkQ5jfET+ebyoF6H5mZHRZRGouqcLMXxkaqNmEAYCAZC+YQOHAkeEC/wol+B4AwJ825ID2fwmX5VXAwNSmWcAAAMAW//oBUcEkQAJAA4AJQAdQA4FCwsAABsGciIODhULcgArMi8yKzIvMhEzMDFBMw4CBzc+AgETMwMjEzcOAycuAzcTMwMGHgIXFjY2BMCHC1SadgxQVyr+G462vK1pSg1BcqdzWXdDFgh1tXUFBx8/NGuXWASRdJFGAnICL2D8vQM2+8YB3gNmuIxPAwJDcJBQArr9QyxVRisCBFmdAAAB/wn+RwGwBDoAEQAOtg0GD3IBBnIAKysyMDFTMwMOAicmJic3FhYzMjY2N/u1xw1YmW0eOh0eFzAZN0cnBwQ6+25moFsBAQoJkwcJPF0vAAEAP//qA80EUQAqABlADBEUFAAZCwtyJAAHcgArMisyEjkvMzAxQR4DBwcOAycuAzc3IQclBwYWFhcWPgI3NzYuAicmBgcnNjYCOnGeYCQKBQtUibdtaJRYHwwSAwMb/bgFDCReTUx1VDIJBQcKL15MWJ9GPEvOBE8CXJi+ZS1kwp1cAwJPhaxgepgBG0d8TwICSHeKPyw+hHNKAgM4NH9IPQAAAQEYBOMDZQYAAAgAFLcHBQUEAQOACAAvGs0yOTIRMzAxQRMVJycHBycBApfOk3KwlwEBFQYA/vEOAqinAw8BDgAAAQEoBOMDggYBAAgAErYBBoAHBAIAAC8yMjIazTkwMUEXNzcXASMDNQG9c7GgAf7ib80F/6moAw3+7wEQDv//APgFFwObBaUGBgBwAAAAAQEHBMoDSwXYAA4AELUBAQmADAUALzMazDIvMDFBNw4CJyYmNxcGFhcWNgK6kQhTh1R5lQKSAzhGR1EF1gFUeUACApB6AUBVAQFVAAEBDgTtAeQFxAALAAmyAwkQAD8zMDFBNDY3NhYVBgYHBiYBDzsvLj0BPC4vPAVVLz4BATsuLz0BAToAAAIBAQS0AqQGUgANABkADrQXBIARCwAvMxrMMjAxQT4CMzIWBw4CIyImNwYWMzI2NzYmIyIGAQIBPGQ7VHIBATxkO1RyYQQ0LTFNBQY0LjJMBXk8Yjt2UzxhOHFWK0JJMCxETAAB/67+TgEVADoAFQAOtAgPgAEAAC8yGswyMDF3Fw4CBwYWFzI2NxcGBiMmJjc+AspLJVdCBgQdIBoyGAQjTClRWwICWYE6PRtCUzIgIQEQCnsVFQFnUE51VAABAN4E2wOwBecAGQAnQBMAAAEBChJADxpIEgWADQ0ODhcFAC8zMy8zLxoQzSsyMi8zLzAxQRcOAicuAwcGBgcnPgIXHgMzNjYDOHgGN2JGJj47PCQxNwx6BzdiRyQ+Oz0lMTgF5wo/ckYBAR8oHQIBQysFP3RIAQEfJx0CRAACAMME0AO+Bf8AAwAHAA60AQWAAAQALzMazTIwMUEBMwEhEzMBAdIBFNj+x/4+2s7+9wTQAS/+0QEv/tEAAAL/6f5oATf/tgALABcADrQPCYAVAwAvMxrMMjAxRzQ2MzYWBxQGBwYmNwYWMzI2NzYmIyIGFmZIQ1wBYkdDYVUEKCAiOgUEIyEkPPpIZwFgQ0ZjAQFaRh8vNiIeNDgAAAH9agTa/r4GAAADAAqyA4ACAC8azTAxQRMjA/42iIzIBgD+2gEmAAAB/eoE2v/BBgAAAwAKsgGAAAAvGs0wMUETFwH96vDn/skE2gEmAf7bAP///QsE2//dBecEBwCl/C0AAAAB/fQE2f80BnMAFAAQtRQCAIALDAAvMxrMMjIwMUEnNz4CNzYuAic3HgMHBgYH/n+LFhxGNwUEHzIzEQ8qXlMzAgNjQgTZAZgCCyAkGh0MAwFpARAnRTZKSgwAAAL82wTk/4UF7gADAAcADrQHA4AEAAAvMhrNMjAxQSMDMwEjAzP+ibP76gHAn8HXBOQBCv72AQoAAfy6/qD9kf93AAsACLEDCQAvMzAxRTQ2NzYWBwYGBwYm/Ls7Ly89AQE8Li49+S8/AQE8Li88AQE5AAEBIwTvAkIGPwADAAqyAIABAC8azTAxQRMzAwEjb7CsBO8BUP6wAAADAPQE7wPvBokAAwAPABsAGUAKExkZDQGAAAAHDQAvMzMvGs0RMxEzMDFBEzMDBTY2NzYWBxQGBwYmJTQ2NzYWBwYGBwYmAi1evY/+OwE6MC49AT0uLjwCJTsvLz0BATwuLj0FgQEI/vgpLz8BATwuLzwBATksLz8BATsvLzwBATn//wClAmoBhQNLBgYAeAAAAAEARAAABKUFsAAFAA62AgUCcgQIcgArKzIwMUEHIQMjEwSlHP1Y4bz9BbCe+u4FsAAAA/+yAAAE3wWwAAQACQANABtADQYCBwMCcg0MDAUCEnIAKzIyETMrMhI5MDFBASMBMxMBNzMBJwchNwNn/RXKA1F6qf71GnQBNnQc+/UcBR364wWw+lAFO3X6UJ2dnQAAAwBn/+kE/gXHAAMAGwAzABtADS8KAwICCiMWA3IKCXIAKysyETkvMxEzMDFBByE3BQcOAycuBDc3PgMXHgQHNzY2LgInJg4CBwcGFB4CFxY+AgPJG/4KGwMeDRNnqeqWdKlwPg8NDBRoquqVdKpwPA/VDQkBG0FxV3CndUYODggcQnBWcqhzRAMrl5clW4f+yXQDAlOMs8djXIX9ynUDAlKMs8fAX0STinBEAwNdn8BgX0OSi3JGAwNdnsIAAAL/xAAABHIFsAAEAAkAF0ALBgACBwMCcgUCCHIAKzIrMhI5OTAxQQEjATMTAzczAQMt/WnSAwB/bd8ieQEGBQj6+AWw+lAFIo76UAADAAwAAASHBbAAAwAHAAsAG0ANAQAFBAQACAkCcgAIcgArKzIROS8zETMwMXM3IQcBNyEHATchBwwcA48c/TocAtwb/T4dA3ocnZ0Cop2dAnCengABAEQAAAVwBbAABwATQAkCBgQHAnIGCHIAKysyETMwMUEDIxMhAyMTBXD9u+H9SeG9/QWw+lAFEvruBbAAAAP/2wAABIoFsAADAAcAEAAhQBAOBgYHBw8CcgwDAwICCwhyACsyETMRMysyETMRMzAxZQchNwEHITcBBwEjNwEBNzMD2Bz8aBwEShz8exwB8AP9YnkbAjn+kRhrnp6eBRKenv03Gf0ymAJLAkeGAAADAFYAAAVrBbAAEwAnACsAIUAQFBUVAQApCHIfHh4KCygCcgArzTIyETMrzTIyETMwMWUnLgM3NjYkMxceAwcGBgQlFzI2Njc2LgInJyYGBgcGHgIBAyMTAtyedLt/OgwRsgEWpaZzuX86DBG0/uj+waF8wHYQCRhId1SpfL92DwoaSXkB0v29/a8CA1CPw3Sn/IwCA1KRw3Kp+4mhAmCze1CIZjsDAgFjtHpRiGQ6BF36UAWwAAIAhQAABZAFsAAZAB0AGUAMFAcHDRwIch0BDQJyACsyMisROREzMDFBMwMGAgQnJy4DNxMzAwYeAhcXFjY2NwMDIxME071ZG7n+4rIefMB/NQ5YvFkKGkp9VxyAy4IU5P29/QWw/fKw/v6LAgEEVpfOewIO/fFSkXFDBAECZ7t9Ag76UAWwAAADAAoAAATeBccALQAxADUAJUASKBISLykpNBERMy4yEnIGHQNyACsyKzIyMhEzMxEzMhEzMDFBNzYuAicmDgIHBwYGFhYXBy4DNzc+AxceAwcHDgMHNz4DATchByE3IQcEABEKCDVzYWaYakANEQkIHllYDXSaVhkOEBJloduJgrdtJg8QEl+WzH8PYYhaNf5vHAHWHPvRHAHeHALWdk6kjVoDA1GLrVh1Ra+pfhaNFpPP4mVye+e1aAMDb7bgdHJ168mHEo4Vc6C1/YGdnZ2dAAADAEj/5wQmBFIAFgAsAEEAGkANLgY0OzsdEgtyKAYHcgArMisyMhEzPzAxUzc+AxceBAcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIBMwMGBhYWFxY2NxcGBicuAzcTUgINQ3aveFJ3TisOBQoQSXambWmLTBjDAgcGKlhLSXlePxAJAxQ1XUVXfFAuAnebhgEFBBUZCBEICho3ID1DHAEEXAHtFmTSsGkDA0BrhZFGU167mVkDA12WtHAWO35tRAMCQnCEQEA6g3VNAgRRhZoB8PzrDzAvIgEBBAGMEQ8BAT9hay4CNAAAAv/x/oAESAXHABwAOgAeQA41ACYnJxwcMB0DEwkLcgArMj8zOS8zEjk5LzAxQRceAgcOAicuAzc3BhYWFxY2Njc2JiYnJxMeAgcOAiMjNzMyNjY3NiYmJyYGBgcDIxM+AgIcg3KsWQkLhtqIVIxlNAZOB0yFT1qOWQoIIlhJl8xwqlsJCI7Oa2MVSUx7TgkHK1tBSn5VDPq1+RGP0wM4AQRgrXWHz3MDAjZjilUqVHdAAgJOiFdCe1MEAQMCAmGscXedT3g3ak8/Zz0CAkN0R/pOBbF2uGgAAwCF/l8EGwQ6AAMACAANABlADggMAwQKBQEFDQZyAQ5yACsrMhIXOTAxZQMjEzcBMwEjAxMHIwMCAmC1YGoBo8H9v38lkQRzy4T92wIlgQM1+8YEOvy17wQ6AAACAEX/6QQJBiAALABCABlADRQoPgMEMx4LcgsEAXIAKzIrMhIXOTAxQT4CFzIWFwcmJgciBgYHBh4CFx4CBwcOAycuAzc3PgI3Ny4CAwcGHgIXFj4CNzc2LgInJg4CAUsGeLRhRYFADzuDQi5bQgkGIjxDG3eaQQ0DDVaMvXNvn2EmCQMNaatyAjNHJEADBwswXkxQe1Y0CwIHEzRYQFB9WjUE7WuIQAEfGaIbIwEePzImOSsfDDKg1oAXbMGWUwMCWZS6ZRdww4cVDRhNYv1YFj+AbkUCA0FwiUcVNntyTgkKRHmPAAIAKf/qA+AETwAfAD8AH0APACE+PgMDFjUrB3IMFgtyACsyKzISOS8zEjk5MDFBFwcnIgYGBwYeAhcWNjY3Nw4DJy4DNz4DBScuAzc+AxceAwcnNiYmJyYGBgcGHgIXFwHw4hS8P31ZCAYoRVIlPnxcDrQJWYiiU0iQd0QEBVaGmQEeyTp/bUIDA1SFnk1Jim9AArICP2M0N3hZCQYeOUkk0wJMAWwBH09KLkAnEgEBKVVCAVuCUyYCASVLeFRYcUAaRwECHTxjR1p8TCICAihPd1EBOkskAQEhTD8tOiIPAQEAAAIAiv5/BD0FsAAoACwAFUAJFQIsLCkpAAJyACsyLzMRMy8wMUEzBwEOAgcGHgIXFx4CBw4CByc+Ajc2JiYnJy4DNz4CNwEhByED41oX/mpKimIPBQQWLSR3Omc9BAU/XC9cGDQoBQUnORdRRWVAGQgNcqBO/v8DBhr8+QWwgf5fTKG4biU/NSgOJxMqTkk+cV8kWho6QiUfJhYHGRU/V3NJc9/FTwHUlwAAAgAl/mED6ARRAAQAHAAXQAwYCwMGcgIKcgsHchEALysrKxEzMDFBAyMTMwMHPgMXHgMHAyMTNi4CJyYOAgFskrW8oWhEC0R2qXBdfEUWCbu1uwcKJ0w8UnlUMwNI/LgEOv4GBGO+mloCAkBuk1b7qwRTN11GKAEDP22IAAMAdf/pBCMFxwAZACcANgAdQBANKGowIGowMA0AGmoADQtyACsvKxI5LysrMDFBHgMUBwcOBCcuAzY3Nz4EFyYOAgcHITc2Ni4CARY+Azc3IQcGBh4CArxpi1EiCxwOM1N5pm5pi1AiAQsbDjNTeaZkW31PKwsIAhIJBggJJ1D+7kltTTQfCAb97QYGCAkmUQXEA1KIqLNTuFu9rYdMAwNUjKu0Urlbu6qESpkEW5OlRzc5L3h8a0P7WAM8aYGFOCcoLnmAbkcAAQCE//QB6AQ6ABEADrYGDQtyAAZyACsrMjAxQTMDBhYWFzI2NwcGBicuAjcBEbWIBAonJxUsFQwgQyJTXiIHBDr82CM4IgEHA5cKCQEBUoNKAAL/uP/xA8AF7AAEACYAHkAQABsEAwQCIAUAcg8WFgIKcgArMi8zKzISFzkwMUEBIwEXATIeAhcTHgIXFjY3BwYGIyImJicDAy4CJyYGIzc2NgIu/lrQAliD/vstSDcnC+MGER0ZCRIJBhEiEkJSMBCnQAcVJR4MGA0MFiwDHfzjBE0MAasWLEEq+6oWJRgCAQEBmgUFNFs7AyMBExsrGwEBAY8EBgACAED+dgQABcYAHgBGABlACx8RDw8hITMFGwNyACsyLzkvMxI5OTAxQQcuAiMiBgYHBh4CFxcHJy4DNz4DFzIWFgEXByciBgYHBhYWFxceAgcOAgcnPgI3NiYmJycuAzc+AwQAKSJISCVBk24LCSpRZjOVFYFInopSBQZhlrFVK1VU/tyZFH9uwIANCTBjRWY4aUAFBEBcLWQaOCoGBSc6GDVYjmMuCApzsdMFnJMLEQoiVk0+US8UAQF0AQEjS3pZY4hSJAEKEv3GAXABQpN3SnVRFBsQK1BFPW9fI1ccOkIoISMSBw8YSWmTYnioZzAAAAMAYP/0BKQEOgADAAcAGQAZQA0OFQtyBgpyCQcCAwZyACsyMjIrKzIwMUEHITchAyMTITMDBhYWMzI2NwcGBiMuAjcEpBv71xsBWry2vAI5tYgECyYnFSsUCSFDIVReIgYEOpmZ+8YEOvzYIzgiBgSYCgkCUoNKAAH/3f5gA/8EUQAvABdADB4pBhELcgYHcgAOcgArKysRMzIwMUMTPgMXHgMHBw4DJy4DNR4CFx4CFxY+Ajc3NjYmJicmDgIHAyOqD05/sXF4mVIXCwMMRnWnb2qOVCUMGRoNCjdmUE94UzEKAgcBIlhRSW5NLwqr/mAD4mW+llYDA2ioymUWYbyYWAIDVY2vXQ0aGQxHeUoDAj5sh0UVO5CGWAMCRnOEPfwgAAABAEr+iQPfBFEALQAOtRsJBQAHcgArzDMvMDFBHgIHJzYmJicmDgIHBwYWFhceAgcOAgcnPgI3NiYmJy4CNzc+AwJzdKVTBqsFKFpIT3hWMwkGCz+BWDtvRQUEQFsuXBozJQUFJDoagrdZDgQMVIq6BE4CZa9zAUNrQQICRXWMQyphj2IdEy5TTDxwXyNZGzlBKCIlEwckic2LK2nEm1kAAwBI/+kErgRIABgALgAyABNACSoGMgZyHxQLcgArMisyMjAxUzc+AxceAhceAgcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIBByE3UgMNVo6+dB08OhpWYyQJAwxajrtucZ9fIsIDBwktXk9TfVczCgMHCy9fTFF8VzUDmxv91hsCChdlyaJXDQMnLg0qmLdYF2i8kFECAl6bv3wXPod1SwMCRnaQRxc+gm9HAgJBcYoB0pmZAAACAIf/6wQRBDoAAwAVABVACgUKEQIDBnIRC3IAKysyETMyMDFBByE3ITMDBhYWMzI2NxcGBicuAjcEERr8kBsBUrSJAwUgJRgsFh4nVDBWWhwHBDqWlvzSHjsnDgmGGhgBAleISwABAGj/5wPiBDwAHgATQAkQBxkABnIZC3IAKysRMzIwMVMzAwYeAhcWPgI3NgInFxYWBgcOAycuAzfftW0FARk/OlJ/WTUKExEjtxkVAwwOUYi/e2OESxgJBDr9bStkWjsBA1OImkSAAQd9AlKsr1Vt1KxkAwJKfaBZAAEAQP4iBSUEPQAvABlADCsFBRkYBnIiDwtyAAAvKzIrMjIRMzAxQRM+AhceAwcOAycuAzc+AjcXDgIHBh4CFxY2Njc2LgInBgYHAwGf4QhKdEhpnmYqCg97wvKHg86KOxANUoddWTxePw0QIluOXIHhlxAHDjJeRx8mCeb+IgU1SGc3AQJemrxfi9iSSgICU5jThG7CoT2IMnuOTVqackECA2W+hT2Bb0kFCBwh+sQAAgBO/icFJAQ8AB4AIgAVQAohBxkLciAQAAZyACsyMisyLzAxUzMDBh4CFxY+Ajc2AicXFhYGBw4DJy4DNwEzASOwtVIMFUqIZmayjFwQExYlthsXAQsTdrryjY3Nfy8RAka1/vK1BDr+FlylgEsCAj52pWV+AQZ6AlGrrFWN3ptPAgJbpOGIAeb57QACAGf/5wXvBDwAHgA/ABlADAEXCgopNh8GcjYLcgArKxEzMxEzMjAxQRceAgcOAycuAzcTMwMGBhYWFxY+Ajc2AiUXBgIHBgYeAhcWPgI3EzMDDgMnLgM0Nz4CBPu0IB4CCww9baZ2ZHg7CwowgDAGARpGQU5nPiEIERr8HsNGhRYGCQQeQDdGYj8kCDB/MQw5YZVpWnhGHwgNOVcEPAJSrK9WYdCzbAMCXpSrUAEp/tQvc2pGAgNbjZY6ggEHegF8/v2PJGpyZUEDBD5oejgBLP7XWLGTVgMCTHuWnEZhtaoAAQBS/+cEawXLADgAHUANHR4XNgQEDSMXC3ItDQAvMysyETkvMxDMMjAxQQcGBicuAjc3PgIXHgMHAw4CJy4DNxM3AwYWFhcWNjY3EzYuAicmBgYHBwYWFhcyNgRrAjBnM5vygwwBCl+daFBxRBkIbRJ7y4xhlGAoCza1NgkgXlVaeUUMawQCFDIsN0knBgEIUZ9uMmQDCZYSEQEBgOigEWOgXQMCPmiFSf1igtJ5BAJJfaRdAU0C/rBLhlcDA1OLUAKgI0pAKQECOFowEm6gWAIPAAADAGcAAATdBcEAAwAWACkAHkAOEAkJHyYDchoYFgMDAhIAPzMRMzMzKzIyETMwMUEDIxM3AT4CFzIWFwcmJiMiBgYHAScDExcHAy4CJyYGByc2NjMeAgKBeLt3ZwEuHUVeQSM/IDQMGA0cKyMO/l+LKIoFfbgHFiAXDhsOFBw6HzpRNAKv/VECr1MCATVXMgIQDpUEBhYmFf1ZAgLh/efIAgKmFSIUAQEFBJoMDQEyUwAAAwBo/+YGQQQ8AAMAJABFACFAECYFAxwPLzwLcjwPAgMGcg8ALysyETkrMhEzETMzMDFBByE3JRceAgcOBCcuAzc3MwcGBhYWFxY+Azc2AiUXBgIHDgIWFhcWPgI3NzMHDgMnLgM2Nz4CBkEb+lsbBBq1IB4BCwkmP1+HWmN5OgsKKH8nBgEbRkE5UDUiEgURG/xmxEaGFgQLARU0MUVhPyMIJ4ApDDhilWhWbjwXAggNOlcEOpiYAgJSrK9WSKKdf0sDAl+Uq1D5/C90a0YBAT9oeHAoggEHegF8/v2PHWZzakYDBj9qezb8+Veyk1cDA1CAmJg/YbWqAAMAov/xBXYFsAAbAB8AIwAhQBEfIxgFBQ4iIx4IciMCcg4JcgArKysRMxI5LzMRMzAxQTc+AhceAgcOAwc3PgM3NiYmJyYGBhMDIxMhByE3AjoLOXp+PYrPagwLXJS/bgtJels5CAo3ellAfXqX/bv8Arcc+7ccAoqoFyESAQJqyJB0qm44ApkBJ0xxSlp9QgECEyIDEPpQBbCengAAAgBz/+kE/gXHAAMALAAdQA4DAgIJHRkUA3IpBAkJcgArzDMrzDMSOS8zMDFBByE3ATcOAicuAzc3PgMXHgIXIy4CJyYOAgcHBhQeAhcWNjYDghz9uxwCorsepviai7tqIRAVFGmp6JOUxmcEuwQ0dWVupXNGDxYJGj5sUm+fZwMunZ3+oAKW3HUDA3fE7XiQhfXBbQMDf9qMXJNYAwRYmLpfkz+Mhm5EAgROlQAAA//N//8H7QWwABEAFQAuACdAEyQhIQkuFhYACgkIchQVFSMAAnIAKzIyETMrMhI5LzMRMxEzMDFBMwMOBCcjNzc+BDcBByE3AQUeAgcOAychEzMDBTI2Njc2JiYnJQIBu5sTL0dxqXk4EiRXdUotHAwDUBz9ghwCjwF1gsJlDApclbxo/eP9veIBSluXYgwKMW5S/nMFsP03X8/CnFwBnAIGWIihoEICqZ6e/cwBBGvChW6pdDsBBbD67QFJhl1Qe0cDAQAAAwBE//8H+gWwAAMABwAgACNAEQggIAMCAgYVBwJyFhMTBghyACsyETMrMhE5LzMzLzMwMUEHITcTAyMTAQUeAgcOAychEzMDBT4CNzYmJiclBGIc/Q8cjPy9/QOYAXV7xmsLCF6Vu2b95P284AFJVpZlDAo5cUz+cwM5nZ0Cd/pQBbD9nwEEXrSEbKVuNgEFsPr2AQE9elpPbjoDAQADALQAAAWcBbAAFQAZAB0AHUAOGQEYBhERGBwdAnIYCHIAKysyETkvMxEzMjAxYSMTNiYmJyYOAgc3PgMXHgIHAQMjEyEHITcFQLxMCyZsXzlubmw2EDRqa203jsNbEf2O/b39Ar0c+7ccAcpcgEMCAQoSGg+gEBoQCAECZsaSA+j6UAWwnp4AAgBC/pkFbwWwAAcACwAXQAsJBgECcgsDAwAIcgArMhI5KzIvMDFzEzMDIRMzAyUDIxNC/b3hArbivP3+ZVa8VwWw+u0FE/pQiv4PAfEAAgA2//8ElwWwAAUAHgAhQBAGHh4EAhMTBQJyFBERBAhyACsyETMrMhEzETkvMzAxQQchAyMTEwUeAgcOAychEzMDBTI2Njc2JiYnJQSXHP1X4bv8KAF1f8VpDAldlbto/eT8veIBSlmXYgwKNXBP/nMFsJ767gWw/a8BA2K4hm6mcDgBBbD67QFEgVxRcj0DAQAG/4z+mgV6BbAAAwAHAAsADwATACUAJ0ATCxERIAMDBx4Icg4PDxAUAnIJBQAvMysyMhEzKzIyETMyETMwMWUHITczAyMTIQMjExMHITchAyMTITMDDgUHIzcXPgM3BK8c+9IcH1q6WAVuW7tZRBz9lBwDDf28/f1uv4UNKTxQaoZSYhY9THBQNxSdnZ39/QID/f4CAgUTnp76UAWw/bc9qb65nGUJnQJDp7vFYQAF/6sAAAd1BbAABQAJAA0AEwAXACdAExYRCQMDAAAPDxQMCAhyDgoBAnIAKzIyKzIyMi8zETMRMzMzMDFBATMBIQcnASMBAQMjEyEBISczAQMBNwECSv6Q0AELARI74f339wKhAjb8u/0Drf19/r4B+AHl2P7YjQF4ApkDF/2JoAX9YgNOAmL6UAWw/OmgAnf6UAKynfyxAAIAJf/qBI4FxgAeAD4AI0ARACACAj4+FTQwKglyDwsVA3IAKzLMK8wzEjkvMxI5OTAxQSc3FzI2Njc2JiYnJgYGBwc+AxceAwcOAycXHgMHDgMnLgM3FwYWFhcWNjY3Ni4CJycCcrUWl1SYZwsKRoBMTo1jDrsKYJS0Xl6nf0EICGadtPqcV6aBRwgIaaTHZmClekAFuwVDek9Xp3YLCCFJaD2tAroBewEyb1xUbDUCATlwTwFkmGYzAQIyY5hoYo1aK1YBAihWjGVwpmszAgI5bJ1lAVF2QgMCO3teQ188HQEBAAEARAAABW8FsAAJABdACwUABgIIAnIEBghyACsyKzISOTkwMUEBMwMjEwEjEzMBOwNxw/28wfyPwv27AVoEVvpQBFf7qQWwAAP/y//+BWYFsAADAAcAGQAZQAwSBREIcgIDAwQIAnIAKzIyETMrMjIwMUEHITchAyMTITMDDgQnIzc3PgQ3BMUc/XkcAyj8vf39VbubFC5Hcal5OBIkWHVKLBwNBbCenvpQBbD9N17Qw51bAp0CBleIoKBDAAACAJT/6AVABbAAEwAYABpADhcWABUECAIYAnIPCAlyACsyKzISFzkwMUEBMwEOAyMmJic3FhYzPgI3AxMXBwECRgIZ4f09IEpackkaNhoXFSwWNEk3GCHuD5n+0wHtA8P7QTtiRyUBBQSaAwQBK0cpBI/8bKsMBEsAAAMAW//EBdgF7AAVACkALQAbQAwfDAwrFgAAKyoDcisALysROS8zETkvMzAxQRceAwcOAyMnLgM3PgMXJgYGBwYeAhcXMjY2NzYuAicTASMBAv7peL+AOg0NcbTkgul6vYA4DQ1xs+R9hsx9EQoYSn9c7IbLfhALGUp+XBf+77UBEQUgAgNcns91gdqhWQICXJ/PdYHZolmYAXPJglSXdkYDAnPKgVSXdUYDAWb52AYoAAACAEH+oQVuBbAABQANABlADAwHAnIFBAQJBghyAQAvKzIyETMrMjAxZQMjEyM3BRMzAyETMwMFI2uqPosc/GT9veECtuK8/aL9/wFfoqIFsPrtBRP6UAAAAgDLAAAFOgWwABUAGQAXQAsXBhERGAACchgIcgArKxE5LzMyMDFBMwMGFhYXFj4CNwcOAycuAjcBMwMjASe8SwokbGA3b21sNQ41amxtN47DWRADor39vQWw/jhdf0QCAQoSGg6fERoRCAECZ8eSAcf6UAABAEIAAAc5BbAACwAZQAwFCQYCAgsAAnILCHIAKysRMxEzMjIwMUEzAyETMwMhEzMDIQE/veEB5OG84gHh4b39+gYFsPrtBRP67QUT+lAAAAIAQv6hBzkFsAAFABEAHUAODAUICAQRCHIPCwYCcgEALysyMisyMhEzMzAxZQMjEyM3ATMDIRMzAyETMwMhBuZpoz2JG/uWveEB5OG84gHh4b39+gaY/gkBX5gFGPrtBRP67QUT+lAAAgCK//8FfAWwAAMAHAAdQA4REg8EHBwPAAECcg8IcgArKzIROS8zETMyMDFTNyEHEwUeAgcOAychEzMDBTI2Njc2JiYnJYobAbwbFAF0f8ZpDAldlbxo/eX8vOIBSlqWYgwKNHFO/nMFGJiY/kcBA2G5hm6mcDgBBbD67QFFgF1Qcj0DAQACAET//waXBbAAGAAcAB1ADhoZDgsAGBgLDAJyCwhyACsrETkvMxEzMjMwMUEFHgIHDgMnIRMzAwUyNjY3NiYmJyUBAyMTAWkBdX/FaAsKXZS8aP3k/bzhAUlalmMLCzVwT/5zBUr9vPwDXwEDYriGbqZwOAEFsPrtAUSBXFFyPQMBAu/6UAWwAAABADb//wR8BbAAGAAZQAwOCwAYGAsMAnILCHIAKysROS8zETMwMUEFHgIHDgMnIRMzAwUyNjY3NiYmJyUBWgF1f8VpDAldlbto/eT8veIBSlmXYgwKNXBP/nMDXwEDYriGbqZwOAEFsPrtAUSBXFFyPQMBAAIAdv/pBP8FxwADACwAHUAOAwICHgkFKQlyGRUeA3IAKzLMK8wzEjkvMzAxQQchNwEzHgIXFj4CNzc2LgMnJgYGBwc+AhceAwcHDgMnLgIEUBz9uxz+a7oFOXxqa59vQw4WCQEeQnFUbJpjHLsen/KZjcFvIxAVE2ak44+Vzm4DJZ6e/qtikVIDA1yauVuTQ46Fa0EDBFSXYgGT3nkDAnbC73yQgfPCcAMDedgAAAQASf/pBtMFxwADAAcAHQAzACNAEy8HBgYOJBkDAnICCHIZA3IOCXIAKysrKxEzEjkvMzIwMUEDIxMBByE3BQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgICAv28/QGIE/6vEwVGDBRnqOqXkMFrIRANE2mp6pWSwWof1w0LBjd8bHCodUYODQsHOHxrcqhzRQWw+lAFsP1lmJgPW4b+ynQDA33M9nxbhv3KdQMDfMz22V9VuKFmBANdn8BgX1O5omkEA12ewgAAAv/pAAAE2QWxABYAGgAfQA8XFhYAAAkMDBkIcg4JAnIAKzIrMhESOS8zEjkwMUEhJyYmNz4CMwUDIxMnBgYHBhYWFwUFASMBA6/+fVWDiw0NoPeOAdH9veL+jNMSCjVzVAFI/rz+NNMB1QI3KDjGlJjGYgH6UAUSAgGOk1R9SAMBOv1lApsAAAMAR//oBEwGEgAWAC8ARAAZQAw6IjAXFyIAAXIiC3IAKysROS8zETMwMUE3DgMHDgMHByM3NhI2Njc+AgEeAwcHDgMnLgM3Nz4CNz4CFyYGBgcHBh4CFxY+Ajc3Ni4CA7uRCD9nhU59qWs6DQ2VDRNQic+RNnRZ/ttnlF0mCAMLVYq8cm+gZCkKAgQZHw0ykblGY5FWDAIHDjFgTVB6VTMJAgYSN2AGEQFZcUMmDxhypc11XFyEAQHalxoKGj7+KwJSia1eFmzBlVQDAliVumUXHTMxGV2cW5gCX55bFj+Cb0YCAkFviEYWPndgOwACADH//wQKBDoAGwAzAC1AFgIBGyspKSgBKAEoDw0QBnIeHR0PCnIAKzIRMysyETk5Ly8RMxI5OREzMDFBITcFPgI3Ni4CIycDIxMFHgMHDgMHAyE3BT4CNzYmJiclNwUXHgIHDgMCav6dGAEPOH9gCgYlRFAk8aK0vAGNRo92RQUEPGBxOaH+VHMBPDpxUQkIM1ox/uMcAUw2Q2w8AwRQgJoB3JQBARZERTA6HgwB/FwEOgEBHD9vVUJePiMG/e6WAQEeSkI7Qh0BAZQBOAlAakhaekkgAAABAC4AAAOEBDoABQAOtgIFBnIECnIAKysyMDFBByEDIxMDhBz+HKG1vAQ6mfxfBDoAAAP/jf7BBD8EOgAPABUAHQAhQBAdGAkWFhsTCApyFRAQAAZyACsyETMrMjIyETMvMzAxQTMDDgMHIzczPgM3EyEDIxMhASEDIxMhAyMBmbZWFEBijWNmHCQ7W0MvD4ICeby1nv48/jgERFK1OP0lOLUEOv5saMeykjOWOXZ/j1IBlfvGA4/9Cf4pAT/+wQAF/6cAAAYOBDoABQAJAA0AEwAXADBAFxUQEAAWEREJAwMGAAAUBwwSEw0NAgZyACsyETM/MzM5LzMzETMzETMRMxEzMDFBATMTMwcnASMBAQMjEyEBITUzAQMDNwEBt/7czcLaN6/+gfACDgHvvLW8Ax/+CP7pygFeluKEATUB1wJj/kCjCv4fAnAByvvGBDr9naMBwPvGAfN+/Y8AAAIAIP/qA6QEUAAdADsAI0ARAB8CAjs7FDIuKQtyDwsUB3IAKzLMK8wzEjkvMxI5OTAxQSc3Fz4CNzYmJicmBgYHBz4CFx4DBw4DJRceAwcOAycuAjcXBhYWFxY2Njc2JiYnJwIOzRSoOGZFBwcxVjE4aEwNtAuEwGZHg2U3BAVNdon+/rVCf2U5BAVRgZtOZ69nBLICOF86OXJRCAgsVza/AgQBcgEBHkc+OEUhAQEnTDkBbo9GAgElSnNQTGpCH0cBAR0+aE1Yf1ImAgJOlm8BPFQtAQEmUT8+Rh0BAQAAAQAwAAAEOAQ6AAkAF0ALBQAGAggGcgQGCnIAKzIrMhI5OTAxQQEzAyMTASMTMwEYAmS8vLaI/Zy6vLMBMQMJ+8YDCfz3BDoAAwAwAAAEWAQ6AAMACQANAB9ADwwHBwsGBgIJAwZyCgIKcgArMisyETkvMzMRMzAxQQMjEyEBITczAQMBNwEBoLy0vANs/aP+/gHFAa+T/syDAYcEOvvGBDr9lKIByvvGAfN+/Y8AA//I//8EOQQ6AAMABwAZABlADBIFEQpyAgMDBAgGcgArMjIRMysyMjAxQQchNyEDIxMhMwMOBCcjNzc+BDcDmxv+AxsCm7y1vP3ut3QPJzpbhl89EiVCWDkiFQkEOpmZ+8YEOv32TJ+Sc0EBogIEQGN2dzIAAAMAMQAABX8EOgAGAAoADgAbQA0ACQwGAQoGcgsDCQpyACsyMisyMjISOTAxZQEzASMBMyMDIxMBEzMDAqIB9rf9cX7+6qUwvLS8AyC8trz3A0P7xgQ6+8YEOvvGBDr7xgAAAwAwAAAENwQ6AAMABwALABtADQkGCAMCAgYHBnIGCnIAKysROS8zMhEzMDFBByE3EwMjEyEDIxMDVBr90xt4vLS8A0u8trwCZZaWAdX7xgQ6+8YEOgADADAAAAQ4BDoAAwAHAAsAGUAMCQYIAgMDBwZyBgpyACsrMhEzMhEzMDFBByE3MwMjEyEDIxMDmRv97BsbvLS8A0y8trwEOpmZ+8YEOvvGBDoAAgBgAAAD6QQ6AAMABwAQtwMGBwZyAgpyACsrMjIwMUEDIxMhByE3Aom8tbwCFRr8kRoEOvvGBDqWlgAABQBJ/mAFOgYAABYAKwBCAFYAWgAnQBUnBgZJHhERUjM+C3IzB3JYAHJXDnIAKysrKxEzMxEzMjIRMzAxQQcOAycuAzcTPgMXHgQHNzY2LgInJgYGBwMeAjMWPgIlNz4EFx4DBwMOAycuAzcHBhQWFhcWNjY3Ey4CJyYOAhMBMwEFMgIMP2ygbkNtTicDSg0+X31MWXZFHgK+AwUEDCdLPixNQBZuDzdEI05xTC373gIKKkdoj11Fa0ciA0YNPV17TGiBQxDCAgYfTkgsTD8ZagszRCdUc0gnqwFTtv6tAg8VXb2cXQMCL1NxRAHgSHtbMAICTHyWm1kWK21xXzwBARUwJf2LIyQPAkNwhjUVTKWbe0cDAjVbdkP+M0d7WzICA2GasmsWNH1wSQEBFi4kAmMoLRQBAlSGmfwaB6D4YAACADD+vwQ4BDoABwANABtADQYBAw0MDAAKcgEGcgkALysrMhEzMhEzMDFzEzMDIRMzAzcDIxMjNzC8tKEB4qG2vJdkoTiJGgQ6/F4DovvGmP4nAUGYAAIAeQAAA/UEPAADABcAF0ALDxQJCQEABnIBCnIAKysROS8zMjAxQQMjExMHDgInLgI3EzMDBhYWFxY2NgP1vLW8HA07enxAeqNIDTK1MwgZUE1AfXoEOvvGBDr+D5kXIBABAme1eAE8/sNFcEQCAhIhAAEAMAAABggEOgALABlADAUJBgICCwAGcgsKcgArKxEzETMyMjAxUzMDIRMzAyETMwMh7LShAX+htqIBfqK1vPrkBDr8XgOi/F4DovvGAAIAJf6/Bf0EOgAFABEAHUAODAUICAQRCnIPCwYGcgEALysyMisyMhEzMzAxZQMjEyM3ATMDIRMzAyETMwMhBfBkojiJG/wttaIBf6K1oQF+obW8+uSY/icBQZgDovxeA6L8XgOi+8YAAgBW//8EeQQ6AAMAHAAdQA4REg8cBAQPAgMGcg8KcgArKzIROS8zETMyMDFBByE3AQUeAgcOAychEzMDBT4CNzYmJiclAj8b/jIbAXoBMGWhWAgGS3qaVP40vLaiAQBBbUgJByNOOf64BDqYmP6MAQRQlmxZil4vAQQ6/F4BATBdRDlWMgMBAAIAMf//BaoEOgAYABwAHUAOGhkOCxgAAAsMBnILCnIAKysROS8zETMyMzAxQQUeAgcOAychEzMDBT4CNzYmJiclAQMjEwEvAS9moVgIBkt6mlT+Nby0oQEAQW1JCQcjTzn+uASWvLW8AsYBA1GWbFmKXi8BBDr8XgEBMF1DOlYyAwECDPvGBDoAAAEAMf//A70EOgAYABlADA4LGAAACwwGcgsKcgArKxE5LzMRMzAxQQUeAgcOAychEzMDBT4CNzYmJiclAS8BL2ahWAgGS3qaVP41vLShAQBBbUkJByNPOf64AsYBA1GWbFmKXi8BBDr8XgEBMF1DOlYyAwEAAgAy/+gDxARRACcAKwAdQA4rKioJHRkUC3IEAAkHcgArMswrzDMSOS8zMDFBJgYGBwc+AhceAwcHDgMnLgI3FwYWFhcWPgI3NzYuAhMHITcCNkBxTw2sC4jGaW6aXCEJBQ1Uibpzb6ZYBa0EK1tDT3lWMwkGBggrW+wb/hsbA7cCNmA/AWylXQMCXpu9YStpxZtZAwJpsG4BP2xDAwJGdYxDKjuEdkz+vpeXAAQAMf/oBgMEUgADAAcAHQAzACNAEyQDAgIZLw4HBnIGCnIOB3IZC3IAKysrKxEzEjkvMzIwMUEHITcTAyMTATc+AxceAwcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIC5Bv90RrtvLS8AUwDDlePwXdyomIlCwMNWY/BdnGhYibEAwcKMGBOU4BbNwoDCAsxYU9Tf1o2Am+XlwHL+8YEOv3PGG3LnlsDA16cwWYYbsicWQMDXZq/fRc/h3RLAgNFdpBIFz+JdkwDAkZ5kQAAAv+/AAAD/wQ7AAMAHQAdQA4BEhITEwMJBAZyBwMKcgArMisyEjkvMxI5MDFBMwEjAQUDIxMnDgIHBhYWFwUHJS4DNz4DAUnP/nbPAn0Bw7y1ovg8cE8JByVLMgFVG/7DSH1cMAUFUH6aAgT9/AQ7AfvGA6QBASlUQTRKKAIBmAECLFF3TFiAUygABAAg/kcD2QYAABEAFQAsADAAHUAQMC8oHAdyFQByFApyDQYPcgArMisrKzLMMjAxQTMDDgInIiYnNxYWMzI2NjcDASMBAyc+AxceAwcDIxM2JiYnJg4CAQchNwL0tloNWZlsHzseHhgzGThGJQi6/vW1AQsYSg5Le6tuV3VCFQh2tngHF0xITXpbOQG5G/2VGwHG/eJloFwCCgmTCAk9XS8GWfoABgD8RgJhu5ZXAwI/bYxP/TsCyEFpQAICPmuEAsiYmAAAAgBO/+kD7wRRAAMAKwAbQA0EDQMCAg0hGAdyDQtyACsrMhE5LzMRMzAxQQchNwEWNjY3Nw4CJy4DNzc+AxceAgcjLgInJg4CBwcGHgICphv95hoBWkNzUhGrEIrHa3KeXSIKBQ1Vi711c6ZaAakBLl1FU31XMwoFBwcsXwJomJj+GwI1YD8BbaVbAgNbmL9lK23FmVYDAmivcEFsQgMCQnKNSCo/hnNJAAAD/8P//wYtBDoAEQAVAC4AJUASFi4uACQhIQoJCnIUFRUjAAZyACsyMhEzKzIyETMROS8zMDFBMwMOBCcjNzc+BDcBByE3AQUeAgcOAychEzMDBT4CNzYmJiclAW62cw8mO1uGXz4TJUFYOSMVCQJqG/4cHAIIAS9ho10HBU17mFH+Nby1ogEAPm1JCQgqUjT+uQQ6/fZMn5JzQQGiAgQ/ZXZ3MQHQmZn+ZAEDSI1qWINWKwEEOvxcAQEuWEE4SiUCAQAAAwAw//8GTgQ6AAMABwAgACVAEhUWExMGCAMgAwICBgcGcgYKcgArKxE5LzMzETMRMxEzMjAxQQchNxMDIxMBBR4CBw4DJyETMwMFPgI3NiYmJyUDXxv91BpuvLS8AtEBMGGiXgcFTXuZUP40vLaiAQA+bEoICCpRNP64AqGWlgGZ+8YEOv5kAQNIjWpXg1crAQQ6/FwBAS5YQThKJQIBAAMAIAAAA9oGAAADABoAHgAZQA0eHRYKB3IDAHIRAgpyACsyKysyzDIwMUEBIwEDJz4DFx4DBwMjEzYmJicmDgIBByE3AeD+9bUBCxhKDkt7q25XdUIWCXa2eAcXTUhMels5Ac8b/ZQbBgD6AAYA/EYCYbuWVwMCP2yNT/07AshBaT8CAj5rgwLNmJgAAgAw/pwEOAQ6AAMACwAXQAsABgYLCnIJBAZyAgAvKzIrMhI5MDFlMwMjAzMDIRMzAyEBmLZZtVS0oQHioba8/LSY/gQFnvxeA6L7xgAAAgBu/+UG2gWwABgAMAAbQA4sHwlyFAcJciYaDgACcgArMjIyKzIrMjAxQTMDDgMnLgM3EzMDBh4CFxY2NjcBMwMOAicuAzcTMwMGHgIXFjY2NwOimbQMR3GbYVuGVSMKtL20BQgiQjZQd0kMAy+9tBF5xoNZgE4dCbSYswYMKEk3Tm9DCgWw+95bm3Q+AwJDc5ZXBCL73S1aTDACA0V5SgQj+99+wGwEAkZ1lVMEIvvdMFxKLQIDSHpGAAACAE//5wXXBDoAGAAxABtADiwfC3IUBwtyJhoOAAZyACsyMjIrMisyMDFBMwMOAycuAzcTMwMGHgIXFjY2NwEzAw4CJy4DNxMzAwYeAhcWPgI3AviTegs+ZYpXUXhLHwh6tXoEBhs3LURlPgoCpLV6D2ywdlByRRsIepN6BAkhPi8yTTgiBwQ6/SlSi2c3AgM7ZodNAtj9JyVNQSoCAzxnPwLZ/SlxrF8EAj5ohUoC2P0nKU5AJwIBI0BRLQAAAgAv//4DvwYWABcAGwAhQBANCgAXFwoaGxsKCwFyCgpyACsrETkvMxE5LzMRMzAxQQUeAgcOAichATMDBT4CNzYmJiclAQchNwE0AS9qn1MICXzDdf41AQ619AEARW9GCQcfTD3+uQHZG/1YGwLqAQRYn214rl0CBhb6ggEBOGVGOl87AwECf5iYAAADAEr/6ga0BcgAAwAsADAAIEARAwICLzACci8IHRQDcikJCXIAKzIrMj8rEjkvMzAxQQchNwE3DgInLgM3Nz4DFx4CFyMuAicmDgIHBwYGHgIXFjY2AQMjEwUgG/wuGwRJuR6m+JuKu2khEBUUaanokpPHZwS7AzR1ZW6lc0YPFggBGj5rUnCeaPyK/bz9A0GYmP6OAZbbdQMDeMPteJGE9cBuAwN/2Y1clFgDA1iXul+UP4yGbkQCBE+UBEf6UAWwAAMALf/pBYwEUQADACsALwAkQBMDAgIuLwZyLgohHRgHcggEDQtyACsyzCvMMz8rEjkvMzAxQQchNwEWNjY3Nw4CJy4DNzc+AxceAgcjNCYmJyYOAgcHBh4CAQMjEwRjG/ypGwJ3QnNSEasQisdrcp5dIgsEDVWLvnVyp1kBqS5dRVN9VjQKBQcHLF7+a7y1vAJomJj+GwI1YD8BbaVbAgNbmb5lK23FmVYDA2evcEFsQwICQnKNSCo/hnNJA7X7xgQ6AAAE/7oAAARUBbAABAAJAA0AEQAkQBERDQwMAgAGBgcDAnIPBQUCCAA/MxEzKzIyETMROS8zMzAxQQEjATMTAzczEwMHITcFAyMTAxb9bckC+3xqzxx194od/VIdAadguWAFCfr3BbD6UAUnifpQAlqjozP92QInAAAE/6IAAAOaBDoABAAJAA0AEQAeQA4RDQwMAQcDBnIQBQUBCgA/MxEzKzISOS8zMzAxQQEjATMTAwMzEwMHITcFAyMTAgz+WMICaZJNrRqE84Mb/b0bAXJItEgC9P0MBDr7xgMGATT7xgHBmJgm/mUBmwAGAFsAAAZWBbAAAwAIAA0AEQAVABkANEAaCRQUBgYYFREREBADAgIYCBYCcgQKCgsHAnIAKzIyETMrPzkvMzMRMxEzETMRMxEzMDFBByE3AQEjATMTAzczEwMHITcFAyMTAQMjEwNDHf3sHQPo/W3JAvt8as8cdfiLHf1SHQGnYLlg/gr9vf0CWqGhArD69gWw+lAFJ4n6UAJao6Mz/dkCJwOJ+lAFsAAGAE8AAAVLBDoAAwAIAA0AEQAVABkALkAXFREREBADAgIYGQZyCRQUBgYYCgsHBnIAKzI/MxEzETMrEjkvMzMRMxEzMDFBByE3AQEjATMTAwMzEwMHITcFAyMTAQMjEwK4G/45GwLN/lfCAmqSTa4ahPODG/2+GwFxSLNH/n28tbwBwZiYATP9DAQ6+8YDBgE0+8YBwZiYJv5lAZsCn/vGBDoAAAUAJgAABjkFsQAWABoAHwAkACgANEAZGRoaJBsfHyMjEygGBhMTARwkAnINJycBCAA/MxEzKzISOS8zETMRMxEzETMRMxEzMDFzIxM+AjMFHgIHAyMTNiYmJyUmBgcBByE3EwEzASMDAQcjAQEDIxPjvT0WjOOWAdSMv1gQPL09CyJoXf4slq0WBFQc/PccvgIu4v17ecsBNyp1/qECJ4e8iAFymcNdAQNjwZH+jgFzWntCAgMBhpgEPp6e/QoC9vyyA0/890YDTv1d/PMDDQAFACoAAAULBDsAFwAbACAAJQApADBAFxobGyUgJCQTKQYGExMBHSUGcg0oKAEKAD8zETMrMhI5LzMRMxEzETMRMxEzMDFzIzc+AjMFHgIHByM3NiYmJyUmBgYHAQchNxMBMwEjAxMHIwEBAyMT37UZFXvRkwExiKxHDxm1GQoUVlr+zmKCSQ4Dmxv9YhunAZnW/g5vheIma/7zAcxltWajkcVkAgNrw4akpVF/TAMDAUOCXwOXmZn9xAI7/W0ClP21SQKT/gv9uwJFAAAHAEkAAAhbBbEAAwAHAB4AIgAnACwAMAA8QB4hIiIkLAJyJysrGzAODhsbAwICBQcCchUvLwkJBQgAPzMRMxEzKxI5LzMzETMRMxEzETMrMjIRMzAxQQchNxMDIxMBIxM+AjcFHgIHAyMTNiYmJyUmBgcBByE3EwEzASMDAQcjAQEDIxME8Bv8iRuJ/bz9Ab+9PRWM45YB1Y2/VhA8vD0LImde/iuWrBYEVBz89xy+Ai/h/Xp4ywE3KnX+oQInh72IAyyXlwKE+lAFsPpQAXGaw1wBAQNjwZH+jgFzWntCAgMBh5cEPp6e/QoC9vyyA0/8+UgDTv1d/PMDDQAHAC8AAAbsBDsAAwAHAB8AIwAoAC0AMQA+QB4lIiMjLS0HKCwsGzEODhsbAwICBgcGchUwMAkJBgoAPzMRMxEzKxI5LzMzETMRMxEzETMRMxEzETMzMDFBByE3EwMjEwEjNz4CMwUeAgcHIzc2JiYnJSYGBgcBByE3EwEzASMDEwcjAQEDIxMEvBv8OhupvLS8AdW1GhR80JMBMYmrRw8ZtRkKFFZa/s5igkkOA5sb/WIbpwGZ1v4PcIXiJWz+8wHNZrRlAlyXlwHe+8YEOvvGpJHEZAIDa8OGpKVRf0wDAwFDgl8Dl5mZ/cQCO/1tApT9s0cCk/4L/bsCRQAD/83+SAQhB4gAFwBAAEkAK0AUGA0MQEAAKywJRUNDQkhBgEcXAAIAPzLeGs0yOTIRMz8zEjkvMzMzMDFBBR4DBw4DIyc3FzI2Njc2JiYnJRMXHgMHDgMjJwYGBwYWFhcHLgI3PgIzFz4DNzYuAicnARc3NxUBIwM1ARQBHVaZdD0GCGadtFSZFH9UmmgMCTpvRv7LNIFXpYJGCAhakbZkNTxqCQcjPiRSO2M6AwRpoFctQHRdPAkIIUlpP5UBRXSwoP7jb84FsAECM2COXWKLVygBcwEyb1xMYzMCAf34AQEpVoxlaaNuOAEBNUMuQjETeB5adkZkczEBASVHaEJFYT8fAQEE5qmoAw3+7wEQDgAAA//J/kgDmAYzABgAQQBKACZAEQ0ZDEFBAC1DSUZEQoBIGAAGAD8y3hrNMjIyOS8SOS8zMzMwMVMFHgMHDgMjJzcXPgI3Ni4CIyUTFx4DBw4DIycGBgcGFhYXBy4CNz4CMzMyPgI3Ni4CJyMTFzc3FQEjAzXRARdEinNCBARjk59CmRV+OoRjCQYkQEsh/s9MgT+VhFEEBFeJoE4xPGoKBiI/JFI7YzoDBGmhVikrXVI5BwgsTlkmledzsaD+4m/OBDoBAiJHcVFTbT4ZAXMBARhIRyw4Hw0B/qEBARU4aFNaf08kAQI0Qy5CMRN4Hlp2RmN0MRIoRDI0PiALAQRfqagDDv7vAREOAAADAGf/6QT+BccAFwAoADkAH0ASDClqMiBqMjIMABhqAANyDAlyACsrKxI5LysrMDFBHgQHBw4DJy4ENzc+AxcmDgIHBgYHITY2NzYuAgEWPgI3NjY3IQYUBwYeAgMldKpwPQ4NDRNoqOqWdKlxPQ8NDBRoquqMaaF0SREBAwEC+QEBAQgNO3r+yWmgcUkSAQIB/QcBAQYRPXkFxAJTi7PHZFuH/cp0AwJTjLPHY1yF/cp1pgNTj7JbBwwHBwwHU6qQXPtxBE+LrlsFCwUFCwZQpY1ZAAMAQ//oBBYEUgAVACAAKwAfQBILIWonG2onJwsAFmoAB3ILC3IAKysrEjkvKyswMUEeAwcHDgMnLgM3Nz4DFyYOAgchNi4CAxY+AjchBh4CAn1yoWElCwIOWI/BdnCiYiYLAg5Xj8FvSXNXOxECRgEVNVrTSnZZOxD9tgMTNFwETwNenMFmGG3JnFkDA12av2UYbsqeW5sCNl54PzpyYDv8zgM4YnxBO3djPQACAK0AAAVLBcYADgATABlADQ4SCAUTAnIFA3ISCHIAKysrETMRMzAxQQE+AhcXByciBgYHASMDExMjAwJMAX4hVXxcMxQKLUAuEv3BmDeXHovvAX0DI0yHUwEBqgEqQyX7dwWw+8D+kAWwAAACAIUAAAQ9BFIAEgAXABVACxcGchIWCnIMBQdyACsyKzIrMDFBEz4CFzIWFwcmJiMOAgcBIwMTEyMDAcfxGEtpSCA2GyQKFQscLyQM/k9+D2URcrUBOQIjPHFJAQ4OkgQGARwsF/yzBDr8+f7NBDoABABn/3ME/gY1AAMABwAfADcAJEAQAgInJwMaA3IHBzMzBg4JcgArzTMRM3wvKxjNMxEzfS8wMUEDIxMDAyMTAQcOAycuBDc3PgMXHgQHNzY2LgInJg4CBwcGFB4CFxY+AgOrRLRDMkW1RQLiDRNnqOuWdKlxPQ8NDBRoquqVdKpwPA/VDQkBG0FxV3CndUYODggcQnBWcqhzRAY1/n4BgvrJ/nUBiwIIW4f+yXQDA1KMs8ZkXIX9ynUDAlOLs8fAX0STinBFAwNen8BgX0OSi3JFAwRdn8EABABD/4kEFgS2AAMABwAdADMAJEAQBwckJAYZC3ICAi8vAw4HcgArzTMRM30vKxjNMxEzfC8wMUEDIxMTAyMTATc+AxceAwcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIC+EC2QBBAtkD+sgIOV4/BeHGhYiULAg5Yj8F2caFiJsMDBwowYU5TgFo3CwIICzBhTlSAWjYEtv6QAXD8Qv6RAW8BERhty59aAwNenMFmGG3JnFkDA12ZwH0XP4d1SgIDRXeQRxc/iHdMAwJGeJIAAAQAdP/nBooHVwAVACAAQQBlADNAGVtOCXJUMTEsOAlyQkNDEQgIGxsWFiIhAnIAKzIyfC8zGC8zETMyETMrMjIvMysyMDFBMwcnLgMjIgYHByc3NjYXHgMBJzY2NzcXBw4CJQcOAgcDBh4CFxY2NjcTMwMOAycuAzcTPgIFNx4DBwMOAycuAzcTMwMGHgIXFj4CNxM2LgIFsysKJzxua2s5NEYKAn0DCYZsPG5scP5gTR4zChGaDQg1Sf61ElNsPAxbBQMdQjpQd0gMR5hGDUZym2Bgh1AcClsTdMUDDQtfhE8bClsORXGfZluEVCAJR5hGBg8uTjk+Wj0kCFwGAxxCBtWBAQEnMiY7NBIBJGtzAgEmMib+VDwhRixfAWUtSztzngJXh0r9xS1kWjoDBEZ6SgGt/lRbm3M+AwJNf6FXAjqFzHSfoARNfqBX/cZdpn9HAwJDc5ZWAaz+UzRdSSsCAjRZajQCPDBjVTkAAAQAUv/nBZEF9gAVACAAQgBmADNAGVxPC3JVMjIsOQtyQ0REEQgIGxsWFiIhBnIAKzIyfC8zGC8zETMyETMrMjIvMysyMDFBMwcnLgMjIgYHByc3NjYXHgMBJzY2NzcXBw4CJQcOAgcDBh4CFxY+Ajc3MwcOAycuAzcTPgIFNx4DBwMOAycuAzc3MwcGHgIXFj4CNxM2NiYmBSAtCik7b2prODVHCQJ9AgqHbDxua3D+WkkeMwkSmg8HN0r+xRBIWzEKKgQBFzYxM1I9JwglkSQLPmSLVld4RhkIKhBmsAK1ClV2RRgIKgs8ZY1dUXdLHggkkSQFDihCMTVMMh0GKwQBFTYFdIEBASczJTo1EgEkbHICASYyJv5MOyBHLF8BZS5KOnCXAk53P/7dJFhQNgIDIj5TL+vqUotnNwMCR3SSTgEiebhpmJkER3OPTv7eU5h0QQMCPGeGTerrLE8/JQECME5dLAElJ1ZMMwADAG7/5QbaBwQABwAgADgAK0AVNCcJcgUCAQEHBy0hCAgVAnIcDwlyACsyKzIRMzMzfC8zGC8zMysyMDFBITchByEHIwczAw4DJy4DNxMzAwYeAhcWNjY3ATMDDgInLgM3EzMDBh4CFxY2NjcD1f7QEwMUEv6/FqQdmbQMR3GbYVuGViIKtL20BQgiQzVQd0kMAy+9tBF5xoJagE4dCbSYswYMKEk3Tm9DCgaYbGx9a/veW5t0PgICQ3SXVgQi+90tWkwwAgNFeUoEI/vffcFsAwJGdZZTBCL73TBcSi0CA0l5RgADAE//5wXXBbEABwAgADkAK0AVNCcLcgUCAQEHBy0hCAgVBnIcDwtyACsyKzIRMzMzfC8zGC8zMysyMDFBITchByEHIwczAw4DJy4DNxMzAwYeAhcWNjY3ATMDDgInLgM3EzMDBh4CFxY+AjcDLv7PFAMTEP6+F6Qfk3oLPWWKV1J4TB4He7V6BAYbNy1EZT4KAqS1eg9ssHZQckYaCHqTegQJIT0wMU44IgcFRWxsf4z9KVKMZjgDAjxmh00C2P0nJU1BKgICO2c/Atn9KXGsXwMCPmiGSgLY/ScpTj8nAgIjP1ItAAIAaf6EBOcFyAAhACUAGUAMFhINA3IlAAAkAQlyACvNMxEzK8wzMDFlBy4ENzc+AxceAgcjNiYmJyYOAgcHBh4DFwMjEwI6CmWcb0IVDCcTZ6PahZPSagm7Bzd+ZWCXbUUNKQkEH0BmvVq7WomfBUh6nLJc+nrisWYDAnrZkl+TVgIDUYinVP09gHZfOwX9/AIEAAACAEz+ggPeBFEAHwAjABlADBURDAdyIAAAIgELcgArzTMRMyvMMzAxZQcuAzc3PgMXHgIHJzYmJicmDgIHBwYeAhcDIxMB1w1smFogCgQNVIq6cnClWAaqBCtbQ095VjQJBgcHKlqzWrVahZoGX5m7YStpxJtZAwNosG4BP2xDAwNGdYxDKj6DcUoH/f8CAQABAEAAAAS4BT4AEwAIsQ8FAC8vMDFBARcHJwMjASc3FwEnNxcTMwEXBwM8/vH8U/zqsAEl+1L+AQ39VPzyrP7V/1YDLP6MrHOp/r4BlatyqgF1q3SqAUz+YqtyAAH85wSm/9AF/AAHABW3BgYEBAECAgEALzMvETMRM3wvMDFDIQcnNyE3F1b99heiKgIMEqEFJH4B6WwBAAH9CgUW/+sGFAAVABK2ARQUDwaACwAvGswyMxEzMDFBFz4DFxYWBwcnNzYmJyYOAgcj/RYlQHZydT5kcQYDegIDKTI7dHR3PjAFlwEBJzElAQFwZScBFC84AQIkMicBAAH+FgUW/uQGWAAFAAqyAIACAC8azTAxQSc3MwcX/peBFLAcJgUWz3OXcgAAAf47BRj/UAZYAAUACrIBgAQALxrNMDFDByc3NzPItkdOFrEF07tJdYIACPo3/sIBlAWxAA0AGwApADcARQBTAGEAbwAAQQc2NhcWFhUnNiYjJgYBBzY2FxYWFSc2JiMmBhMHNjYXFhYVJzYmIyIGAQc2NhcWFhUnNiYjIgYBBzY2FxYWFSc2JiMmBgEHNjYXFhYVJzYmIyYGAQc2NhcWFhUnNiYjIgYTBzY2FxYWFSc2JiMiBv4CcApyWlhpbAMfMDA0AgNwCXNZWGpsAh4xLzRSbQlxWlhoawIeMDA0/tttCXFaV2lrAh4wMDT9lG8Jc1pXaWsCHjAwNP6ncAlzWlhpbAMeMTA0/vJtCXFaV2lrAh4xLzQ8bglxWldqbAIeMS80BPQBWGYBAWdXASo8ATv+wQFYZgEBZ1cBKjwBPP3gAVdmAQFmVwEqPDv90AFXZgEBZlcBKjw7/rsBWGYBAWdXASo8ATsE8AFYZgEBZ1cBKjwBO/3fAVdmAQFmVwEqPDv90AFXZgEBZlcBKjw7AAj6Tv5jAVMFxgAEAAkADgATABgAHQAiACcAAEU3FwMjAQcnEzMBNzcFByUHByU3ASc3JRcBFwcFJwEHJwM3ATcXEwf9P4UNrGQBo4QNq2UBHw8LATcR+l0QCv7JEQVmWQMBTT363FgD/rU+AgZpEV1DAt5oE11FPQMS/q8GBAIQAVH8JowKf1yVjAp/WwEIYhGZTfwwYhKZTgQDXwIBTz37V2AC/rE+//8ARP6ZBW8HGgQmANwAAAAnAKEBXwFCAQcAEARR/7wAFUAOAiMEAACYVgEPAQEBXlYAKzQrNAD//wAw/pkERgXDBCYA8AAAACcAoQCZ/+sBBwAQA1v/vAAVQA4CIwQBAJhWAQ8BAQF9VgArNCs0AAACAC///gO/BnIAFwAbABpADBoLGwJyABcXDQ0KEgA/MxEzLzMrzjMwMUEFHgIHDgInIQEzAQU+Ajc2JiYnJQEHITcBNAEvap9TCAl8w3X+NQEetf78AQBFb0YICB9MPf65AgAb/VcbAuoBBFiebnmuXAIGcvomAQE4ZkU6XzsDAQNdmJgAAAIAOwAABO4FsAADABsAI0ARAQIFAAMGBgUFEhATAnISCHIAKysyETkvMxEzMxEzMzAxQQEHAQMlNwUyNjY3NiYmJyUDIxMFHgIHDgIDiAEmdP7cYv56HAFvXp1nDAs3dlT+p+G8/QH9g8psDA2c9QPV/mJeAZz+xQGdAUCBYlV7RAMB+u4FsAEDZ8GImshgAAT/1/5gBAAEUgADAAgAHgA0ACVAFAADMAECMCUaDwtyBwZyGgdyBg5yACsrKysRMzIyMhEzMzAxQQEHAQMDIwEzAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHAwYeAhcWPgIClwEGc/75uN62AQSmAnUCDUV2q3Nmj1kkBg4RUX6tbm+LSRLBAgcHK1tOPm9aQA8rASRDWTZTe1UxAYb+gF4BfwI4+wEF2v3yFWLHpGIDAlWNr1xvYruWVgQDZaG9cBY8hnVMAgItUWk6/vs2X0orAgJHeZEAAAIANQAABNQHAAADAAkAFUAKAgYGAwkCcggIcgArK84zETMwMUEDIxMTByEDIxME1FW2VXkc/VfhvPwHAP4YAej+sJ767gWwAAIAJQAAA7YFdwADAAkAFUAKAgYGAwkGcggKcgArK84zETMwMUEDIxMTByEDIxMDtlK2Unsb/huhtbwFd/4qAdb+w5n8XwQ6AAIARP7dBKUFsAAFAB0AGUAMBgcHExICBQJyBAhyACsrMi8zOS8zMDFBByEDIxMTNxceAwcOAwc3PgM3Ni4CJwSlHP1Y4bz9EhzEgMN/NQ0NUIjBfg9YflMuCQoZTIFdBbCe+u4FsPzwoQECVJbPfnjJlVMBkgJEc5FPWJNsPgIAAgAl/uEDewQ6ABQAGgAbQA0AAQELFxoGchkKcgwLAC8zKysyETkvMzAxUzcXHgIHDgMHJz4CNzYmJicBByEDIxOdHPWGzGgPCU15mVUhUH5PCgo0dlkB0hv+G6G1vAHkogEDd9CKWZp5UhKVFlR+VVeHTwMCV5n8XwQ6////q/6ZB3UFsAQmANoAAAEHAmEGMAAAAAu2BRsMAACaVgArNAD///+n/pkGDgQ6BCYA7gAAAQcCYQT1AAAAC7YFGwwAAJpWACs0AP//AET+lgVqBbAEJgI8AAAABwJhBAP//f//ADD+mQRYBDoEJgDxAAABBwJhA0YAAAALtgMRAgEAmlYAKzQAAAQANgAABUkFsAADAAcADQARAC9AFw8ODgsMBAQMDAsHBwsLABADCHIIAAJyACsyKzISOS8zLxEzETMvERI5ETMwMUEzAyMBMwMjATMBITUhBzcBIwEzvP28AdqSc5ICxOj9sf4gAZ4ZhAFJ4AWw+lAEMP1rBBX836B9nfyxAAQALgAABJQEOgADAAcADQARAC1AFg8ODgsEBAwMCwcHCwsAEAMKcgkABnIAKzIrMhI5LzMvETMRMy8RMxEzMDFTMwMjATMDIwEzASE3IQc3ASPqtby1AaeSZJICPeb+CP5bAQFrGYMBI9kEOvvGA0X9xgMv/ZSifH39jwAEALwAAAbNBbAAAwAHAA0AEQAjQBEQDw8LCgoDDgYIcg0HAgMCcgArMjIyKzISOS8zMxEzMDFBByE3IQMjEyEBITUzAQMBNwEC3Rv9+hsCiPy8/QQp/Q/+ru8CXML+XX8B/AWwmJj6UAWw/N+gAoH6UAKyn/yvAAAEAHYAAAWMBDoAAwAHAA0AEQAjQBEQDw8LCgoDDgYKcg0HAgMGcgArMjIyKzISOS8zMxEzMDFBByE3IQMjEyEBITczAQMBNwECfhv+ExsCRLy2vANt/aP+/gHEAbCT/s2CAYYEOpiY+8YEOv2UogHK+8YB8379j///ADv+mQV3BbAEJgAsAAABBwJhBGUAAAALtgMPCgAAmlYAKzQA//8AMP6ZBDcEOgQmAPQAAAEHAmEDZgAAAAu2Aw8KAACaVgArNAAABAA7AAAH4AWwAAMABwALAA8AH0APBwYGCgIDAwwLAnINCghyACsyKzIyETMROS8zMDFBByEnAwchNxMDIxMhAyMTB+Ab/ZBZlRz9AxyL/b39BD/9vPwFsJiY/Y6dnQJy+lAFsPpQBbAAAAQAJQAABZUEOgADAAcACwAPAB9ADwcGBgoCAwMMCwZyDQoKcgArMisyMhEzETkvMzAxQQchNwMHITcTAyMTIQMjEwWVG/47G4Ub/dMaeby1vANLvLW8BDqZmf4rlpYB1fvGBDr7xgQ6AAACAEL+3QdiBbAABwAfABlADAgJCRQEBwJyBghyAgAvKysyLzkvMzAxQQMjEyEDIxMBNxceAwcOAwc3PgM3Ni4CJwVu/bvh/Unhvf0DSx3EgMN+Ng4MUIjBfg5YflMvCQoaS4FeBbD6UAUS+u4FsPzwoQECVJbPfnjJlVMBkgJEc5FPWJNsPgIABAAl/uAGQQQ6ABQAGAAcACAAI0ARHhcYGAABAQsdHAZyGwpyDAsALzMrKzIROS8zMhEzLzAxQTcXHgIHDgMHJz4CNzYmJicDByE3MwMjEyEDIxMDXR39iNNvDghMeJdVJFB9TwoLPIBa5Bv97BscvLW8A0y8tbwB5KIBA3PQjlmaeVMSlhZUf1Rbh0sDAleZmfvGBDr7xgQ6AAEAa//jBa0FxwBDAB1ADjkMDCMiA3IAAQEuFwlyACsyMhEzKzIyETMwMWUHJiQmAjc3PgMXHgMHBwYCBgQnLgM3Nz4DNwcOAwcHBh4CFxY+Ajc3NjYmJicmDgIHBwYeAgUjDp7+8cNbFyMORnWmbmuHRxMLJheHz/72mo7LeywRGhFSh8B/ElZ5UC4LGgwQRYVqdseZZBInBQQXQ0JGYkAkCCQTPI7QhqMFZ7sBCajjXMOlZAQDa6a+VvOT/v/BagMDecj1f6xw3bhwA6QCXY+fRa9WuJ5lAwRTlsVv+Sx/fVYDA056hjXphs+PTAABAFz/5wRaBFQAQwAdQA45DAwjIgdyAAEBLhcLcgArMjIvMysyMhEzMDFlBy4DNzc+AxceAwcHDgMnLgM3Nz4DNwcOAwcHBh4CFxY+Ajc3NjYmJicmDgIHBwYeAgQnCn/dok8QDQozV4FXVWk2DQcOEGOdznt1oFwfCwcLPWeUYhI5TzMdBwcHBixfUVeNaEELDgMFCycrLj0kEwQNDTJun5KfBFKX1YhnSZmBTQMDWYqZQ2ly0aFbBANrrM1lO1ioiFMDnQNBY2wuOj6ShVcEA0V4lk5tGV5jRgIDOlpdIG1mnGs4////1P6ZBSsFsAQmADwAAAEHAmEDugAAAAu2AQ8GAACaVgArNAD////F/pkD9QQ6BCYAXAAAAQcCYQLPAAAAC7YBDwYAAJpWACs0AAADAKz+oQZjBbAAAwAJABEAHUAOCQ0NCAoIcgUQDAIDAnIAKzIyMi8rMjIRMzAxQQchNwEDIxMjNwUTMwMhEzMDBGQb/GMbBVBrqT2LHfxk/L7iArjhvP0FsJiY+vL9/wFfoqIFsPrtBRP6UAADAFf+vwTIBDsAAwALABEAH0APAgMDDQoFBnIIBwcQBApyACsyMhEzKzIvOS8zMDFBByE3ExMzAyETMwM3AyMTIzcDIhv9UBtNvLaiAeKitbyYZKM4iRsEO5iY+8UEOvxeA6L7xpj+JwFBmP//AMv+mQU6BbAEJgDhAAABBwJhBCUAAAALtgIdGQAAmlYAKzQA//8Aef6ZA/UEPAQmAPkAAAEHAmEDJQAAAAu2AhsCAACaVgArNAAAAwDKAAAFOgWwAAMAGQAdACNAEQMDCgoVAgIVFQQcCHIbBAJyACsyKxE5LzMvETMRMy8wMUEDIxMBMwMGFhYXFj4CNwcOAycuAjcBMwMjA0l6knr+cLxKCyVrYDhubWw1DjVqbG03jsRZEQOivf29A/v9QwK9AbX+OF1/RAIBChIaDp8RGhEIAQJnx5IBx/pQAAADAJQAAAQQBDwAAwAHABsAI0AQAAAYGA0BAQ0NBQpyEgQGcgArMisyLzN9LxEzETMYLzAxQQMjEwEDIxMTBw4CJy4CNxMzAwYWFhcWNjYClmOSYwIMvLW8HA07eX0/e6JJDTO0MggYUE1AfXsDG/3KAjYBH/vGBDr+D5oXIA8BAme1eAE8/sNFcEQCAhIhAAACABwAAASLBbAAFQAZABlADAEXBhERFxgCchcIcgArKxE5LzMRMzAxYSMTNiYmJyYOAgc3PgMXHgIHASMTMwQvvEsLJGtgOG9tbTUPNGprbTeOxFkQ/F69/b0ByVyAQwIBCRMZD58RGREIAQJmx5L+OQWwAAIAiP/pBcUFxgAJADYAJUASBR0BAR0dBhwcCiQVA3IvCglyACsyKzIROS8zMxEzLxEzMDFTFwYWFhcHLgIBLgM3Nz4DFx4DBwchNyE3Ni4CJyYOAgcHBh4CFxY2NxcOAo+UByVbSwxzmUcC5YjLgjMRJxJloNWDi7VgGRAR/FEZAu0GDQg1cV5fkmlBDigMFUuIZl2tUyI0hY0EOgFKaToFjARhqfwhAWKr4oH5duGzaAMDdcDpeHGLIk2bglICA1GKplL6WqWCTQICLiaQKCsQAAIABP/qBEkEUQAIADUAJUASBBwBARwcBRsbCSMUB3IuCQtyACsyKzISOS8zMxEzLxEzMDFTFwYWFwcuAgEuAzc3PgMXHgMHByE3BTc2LgInJg4CBwcGHgIXFjY3Fw4CCpEJR2QNaYY9AkluoWUpCQULVYu8c3CVUxkNDPzuGgJXBAgOMFM8U3tVMQkFBxI3ZEtckjxoMIObA1oBYG8HiARbm/z3AlaRuWYraMqiXgMDW5e7YlOXAhI1Z1UzAwNJe5JGKUCBbEMCAlNAWUReLwADADb+0wVFBbAAAwAJACEAIUAQCgYGCwgHBxcWCQMCcgIIcgArKzIvMzkvMzMzETMwMUEDIxMhASE3MwEBNxceAwcOAwc3PgM3Ni4CJwHv/bz9BBL8+f7dAeACXv08HcqAw381DQxRicJ9C1d9UjAIChhKf10FsPpQBbD85aoCcfzlpwECVJfPfnjKlVQDmgFEco9OVpFsPgIAAwAu/voEVwQ6AAMACQAeACFAEBYVCQZyBgoKBwsLAQMGcgEALysSOS8zMxEzKy8zMDFBAyMTIQEjNzMBATcFHgIHDgMHJz4CNzYmJicBn7y1vANt/YbmAacBzf1fHQEBhNZ1DglNepdSIUx9UQkLQYJXBDr7xgQ6/ZSiAcr9lKEBA2TBj1iUc00RlRRNd1JdeD0C////y/6ZBWYFsAQmAN0AAAEHABAERv+8AAu2AyQGAACYVgArNAD////I/pkERwQ6BCYA8gAAAQcAEANc/7wAC7YDJAYBAJhWACs0AAABAET+SAVuBbAAGQAZQAwZCHIXAgIRCgUAAnIAKzIvMzkvMyswMUEzAyETMwEOAiciJic3FhYzMjY2NxMhAyMBQbxyArRzvP75Dlqabh87HR4XMRg4RicHev1Mb70FsP1vApH5/GeiWwELCJkHCTxcLwLW/X4AAQAl/kgELAQ6ABkAHUAPGQpyFwICABEKD3IFAAZyACsyKzISOS8zKzAxUzMDIRMzAw4CJyImJzcWFjMWNjY3EyEDI+G1UgHhUrXHDVmYbB86Hh8XMBk3RyYIXP4fULUEOv4rAdX7bWafWgEKCZMHCQE9XDACKP4xAP//ADv+mQV3BbAEJgAsAAABBwAQBFn/vAALtgMWCgEAmFYAKzQA//8AMP6ZBEUEOgQmAPQAAAEHABADWv+8AAu2AxYKAQCYVgArNAD//wA7/pkGtwWwBCYAMQAAAQcAEAWN/7wAC7YDGw8AAJhWACs0AP//ADH+mQWNBDoEJgDzAAABBwAQBKL/vAALtgMZCwEAmFYAKzQAAAEAUv/pBRoFxAAsABtADRoLERQUCyUAA3ILCXIAKysyETkvMxEzMDFBHgMHBw4DJy4DNzchByEHBh4CFxY+Ajc3Ni4CJyYGByc+AgL5l9mDLhINE3Cy7pGQyXUnEhQEHxv8owcPFUqFY26re0wPDg4STZV0YbdYIziMkgXDAXLE+4teg/zKdgMDa7jthHyVI1mfekgDAl+gwl9fY76bXgIBLSeRKCsQAAIAPP/oBHYFsAAHACUAH0APBQgIBCUlABwSCXIHAAJyACsyKzIROREzMxEzMDFBIQcBIzcBIRMzHgIHDgMnLgM3MwYWFhcWNjY3NiYmJycBJANSF/28dxcBu/2SsYaGymgMCV2UuWVfmGs1BrsFMWhNVJJiCgszeFuWBbCF/bV9AbX+QQJmwYxqpHA4AgI+cZteSXdJAgNCfFZcgEQDAQAC//3+cwQvBDoABwAlAB9ADggFBQQlJQAcGBIHAAZyACsyL8wzEjkvMzMRMzAxUyEHASM3ASETFx4CBw4DJy4DNzMGFhYXFjY2NzYmJicn4wNMFP3IgBYBrf2ir4CFy2sLCVyUuWRemGo0BrMFMmpOVpRjCgs1el2VBDp//a59Abv+NwEDYr2NaaRwOAICPnCbXUp6SQIDQn5YXn9DAgH////5/kcE5wWwBCYAsUIAACYCNrhAAAcCZADqAAD////p/kcD0QQ6BCYA7E0AACYCNpqNAAcCZADaAAD////U/kcFKwWwBCYAPAAAAAcCZAOLAAD////F/kcD9QQ6BCYAXAAAAAcCZAKgAAAAAQAuAAAE2QWwABgAErcDAAALEA0CcgArLzM5LzMwMUEFByUiBgYHBhYWFwUTMwMlLgI3PgMCWQGNHP6KWZZjCwsxbVIBX+G9/f38gcRlDAldlbwDdAGeAUN/XFB9SQQBBRP6UAEEar+HbqdxOQACADH//wYgBbAAGAAtAB9ADhsLCxAlJQMAABoQDQJyACsvMzkvMzMvETMRMzAxQQUHJSIGBgcGFhYXBRMzAyUuAjc+AwEjNxc+Ajc2NiYmJxceAgcOAgJcAY4c/olZlmIMCjBtUgFg4bz9/fyCw2ULCl2VvAJMlRyAUXRGDQcGAgoKrwoOAwcRfMkDdAGeAUN/XFB9SgMBBRP6UAEEacCHbqdxOfyMnAEBTH1MKFJSUigBNmxsNn/FbwADAEj/5wY+BhgAFgArAEcAHUAQM0QLcjstAXIdEgtyJwYHcgArMisyKy8rMjAxUzc+AxceBAcHDgMnLgM3BwYeAhcWNjY3NzYuAicmDgIFEzMDBhYWFxY+Ajc2NiczFhYHDgMnLgJSAg1Ddq93U3ZOLA4ECxBKd6VsaYtMGMMCBwcpWEtSjGQWJwIfP1s4V3tRLgHXzrbPBRE6OlN6UzILEAUQqQ0GDhBSiLt4bok6Ae0WZNGwagMDP2mEkEZbX7qXWAMDXZa0cBY8fGtDAgJOg0zzN2VQMQICT4KZ8gS/+0AwYEIDBEh6kURkyGNkx2NtyZ1bAgFgpAAAAgCt/+kFpwWwACAARgAhQBAoJycCAQEOMkMJcjoNDgJyACsyLysyETkvMzMRMzAxQSM3FzI2Njc2LgInJTcFHgMHDgQHDgIHBgYTJzc2JiYnNx4DBwcGFhYXFj4CNzY2JzMWFgcOAycuAgHGyhyCW5xmDAcdQF46/pgcAVBfoXU6CAcyT2NtNwQHBwUONaMBCAclXEsaWI1fLAkHAxM1Lk1uSCsJEAUQsAwGDg5MfrJ1ZoI7AnmeATJ0Yz5aOx0CAZ4BAjFjlmZPZ0QwLx8DCgoDCAn+twJDSXFDBWwBL1qIXEYpSzICBE18jTxjyWNkx2Nnx6JeAQJRkgAAAgBo/+MErgQ6AB0AQgAlQBI+PT0bAgEBDSoqIjMLcgwNBnIAKzIrMjIvETkvMzMzETMwMUEnNxc+Ajc2JiYnJTcXHgIHDgMHDgIHBgYFNwYWFxY+Ajc2JicXFhYHDgMnLgM3NzYmJic3HgIHAVjwGaw6dFQJCTVeNf72FPhisGoGBUFfaS0GBQQGCTQBKQUEHDFAYUQqCQwGFKkPEQoMSnahZDtdQB8DCQQwVDIqVpVWCQG5AZYBAR1KQz5JIQIBlQECP4dwUE8nJCQFEREEBwfuFCwzAwUyWm42TqBNAU6dTl6lfUcCAR07Wz1OOj4bA2kBL3BjAAADALD+1gOWBbAAHwA0AD8AH0AOOjk/LAwNAnIhICABAQIALzMRMxEzKzIvMy8zMDFBIzcXMjY2NzYmJiclNxceAgcOBAcOAgcOAgc3HgIHBwYGFhcHIyYmNjc3NiYmAQcGBgcnPgI3NwGR4RuTXKBqDAo3clD+6Rv/f8RpCwcxTWFtNwUHCAUJHh8WGHatVQ4TBgIQFwOxGRAFBRMKKWIBwxgReVdjIjoqChsCeZgBMnZkVG43AgGYAQNZsohMZ0UzLh0DCQkCBgcFAm0DUaJ8iSRJRR4aIVBVJ4ZMcUP+YpRtvEJLK1liNpgAAAMAoP7FA3cEOgAeADMAPgAeQA44IB8fAgEBPisKDA0GcgArMj8zOS8zMxEzLzAxQSU3Fz4CNzYmJiclNwUeAwcOAwcGBgcOAiM3HgIHBwYWFhcHIyYmNjc3NiYmBQcGBgcnPgI3NwGt/vMbwzt3VAoINF02/t8cAQhJiWs7BQVAXmovCQUIBhscLChallIKDQQBERQCsxUQAQQNBipSAbYYEXVWaCM6KQobAbgBlgEBHUpFPkkgAQGWAQIjSnZTT1ApJCMHHAcFBgRqATd5ZWIcNTAWFBc6Ph5hPEgj8JRtvENMK1liNpgAAAP/4P/mBzcFsAARABUAMgAdQA4mJh4vCXIXFAAVAnILCAAvMysyMjIrMjIvMDFBMwMOBCMjNzc+BDcBByE3ARMzAwYeAhcWPgI3NjYnMxYWBw4DJy4CAhO7mxMvR3CpejcRJVZ1Si0cDQNBHP2THAGLvL28BAccNCtReFExCxAFEbEMBQ0PVIi8eHCMOgWw/TdgzsKbXJ0CBViJoKBCAqmenvurBFX7qiNIPicCBEh4j0NjyWNjyGNsy59bAwNfpAAAA//a/+YGAgQ6ABEAFQAzAB9AECcnHi8LchcUABUGcgsICnIAKzIrMjIyKzIyLzAxQTMDDgQnIzc3PgQ3AQchNwETMwMGHgIXFj4CNzY2JzcWFgcOAycuAwGFtnQPJjtbhl89EyZBWDkiFQkCZxv+IhsBQ3u1ewMHGzYqR2VCJwkOAxCoDAoNDUd2pmxTeEkdBDr99kyfknNBAaICBD9kd3cxAdCZmf0fAuH9HiRJPygBA0Nvfzhevl0BXr1eX7mVVwMCN2OEAAADADz/5wc4BbAAAwAHACMAIEARFhYOHwlyCAJyAAMDBggEAnIAKz85LzMrKzIyLzAxQSEHIQMzAyMBMwMGFhYXFj4CNzY2JzMWFgcOAycuAjcBZQLjHP0dELz9vARhu7oEEDk4UXhSMQsQBBGwDAcOEFOIvHhuijoIAx+eAy/6UAWw+6guX0EDA0h5jkNjyWNjyGNtyZ9bAgJhpWoAAAMAI//oBhQEOgADAAcAJQAiQBIZGRAhC3IJBnIDAgIFBwZyBQoAPysSOS8zKysyMi8wMUEHITcTAyMTARMzAwYeAhcWPgI3NjYnNxYWBw4DJy4DA0cb/dUaery2vAIje7Z7BAcbNitHZUInCQ8BEKgNCg0NR3ambVJ2SR0CZJaWAdb7xgQ6/R8C4f0eJEk/JwIDQ29/OF6+XQFevV5guJRWAQE4Y4YAAAEAZf/oBIIFyAArABVAChILA3IlJR0ACXIAKzIyLysyMDFFLgM3Ez4DFzIWFwcmJicmDgIHAwYeAhcWNjY3NjYnMxYWBw4CAkiAvXguDykUbarfh1urTkVAjElhnnVLDyoLE0N6XFyQXA8PAQuzBwcMEpbmFQNnrtx2AQZ+4axiAigvjCQiAQFMhKVZ/vdOoIhVAgJLhllYtFhZsliMzm4AAAEATf/oA4YEUQArABVACiEaB3IHBwAPC3IAKzIyLysyMDFlFjY2NzY2JzMWFgcOAicuAzc3PgMXFhYXByYmIyYOAgcHBh4CAfE6XDsJCQMEqQQDBw1yr2lwoGImCwUMVIq6ckiNPjoyczpQelY0CgUHDTJhgwEmTjo6djo6dTlslEoCA1yZvmUrasSaWQEBHCiOHx0BRnSLRSo/hnRJAAACAJv/5gUfBbAAAwAgABdACxQUDB0JcgUCAwJyACsyMisyMi8wMUEHITcBEzMDBh4CFxY+Ajc2NiczFhYHDgMnLgIFFhz7oRwBEby8vAMGGzUqUndSMQsQBBCwDQYPD1OHvHluijsFsJ6e+6sEVfuqI0k+JwIDSHmOQ2PJY2THY23Kn1sDAmGlAAACAH3/6ASABDoAAwAgABdACxMTCxwLcgUCAwZyACsyMisyMi8wMUEHITcTEzMDBhYWFxY+Ajc2JicXFhYHDgMnLgMECBr8jxrhfLR7BRE8OUBgRSkJDQYSpw4RCg1Jd6JlUndJHgQ6lpb9HwLh/R4wYEIDAjNZbTdQok8BT6BQXqZ/RwEBOGOFAAACAGj/6QUfBccAIAA/ACNAEQAiPz8CAhc1MSwDchENFwlyACsyzCvMMxI5LzMSOTkwMUEXByciDgIHBh4CFxY2Njc3DgMnLgM3PgMFJy4DNz4DFx4CByc2JiYnJgYGBwYeAhcXAsLGFalGinVOCQg0YHc7V6l8ELsMbafIZ1+5k1EICHKuygEXrk2ojlQGCG2qy2d52IMFugRRhkpVr30MCSpUaznAAxEBeQEZPGlQRmM9HAECOnhcAXCiaDECATJlnW5zllYkVgECKFSGXnSjZS0CA1uyhQFSbDYCAjJ0YENaNRkBAQD////L/kcFZgWwBCYA3QAAAAcCZAQkAAD////I/kcESgQ6BCYA8gAAAAcCZAM6AAAAAgDzBHMDTAXXAAUADwAStgUFDQcCAgcALzMvEM0yLzAxQTcTMwcBJTczBwYWFwcmJgHqAaO+Af71/rwMpA4KEiRGSEkEgxMBQRb+w/5VUD5tNDUtjP//ABoCHwIQArcEBgARAAD//wAaAh8CEAK3BAYAEQAAAAEApgKLBJQDIwADAAixAwIALzMwMUEHITcElCD8MiEDI5iYAAEAmAKLBdYDIwADAAixAwIALzMwMUEHITcF1iv67SwDI5iYAAL/Xv5qAx4AAAADAAcADrQCA4AGBwAvMxrOMjAxRQchNyUHITcC8hv8hxsDpRv8hxv+mJj+mJgAAQCwBDECBQYVAAoACLEFAAAvzTAxUzc+AjcXBgYHB7ASCz1bOWczSw8WBDF4SYRyLUxAi1F8AAABAIkEFQHhBgAACgAIsQUAAC/NMDFBBw4CByc2Njc3AeEUCz1bOGk0Sw8XBgB/SYRyLUxAi1GDAAH/l/7kAOsAtgAKAAixBQAAL80wMXcHDgIHJzY2NzfrEAs9WjlpNEoPE7ZmSYRyLUtAjFFqAAEA0gQXAbkGAAAKAAixBgAAL80wMVMzBwYWFwcuAjfvtBcMFCVoLTsXCAYAhE2ORUUvdoNB//8AuAQxAz4GFQQmAYQIAAAHAYQBOQAA//8AlQQVAxYGAAQmAYUMAAAHAYUBNQAAAAL/lP7SAhUA9gAKABUADLMQBQsAAC8yzTIwMXcHDgIHJzY2NzchBw4CByc2Njc39hsMPl07ZTVLEB4B0xsMPl07ZDRLEB72pkyKeDBLRZRWqqZMingwS0WUVqoAAgB3AAAEUQWwAAMABwAVQAoGBwcCAwJyAhJyACsrETkvMzAxQQMjEwEHITcDA+S15AIDGfw/GAWw+lAFsP6KmZkAA//2/mAEYAWwAAMABwALAB1ADgsKBgcHAQMKEnIDAnIBAC8rKxESOS8zETMwMUEBIwEBByE3AQchNwMR/tu1ASUCBBj8PxgDMBj8PxgFsPiwB1D+ipmZ/F6YmAABAKECFQItA8wADQAIsQQLAC/NMDFTNzY2MxYWFQcGBiciJqECBXBbV2MCBXJaVGUC1CpZdQFvVCtYcAFr//8AOP/yAsEA1AQmABIEAAAHABIBrAAA//8AOP/yBFMA1AQmABIEAAAnABIBrAAAAAcAEgM+AAAAAQBSAgABKQLYAAsACLEDCQAvzTAxUzQ2NzYWBwYGBwYmUzsvLz0BATwuLj0CaC8/AQE7Ly89AQE6AAcAlv/oBvcFyAARACMANQBHAFkAawBvAClAE19WVjJoTU1EKSk7Mg0XDg4gBQUAPzMzLzM/MzMvMzMvMxEzLzMwMVM3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGATc+AhceAgcHDgInLgI3BwYWFhcWNjY3NzYmJicmBgYFNz4CFx4CBwcOAicuAjcHBhYWFxY2Njc3NiYmJyYGBgMBJwGbBwlWi1lVdzsGBglWi1hUeDyWCAQWOjI0TC4HCAQVOjM0TS0BtwYJVotZU240BQcJToJWVXg8lwgDFjkyNUwtBwgEFjozNEwuATcHCE+DV1V3OwUHCVWLWFNvNYQJAxY6MjRMLgcJAxY6MjVMLnj8j2MDcQRLTFWLUQICU4hRTVWJUAICUoeeTytRNQEBMlMwTixSNgEBM1T8T01Vi1ACAlaITU5Ri1MCAlOHn1ErUTUBAjNUME8sUjUBATNTfk1SilQCAlOHUU5VilACAlaIm1ArUjUBAjRTME8sUjUBATNTA0X7l0gEaAACAF0AmQJTA7UABAAJABJACQEFAwkCCAYGAAAvLxc5MDFBAQc1AQMTIwM1AlP+v68BWrW2fuMDtP5wAhABg/53/m0BhBAAAgAEAJkB+wO1AAQACQAOtAIICAUAAC8vOS8zMDF3ATcVAQMzEwcnBAFCr/6mAX3kAaqaAZACEP59Axz+fBABAAH/8ABxA8MFIQADAA6zAAMCAQB8LzMYLzMwMUEBJwEDw/yPYgNxBNn7mEgEaP//AI8CjALpBb8GBwHXAHMCm///AGQCmwLnBbAGBwIwAHMCm///AIoCjgMDBbAGBwIxAHMCm///AJACjgLTBbwGBwIyAHMCm///AKICmwMnBbAGBwIzAHMCm///AHsCjgLrBb0GBwI0AHMCm///AKoCkgLjBb0GBwI1AHMCmwACAH4CiwNGBb0ABAAZABO3FgsEBAsCEQIALzM/My8RMzAxQQMjEzMDBz4DFx4CBwMjEzYmJicmBgYBkGunjHswKAkqSG9PWGQkCFKmTQUJMDZFVS4E9P2XAyD+iwFAinZIAgJYi0/+BAHdLFk9AgFMc////9z+gQI2AbQGBwHX/8D+kP//AC3+kQG9AaYGBwHW/8H+kf///6v+kQI0AbQGBwHV/8H+kf///7z+hAI5AbQGBwIv/8H+kf///7L+kQI1AaYGBwIw/8H+kf///9j+hAJRAaYGBwIx/8H+kf///97+hAIhAbIGBwIy/8H+kf////D+kQJ1AaYGBwIz/8H+kf///8n+hAI5AbMGBwI0/8H+kf////j+iAIxAbMGBwI1/8H+kQAE//MAAASIBccAAwAeACIAJgAiQBAiISUmJgEbFxIFcgkCAgEMAD8zETMrzDMSOS8zzjIwMWEhNyEBAwYGByc+AjcTPgIXHgIHJzYmJicmBgYBByE3AQchNwPf/BQcA+z99FIKQUaxLDYcBlUQhdSEdKJRBrwFJldGUXZHATIW/VgXAnoX/VkWnQNz/YRVozY4EFRlKgJ+gchvAwNjrXMBQmg+AgJQgv8AfX3++n19AAMACgAABkQFsAADAAcAEQAiQBADAgYLDhAHBw0RDgRyCg0MAD8zKzISOS85EjkzzjIwMUEHITcBByE3AQMjAQMjEzMBEwZEG/oVGwW3G/oVGwWf/bb9+MS9/bYCCsUDrZiY/tSYmAMv+lAEa/uVBbD7kgRuAAADADn/7QYlBbAAFwAbAC0AI0ASIikNHBkYBnICAQEODA8Ecg4MAD8rMhI5LzMrMsw/MzAxQSc3FzI2Njc2JiYnJwMjEwUeAgcOAgEHITcTMwMGFhYzFjY3BwYGJy4CNwIX8BvZYYtRDAodYVrF47X9AWOGs1IMDofdA38a/ckZ7bS3BAonJxUrFQwgQyFTXiEHAjQBmAFIhl5Sf0sDAfroBbABBGzBhJHLawIHjo4BB/vJIzghAQcEmQkJAQFSgkoA//8AO//rB+cFsAQmADYAAAAHAFcENAAAAAYACQAABhcFsAADAAcADQASABcAHQAqQBQdFQoKEgYHAwICERIEchMbGwgRDAA/MzMRMysSOS8zzjIRMxEzMzAxQQchNwEHITcBEwEzAwEDEwMjAwETATMBAxMDIxMTBeMb+n0bBUcb+n0bAQ+VAVSElf6pKwsedS8CpYgBV8H91yICFX8CFAPUl5f+ppeX/YYB4APQ/h/8MQWw/CL+LgWw+lAB5gPK+lAFsPwg/jAD0gHeAAIAH//+BckEOgARACIAIEAPFhMTERQIFAgRChwPAAZyACsyMj85OS8vETMRMzAxUwUeAwcDIxM2LgInJQMjISETMwMFMjY2NxMzAw4D2wIRWXM/Egg1tjYGBR9CN/7CorYDqP3WgLVlASlSbj8Mc7VyCzhgjQQ6AgJCb49Q/rcBTDBXRSkCAvxeAt79ugI9cU4CqP1aWZVtOwADAFH/7QSJBcYAIwAnACsAHUAOKisnJiYHGRIFcgAHDXIAKzIrMhI5LzPOMjAxZRY2NxcGBicuAzcTPgMXMhYXByYmJyYOAgcDBh4CAQchNwEHITcCvzhtNgU5dTp+smomDjQTX5rShTx2OyEyaDRgkWc/DTUJCzZtAQwW/SIXArAW/SIXigESD6EODgECXaDPdAFNfNafWAESDKMRFAEBQ3ebV/6wSpN6TAMTfX3++3x8AAADAEMAAAX7BbAAAwAHAB8AKUATBgcDAgIUChQXCQoKFhcEchYMcgArKxI5fS8zETMREjkYLzPOMjAxQQchNwUHITcBJTcFMjY2NzYmJiclAyMTBR4CBw4CBfsb+o0bBUkb+o0bApD+ehwBb16dZwwLN3VV/qjhvPwB/oLLbAwNnfQEvZiY9ZiY/nIBnQFAgGNVe0QDAfruBbABA2fBiZrHYQADAEoAAARzBbAAAwAcACAALUAVHyAgEQMCBQYGGgIaAhoEEBEEcgQMAD8rMhI5OX0vLxEzETMRMxEzETMwMUEHITcBATcXMjY2NzYmJiclNxceAgcOAgcBBwEHITcENkn8dEkBPP5kFOJYnGoMCzZ4V/7xScqLzGYNDZbskAF7AQG0SP0iSQRMnp77tAJzcwE+e11ZekECAZ4BA2LCkJq9WAP9yA4FsJ6eAAQAC//nBBUFsAADABQAGAAcABVACQQEAw8BCw0DBAA/PzMzEjkvMDFBAyMTATMHDgMnJiYnNz4DNwMHATcFBwE3Alz8vP0BuroLEmip65cwXzDEc6t1RQ4XIv0uIQKZIf0tIgWw+lAFsP1TV4f+y3UDAQ8GjwNal8BoAn28/sa8Erv+xrsAAv/yAAAEigQ6ABsAHwAYQAsIFRUeHwZyDgEeCgA/MzMrEjkvMzAxYSM3NjYuAicmDgIHByM3PgMXHgQHAQMjEwRetR8KARxDc1dxqHVHDx62HxRop+mWdKlwPA4O/sK8try+RZOKcEQCBF6ewWG8uoT9y3YEAlKMs8dkA4D7xgQ6AAL/5QAABTAFsAAXABsAGkAMGRgDAAAODA8Ecg4MAD8rMhI5LzPOMjAxQSU3BTI2Njc2JiYnJQMjEwUeAgcOAgcHITcC+P0gHALIYJxlDAs4dVL+puG8/QH+gsprCw6b878c/TccAjoBnQFBgmNTekQDAfruBbABA2a/iZnJYoiengAEAMz/6AUxBckAIQAzAEUASQAlQBJCJzBHRzkwDXIfBQ5JSRYOBXIAKzIyLxDMMisyMi8QzDIwMUE3DgInLgI3Nz4CFx4CByM2JicmBgYHBwYWFhcyNhM3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGAQEnAQJahAdMfE5TbjQFBwhPg1dMcTwBiAM2PzNFKAYJAw4xLz1NlAYJV4tYVXc7BQcJVYtYVXg7lgcDFTkyNUwtBwgEFjoyNUwuAVz8kGMDcQQdAk11QAICVohMTVGMVAICQ3RKOk8BATZVLE4mUjoBTv0yTVaKUAMBU4dRTlWKUAICU4efUStSNAIBM1QwTyxSNgEBM1QDRfuXSARoAAEAS//rA74GFwAuABS3GRgYASQMAAEALzMvMxI5LzMwMWUHLgM3Ez4DFx4DBwcOBAc3PgM3NzY2JiYnJg4CBwMGFBYWAmQLYIZPGgp6CS5PdVBAWjYVBAUOa6jW9H8UfOS5eA8GAQIIGxwnMh0OA3gHHEaLoARLfZ9ZAulFiHBCAwI3Wm45KoLpwo5QArACXqXafSoSNTMjAgIvSkwc/RU1ZFI0AAAEADUAAAfrBcMAAwAVACcAMQAlQBErMC4qAgMbEiQJCTEuBCotDAA/Mz8zMy8z3DLOMhESOTkwMUEHITcTNz4CFx4CBwcOAicuAjcHBhYWFxY2Njc3NiYmJyYGBgEDIwEDIxMzARMHZBr9qhkzCQtkomhjhkAICgtioGhjiEGzCwQWQTs+VTEICwUXQDs+VjL++v3B/oPHtfzCAX7HAiuOjgHaY2SeWQIDXZpfY2SeWAIDXJrCZTRbOwECOF84ZDRcOwECOF8BEPpQBHb7igWw+4cEeQAAAgDrA5YErQWwAAwAFAAkQBEJBAEDBgoHBxMUAgADAwYGEQAvMxEzETM/MzMRMxIXOTAxQRMDBwMDIxMzExMzAwEHIwMjEyM3A/dDwjRGR1leakbQcV7+Ig+PUFlPjg4DlwF8/oUCAZL+bwIZ/nQBjP3nAhlR/jgByFEAAAIAf//rBHEEUQAdACYAF0AKIhcXBB4OBxsECwA/Mz8zEjkvMzAxZQcGBicuAzc+AxceAwcGBgchAxYWFxY2AyYGBwMhEyYmA6wDU79kbahvMAoLZaLLcW+fYioGAQIB/RI7L3lGaL91U5E+MwILMyx4xWg1PQICYJ7CZWvNpl8DA16bv2IMFwz+tjI3AgNIA14CSTL+6gEfNDsA//8Atv/zBXQFmwQnAdYASgKGACcBlADfAAABBwI0AvwAAAAHsQYEAD8wMQD//wCS//MGEAW3BCcCLwCXApQAJwGUAZgAAAAHAjQDmAAA//8AkP/zBgYFpAQnAjEAeQKPACcBlAF3AAABBwI0A44AAAAHsQIEAD8wMQD//wC+//MFvAWkBCcCMwCPAo8AJwGUARcAAAEHAjQDRAAAAAexBgQAPzAxAAACAE3/6AQ0BewAKQA/ABlADCoAABI1HwtyCRIAcgArMisyETkvMzAxQRYWFzYuAycmBgYHJz4CFx4DBgcHDgQnLgM3Nz4DFyYOAgcHBh4CFxY+Ajc3Ni4CAmZVmDMFCCI/Y0YyYV8vATFmajeBplsjBQ0IDTtdgqlqbp9gJgoDDFWItnVLeVk4CQMHCy9dTFyEVzMMCgEtS1kD/gJKRTh/fGc/AwEPGhCXFx8OAQJus9neYDtZuqqFTAMCWZS7ZBdotYlLmgI2YX1FFj6Cb0YDA1aOpEpEMkw2HAAAAQAk/ysFRwWwAAcADrUEBwJyAgYALzMrMjAxQQEjEyEDIwEFR/77tu79Te22AQUFsPl7Be36EwaFAAP/rf7zBNMFsAADAAcAEAAfQA4OBgYHBw8CcgwDAwoCCwAvMzMzETMrMhEzETMwMUUHITcBByE3AQcBIzcBATczBA0b/AEbBMUb/CsbAlMD/MZnGgLK/i8YWXaXlwYml5f8qxr8spYCzgLThgAAAQCrAosD8QMjAAMACLEDAgAvMzAxQQchNwPxG/zVGwMjmJgAAwBB//8FDwWwAAQACQANABZACgkLCwoECAgBAnIAKz8zLzMRMzAxQQEzASMTEwcjAwc3IQcB1gJ4wfz1fgVkA3GgmhwBKxsBAASw+k8DD/3e7QMPmZmZAAQAS//oB5EEUQAXAC8ARwBfAB1ADls2Nh4TC3JOQ0MrBgdyACsyMhEzKzIyETMwMVM3PgMXHgQXBw4EJy4DNwcGHgIXFj4DNzc2LgMnJg4CBQcOAycuBCc3PgQXHgMHNzYuAicmDgMHBwYeAxcWPgJVAw1Yjr5zWIReQCsQBhRQcYqcUm2dYifCBAYKL15MO25hUDsQBwMZMkhbNFJ9WTUGcQMNWI+/c1iDXkArDwYUUHKKnFNtnGImwgQGCi9cTDtuYlE7EQcDGTJIWjRSflk2AggbaMmgXQMDQm2IlUkrTJyNbz8CAmCdvnsbPIZ2TAIBL1NnbzMqMGlkUDICA0d5kTcbacihXAMDQm2JlUkrTJyNbj8CAmGdvnobO4Z2TQIBL1JnbzQpMGlkUTICA0d5kAAAAf8V/kYDBwYZAB8AELcbFAFyCwQPcgArMisyMDFXDgInJiYnNxYWMxY2NjcTPgIXMhYXByYmIyIGBgfyDFeWaiA8HiETJxQ3TSsIxQ1bnnAlSCQhFisXQFk1CWtml1ICAQwJkQYJAjFTMwUZaaReAQ4IjwYHN2A7AAACADMBFgQtA/UAGQAzABtACxcEgAoRQDEegCQrAC8zGt0yGt4yGs0yMDFTNzY2MzYWFxYWMzI2NwcGBiciJicmJiMiBgM3NjYzNhYXFhYzMjY3BwYGJyImJyYmIwYGfBAzgUlAZjUxXjpMfzUUMXpGO2AxNWRATYR/EDOBSEBmNjFeOkx/NBQwe0Y7XzI1ZD9NhALKvDI8ASwfHCtNMrwxPQEpHR8rTP4svDI7ASwfHCpNMr0xPQEpHR8sAUsAAwBwAJ4D/wTTAAMABwALAB9ADQIBAQoKCwADAwcHBgsAL84yETMRMxEzETMRMzAxQQEnARMHITcBByE3A9r9EVoC7oAd/NYcAuMd/NYcBJL8DEED9P78oaH+YaGhAAP/0wABA8kESwAEAAkADQAiQBADBwYABAgGBQkJAQICDQ0MAC8zfBDOLzIyGC8zFzkwMVMBBwE3JQUHNwEDByE31QJ4If0mFAM+/T2LFgNdsBv81RsCw/7+qgFZYr7+DW4BWPxOmJgAAwAYAAAD6QRWAAQACQANACJAEAMHBgAECAYBAgIFCQkNDQwALzN8EM4vMjIYLzMXOTAxQQE3AQcFJTcHAQUHITcDWP10IQL8FPyeAtmZFvyAAw8b/NUbArEBAKX+qGPE/RVv/qiKmJgAAAIAQgAAA9UFsAAHAA8AHUAOBQgIDgcScgMKCgsBAnIAKzIyETMrMjIRMzAxUwEzBwETByM3AQM3MwEBI0IB+4Ar/mbSCXEzAZvSCnEBDv4EfwLhAs+O/av9rXqNAlQCVXr9Hf0z//8AdwCkAfAE+AQnABIAQwCyAAcAEgDbBCQAAgBxAnkCdwQ6AAMABwAQtgYCAgcDBnIAKzIyETMwMUEDIxMhAyMTAUhOiU4BuE+JTwQ6/j8Bwf4/AcEAAf/k/14BDwDvAAkACrIEgAkALxrNMDFlBwYGByc2Njc3AQ8MD2FMYyk7DQ7vTmCnPEs4eEVRAP//AHUAAAVsBhkEJgBKAAAABwBKAhsAAAADAFkAAAQFBhkAEAAUABgAG0APGAYXCnITFAZyDQYBcgEKAD8rMisyKz8wMWEjEz4CFxYWFwcmJiMmBgcXByE3IQMjEwERtckQcrl6R4lDLDVxOm+HEcoa/c8aA5K8tbwEl3euXQICJRaeGB4Cb21ejo77xgQ6AAADAHUAAARoBhoAEgAWABoAG0APGRoGchQAcg4GAXITAQpyACsyKzIrKzIwMWEjEz4CFx4CFwcmJiMiBgYHEwEzAQMHITcBLbXMD2mtdUGFgz9gR5JIQmI9CrYBBLT+/Z0Z/cYaBKpxplkDARUdDoMOGjJdP/tTBdj6KAQ6jo4AAAUAdQAABlgGGgARABUAJgAqAC4AJUAUIxwBci4qFBUGcg0GAXItFxcBCnIAKzIRMysyKzIyMisyMDFhIxM+AhcWFhcHJiYjIgYGBxcHITcBIxM+AhcWFhcHJiYjJgYHFwchNyEDIxMBLbXMDmSnciFBIBYYMBlAXTkK2Bn9vBoC1rXIEHK5ekiIRC01cTtuhhHJGf3PGQOSvLW8BKttplwBAQoGmQUHNV09co6O+8YElnitXgIBJhedGB0Cbm1ejo77xgQ6AAUAdQAABqAGGgARABUAKAAsADAAKUAXKwByJBwBci4UFC0VBnINBgFyKRcBCnIAKzIyKzIrMjIRMysyKzAxYSMTPgIXFhYXByYmIyIGBgcXByE3ASMTPgIXHgIXByYmIyYGBgcTATMBAwchNwEttMsOZKdyIUEgFhgxGUBdOQnZGf27GgLWtcwQaKx0QoWDQGBHkkhCYj4KtgEEtf78nBn9xhkEq22mXAEBCgeYBQY0XT1yjo77xgSscaNYAQEVHQ6DDRoBMl0/+1MF2PooBDqOjgAABAB1/+0EyAYaAAMAFwAbAC0AJUAUIikLchMKcgkcHA0NBAFyGAIDBnIAKzIyKzIRMxEzKysyMDFBByE3ARYWFwcnNyYmIyIGBgcDIxM+AgEHITcTMwMGFhYXMjY3BwYGJy4CNwHLGf7DGgIvZMRaILQWJ10sQFo1Csy1zA5dnwJ6Gv3HGu21twQLJicVKxQLIEEhU14jBwQ6jo4B3gI7K9ABehQSOWA7+1MErGmmX/4gjo4BB/vJIjghAQYEmQkJAQFSgkoABAAo/+oGcwYTABsAHwAxAGcAMUAbOzJAZGBbC3IBRUlAB3ImLQtyHhAfBnIUCgFyACsyKzIyKzIrMswyK8wzEjk5MDFBBy4CNz4DFx4DByM2JiYnJgYHBh4CAQchNzczAwYWFhcWNjcHBgYnLgI3BTYmJicuAzc+AxceAgcnNiYmJyYGBgcGHgIXHgIHDgMnLgI3FxQWFhcWNjYDtmEOMyMICEVrgkRZgVIjBbYEFkdFTXYMCQgSDAK4Gf3RGca0kgQGJCkVKxQMIEMiV1ocB/4/Cj1kMDt6ZDoEBU57k0llp2ADtAIwVzc2ZkoIByVBSiBSnWIGBVGAmU1ps2oEtTVhQDVvUwL8AVGlplNJb0wlAQI6Z4xTOmlDAQFWTjt1dncBA46OWPyUIUUxAQEHBJkJCQECYZBJBD1GJQwPLEVmSlB7UigBAlCWawE4Uy0BASNKOSs3IRUIF0Z7Y1Z9UScCAlOdcQFBWS4BAR5HAAAV/6v+cghGBa4ABQALABEAFwAbAB8AIwAnACsALwAzADcAOwA/AEMARwBXAHMAjACaAKgAAEEjEyEHIyEjNyEDIwEhEzMHMwUhNzM3MwEhNyEFITchASE3IQEHIzcTByM3ASE3IQEHIzcBITchBSE3IQEHIzcTByM3AQcjNwUTMwMGBiMiJicXBhY3MjYlIzcXNjY3NiYnJwMjExceAgcOAgcGBgcGIgcnNzM2Njc2JicnNzcyFhcWBhceAgcGBgEHBgYnJiY3NzY2FxYWBzc2JicmBgcHBhYXFjYBKW8yAS0UvgZ+wRQBLjJt+TH+0zdvJL8GGf7SFMAkbf4n/vEUAQ/85P7zFAENARj+8xUBDQPhLG0s8C1tLfxM/vIUAQ78ny1vLQTo/vIVAQ4Bb/7xFQEP+i8tby2wLG8sBxksbSz+9zphOwlpUFFnAVkCJjAsOf3wmQZtLFUICEEiZFFeYKstWTkCAzJGIAQCAwQQLrw1gCtJCAYuJHoHjAUTBAICBBg0IwECgf7GCQmHZGByBAkKhmNfc2oNBTJAQ1AKDgUyQURPBJEBHXR0/uP54QE7ynFxyv7FcXFxBld0+3T5+QLy+vr6XnECP/n5BBh0dHT87vz8AXj6+v6I/Pz0AXv+hU5cUlUCKzMBOnBGAQIiMiwUAQH+LwIlAQEZPjc4JxEYAw8DBPUDSAMoLykjAwFGAQIFAw8DGBIiMldJAUdwYX4CAnxfcGJ8AgJ8znI6VwIBWD1yO1cCAVgAAAUAXP3VB9cIcwADAB4AIgAmACoAAFMJAgMzNDY3NjY1NCYjIgYHMzY2MzIWFRQGBw4CEzUjFRM1MxUDNTMVXAO8A7/8QXfKGSlEYqeVf7ECywI+Jzg5NSgvPR3Jyn8EBgQCgwPP/DH8MQLeMz4bJYFSgJd9jTcwQDQ0TRohOk7+u6qq/UgEBAqaBAQAAf/qAAACcwMjABwAELUDHBwLEwIAL8wyMxEzMDFlByE3AT4CNzYmJyIGBwc+AhceAgcOAgcHAkYX/bsUATwcQTIGBjQvQlAOmwlXiFJFd0YEBEhlL8OAgHQBCRg7RSgvNwFLPQFTdj8BATNlTEFsWSWSAAABAGwAAAH8AxUABgAjQBUEBQUDAy8AfwACDwBfAK8A/wAEAAEAL81dcTIRMxEzMDFBAyMTBzclAfyDmWjcGAFjAxX86wJVOIhwAAIAHP/xAnYDJAARACMADLMXDiAFAC8zxDIwMUEHDgInLgI3Nz4CFx4CBzc2JiYnJgYGBwcGFhYXFjY2Am8PCk2JZmFxLAcPC0yKZmBxLLQSBActNDdDIgYTBAguNThCIQHQi1ycXAMDX5dYi12bXAMDX5jwqihYPwECO1suqClaPwICPF0AAQBp//gDmASgADIAF0AKFB4eJgExCgwmfgA/Mz8zEjkvMzAxdzMWPgI3NzYuAicmBgYHBhYWFxY+AjcXDgInLgI3PgIXHgMHBw4DIyO2D2KshlkQHgULJ0s5SnJGCAYhU0MyW0w3DScTbpdSb5NFCQp8xntljFIcCggTcLX3mxiSAS5hlGXLMGRVNgECSHhGPG1GAQIfO08vZFN2PQECaa5oeb5rAwJPhKdbRpbwqVkAAAQAJ//uA6gEoAASACIANABEAB1ADSgXF0EODgU5MX4fBQsAPzM/MxI5LzMzETMwMUEOAycuAjc+AxceAwc2JiYnJgYGBwYWFhcWNjYTDgMnLgM3PgIXHgIHNiYmJyYGBgcGFhYXMjY2A2AFUIGcT2KuaAYFU4KaTEWHbT63BzReNz9zTgcHM145PnNO/QVNeI9HQH5lOQMFertmXqFfvAYuUjE5Y0IGBitRMzhlQwFFWIJVKAIBSI9tVX1SJwIBJ011RTxUKwEBL1tDPlEpAQEtWgJXT3VOJQECJUltSW+USgICSIpuNUwoAQEtUzs2TCgBLFUAAAEAcAAABAYEjQAGAA61BQEGfQMKAD8/MzMwMUEHASMBITcEBhT9SMoCt/1gGwSNc/vmA/SZAAEAS//sA4EElQAxABVACRYfHw4nCwMAfgA/Mj8zOS8zMDFBMwcjJg4CBwcGHgIXFjY2NzYmJicmBgYHJz4CFx4CBw4CJy4DNzc+AwMwGRENZa+JWxAYBgsnSzxJckYIBiNUREF2VRInFXOaUG2SQwgKesV6X45aJAoLFXK2+ASVnQEzaJpmqTBoWjkCAkNzRT9qQgIBNV8/Zk91PwECaaxnebpnAwNKf6FaVJbwqlsAAQBK/+sD2QSNACMAF0AKIQkJAhkRCwUCfQA/Mz8zEjkvMzAxQScTIQchAzY2FzIWFgcOAicuAiczFhYXFjY2NzYmJicmBgExlqcClx3+B18waTdvm0sICXzIe2SjYwWsB25XS3NGBwcuX0M9ZAIfJwJHov7eGBkBZKxsfLVhAwJPk2dZVwEBQXJJQmQ5AQEkAAAC//cAAAOoBI0ABwALABVACQABAQoEC30KEgA/PzMSOS8zMDFBByE3ATMDAQEDIxMDqBv8ahMCsZrU/lYCqMq1ywGemHwDC/7X/joC7/tzBI0AAgAX/+4DogSgAB0APQAdQA0fAAAdHh4SNCoLCRJ+AD8zPzMSOS8zMxEzMDFBFzI2Njc2JiYnJgYGBwc+AhceAwcOAyMnBzcXHgMHDgMnLgM3FwYWFhcWNjY3Ni4CJwFhbj56VQkHLVU3OGdJDLYLgr9lSoRkNgUFUX6RRaUHE4tHh2s7BgVRgZ1STIhoOgOzAzZcOT90TwgHHz5SLQKcASVURjtMJQEBJEs6AW2PRgICKFB4UVFxRiEBLGkBAh1Cb1JZhVcqAgEqU3tSATxPJgECKlhENEcqFAEAAAH//QAAA6gEoAAeABK3CxR+Ax4eAhIAPzMRMz8zMDFlByE3AT4CNzYmJyYGBgcHPgIXHgIHDgMHAQNiG/y2GQHcLmxTCQtiUEp1TAy1DIjNdGCiXAgFPVpmLv6NmJiLAZYnXG9AU18CAjFkSQF5qFUCAkyQaEF4bF0n/ukAAAEAvQAAAugEkAAGAAqzBn0CCgA/PzAxQQMjEwU3JQLoxbaj/q0eAe8EkPtwA6thpaEAAgBG/+0DowSgABUAKwAOtRwRficGCwA/Mz8zMDFBBw4DJy4DNzc+AxceAwM3Ni4CJyYOAgcHBh4CFxY+AgOYFw5FdKlybIxMFQsYDkV0qXFtjEwU3CAHAh9LQkdlQiYJIAYBIEpCSGVCJgKfrWW7k1IDAlqTtF6uZbmRUgMCWZG0/trmM3FjQAIDOWJ3POUzc2VDAgM7ZHkAAAP/3QAABA4EjQADAAkADQAcQAwEDAwNDQh9BwMDBgIALzMzETM/My8zETMwMWUHITcBASM3ATMjByE3A3cb/L4bA8L8Y30YA596Rxv86RuYmJgDdPv0hQQImJgAAwB1AAAEZQSOAAQACQANABtAEAgHAwQGAAoNCAEMCnIFAX0APzMrERc5MDFBATMBIwMTByMBAQMjEwG8AdPW/dVxmfkpav7fAd5ftF8B8AKd/QADAf1TVAMA/ZL94QIfAAAB/7cAAARuBI0ACwAVQAoHCgQBBAkFAwB9AD8yLzMXOTAxQRMBMwEBIwMBIwEBAV/JAWHl/hQBIsrU/pTjAfj+6ASN/k4Bsv20/b8Buv5GAlUCOAAEAJQAAAYpBI0ABQAKAA8AFQAgQA4SBBABDgQMAQgEBgF9BAAvPzMRMxEzETMRMxEzMDFBATMDASMTEwMjAwEBMwEjAxMTIwMnAYUBhoNb/mGBLysKeFcDiwFRuf4VgRFTDHZeAgEgA23/APxzBI38j/7kBI38pgNa+3MEjfx+/vUDoO0AAAIAeQAABJoEjQAEAAkAD7UHAwUBfQMALz8zETMwMUEBMwEjAxMTIwMCCAHJyf16kk6fG4PyASwDYftzBI38jf7mBI0AAQBC/+sETwSNABUAD7UMEQYAfQYALz8RMzIwMUEzAw4CJy4CNxMzAwYWFhcWNjY3A5m2gxKP2H94uWEOg7OECS9oTVKEVQ0Ejfz0gbZfAwJhs30DDPzzTW48AgI4cVIAAgBuAAAEQgSNAAMABwARtgYHBwEAfQEALz8ROS8zMDFBAyMTIQchNwK+yrTLAjcc/EgcBI37cwSNmZkAAQAS/+4D6wSeADkAGEAKCiYPNjErGBQPfgA/zDMvzDMSOTkwMUE2LgInLgM3PgMXHgIHJzYmJiciBgYHBh4CFx4DBw4DJy4DNxcGHgIXMjY2AtcIJURSJkGDaz0FBVaGnkxrtGoEtQU3ZUI6dlYJBy9OVyJCfWM3BQZYiaBNU5l4QwO1BCRFXDQ6eloBMTJCLBwLEzdRc09XflAkAQJTnXIBRVosASFNQTBAKhsLEzpTdU5ZfU0jAgEvW4hbATlRMxkBHksAAgAdAAAD/QSNABkAHgAYQAobDQ0MDBoYFwB9AD8yLzM5LzMSOTAxUwUeAwcOAgcHITcFMjY2NzYmJicnAyMhAzcTFegBkVGPbDgGB1uOVTn+dRkBF0N+WAoIMmI/87C2AsTIs9cEjQECKlOBWWSBVB8amAEsXUpEWCoCAfwMAgcB/gQMAAADAEb/NgRCBKAAAwAZAC8AHEAMAAMDKysKCgIgFX4CAC8/MxI5LzMSOREzMDFlBQclAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgICpgEZg/7vAgsHD1uUyH13pmUkCwgOW5TJfHioYyTICAcLMmdUWYdgOgoJCAsyZ1VaiV84lPhm+AI5QXTPnlgDAl+ex2tEc9CfWQMCYJ/Jp0RGjHVJAwNEdpVORUWOeUwDA0V5mAAAAQAeAAAEJgSNABgAE7cCAQENDA99DQAvPzMSOS8zMDFBJTcFMjY2NzYmJiclAyMTBR4CBw4DAjz+sRsBOEaBWQoIM2I+/uSwtcsBuWyyZggHVYemAbUBmQErXk1DWy8CAfwMBI0BA1GddWKMWSoAAAIATP/tBEYEoAAVACsAELYnBhwRfgYLAD8/MxEzMDFBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBh4CFxY+AgQ6Bw9Zk8l9d6dkJAsIDluUyHx3p2QkxggHCzJnVFmHYDoKCQgLM2dUW4hfOAJuQ3TRoFkDAl+ex2tEc8+gWQMCXp3HrURGjHVJAwNEdpVORUWOeUwDA0V5mAABAB4AAASbBI0ACQARtgMIBQEHAH0APzIvMzk5MDFBAyMBAyMTMwETBJvLrv5LmrXLrQG2mgSN+3MDdPyMBI38jAN0AAMAHgAABbEEjQAGAAsAEAAWQAkCDgoFDAcEAH0APzIyMi8zMzkwMUEzEwEzASMBMwMDIwEzAyMTASyh3QIYs/1Tg/6kmWxEtAT4m8q1RwSN/HMDjftzBI38+/54BI37cwGYAAACAB4AAAMjBI0AAwAHAA+1BgMCBH0CAC8/ETMzMDFlByE3EwMjEwMjG/2eG9zKtcuYmJgD9ftzBI0AAwAeAAAEgASNAAMACQANABdADAYHCwUMCAYKAQQAfQA/Mi8zFzkwMUEDIxMhAQEnNwEDATcBAZ3KtcsDl/2o/rUC8wHEl/6shwGZBI37cwSN/c/+6MvmAZj7cwI1fP1PAAAB//b/7QOXBI0AEwANtBAMBwF9AD8vzDMwMUETMwMOAicuAjcXBhYWFxY2NgJVjLaMD3W2b2unWgW1BClXQD9iPgFSAzv8xm+hVgIDUJlxAUBXLQECNV0AAQArAAABqgSNAAMACbIAfQEALz8wMUEDIxMBqsq1ygSN+3MEjQADAB4AAASbBI0AAwAHAAsAGEAKAgMDBAkFCAR9BQAvPzMRMxI5LzMwMUEHITcTAyMTIQMjEwOtG/1yG37KtcsDssu0ygKLmZkCAvtzBI37cwSNAAABAEz/7wQ8BKAAKgAWQAkpKioFGRB+JAUALzM/MxI5LzMwMUEDDgInLgM3Nz4DFx4CFycuAicmDgIHBwYeAhcWNjc3ITcEFUU1m6xQd6xrKg0KEFmRyH51sWkKsAc7Zkdah145CwwIDjlsVEmKOy3+7xkCUP5GQ0gcAgFbm8duVHXMmVUDA1WjdwFGYDEDAkByk1BXR451SAIBHyzukAAAAwAeAAAD4gSNAAMABwALABpACwcGBgEKCwsBAH0BAC8/ETkvMxE5LzMwMUEDIxMBByE3AQchNwGdyrXLAlQb/dwbAskb/Y8bBI37cwSN/f+YmAIBmZkAAAMAEv8TA+sFcwADAAcAQQApQBMHPj4kCBczBgYzCwIgIBcAABd+AD8zLxEzETM/My8REjk5MxEzMDFBAyMTAwMjEyU2LgInLgM3PgMXHgIHJzYmJicmBgYHBh4CFx4DBw4DJy4DNxcGHgIXMjY2Auk1kjZVNZI2AWUIJURSJkGDaz0FBVaGnU1rtGoEtQU3ZUI6dlUKBy9OVyJCfWM3BQZYiaBNU5l4QwO1BCRFXDU5elsFc/7PATH60f7PATHtMkIsHAsTN1B0T1d+TyUBAlOdcgFFWiwBASJNQS9BKhsLEzpTdU5ZfU0jAQIvW4hbATlRMxkBHksAAwAGAAAD1QSgAAMABwAmAB1ADQQFBQEiGX4OAgINAQoAPzMzETM/MxI5LzMwMWEhNyEDByE3JQMOAgcnPgM3Ez4DFx4CByc2JiYnJg4CA2n8nRsDY3oV/SkVAV0kCR49NqYoMx4QBSIKPmuWYnSWRAa2BRhHRDtUNx+YAdZ5eXv+6kSNgDBHD0leXyQBFlmgekUDAmatbwE6akQCAjJUZgAABQAZAAAD3wSOAAMABwAMABEAFQAbQAsGBwMCAhEUCgkRfQA/Mz8SOXwvMxjOMjAxQQchNwUHITclATMBIwMTByMDAQMjEwMZFv04FQKnFv04FQFXAZLI/hdyXLUhat4BnF+0XwIaenrEeHiaAp39AAMB/VRVAwD9kv3hAh8AAgAeAAADzQSNAAMABwAOtQcGA30CCgA/PzMzMDFBAyMTIQchNwGdyrXLAuQb/aQbBI37cwSNmZkAAAP/sAAAA88EjQADAAgADQAbQAwIDH0ABQUJAgMDCQoAPzMRMxEzETM/MzAxYTchBwETMwMjAQETIwEDNxv9BxsCLZ3H8o/+GwHRfYH9epiYA1/8oQSN+3MDdAEZ+3MAAAMATP/tBEYEoAADABkALwAXQAoDAgIKIBV+KwoLAD8zPzMSOS8zMDFBByE3BQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgIDRxv+LRsCxgcPWZPJfXenZCQLCA5blMh8d6dkJMYIBwsyZ1RZh2A6CgkICzNnVFuJXzgCkpiYJUJ00aBZAwJfnsdrRHPQn1kCA16dx61FRYx1SQMDRHaVTkVFjnlMAwNFeZgAAv+wAAADzwSNAAQACQAOtQEJCgQIfQA/Mz8zMDFBEzMDIwEBEyMBAmudx/KP/hsB0X2B/XoDX/yhBI37cwN0ARn7cwAD/9MAAAOVBI0AAwAHAAsAF0AKBwYGAgoLfQMCCgA/Mz8zEjkvMzAxZQchNwEHITcBByE3AuUb/QkbAxMc/YobAwsb/QkbmJiYAhSZmQHhmJgAAwAeAAAEhgSNAAMABwALABO3CgULBwIAA30APzMzMzMvMzAxQQchNzMDIxMhAyMTA/Ub/YEbJ8q1ywOdyrbLBI2YmPtzBI37cwSNAAP/1gABA98EjQADAAcAEAAlQBINCAkDCgYQEA4HfQoCDAMDAgoAPzMRMxEzPzMzETMSFzkwMWUHITcBByE3AQcBIzcBAzczA2Ab/NgbA6cb/OcbAZcC/exxGgGT+xhimZiYA/SYmP3JGv3FlwG5AbaGAAMAUgAABOUEjQAVACcAKwAVQAkWAAArfR4MKgoAP80yPzMvMzAxQRceAwcOAyMnLgM3PgMXJgYGBwYWFhcXFjY2NzYmJicTAyMTArVWZrGCQQkKa6jQb1ZnsYBACQpqqM9rbLR1Dgs/iWJZbbR1DQxAimJUy7bLBBgBAj50qG53tHk9AgI+dqltd7R4PJsBQo9zZoZEAwEBRJBzZ4RCAwEQ+3MEjQACAH0AAAT1BI0AGQAdAB9ADhUUFAYHBw0cDgAdHQ19AD8zETM/EjkRMzMRMzAxQTMDBgIEJyMuAzcTMwMGHgIXFxY2NjcDAyMTBEC1NRmf/vuyFXyxaycPNLQzCgw3b1gUgrZsE9fLtMoEjf7Jqv7/kAIEWprLdQE4/sdNkXVIBAEDbb55ATj7cwSNAAMADgAABGoEoAAsADAANAAnQBMtNAouMwooEhIpEREyMjEKBh1+AD8zPzMRMxEzMxEzPzM/MzAxQTc2LgInJg4CBwcGBhYWFwcuAzc3PgMXHgMHBw4DBzc+AgE3IQchNyEHA6UFBxA4aFBVhmI8CgUHASBRSgxskE8ZCwQNX5fGdnGoaywKBA5Rhbh2DXGJRv6nGwG2G/waGwG1GwJvJkeBZj4CAjloik4mQYyCYhd6E26gvmIlcsORUAMCVJG9aiVyx5xkEHodjMD9/JiYmJgAAAMAbf/rBOYEjQADAAcAIwAcQA0XFgsgDQ0DBAoFAgN9AD8zMz8SOS8zPzMwMUEHITcTEzMDEzc+AhceAgcOAwc3PgM3NiYmJyYGBgP3G/yRG47KtssiCjt7fUB7rFUKCFWJrmEQPGlQMwgII1tMQX58BI2YmPtzBI37cwIcmhcgEAICXrB8a5RbKQGYARo4WkBKazwBAhMhAAACAEj/7QQzBKAAAwArABdACgABAQkdFH4oCQsAPzM/MxI5LzMwMUEHITcBNw4CJy4DNzc+AxceAhcjLgInJg4CBwcGHgIXFjY2As8b/gQbAl60GZHXgHSiYiQMDg9bksV5e7NjBrQDMmVQV4ZeOQsOCQkvYlNWgVYClJmZ/uQBgLJaAwJcm8JoZnHJmFUDA2GyeU1tOwMCP3CRTmhDiXRJAwM2bgAAA//D//8GpQSNABEAKQAtACBADygpKRwsHQEtfR8cCgsICgA/Mz8zPzMzMxI5LzMwMUEzAw4EJyM3Mz4ENyUeAgcOAychEzMDBTY2NzYmJiclNwMHITcBgLhyDyY8YJBoOhYmQlo5IhUIBBtqrGEIB1KCo1j+M8q2sAEBaqYOCC9cPP62GyAb/dMbBI3951GwpINNAaQBQWh7eTFkA1Cbcl+NXi4BBI38CwEBc29AVS0CAZkBtZiYAAMAHv//BrMEjQAXABsAHwAhQA8XFhYbGhoeCx99DQoKHgoAPzMRMz8zEjkvMzMvMzAxQR4CBw4DJyETMwMFNjY3NiYmJyU3BwchNxMDIxMFO2qtYQgGUoOjWP4yy7WwAQJqpQ4ILlw8/rYbbxv9hRt+yrXLAtcDUJtyXo5eLgEEjfwLAQFzb0BVLQIBmU2ZmQIC+3MEjQAAAwBuAAAE5gSNAAMABwAbABlACxgNDQMTBAoFAgN9AD8zMz8zEjkvMzAxQQchNxMTMwMTNz4CFx4CBwMjEzYmJicmBgYD+Bv8kRyOyrXLIwo7e31AfK1RDTq1OwkfWVBAfnwEjZmZ+3MEjftzAhyaFyAPAQJitH7+mwFmS3A/AgITIQAABAAe/poEhQSNAAMABwALAA8AG0AMDwt9AwcHDgoCAgoKAD8zLxEzMxEzPzMwMWUDIxMlByE3EwMjEyEDIxMCYFa1VQGbG/2CG9bKtcsDnMq1y4T+FgHqFJiYA/X7cwSN+3MEjQAAAgAg//wD2wSNABcAGwAbQAwCAQENCw4KGxoaDX0APzMRMz8zEjkvMzAxQSUHBR4CBwYGByUTIwMFFj4CNzYmJhM3IQcCaf64GwExPGM5AgScaP7nsLLKAbRZpohZDA5Vpu4a/ZgbAtcBmQECK1ZCbnMBAQP1+3MCAjBgj1xxm1EBI5aWAAAD/4n+rASbBI0AEAAWAB4AI0AQGh0dCRcKChwUCQoWEREAfQA/MhEzPzMzMxEzETMvMzAxQTMDDgQHIzcXPgM3EyEDIxMhASEDIxMhAyMBqbVdES1CXH5UZhwmQF9ELhCEAsfLtLD97f4nBJZWtjz81Tu3BI3+S1esopB4K5cBPoKOnFkBtPtzA/X8o/4UAVT+rQAABf+vAAAGBQSNAAMACQANABMAFwA1QBkUFxcRDAsLBwcREQYODg8KAgIVCgkDAw99AD8zETM/MxEzEjkvMzMRMxEzETMRMxEzMDFBAyMTIQEhJzMBAwM3CQIzEzMHJwEjAQOryrXKAw/99v7mAcMBe6TtkwEx/HX+48/K0zan/mnyAhsEjftzBI39apkB/ftzAhx+/WYB9wKW/gOZE/32ApgAAgAS/+4D2ASfAB4APgAdQA0fAgIBPj4VNCoLCxV+AD8zPzMSOS8zMxEzMDFBJzcXMjY2NzYmJicmBgYHBz4DFx4DBw4DJxceAwcOAycuAzczHgIXFjY2NzYuAicnAgSaFYA/fFgJCENrNjxsTw21CVN/mE5JkHVDBQRaip7WgkWPeEYFBV2QqlROjmw8A7IBOWE9QIhjCgcfP1UulgIrAXQBIFBJQUsfAQEhSz4BVXtQJQEBIkh2VlZ5SiNGAQEeQ3BUYIVSJQIBKlJ+VkJPJAECIlRKNkkrFAEBAAMAIAAABKIEjQADAAcACwAbQAwAAwoHCwoBAgUFCH0APzMRMzM/MzMzMzAxdwEXAQEzAyMBMwMjYgOUZ/xuAySzyrP9xbLKslQEOVT7xwSN+3MEjftzAAADAB8AAARYBI0AAwAJAA0AH0AODAsLBwcGBgIJA30KAgoAPzM/MxI5LzMRMxEzMDFBAyMTIQEjJzMBAwE3AQGeyrXLA279h+8BsAHQrP6+egGjBI37cwSN/WqZAf37cwIcff1nAAAD/8T//wR6BI0AAwAHABkAGEALExAKBwIDAwh9BgoAPz8zETMzPzMwMUEHITchAyMTITMDDgQnIzc3PgQ3A9sb/dMbAszLtcr9vLZyDyc9X45nORYmQVk5IhQJBI2YmPtzBI395lCupYRNAaQCBEFleHgyAAIAWv/pBFQEjQASABcAF0AKARd9FRYWDg4HCwA/MxEzETM/MzAxQQEzAQ4CIyImJzcWFjcyNjY3AxMTBwMB9gGG2P3bK2CCXxs0GhEWLRYxSDYXO484m/MBwQLM/GRNeEMDBJYDBAEsRiYDdf2b/t8tA7MABAAe/qwEhgSNAAUACQANABEAHUANEQ19BQkJEAsIAgIICgA/My8RMzMzETM/MzAxZQMjEyM3MwchNxMDIxMhAyMTBIBnozuMGwUb/YIb1sq1ywOdyrbLmP4UAVSYmJgD9ftzBI37cwSNAAIAVgAABCUEjQADABcAE7cUCQkCAw59AgAvPzMSOS8zMDFBAyMTAwcOAicuAjcTMwMGFhYXFjY2BCXKtssiCjx7fUB9rFENOrY7CB5aUEB+ewSN+3MEjf3mmhcgEAICYrR+AWP+nEtvPwMBEiEABAAeAAAF/gSNAAMABwALAA8AGUALCwcHDxAKBgYDDn0APzMzETM/MxEzMDFlByE3AQMjEyEDIxMhAyMTBL0b++UbAyvKtcoC5su1yvxVyrXLmJiYA/X7cwSN+3MEjftzBI0AAAUAHv6sBf8EjQAFAAkADQARABUAJ0ASEQ0NFX0EEAICEBAMDBMTCQgKAD8zMxEzETMRMy8RMz8zETMwMWUDIxMjNzMHITcBAyMTIQMjEyEDIxMF92eiPIwbBBv75RsDK8q1ygLny7bK/FXKtcuY/hQBVJiYmAP1+3MEjftzBI37cwSNAAIAUf/8BJYEjQADABoAF0AKBgUFDxIKEQEAfQA/MjI/MzkvMzAxUwchNwElBwUeAgcGBgclEyMDBRY2Njc2JiZsGwGmGwEf/rgbATA9YzoCBJ5n/uewsssBtXbVkRAOVaYEjZiY/koBmQECK1ZCb3IBAQP1+3MCAlaqe3GbUQD//wAg//wFoQSNBCYCGAAAAAcB8wP3AAAAAQAg//wDzwSNABYAFUAJFRYWCgwJCgp9AD8/MxI5LzMwMUEeAgcOAiclEzMDBTY2NzYmJiclNwJpaqZWDxCR1Xb+TMqysAEZaJwEAjljPP7PGwLXA1GbcXuqVgMBBI38CwEBcm9CVSwCAZkAAgAg/+0EDASgAAMAKwAXQAoCAQEcCCcLExx+AD8zPzMSOS8zMDFBITchAR4CFxY+Ajc3Ni4CJyYGBgcHPgIXHgMHBw4DJy4CJwOB/gYbAfr9OAU2alFXgVs2Cw4JCzJmU1V+VBa2GY7TgHWmZSYMDg9ZjsF5e7dpBwH7mf7mT2s4AgJBcpBMaEWJc0cDAzpwTwF/tF4DAluawmtmb8iZVgMDXq57AAQAHv/tBfMEoAADAAcAHQAzAB1ADiQZfi8OCwMCAgYHfQYKAD8/EjkvMz8zPzMwMUEHITcTAyMTAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHBwYeAhcWPgICfhv+eRylyrXLBP8IDlmTyX13qGQlDAgPW5TIfHenYyTHCQcKMmdVWIlgOgsICAwzZ1RaiF84ApeZmQH2+3MEjf3gQnXQoFkDAmCfyGxCcs+fWQIDXp3HtEZFjndLAwNEd5ZOREWOeEwDA0N3lgAAAv/gAAAEQQSOAAMAIwAZQAsjAAQEGRsWfRkBCgA/Mz8zEjkvMzMwMUEBIwEFJS4CJy4CJy4CNz4DMwUDIxMnBgYHBhYWFwUCPf5uywGcAdH+lAoVFggGCQoFRGY1BQZQgp9VAcnKtrD9ZqAOCC9bOgFIAkb9ugJGZgEBBggEAgcHAiBKbVNehVQnAftzA/UBAV1tQUwjAgEAAAP/+gAABC0EjQADAAcACwAbQAwLCgoDAgYHBwN9AgoAPz8zETMREjkvMzAxQQMjEyEHITcTByE3AfzKtcsC5Rv9oxuwG/2VGwSN+3MEjZmZ/giYmAAABv+v/qwGBQSNAAMABwANABEAFwAbADtAHAIOAQEODgYbGBgVEhIQDwwJCRMGBhkKDQcHE30APzMRMz8zERI5LzMzMzMRMzMRMxEzETMvETMwMUEjEzMBAyMTIQEhJzMBAwM3CQIzEzMHJwEjAQVSpVak/gTKtcoDD/32/uYBwwF7pO2TATH8df7jz8rTNqf+afICG/6sAesD9vtzBI39apkB/ftzAhx+/WYB9wKW/gOZE/32ApgAAAQAH/6sBFgEjQADAAcADQARACdAEhAPDwsKCgYNB30CDgEBDg4GCgA/MxEzLxEzPzMSOS8zMxEzMDFBIxMzAQMjEyEBIyczAQMBNwEDi6RWo/2+yrXLA279h+8BsAHQrP6+egGj/qwB6wP2+3MEjf1qmQH9+3MCHH39ZwAEAB8AAAUOBI0AAwAHAA0AEQApQBMQDw8KAAsLCgMDCgoGDQd9DgYKAD8zPzMSOS8zLxEzETMRMxEzMDFBMwMjEwMjEyEBISchAQMBNwEBuZJmkkvKtcsEJP2H/lsBAWUB0qz+vXoBowN1/bQDZPtzBI39apkB/ftzAhx9/WcAAAQAagAABToEjQADAAcADQARACFADxAPDwsKCg4GCg0HBwMAfQA/MjIRMz8zOS8zMxEzMDFTIQchJQMjEyEBIyczAQMBNwGFAakb/lcCFsq1ywNu/YfvAbAB0Kz+v3kBowSNmJj7cwSN/WqZAf37cwIcff1nAAABAFD/6AUsBKEARAAbQAwAAQEvGAskIyM6DX4APzMzETM/MzMvMzAxZQcuBDc3PgMXHgMHBw4DJy4DNzc+AzcHIg4CBwcGHgIXFj4CNzc2NiYmJyYOAgcHBh4CBN8OfNqvdzUNBQo/bJ5qZ4FDEgkHE3zD+pGJw3YtDgMOT4S7ehFUd08tCQQKEkSCZnC6jVkPBwUFFUBARFw4HgcFDj2JyYugAzhqndOFJ120kFMCA1mPrFY7jvCwYAMCYafefyByyZlZAp5GdI1IIVmjgEwCA0iGtWs+LXFpRgMCP2h4NiuGvnk6//8AdQAABGUEjgQmAeMAAAAHAjYAEP7dAAL/t/6sBG4EjQADAA8AIkARCw4IBQQKBg99AgoBAQoKDQoAPzMRMy8RMz8zEhc5MDFBIxMzARMBMwEBIwMBIwEBA62kVqP9XckBYeX+FAEiytT+lOMB+P7o/qwB6wP2/k4Bsv20/b8Buv5GAlUCOAAFAG3+rAV/BI0ABQAJAA0AEQAVACJAEBENDRQVfRASDAkECAICCBIAPzMvETMzMz8/MzMRMzAxZQMjEyM3MwchNxMDIxMhAyMTIwchNwV5Z6M8jBoGG/2AG9jLtcoDnsu0ytMb/JEbmP4UAVSYmJgD9ftzBI37cwSNmJgAAwBVAAAEJQSNAAMABwAbAB9ADgAYGA0DAw0NBgcSfQYKAD8/MxI5LzMvETMRMzAxQTMDIwEDIxMDBw4CJy4CNxMzAwYWFhcWNjYB2pFmkQKxyrbLIgo8e34/fa1RDjq2OgkfWVBAfnsDHP20A737cwSN/eaaFyAQAgJitH4BY/6cS28/AwESIQAAAgAeAAAD7QSNAAMAFwAUQAkPEhQJCQF9ABIAPz85LzM/MDFzEzMDEzc+AhceAgcDIxM2JiYnJgYGHsu0yiMKO3t9P32tUQ06tTsJH1lQQX57BI37cwIcmhcgDwECYrR+/psBZktvQAICEyEAAQAu//AFVwSfADQAG0AMGBgdHRERIgt+LQALAD8yPzM5LzMRMy8wMUUuAzc3PgMXHgMHByUuAzcXBhYWFwU3NiYmJyYOAgcHBh4CFxY2NxcOAgMadLh7Nw0SD2GYx3V2rWwpDhT8T1aDVicFlQUlWEcDDgUPMX5jUoZjPwwTChlHeFROkUYtMnN5DwFPjsFzg2/ElFICAlKPv3GGAQM2Y4lVAUVjNwMCHV+UVwICPWyKTIRPhWI3AQIoH5MhJRAAAQBA/+0EXAScACsAFUAJERQUGQsLJAB+AD8yPzM5LzMwMUEeAwcHDgMnLgM3NyEHJQcGFhYXFj4CNzc2LgInJgYHJz4CAo5zs3YyDRIQYZfGdnatbCoPFAN1G/1HBQ8yfWNThWM+DBMKGUd4VE+QRyo0eH4EnAJRkMBwgm/ElFMDAlGPwHGGmAEcX5RWAwI9bIpMg0+GYjgBASgglCElDwAAAgAS/+gD7wSNAAcAJgAbQAwIBQUEJiYdEwsHAH0APzI/MzkvMzMRMzAxUyEHASM3ASETFx4DBw4DJy4DNzMeAhcWNjY3NiYmJyfOAyEV/hFuFgFM/dTcdUyQcT4FB1qOrVhPjW07A7IBOGE9SIhfCQg6aT2KBI1+/kF8ASn+wAICLFSAVmKOWikCAitVf1ZBUicBAilgUEZTJQIBAAADAEb/7QQ/BKEAFQAkADQAG0AOCyVqLR1qLS0LABZqAAsALy8rEjkvKyswMUEeAwcHDgMnLgM3Nz4DFyYGBgcGBgchNjQ1NiYmARY2Njc2NjchFAYVBh4CApp3p2MkCwcPWZPIfnenZCQLCA5blMhzaZhgFgEDAgJxAQQnbf7/a5hfFQIDAf2OAQIUN2IEngNencdsQnTRoFkDAl+ex2tEc8+gWp4EYJ9cBwwHBgwGVZtm/IkDX59dBwwHBQoFP3tkPgAABAAAAAAD1QSgAAMABwALACoAIUAPBgcDAgIJJh1+EgoKEQkSAD8zMxEzPzMSOS8zzjIwMUEHITcFByE3ASE3IQEDDgIHJz4DNxM+AxceAgcnNiYmJyYOAgMUFf0pFgKuFf0pFgNT/J0bA2P+DCQJHj02pigzHhAFIgo+a5ZidJZEBrYFGEdEO1Q3HwKpenrneXn+PpgCUf7qRI2AMEcPSV5fJAEWWaB6RQMCZq1vATpqRAICMlRmAAMAH//xA+AEnwAjACcAKwAdQA0nJiYqKysHGRJ+AAcLAD8zPzMSOS8zMy8zMDFlFjY3FwYGJy4DNzc+AxcyFhcHJiYjJg4CBwcGHgIBByE3BQchNwJONGQyDTduOG+fYCMMGhBUiLp3OnM5JDFkM1J7VjQLGwgJLV0BMhb9KBYCsBb9KRWJARANlw4PAQJOh7RpvHC7iUkBFA2TEA4BNmGCTL9BemM8Amp5eeZ5eQAABAAeAAAHogSgAAMAFQAnADEAKUASKzAuLSQJCTEufSotChsSEgIDAC8zM3wvMxg/Mz8zMy8zERI5OTAxQQchNxM3PgIXHgIHBw4CJy4CNwcGFhYXFjY2Nzc2JiYnJgYGAQMjAQMjEzMBEwcJGv3jGQ4IC2WhZWGHQwgIC2OgZWGIRLAJBBlBOTtWMwcJBRlBODtXM/7xy67+S5q1y60BtpoBS46OAbBSY5pWAgNZll5TYppVAgNYlrFVM1g3AQI1WzdUMlg4AQI1WgEI+3MDdPyMBI38jAN0AAAC/94AAARvBI0AGAAcABtACxscAgEBDgwPfQ4KAD8/MxI5fC8zGM4yMDFBJTcFMjY2NzYmJiclAyMTBR4CBw4DBwchNwKP/XgbAnFGfFMJCCtaP/7psLXLAbRrrGAJBlKEo4Mb/ZUaAaQBmAE1ZUlBXTUCAfwLBI0BA1agcl6PYDBYl5cAAAL/+//zAngDIwAZADMAGUAKGwAAGRoaCBAsJAAvM8wyOS8zMxEzMDFTMz4CNzYmIyYGByM+AhceAgcOAgcjBzcXHgIHDgInLgI3MxQWFzI2NzYmJifpSCZINAYHQi8xTRCcCVaBR0R7TQICXYU+eQYOX0B5TAIDYJBLSXpJAZZINTdiCAYiPiMBygIXMiozLwEuMEtkMAEBLmBMSlknASROAQIhU0xUajICATVnTjcyATk8Ki4TAQAC//EAAAJ0AxUABwALABdACQMHBwEBBgUICgAvzDIyOS8zETMwMUEHITcBMwcHAQMjEwJ0F/2UDAHAhrHxAb+JmooBLIJwAfvr/gHp/OsDFQAAAQAX//MCkAMVACEAErYfCQkEAxkRAC8zzDI5LzMwMVMnEyEHIQc2NjMyFhYHDgInLgInFxYWNzI2NzYmJyIGyIF1AdQY/rA8H0IiS2s3AwRVilRGd0sDlAU+NUNTCAZAPCU/AWUiAY6DrA0QP3FJVn1EAgE1ZkkBNS8BVUE7SAEXAAEAHf/zAmADIQAtABO2ExwcAwAMJAAvM8wyOX0vMzAxQRcHJyYGBgcHBhYWNzI2Njc2JiMiBgYHJz4CMzIWFgcOAicuAjc3PgMCHBsNCFqSXw4OBBEzMClDKgQHOzomRDQOJgxKaTpKZjIDBFWJU1t4OAYFDFCCrQMhAYMBAjl4XHUoTTMBKUMoOUocMyMvOlgwRnRHVH9GAQJVjlY3aaRyOwAAAQAvAAACtAMVAAYADLMFAQYCAC/MMjIwMUEHASMBITcCtBL+Oq0Bx/5NFwMVZP1PApSBAAQACP/zAngDIgAPAB8ALwA9ABdACgwkOwMUFDQsHAQALzPMMjkvFzMwMWUOAicuAjc+AhceAgc2JiYjJgYGBwYWFjMyNjYTDgIjLgI3PgIXHgIHNiYmIyIGBwYWFjMyNgJIAluLSUN9TwICXoxGQHxRlgQfOCAkQy4FBB83ICRDL8gCV4FCPHVMAQFUgkZBdEieBBkuHTFPBgQZLx0wTuBTaTEBAS5hTFBmMAEBLV4/JC4XARs1JiQvFho1AYdKXy0BKlhETmYyAQEvXlMeLBY5Mx8rFjoAAAEAN//3AnADIgAuABO2EhsbCiMBLQAvM8wyOXwvMzAxdxcWNjY3NzYmJiMiBgYHBhYWFzI2NjcXDgIjLgI3PgIXHgIHBw4DIydzC1WJWQ0TBBAwLitCKQQDFjMnJUExDCwMRWU5TGc0BANVilRdcjAGBQtNfqtpFXcBATBtWJMmSjEuSSglPiQBHDIjLjhVMAFEdUhUhEsCAVqSVTNqom85AQAAAQCTAosDGQMjAAMACLEDAgAvMzAxQQchNwMZG/2VGwMjmJgAAwELBD4DHAZxAAMADwAbABlACRMNDQcBAwMZBwAvMzN8LxjNETMRMzAxQTczBwU0Njc2FgcUBiMGJjcWFjMyNjc2JiMiBgGmrsj2/uZjSENbAWFHQ15SAh0kJDkFBSMiKTAFvLW130dmAQFfQ0ZlAVtFHzA2Ix80OgAEAB4AAAPwBI0AAwAHAAsADwAbQAwLCgoGDw4HfQMCBgoAPzMzPzMzEjkvMzAxZQchNxMDIxMBByE3AQchNwNGG/17G9zKtcsCZBv9zxsC1Bv9gBuYmJgD9ftzBI3+GZeXAeeZmQAE/5n+SQREBFEAEgAkAFsAXwAzQBpdXwZyJSYYGA9AQUEuU1MPDwVKNw9yIQUHcgArMisyETkvOREzMxEzETMSOTkrMjAxUzc+AhceAgcHDgMnLgI3BwYWFhcWNjY3NzYmJicmBgYDFwYGBwYWFhcXHgIHDgMnLgM3PgI3Fw4CBwYeAjMyPgI3NiYmJycuAjc+AgEHITdxAgqIy3BorWMHAQhUgp1RZa1mvAMENV45PnVSCgIFM147QHVRIF4nPwcEGy8ZplyraAcFdrC9TDyRg1IEBF+QTzEuTjQHBitLVSQueHVUCgk3Wy7JNWpGAgI0UwNjGP6PDwLKFnamVQMCVZ1vF1aIXTACAlabghY8WTIBATRgQBU9WzMBATRh/q02F0MwHiAMAQECNHttX4ZSJQEBGTxnT1l/UBJSCzdQMTA8IQ4SLUw6OjkTAgEBIEk/PFtGAoaSkgAABABI/+cEiARSABUAKwAvADMAF0AMMAotBhwRC3InBgdyACsyKzI/PzAxUzc+AxceAwcHDgMnLgM3BwYeAhcWPgI3NzYuAicmDgIFEzMDAxMzE1EDDER2r3hqi08cBgkRTXuqb2mLTRfDAgcHKVlLSHJVOA4FAw4sU0JXe1AuAhmqscWeDI0QAe0WZdGwaQMDX5q3WkpivZlZAwNdlrRwFjt+bUUCAk17ijskM4N7UgMEUIaaLgIe/eL95AIc/eQAAgBEAAAE4AWwABkALgAfQA8mCBsaGgIBAQ4MDwJyDggAPysyEjkvMzMRMz8wMUEhNwUyNjY3NiYmJyUDIxMFHgIHDgIPAjceAgcHBgYWFwcjJiY2Nzc2JiYC2f5nGQFTW55oDAk2cU/+tuG9/QHyfsZpCwl1sWIcXx12rlYOFAUDEBgDuRkPBQUTCShhAnWdATJ0Y1JsNwIB+u4FsAEDWbKIbpZcFxsTbwJSonyGJEpFHhohUVUng0xxQQADAEQAAAVqBbAAAwAJAA0AIEAQCggJAgwLCwcGBgIDAnICCAA/KxI5LzMzETM/PzAxQQMjEyEBISczAQMBNwEB/fy9/QQp/RD+rgHwAlzC/l1/AfsFsPpQBbD836ACgfpQArKf/K8AAAMAJgAABB8GAAADAAkADQAcQA4LBwYGAgkGcgMAcgoCCgA/MysrEjkvMzMwMUEBIwkCITczAQMBNwEB5f72tQELAu796/7oBscBe3v+6nYBaQYA+gAGAP46/buaAav7xgIMm/1ZAAMARAAABUoFsAADAAkADQAaQA4GCwcIDAUCCQMCcgoCCAA/MysyEhc5MDFBAyMTIQEhNzMBAwE3AQH9/L39BAn85v7vBWsCwcL9xaQCbwWw+lAFsP0fWwKG+lAC71/8sgAAAwAmAAAEBwYYAAMACQANACBAEAwLCwcGBgIJBnIDAXIKAgoAPzMrKxI5LzMzETMwMUEBIwkCIzczAQMBNwEB6v7xtQEPAtL9h5wFTQHJeP6ZegG9Bhj56AYY/iL9upkBrfvGAgmK/W0AAAIAHv//BAwEjQAZAB0AFkAJGxoPAgEOD30BAC8/MxEzETMyMDFhITcXFjY2Nzc2LgInJTcFHgMHBwYGBAMDIxMBfP70HPR+vncRCQkTQHRY/uIbAQZ3s3YyDAcVrv7viMq1y5gBAWKze0NPjG0/AwGZAQNVlMRyQqn4iASO+3MEjQABAEj/7QQzBKAAJwARthkVEH4kAAUAL8wzP8wzMDFBNw4CJy4DNzc+AxceAhcjLgInJg4CBwcGHgIXFjY2AzG0GZHXgHOjYiQMDg9bksV6e7JjBrQDMmVQV4ZeOQsOCQkvYlNWgVYBeAGAsloDAlybwmhmccmYVQMDYbJ5TW07AwI/cZBOaEOJdEkDAzZuAAACAB7//wPjBI0AGQAxAChAExwbKRkCAgEbJgEBJhsDDQwPfQ0ALz8zEhc5Ly8vETMSOTkRMzAxQSE3BT4CNzYmJicnAyMTBR4DBw4CBwMhNwU+Ajc2JiYnJzcFFx4CBw4DAj7+wBcBCjpzUgkINl824bC1ywF+SYtsPAUGaZtQqf6BdwENP3VSCggpVTr0GgEtHktwOwUFUIGeAhOMAQEhTUJARh0BAfwMBI0BAiFIdVVcdD0I/b6YAQEmVEU+USoCAYwBNQhIdk1dg1EmAAP/pgAAA+MEjQAEAAkADQAcQAwNAAYDDAwBBwN9BQEALzM/MxI5LxI5OTMwMUEBIwEzEwM3MwEDByE3ApH918ICnHx20g5zAQCBG/1gGwPh/B8EjftzA/mU+3MBr5iYAAEA/ASPAicGPQAKAAqyBYAAAC8azTAxUzc+AjcXBgYHB/wTCTJJLWcjMgsWBI+AO21gJlY1bT54AAACARIE3QNcBosADwATABK1EhMKAA0FAC8zfNwy1hjNMDFBNw4CJy4CJxcGFhcyNicnMxcCxpYIXohGQ39TAZICRjs9WJN9iUsFrwFOXSgCASpcTAI9NgE4UMfHAAL9KgS//2YGlAAXABsAHUAMABUVBRkbGwkREQwFAC8zMxEzMy8zETMRMzAxQxcOAgcGJiYHBgYHJz4CMzIWFjc2Nic3FwfzTQYpRzQpQUAnKC4NUgYsSjQoQUInKC32p7TZBZcXLlM1AQEpKAICNCIULlU1KSgCAjY/4QHgAAIA0wTiBPsGlQAGAAoAFLcIBwcFAYAEBgAvMxrNOTMvzTAxUwEzEyMnByUTMwPTAUiU7q+KwAHRttDxBOIBBv76nZ2xAQL+/gAAAgAiBM8DkwaDAAYACgAXQAkHQAgIAwaAAgQALzMazTkzLxrNMDFBEyMnByMBJRMjAwKm7a+Kv9EBSP7GXX2WBdb++Z6eAQet/v4BAgAAAgDOBOQEeQbPAAYAGgAfQA0REghAGgkICAMGgAIEAC8zGs05MxEzMxoQzDIwMUETIycHBwEFJzc+Ajc2JiYnNx4DBwYGBwK73JWg3bcBNgHYeRQXPC8FBC8+Ew8jUUgsAgNVOQXr/vm5uAEBB34BhAIIGx8eGQUBXAEOIjsuQD8LAAIAzQTkA5cG1AAGAB4AJUAQCAcHEBgMQBQTExwMDAaABAAvGs0yETMzETMaEM0yMhEzMDFBFyMnBwclJRcOAiMiJiYHBgYHJz4CFzIWFjc2NgKc+5Sl2LkBTwEgTgcsRi0mPTolIjENTwcsRy4lPDwkIzAF2PSdnAH0+xUrSCwmJgIBLB0TKkouASYkAgEqAAMAHgAABAMFxAADAAcACwAbQAwCCgoLCwcDAwd9BgoAPz8zLxEzETMRMzAxQQMjEwEDIxMhByE3BANRtVH+T8q1ywLkG/2kGwXE/jAB0P7J+3MEjZmZAAACARIE3QNcBosADwATABK1ERMACg0FAC8zfNwyGNbNMDFBNw4CJy4CJxcGFhcyNic3FwcCxpYIXohGQ39TAZICRjs9WLuRo8MFrwFOXSgCASpcTAI9NgE4UcYBxQAAAgETBN8DRgcEAA8AJQAoQBEbHBwRJRISEREJDQUACQkFEAA/M3wvMxEzETMYLzMRMxEzLzMwMUE3DgInLgI1FwYWFzI2Jyc3PgI3Ni4CIzceAwcOAgcCuI4HWYNFQ3pOjANCOztWK4YSFkQ5BAIiMzAMDB9aVzkBAjFIIwWvAkxdKQEBK1tLAjs4ATlLAX0BBhkeFhYIAVMBCRw2LisxGAb//wCPAokC6QW8BgcB1wBzApj//wBkApgC5wWtBgcCMABzApj//wCKAosDAwWtBgcCMQBzApj//wCQAosC0wW5BgcCMgBzApj//wCiApgDJwWtBgcCMwBzApj//wB7AosC6wW6BgcCNABzApj//wCqAo8C4wW6BgcCNQBzApgAAQCA/+gFPQXIACkAFUAKGhYRA3ImAAUJcgArzDMrzDMwMUE3DgInLgQ3NzYSNjYXHgIXIy4CJyYOAgcHBh4DFxY2NgQeuh6o+5h1sXxHFg0IE3G19piT1HUFvARCgWVzsoBPDwkJBSVMeVdvoGsBzgKV3HcDAlOOtstnPosBBM53AwN82pBfk1YDBGKlyWNARpmRdkgDA1CWAAEAgf/qBUUFyAAtABtADS0sLAUaFhEDciYFCXIAKzIrzDMSOS8zMDFBAw4CJy4ENzc2EjY2Fx4CFyMuAicmDgIHBwYeAxcWNjY3EyE3BQ5WOrjPXXq6gUwYDgMTcLX4m4/Sewy6CUqEXnW0gU4OBAoHKVGAXD1+dC48/rkcAtP97FFeJgECU4+60mwcjQEJ1HsDA2nHjVyARAIEZ63OZB1Ln5R3SAIBEi8qAUWbAAIARAAABRIFsAAbAB8AErccDxACcgIdAAAvMjIrMjIwMWEhNwUyPgI3NzYuAiclNwUeAwcHBgIGBAMDIxMB5f61HgExes2dYxEGDRpWm3T+oBwBSpXdjDkQBRSG0v7xhfy9/Z0BU5bJdyxmwJpdAwGeAQNzw/uLLZr+/b5oBbD6UAWwAAIAg//oBVoFyAAZADEAELchFANyLQcJcgArMisyMDFBBw4EJy4ENzc+BBceBAc3Ni4DJyYOAgcHBh4DFxY+AgVPBg5PfqnPenSveUcWDAUPUICpznd1sHlGFcsGCQYlS3hXcLWGUw4GCAYmS3hXc7aDUAL1LW7WvY9QAwJXkrnMZC1t1LyPUAMCVZG3zJEuRpePdUcDA2SpyWEuRJmReEoCBGSqzQADAIP/BAVaBcgAAwAdADUAG0ANJRgDcgADAzELCXIBAgAvMysyMhEzKzIwMWUBBwEBBw4EJy4ENzc+BBceBAc3Ni4DJyYOAgcHBh4DFxY+AgM4AT+L/scCmwUOUH6o0Hl0sHlGFgwFDlF/qc93dbB5RhXLBgkGJEt4V3G1hlMOBggGJkt4V3S1g1Cf/tVwASkCxitu1r2PUAMCV5K4zWQrbdW8kFADAlaQucyPLEaYj3VIAwNlqcpiK0WYkndKAgRkqs0AAQC8AAADEQSNAAYAFUAJAwQEBQUGfQIKAD8/My8zETMwMUEDIxMFNyUDEcW0of6DHwIUBI37cwOiiq/GAAABADkAAAP4BKMAIAAXQAoQEAwVfgMgIAISAD8zETM/MzMvMDFlByE3AT4CNzYmJicmBgYHBz4CFx4DBw4DBwEDtBv8oBkCHi1XPggHLlc4UX9SDrINjtd6SYVmNgcELkZVK/5fmJiMAbElUWE9O1EsAQNDd00BfLtnAgIrUnlROmlcUSP+swAAAf+B/qEEEQSNAB8AGkALBgAeHgMWDwUCA30APzMzLzMSOS8zMzAxQQEhNyEHAR4CBw4DJyYmJzcWFhcWNjY3NiYmJycBaAGm/Y4bA1oW/kRrkkUJC2io2X1owV0/SKFUc8OADg4/j2k/AmsBiph9/nAUf7hqfsySTgIBOSyMKy8BAl2rdGyPSgIBAAAC/9P+tgQwBI0ABwALABZACQYEC30KAwcHAgAvMxEzLz8zMzAxZQchNwEzAwkCIwEEMBv7vhUDcZnU/asDV/79tQEEl5h3BBf+yf1BA/b6KQXXAAAB/9X+nQREBIwAJwAWQAkkCQkCGhMFAn0APzMvMxI5LzMwMVMnEyEHIQM2NhcyHgIHDgMnJiYnNxYWFxY+Ajc2LgInJgYG95/tAv8e/ZWDOoJDZpFXIgkMYZ7Nd2e9VkVAplRTi2pCCgcVOV5BPWRPAWQSAxar/nQiHwFQiKxcdsWQTQECOzaLOC4BATxqi1A7cFk2AgIaPwAAAQAr/rYENwSNAAYAD7UBBQUGfQMALz8zETMwMUEHASMBITcENxT8yMADLv02GwSNc/qcBT+YAAACARQE1wN0Bs8ADwAnAClAEREQEBkhIRUdHBwlFRUACQ0FAC8zzTIyfC8zMxEzETMYLzMzETMwMUE3DgInLgI1FwYWFzI2ExcOAiMGJiYHBgYHJz4CMzIWFjc2NgK8kQdahUdDe06QAz88PVV5TQUrSTQpQUEnKC4NUgYsSjQoQkInKC8FrQJOXysCASxfSwI7OwE7AV0VL1Q0ASooAgI0IxUuVTUpKAICNAAAAf++/pkAzACaAAMACLEBAAAvzTAxdwMjE8xZtVqa/f8CAQAABQBM//AGmQSfACkALQAxADUAOQAxQBg4OTkxfRYtLRcwCjU0NCYbAQYGJn4RGwsAPzM/MxEzERI5LzM/MzMRMz8zETMwMUEHLgMnJg4CBwcGHgIXFj4CNxcOAicuAzc3PgMzHgIBByE3EwMjEwEHITcBByE3BDMzLFlZWS1ZiWE7CwkICjFlUyxZWVgtHECDgkB3pWMkCwgPW5TIfUOFhgH/G/17G9zKtcsCZBv9zxsC1Bv9gBsEjJoBBQcGAQFEdZVQRUSNd0wDAgIEBQGXBAcFAgNencZrRHXOnlkBCAn8C5iYA/X7cwSN/hmXlwHnmZkAAAEAPv6mBC4EpAA7ABS3ABUfHzULKTUALy8zEjkvMzIwMUUWPgI3EzYuAicmDgIHBh4CFxY+Ajc3DgInLgM3PgMXHgMHBw4EJyYmJzcWFgFAeLN+TBEoCAcuYlFOdlIvCAYPMllDP3RgQQxlDn3JgWmYXyYJClCGtnF5pl8eDSYQSnKdyXtHiUA0MmbCAmKnzGcBCUOIdEgDAkFuh0Q4d2VBAgIkRmQ/An3AagMDUoqvYWm/lFQCA16fyW3ybdO5jE8CAR8ejBYdAAAB/w/+RwEQAJkAEQAKsg0GAAAvzDIwMXczBw4CIyYmJzcWFjMyNjY3W7UkDViYbB45HRsXMRg2RicHmfFloFwBCQifBgk3WC8A////rP6hBDwEjQQGAlwrAP///+P+nQRSBIwEBgJeDgD///+4/rYEFQSNBAYCXeUA//8ALAAAA+sEowQGAlvzAP//AFb+tgRiBI0EBgJfKwD//wAk/+gEMASkBAYCdcAA//8AZv/pA+sFswQGABr5AP//ABv+pgQLBKQEBgJj3QD//wBA/+kEKwXHBgYAHAAA//8BDQAAA2IEjQQGAlpRAP///wn+RwGwBDoEBgCcAAD///8J/kcBsAQ6BgYAnAAA//8ALwAAAZ8EOgYGAI0AAP///3j+WAGfBDoGJgCNAAABBgCkygoAC7YBBAIAAENWACs0AP//AC8AAAGfBDoGBgCNAAAAAwAe/+YD1QShAAMAFgAxAClAFA8mJg0jIwkbLwtyBAAAAhMJfgIKAD8/MxI5LzMrMhE5LzMzETMwMUEDIxMXBz4CFxYWFwEjNwEmJicmBgYDNxYWMzI2Njc2JiYnJzcXHgMHDgInIiYBVYO0g7arC2W5inO1Tv5hbhQBGCFPLVRpOD1BJFArRGlBBwg9ajtdGGZIh2o6BQh0vnQ6bQLx/Q8C8QICgsVtAwNpT/5TcgEkHh4BAlGC/OWZGRw+aUFHShsBAYoBASRIdFN2sGACHQAAAgBk/+gEcASkABUAKwAOtRwRficGCwA/Mz8zMDFBBw4DJy4DNzc+AxceAwc3Ni4CJyYOAgcHBh4CFxY+AgRkAg9alM+DfatkIwwCD1yWzoJ9q2MixAUHCzNpVlyNYzwKBgcLNGpWXY1jOQJXFHnaqV8DA2So0G8VeNmnXgMCZKXQjy9GkntOAwNIfZxQLkaUflEDA0mAngABAGIAAARLBbAABgATQAkBBQUGBHIDDHIAKysyETMwMUEHASMBITcESxT868ADEv0+GwWwc/rDBRiYAAADAB//6AQWBgAABAAaAC8AGUAOIRYHcisLC3IECnIAAHIAKysrMisyMDFBMwMHIwEHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGFhYXFj4CASq26DqfA+0DDEx+sXNpjVIeBgsRTnyrbW+RUBnCAgcKLl9PPm9bPw8oAjxvSVR+WDUGAPrHxwItFWTIo2EDA1uVtVtcYbuVVwMDZJ++cRU/hnRJAgItUWk680h/TwMDRneQAAABAET/6QPnBFEAJwAZQAwdGRkUB3IEBAAJC3IAKzIyLysyLzIwMWUWNjY3Nw4CJy4DNzc+AxceAgcjNCYmJyYOAgcHBh4CAd1Cc1ISqxCLx2tynl4iCwUNVYu+dnKmWgGpL1xGU31YNAoFBwctX4ICNWE/AW2lWwIDW5i/ZSttxphWAwNnr3BBbEIDA0NyjUgqP4dzSQADAEP/6ASGBgAABAAaAC8AGUANIQQEFgtyKwsHcgEAcgArKzIrMi8yMDFlEzMBIwE3PgMXHgMHBw4DJy4DNwcGHgIXFjY2Nzc2LgInJg4CAuzktv71nP1tAwxOgbRzaYxQHgYLEU58q25qkVQdwwMHCzFfTVKMZBYoAh8/WjlUgVo23QUj+gACCRVlyqRhAwNdlrRbXGG7lVUDBGSgu3IVP4V0SQMCToJM8zdlUDACA0V2kQADACP+UQQ3BFEAEwApAD4AG0APMCULcjoaB3IOBg9yAAZyACsrMisyKzIwMUEzAw4DJyYmJzcWFhcWNjY3EwE3PgMXHgMHBw4DJy4DNwcGHgIXFjY2Nzc2LgInJg4CA5ybrBBShLh2Wq5MQjyQSmuPUQ6G/PMCDUyAtHRpjFEeBgsRT3ysbWuRUxzDAwcLMF9NU4tkFigCHz9aOVSAWjYEOvwVbruKSwICODCLLDABA12eYgMT/rEWZsmjYAMCXZa0W1tiupVWAwNloLxwFT6FdEkCA06CTPM3ZVAwAgNFd5EAAgBC/+kEJgRRABUAKwAQtxwRC3InBgdyACsyKzIwMVM3PgMXHgMHBw4DJy4DNwcGHgIXFj4CNzc2LgInJg4CTAMOWpLDd3KjZigKAw5bk8R2cKNmKMIDCA40Y05Tgl46CgMHDTRjTlSCXjkCChduy55ZAwJem8FnGG7Jm1gDAl2ZwH0YP4h0SQMDRXeQSRZAiXZLAwJGeJIAAAP/1/5gBBQEUgAEABoALwAZQA4hFgdyKwsLcgMGcgIOcgArKysyKzIwMUEDIwEzAQcOAycuAzc3PgMXHgMHNzYuAicmDgIHAwYWFhcWPgIBa962AQSaApUDDEt+sXNmj1kkBg4RUX+tbW+STxnDAwcLMmFPPnBaQA8rAT9vR1OBXDcDX/sBBdr98hVkx6NhAwNVjK9cb2K7llYDA2SgvnEVQIZ0SQICLVFpOv77R3lKAwJHeJEAAwBC/mAENgRSAAQAGgAvABlADiEWC3IrCwdyBA5yAwZyACsrKzIrMjAxQRM3MwEBNz4DFx4DBwcOAycuAzcHBh4CFxY2Njc3Ni4CJyYOAgJ84jmf/vz9GgMMTYG2dWmOUh8FDBBQfq1ubJNUHcQDBwsxYE5Tj2cWKAIhQVw4VYJbN/5gBRXF+iYDqBZnyqNgAwNclrVbXGK7lFUDA2OfvHIVPod1SwMCUIVN8zdnUTECA0Z5kwABAEb/7APhBFEAKgAZQAwTEhIAGQsHciQAC3IAKzIrMhE5LzMwMUUuAzc3PgMXHgMHByE3BTc2JiYnJg4CBwcGHgIXFjY3FwYGAgJzrG8uCQUMVYu6cWuVWB4ME/zvGwJXBQwiX1FReVUzCQUIFkFuUU2QQC1FuBMBVpTBbC1ow5tZAwJRiK9ieZcBHEp/UAMDRHOMRSxHiG5DAgEwKoE+MgADADX+UQQpBFEAEgAoAD0AG0APLyQLcjkZB3INBg9yAAZyACsrMisyKzIwMUEzAw4CJyYmJzcWFhcWNjY3EwE3PgMXHgMHBw4DJy4DNwcGHgIXFjY2Nzc2LgInJg4CA46brxWF3plQnkZCN35BZ45TD4j9BgMMR3iudGmMUR0GCxFOfKtta4tMFsIDBwYoWU1SjGQWJwMgP1o5VXpSMAQ6/AOQ4HwCAi0ojCQmAQJUlmADJf6wFmTIpmECA1yXtFtcYbqVVgMEZaG7bhU8hHRLAgNOgkzzN2ZQMAEDR3iQAAL/v/5LBFEERwADACUAGUAMDhUBARUfBAdyAwZyACsrMi8zLxEzMDFBASMBJR4DFxMeAhcWNjcHBgYHBi4CJwMuAicmBgc3NjYEUfw4ygPR/XM7UjknDvIIGSkjFzAXPg4aDzpRNyUO6woeNS4QIRALFy8EOvomBdoNAi5LXjD8TBxCMQQCAgKeBgcBAjFRYC4DmSRSOwIBAwGXBQf//wCpAAADAwW4BAYAFa8AAAEALP/uBCMEnwBBABdACzg4ECJ+GQozAAtyACsyPz8zOS8wMUUuAzc+AjclNjY3NiYHBgYHBhYWFwEjAS4CNz4CFx4CBw4CBwUOAgcGFhYXFj4CNzcGBgcGBgcGBgF+P3piNwQEPmA4ASUkQAcHQTM3VgcGIjYWAf++/kAkRi0EBmGWU0iATgUDL0or/rccMyIFCDBVMWaoflAOoQ9oUAsUDFTtDwEkRWpISG5YJr8aSS81PgEBSjYpSEEe/U0CVi9gaj9Zej4BAj1wTzddTR3ZFDA7JDhEIAEDSIKpXwF7ylwMGgtSRwAD/+kAAAMjBI0AAwAHAAsAHUANCAkJCwoKBgd9AwIGCgA/MzM/EjkvMzMvMzAxZQchNxMDIxMBBwU3AyMb/Z4b3Mq1ywF1GP2jGJiYmAP1+3MEjf6FhLqEAAAG/5oAAAYABI0AAwAHAAsAEAAUABgAM0AYCgsLGBgPBwYUEwYTBhMND30DAgIXFw0KAD8zETMRMz8SOTkvLxEzETMRMxEzETMwMWUHITcBByE3AQchNwcBIwEzEwchNwEDIxMFeBv91BoCIxr+HxsCchv91BuU/SjOA056Cxv9thsCzKSzo5aWlgIVlZUB4paWevvtBI39N5aWAsn7cwSNAAACAB4AAAOiBI0AAwAZABdACg8QEAF9BQQEAAoAPzIvMz8zLzMwMXMTMwMnNxcyNjY3NiYmJyc3Fx4CBw4CJx7LtMoJG9hGgVgKCDNiPuwc02yyZggKjNV3BI37c+yZASteTURaLwIBmQEDUZ11g6NMAQAD//T/xgSjBLcAFQArAC8AG0ALLy8cEX4tLScGC3IAKzIyfC8YPzMzfC8wMUEHDgMnLgM3Nz4DFx4DBzc2LgInJg4CBwcGHgIXFj4CAQEjAQQ6Bw9Zk8l9d6dkJAsIDluUyHx3p2QkxggHCjNnVFmHYDoKCQgLM2dUW4lfOAEt+/CfBBACbUJ10KBZAwJfnsdrRHPQn1kCA16exq1FRox0SQMDRHaVTkVFjnlMAwNFeZgC2/sPBPEABAAeAAAE1QSNAAMABwALAA8AG0AMAgOADg8PCwd9CgYKAD8zPzMzLzMazDIwMUEHITcTAyMTIQMjExcHITcDrRv9cht+yrXLA7LLtMrvG/ufGwKLmZkCAvtzBI37cwSNppiYAAIAHv5HBJsEjQAJABsAH0APFxAPcgkDBn0ICgoCAgUKAD8zETMRMz8zMysyMDFBAyMBAyMTMwETAzMHDgInJiYnNxYWMzI2NjcEm8uu/kuatcutAbaawLQUDVmYbR85Hh8YMBg3RicIBI37cwN0/IwEjfyMA3T7qI1moFsBAQoJnAYJN1cwAP//ABoCHwIQArcGBgARAAAAAwAvAAAE7QWwABoAHgAiACNAEQIBAR0iISEdDg8PHgJyHQhyACsrMhEzETkvMxEzETMwMWEhNwUyNjY3NzYuAiclNwUeAwcHDgIEAwMjEwEHITcB5P7NHQEbn+mOFw0MEUqOcP62HAEyktGBLxAMFXzC/wBr/b39AWAb/ZQbnQGL75ZaYLiVWwMBngEDcb70hleU+7hlBbD6UAWw/YGYmAAAAwAvAAAE7QWwABoAHgAiACNAEQIBAR0iISEdDg8PHgJyHQhyACsrMhEzETkvMxEzETMwMWEhNwUyNjY3NzYuAiclNwUeAwcHDgIEAwMjEwEHITcB5P7NHQEbn+mOFw0MEUqOcP62HAEyktGBLxAMFXzC/wBr/b39AWAb/ZQbnQGL75ZaYLiVWwMBngEDcb70hleU+7hlBbD6UAWw/YGYmAAAAwA+AAAD+AYAAAMAGgAeABlADR4dFgoHcgMAchECCnIAKzIrKzLEMjAxQQEjAQMnPgMXHgMHAyMTNiYmJyYOAgEHITcB/v71tQELGEoOS3urbld1QhYJdrZ4BxdNSEx6WzkBuRv9lRsGAPoABgD8RgJhu5ZXAwI/bI1P/TsCyEFpPwICPmuDAuCYmAADAKkAAAUJBbAAAwAHAAsAFUAKAwoLBgcCcgEIcgArKzIvMzIwMUEDIxMhByE3AQchNwND/Lr9An8c+7wcAwwb/ZUbBbD6UAWwnp7+HpiYAAP/9P/tApUFQQADABUAGQAdQA4KEQtyGBkZAgIEBAMGcgArMi8yETMvMysyMDFBByE3EzMDBhYWFzI2NwcGBicuAjcBByE3ApUZ/ccZ7rS3AwomJxYrFg0gQyFTXiIHAeUb/ZUbBDqOjgEH+8kjOCEBBwOYCQkBAVKCSgHlmJj///+vAAAEiwc3BiYAJQAAAQcARAFnATcAC7YDEAcBAWFWACs0AP///68AAASZBzcGJgAlAAABBwB1AfMBNwALtgMOAwEBYVYAKzQA////rwAABIsHNwYmACUAAAEHAJ4A+QE3AAu2AxEHAQFsVgArNAD///+vAAAEsAciBiYAJQAAAQcApQEAATsAC7YDHAMBAWtWACs0AP///68AAASLBv8GJgAlAAABBwBqATMBNwANtwQDIwcBAXhWACs0NAD///+vAAAEiweUBiYAJQAAAQcAowF+AUIADbcEAxkHAQFHVgArNDQA////rwAABJ0HkwYmACUAAAEHAjcBgQEiABK2BQQDGwcBALj/srBWACs0NDT//wBw/kEE+QXHBiYAJwAAAQcAeQHD//YAC7YBKAUAAApWACs0AP//ADsAAASxB0IGJgApAAABBwBEATYBQgALtgQSBwEBbFYAKzQA//8AOwAABLEHQgYmACkAAAEHAHUBwgFCAAu2BBAHAQFsVgArNAD//wA7AAAEsQdCBiYAKQAAAQcAngDHAUIAC7YEEwcBAXdWACs0AP//ADsAAASxBwoGJgApAAABBwBqAQEBQgANtwUEJQcBAYNWACs0NAD//wBJAAACFwdCBiYALQAAAQcARP/sAUIAC7YBBgMBAWxWACs0AP//AEkAAAMeB0IGJgAtAAABBwB1AHgBQgALtgEEAwEBbFYAKzQA//8ASQAAAuIHQgYmAC0AAAEHAJ7/fQFCAAu2AQcDAQF3VgArNAD//wBJAAADCgcKBiYALQAAAQcAav+4AUIADbcCARkDAQGDVgArNDQA//8AOwAABXgHIgYmADIAAAEHAKUBNQE7AAu2ARgGAQFrVgArNAD//wBz/+kFEAc5BiYAMwAAAQcARAGKATkAC7YCLhEBAU9WACs0AP//AHP/6QUQBzkGJgAzAAABBwB1AhUBOQALtgIsEQEBT1YAKzQA//8Ac//pBRAHOQYmADMAAAEHAJ4BGwE5AAu2Ai8RAQFaVgArNAD//wBz/+kFEAckBiYAMwAAAQcApQEiAT0AC7YCOhEBAVlWACs0AP//AHP/6QUQBwEGJgAzAAABBwBqAVUBOQANtwMCQREBAWZWACs0NAD//wBj/+gFHAc3BiYAOQAAAQcARAFjATcAC7YBGAABAWFWACs0AP//AGP/6AUcBzcGJgA5AAABBwB1Ae4BNwALtgEWCwEBYVYAKzQA//8AY//oBRwHNwYmADkAAAEHAJ4A9AE3AAu2ARkAAQFsVgArNAD//wBj/+gFHAb/BiYAOQAAAQcAagEuATcADbcCASsAAQF4VgArNDQA//8AqAAABTMHNgYmAD0AAAEHAHUBvgE2AAu2AQkCAQFgVgArNAD//wAx/+kDxwYABiYARQAAAQcARADaAAAAC7YCPQ8BAYxWACs0AP//ADH/6QQMBgAGJgBFAAABBwB1AWYAAAALtgI7DwEBjFYAKzQA//8AMf/pA9EGAAYmAEUAAAEGAJ5sAAALtgI+DwEBl1YAKzQA//8AMf/pBCMF6wYmAEUAAAEGAKVzBAALtgJJDwEBllYAKzQA//8AMf/pA/gFyAYmAEUAAAEHAGoApgAAAA23AwJQDwEBo1YAKzQ0AP//ADH/6QPHBl0GJgBFAAABBwCjAPEACwANtwMCRg8BAXJWACs0NAD//wAx/+kEEAZcBiYARQAAAQcCNwD0/+sAErYEAwJIDwAAuP/dsFYAKzQ0NP//AEb+QQPiBFEGJgBHAAABBwB5AT//9gALtgEoCQAAClYAKzQA//8ARf/rA9oGAAYmAEkAAAEHAEQAvgAAAAu2AS4LAQGMVgArNAD//wBF/+sD8AYABiYASQAAAQcAdQFKAAAAC7YBLAsBAYxWACs0AP//AEX/6wPaBgAGJgBJAAABBgCeTwAAC7YBLwsBAZdWACs0AP//AEX/6wPcBcgGJgBJAAABBwBqAIoAAAANtwIBQQsBAaNWACs0NAD//wAvAAABxQX+BiYAjQAAAQYARJr+AAu2AQYDAQGeVgArNAD//wAvAAACzAX+BiYAjQAAAQYAdSb+AAu2AQQDAQGeVgArNAD//wAvAAACkAX+BiYAjQAAAQcAnv8r//4AC7YBBwMBAalWACs0AP//AC8AAAK4BcYGJgCNAAABBwBq/2b//gANtwIBGQMBAbVWACs0NAD//wAgAAAEGgXrBiYAUgAAAQYApWoEAAu2AioDAQGqVgArNAD//wBG/+kEFwYABiYAUwAAAQcARADIAAAAC7YCLgYBAYxWACs0AP//AEb/6QQXBgAGJgBTAAABBwB1AVQAAAALtgIsBgEBjFYAKzQA//8ARv/pBBcGAAYmAFMAAAEGAJ5ZAAALtgIvBgEBl1YAKzQA//8ARv/pBBcF6wYmAFMAAAEGAKVhBAALtgI6BgEBllYAKzQA//8ARv/pBBcFyAYmAFMAAAEHAGoAkwAAAA23AwJBBgEBo1YAKzQ0AP//AFv/6AQUBgAGJgBZAAABBwBEAMwAAAALtgIeEQEBoFYAKzQA//8AW//oBBQGAAYmAFkAAAEHAHUBVwAAAAu2AhwRAQGgVgArNAD//wBb/+gEFAYABiYAWQAAAQYAnl0AAAu2Ah8RAQGrVgArNAD//wBb/+gEFAXIBiYAWQAAAQcAagCXAAAADbcDAjERAQG3VgArNDQA////qv5HA+wGAAYmAF0AAAEHAHUBHgAAAAu2AhkBAQGgVgArNAD///+q/kcD7AXIBiYAXQAAAQYAal4AAA23AwIuAQEBt1YAKzQ0AP///68AAASfBuQGJgAlAAABBwBwAQQBPwALtgMQAwEBplYAKzQA//8AMf/pBBIFrQYmAEUAAAEGAHB3CAALtgI9DwEB0VYAKzQA////rwAABIsHDwYmACUAAAEHAKEBLQE3AAu2AxMHAQFTVgArNAD//wAx/+kD6wXYBiYARQAAAQcAoQCgAAAAC7YCQA8BAX5WACs0AAAE/6/+TgSLBbAABAAJAA0AIwArQBUNDAwDFh0GAAIHAwJyDg8PBQUCCHIAKzIRMxEzKzISOTkvMxI5LzMwMUEBIwEzEwM3MwEDByE3ARcOAgcGFhcyNjcXBgYjJiY3PgIDLP1MyQMYgYrxE3gBH3Yc/OUcAyVLJVdCBgMcIBozFwQiTSlRWwICWYEFJPrcBbD6UAU6dvpQAhuenv4fPRtCUzIgIQEQCnsVFQFnUE51VAAAAwAx/k4DxwRQABsAOgBQACtAFx46Og9DSg9yJzELcjs8PBkKcgkFDwdyACsyMisyETMrMisyEjkvMzAxZRM2JiYnJgYGBwc+AxceAgcDBgYXBwcmNhMHJyIOAgcGFhYXFjY2NxcOAycuAjc+AzMTFw4CBwYWFzI2NxcGBiMmJjc+AgKuWgclVUA4a04MtAdYhJhIbaFSC1MJAw4CtwsBdRWrNnhsSggGJ1A1RYZkE0ITVnWGQ1uTVQYGYJe0WLtKJVdCBgMcIRoyFwQiTSlRWwICWYG5Ai8+XjQCASZMOgFReVEnAQJZoHD+CDdvNREBLl4CBYIBECxTQjZPLAEBOGhEWUJvUCwBAk6NXmeMVCX9qT0bQlMyICEBEAp7FRUBZ1BOdVT//wBw/+gE+QdXBiYAJwAAAQcAdQIAAVcAC7YBKBABAW1WACs0AP//AEb/6gPiBgAGJgBHAAABBwB1ASsAAAALtgEoFAEBjFYAKzQA//8AcP/oBPkHVwYmACcAAAEHAJ4BBgFXAAu2ASsQAQF4VgArNAD//wBG/+oD4gYABiYARwAAAQYAnjAAAAu2ASsUAQGXVgArNAD//wBw/+gE+QcbBiYAJwAAAQcAogHbAVcAC7YBMRABAYJWACs0AP//AEb/6gPiBcQGJgBHAAABBwCiAQYAAAALtgExFAEBoVYAKzQA//8AcP/oBPkHWAYmACcAAAEHAJ8BGgFXAAu2AS4QAQF2VgArNAD//wBG/+oD4gYBBiYARwAAAQYAn0UAAAu2AS4UAQGVVgArNAD//wA7AAAEzwdDBiYAKAAAAQcAnwDSAUIAC7YCJR4BAXVWACs0AP//AEf/6AWnBgIEJgBIAAABBwHKBJgFEwALtgM5AQEAAFYAKzQA//8AOwAABLEG7wYmACkAAAEHAHAA0gFKAAu2BBIHAQGxVgArNAD//wBF/+sD9QWtBiYASQAAAQYAcFoIAAu2AS4LAQHRVgArNAD//wA7AAAEsQcaBiYAKQAAAQcAoQD8AUIAC7YEFQcBAV5WACs0AP//AEX/6wPaBdgGJgBJAAABBwChAIQAAAALtgExCwEBflYAKzQA//8AOwAABLEHBgYmACkAAAEHAKIBnQFCAAu2BBkHAQGBVgArNAD//wBF/+sD2gXEBiYASQAAAQcAogElAAAAC7YBNQsBAaFWACs0AAAFADv+TgSxBbAAAwAHAAsADwAlAClAFAoLCxgfDg8PBwJyEBERAwICBghyACsyETMyETMrMhEzLzM5LzMwMWUHITcBAyMTAQchNwEHITcBFw4CBwYWFzI2NxcGBiMmJjc+AgPaHP0TGwEJ/b39ArMb/XUcA1Ac/R0cAV9LJldCBQQdIBoyFwQiTShRWwICWIGdnZ0FE/pQBbD9jp2dAnKenvqKPRtCUzIgIQEQCnsVFQFnUE51VAAAAgBF/mgD2gRRACsAQQAlQBMSExMLNDsOchkLB3IsLSQkAAtyACsyETk5KzIrMhI5LzMwMUUuAzc3PgMXHgMHByE3BTc2JiYnJg4CBwcGHgIXFjY3Fw4CNxcOAgcGFhcyNjcXBgYjJiY3PgIB6m+jZywJBApSibtycZZVGgsL/O8YAlcDCiRfUFN6Ui8JBAYUOWZLW5E8Zy+CmjNKJVdCBgMcIRkzFwQiTSlRWwICWYEUAlWRumYraMmiXwMCXJe7YlOXARBIhlcCA0l7kUUqQIJrQwICU0BYRV4uaT0bQlMyICEBEAp7FRUBZ1BOdVT//wA7AAAEsQdDBiYAKQAAAQcAnwDcAUIAC7YEFgcBAXVWACs0AP//AEX/6wPmBgEGJgBJAAABBgCfZAAAC7YBMgsBAZVWACs0AP//AHT/6wUFB1cGJgArAAABBwCeAP4BVwALtgEvEAEBeFYAKzQA//8AA/5RBCkGAAYmAEsAAAEGAJ5SAAALtgNCGgEBl1YAKzQA//8AdP/rBQUHLwYmACsAAAEHAKEBMwFXAAu2ATEQAQFfVgArNAD//wAD/lEEKQXYBiYASwAAAQcAoQCHAAAAC7YDRBoBAX5WACs0AP//AHT/6wUFBxsGJgArAAABBwCiAdQBVwALtgE1EAEBglYAKzQA//8AA/5RBCkFxAQmAEsAAAEHAKIBKAAAAAu2A0gaAQGhVgArNAD//wB0/fMFBQXHBiYAKwAAAQcBygGN/pUADrQBNQUBAbj/mLBWACs0//8AA/5RBCkGlAQmAEsAAAEHAkQBMQBXAAu2Az8aAQGYVgArNAD//wA7AAAFdwdCBiYALAAAAQcAngEhAUIAC7YDDwsBAXdWACs0AP//ACAAAAPaB0EGJgBMAAABBwCeAFUBQQALtgIeAwEBJlYAKzQA//8ASQAAAzUHLQYmAC0AAAEHAKX/hQFGAAu2ARIDAQF2VgArNAD//wARAAAC4wXpBiYAjQAAAQcApf8zAAIAC7YBEgMBAahWACs0AP//AEkAAAMjBu8GJgAtAAABBwBw/4gBSgALtgEGAwEBsVYAKzQA//8ALgAAAtEFqwYmAI0AAAEHAHD/NgAGAAu2AQYDAQHjVgArNAD//wBJAAAC/QcaBiYALQAAAQcAof+yAUIAC7YBCQMBAV5WACs0AP//AC8AAAKrBdYGJgCNAAABBwCh/2D//gALtgEJAwEBkFYAKzQA////i/5XAgIFsAYmAC0AAAEGAKTdCQALtgEFAgAAAFYAKzQA////bf5OAeUFxgYmAE0AAAEGAKS/AAALtgIRAgAAAFYAKzQA//8ASQAAAjcHBgYmAC0AAAEHAKIAUwFCAAu2AQ0DAQGBVgArNAD//wBJ/+gGYAWwBCYALQAAAAcALgIcAAD//wAv/kYDuQXGBCYATQAAAAcATgHjAAD//wAH/+gFDAc1BiYALgAAAQcAngGnATUAC7YBFwEBAWpWACs0AP///wn+RwKXBdcGJgCcAAABBwCe/zL/1wALtgEVAAEBglYAKzQA//8AO/5WBVEFsAQmAC8AAAEHAcoBWv74AA60AxcCAQC4/+ewVgArNP//ACD+QwQbBgAGJgBPAAABBwHKANj+5QAOtAMXAgEBuP/UsFYAKzT//wA7AAADsQcyBiYAMAAAAQcAdQBmATIAC7YCCAcBAVxWACs0AP//AC8AAAMPB5cGJgBQAAABBwB1AGkBlwALtgEEAwEBcVYAKzQA//8AO/4GA7EFsAQmADAAAAEHAcoBJv6oAA60AhECAQG4/5ewVgArNP///6L+BgHvBgAEJgBQAAABBwHK/77+qAAOtAENAgEBuP+XsFYAKzT//wA7AAADsQWxBiYAMAAAAQcBygKaBMIAC7YCEQcAAAFWACs0AP//AC8AAAM7BgIEJgBQAAABBwHKAiwFEwALtgENAwAAAlYAKzQA//8AOwAAA7EFsAYmADAAAAAHAKIBTP3E//8ALwAAAq4GAAQmAFAAAAAHAKIAyv21//8AOwAABXgHNwYmADIAAAEHAHUCJwE3AAu2AQoGAQFhVgArNAD//wAgAAAEAwYABiYAUgAAAQcAdQFdAAAAC7YCHAMBAaBWACs0AP//ADv+BgV4BbAEJgAyAAABBwHKAYf+qAAOtAETBQEBuP+XsFYAKzT//wAg/gYD2gRRBCYAUgAAAQcBygDu/qgADrQCJQIBAbj/l7BWACs0//8AOwAABXgHOAYmADIAAAEHAJ8BQQE3AAu2ARAJAQFqVgArNAD//wAgAAAD+QYBBiYAUgAAAQYAn3cAAAu2AiIDAQGpVgArNAD//wAgAAAD2gYFBiYAUgAAAQcBygBEBRYAC7YCIAMBATpWACs0AP//AHP/6QUQBuYGJgAzAAABBwBwASYBQQALtgIuEQEBlFYAKzQA//8ARv/pBBcFrQYmAFMAAAEGAHBkCAALtgIuBgEB0VYAKzQA//8Ac//pBRAHEQYmADMAAAEHAKEBTwE5AAu2AjERAQFBVgArNAD//wBG/+kEFwXYBiYAUwAAAQcAoQCOAAAAC7YCMQYBAX5WACs0AP//AHP/6QVUBzgGJgAzAAABBwCmAZYBOQANtwMCLBEBAUVWACs0NAD//wBG/+kEkgX/BiYAUwAAAQcApgDUAAAADbcDAiwGAQGCVgArNDQA//8AOwAABLwHNwYmADYAAAEHAHUBtwE3AAu2Ah4AAQFhVgArNAD//wAgAAADYwYABiYAVgAAAQcAdQC9AAAAC7YCFwMBAaBWACs0AP//ADv+BgS8BbAEJgA2AAABBwHKAR3+qAAOtAInGAEBuP+XsFYAKzT///+f/gcC0QRUBCYAVgAAAQcByv+7/qkADrQCIAIBAbj/mLBWACs0//8AOwAABLwHOAYmADYAAAEHAJ8A0QE3AAu2AiQAAQFqVgArNAD//wAgAAADWQYBBiYAVgAAAQYAn9cAAAu2Ah0DAQGpVgArNAD//wAp/+oEowc5BiYANwAAAQcAdQHDATkAC7YBOg8BAU9WACs0AP//AC7/6wPtBgAGJgBXAAABBwB1AUcAAAALtgE2DgEBjFYAKzQA//8AKf/qBKMHOQYmADcAAAEHAJ4AyQE5AAu2AT0PAQFaVgArNAD//wAu/+sDswYABiYAVwAAAQYAnk0AAAu2ATkOAQGXVgArNAD//wAp/koEowXGBiYANwAAAQcAeQGS//8AC7YBOisAABNWACs0AP//AC7+QQOzBE8GJgBXAAABBwB5AVv/9gALtgE2KQAAClYAKzQA//8AKf37BKMFxgYmADcAAAEHAcoBLP6dAA60AUMrAQG4/6CwVgArNP//AC798gOzBE8GJgBXAAABBwHKAPT+lAAOtAE/KQEBuP+XsFYAKzT//wAp/+oEowc6BiYANwAAAQcAnwDdATkAC7YBQA8BAVhWACs0AP//AC7/6wPjBgEGJgBXAAABBgCfYQAAC7YBPA4BAZVWACs0AP//AKn9/AUJBbAGJgA4AAABBwHKAR7+ngAOtAIRAgEBuP+NsFYAKzT//wBD/fwClQVBBiYAWAAAAQcBygCC/p4ADrQCHxEBAbj/obBWACs0//8Aqf5LBQkFsAYmADgAAAEHAHkBhQAAAAu2AggCAQAAVgArNAD//wBD/ksClQVBBiYAWAAAAQcAeQDpAAAAC7YCFhEAABRWACs0AP//AKkAAAUJBzcGJgA4AAABBwCfANMBNgALtgIOAwEBaVYAKzQA//8AQ//tA40GegQmAFgAAAEHAcoCfgWLAA60AhoEAQC4/6iwVgArNP//AGP/6AUcByIGJgA5AAABBwClAPsBOwALtgEkCwEBa1YAKzQA//8AW//oBBUF6wYmAFkAAAEGAKVlBAALtgIqEQEBqlYAKzQA//8AY//oBRwG5AYmADkAAAEHAHAA/wE/AAu2ARgLAQGmVgArNAD//wBb/+gEFAWtBiYAWQAAAQYAcGgIAAu2Ah4RAQHlVgArNAD//wBj/+gFHAcPBiYAOQAAAQcAoQEoATcAC7YBGwABAVNWACs0AP//AFv/6AQUBdgGJgBZAAABBwChAJIAAAALtgIhEQEBklYAKzQA//8AY//oBRwHlAYmADkAAAEHAKMBeQFCAA23AgEhAAEBR1YAKzQ0AP//AFv/6AQUBl0GJgBZAAABBwCjAOIACwANtwMCJxEBAYZWACs0NAD//wBj/+gFLQc2BiYAOQAAAQcApgFvATcADbcCARYAAQFXVgArNDQA//8AW//oBJYF/wYmAFkAAAEHAKYA2AAAAA23AwIcEQEBllYAKzQ0AAACAGP+egUcBbAAFQArABtADR4lAQsCchcWEREGCXIAKzISOTkrMi8zMDFBMwMOAicuAjcTMwMGFhYXFjY2NwMXDgIHBhYXMjY3FwYGIyYmNz4CBGC8qBai+ZmR0WURqLqnCzF7ZGqjZxDSSyZXQgUEHSAaMhcEIk0oUVsCAliBBbD8KZjgeQMDfNuSA9n8Jl+UVwMDUZho/o89G0JTMiAhARAKexUVAWdQTnVUAAADAFv+TgQUBDoABAAbADEAIUARJCsPcgERBnIcHR0EBBgLC3IAKzIyETMRMysyKzIwMUETMwMjEzcOAycuAzcTMwMGHgIXFjY2AxcOAgcGFhcyNjcXBgYjJiY3PgIC0I62vK1pSg1CcadyWXdEFgh1tXUEBh4/NGyWWAJLJVdCBgQdIBoyGAQjTClRWwICWYEBBAM2+8YB3gNmt41PAwNCcJBQArr9QyxVRisCBFme/r49G0JTMiAhARAKexUVAWdQTnVUAP//AMMAAAdBBzcGJgA7AAABBwCeAdwBNwALtgQZFQEBbFYAKzQA//8AgAAABf4GAAYmAFsAAAEHAJ4BGwAAAAu2BBkVAQGrVgArNAD//wCoAAAFMwc2BiYAPQAAAQcAngDEATYAC7YBDAIBAWtWACs0AP///6r+RwPsBgAGJgBdAAABBgCeJAAAC7YCHAEBAatWACs0AP//AKgAAAUzBv4GJgA9AAABBwBqAP4BNgANtwIBHgIBAXdWACs0NAD////sAAAEzgc3BiYAPgAAAQcAdQG9ATcAC7YDDg0BAWFWACs0AP///+4AAAPPBgAGJgBeAAABBwB1ASUAAAALtgMODQEBoFYAKzQA////7AAABM4G+wYmAD4AAAEHAKIBmAE3AAu2AxcIAQF2VgArNAD////uAAADzwXEBiYAXgAAAQcAogEAAAAAC7YDFwgBAbVWACs0AP///+wAAATOBzgGJgA+AAABBwCfANcBNwALtgMUCAEBalYAKzQA////7gAAA88GAQYmAF4AAAEGAJ8/AAALtgMUCAEBqVYAKzQA////gwAAB3kHQgYmAIEAAAEHAHUC+AFCAAu2BhkDAQFsVgArNAD//wAT/+oGVwYBBiYAhgAAAQcAdQJzAAEAC7YDXw8BAY1WACs0AP//ACD/owWcB4AGJgCDAAABBwB1AikBgAALtgM0FgEBllYAKzQA//8AOv95BCkF/wYmAIkAAAEHAHUBOv//AAu2AzAKAQGLVgArNAD///+v//8EDASNBiYCQAAAAAcCNv8c/3b///+v//8EDASNBiYCQAAAAAcCNv8c/3b//wBuAAAEQgSNBiYB6AAAAAYCNj7f////pgAAA+MGHgYmAkMAAAEHAEQA3wAeAAu2AxAHAQFrVgArNAD///+mAAAEEAYeBiYCQwAAAQcAdQFqAB4AC7YDDgMBAWtWACs0AP///6YAAAPjBh4GJgJDAAABBgCecB4AC7YDEwMBAWtWACs0AP///6YAAAQnBgkGJgJDAAABBgCldyIAC7YDGwMBAWtWACs0AP///6YAAAP8BeYGJgJDAAABBwBqAKoAHgANtwQDFwMBAWtWACs0NAD///+mAAAD4wZ7BiYCQwAAAQcAowD1ACkADbcEAxkDAQFRVgArNDQA////pgAABBQGegYmAkMAAAAHAjcA+AAJ//8ASP5HBDMEoAYmAkEAAAAHAHkBaf/8//8AHgAAA/AGHgYmAjgAAAEHAEQAtAAeAAu2BBIHAQFsVgArNAD//wAeAAAD8AYeBiYCOAAAAQcAdQFAAB4AC7YEEAcBAWxWACs0AP//AB4AAAPwBh4GJgI4AAABBgCeRR4AC7YEFgcBAWxWACs0AP//AB4AAAPwBeYGJgI4AAABBgBqfx4ADbcFBBkHAQGEVgArNDQA//8AKwAAAcMGHgYmAfMAAAEGAESYHgALtgEGAwEBa1YAKzQA//8AKwAAAskGHgYmAfMAAAEGAHUjHgALtgEEAwEBa1YAKzQA//8AKwAAAo4GHgYmAfMAAAEHAJ7/KQAeAAu2AQkDAQF2VgArNAD//wArAAACtQXmBiYB8wAAAQcAav9jAB4ADbcCAQ0DAQGEVgArNDQA//8AHgAABJsGCQYmAe4AAAEHAKUAoQAiAAu2ARgGAQF2VgArNAD//wBM/+0ERgYeBiYB7QAAAQcARAD3AB4AC7YCLhEBAVtWACs0AP//AEz/7QRGBh4GJgHtAAABBwB1AYIAHgALtgIsEQEBW1YAKzQA//8ATP/tBEYGHgYmAe0AAAEHAJ4AiAAeAAu2AjERAQFbVgArNAD//wBM/+0ERgYJBiYB7QAAAQcApQCQACIAC7YCMREBAW9WACs0AP//AEz/7QRGBeYGJgHtAAABBwBqAMIAHgANtwMCNREBAXRWACs0NAD//wBC/+sETwYeBiYB5wAAAQcARADaAB4AC7YBGAsBAWtWACs0AP//AEL/6wRPBh4GJgHnAAABBwB1AWUAHgALtgEWCwEBa1YAKzQA//8AQv/rBE8GHgYmAecAAAEGAJ5rHgALtgEbCwEBa1YAKzQA//8AQv/rBE8F5gYmAecAAAEHAGoApQAeAA23AgEfCwEBhFYAKzQ0AP//AHUAAARlBh4GJgHjAAABBwB1ATwAHgALtgMOCQEBa1YAKzQA////pgAABBYFywYmAkMAAAEGAHB7JgALtgMQAwEBsFYAKzQA////pgAAA+8F9gYmAkMAAAEHAKEApAAeAAu2AxMDAQFdVgArNAAABP+m/k4D4wSNAAQACQANACMAIUAPDQwMAxYdCAN9Dw4FBQESAD8zETMzPzMvMxI5LzMwMUEBIwEzEwM3MwEDByE3ARcOAgcGFhcyNjcXBgYjJiY3PgICkf3XwgKcfHbSDnMBAIEb/WAbArVLJldCBgMdIBoyFwQiTShSWwICWYED4fwfBI37cwP5lPtzAa+YmP6LPRtCUzIgIQEQCnsVFQFnUE51VAD//wBI/+0EMwYeBiYCQQAAAQcAdQFwAB4AC7YBKBABAVtWACs0AP//AEj/7QQzBh4GJgJBAAABBgCedh4AC7YBLRABAVtWACs0AP//AEj/7QQzBeIGJgJBAAABBwCiAUsAHgALtgExEAEBcFYAKzQA//8ASP/tBDMGHwYmAkEAAAEHAJ8AigAeAAu2AS4QAQFkVgArNAD//wAe//8EDAYfBiYCQAAAAQYAnzYeAAu2AiQdAQF0VgArNAD//wAeAAAD8AXLBiYCOAAAAQYAcFAmAAu2BBIHAQGwVgArNAD//wAeAAAD8AX2BiYCOAAAAQYAoXoeAAu2BBUHAQFeVgArNAD//wAeAAAD8AXiBiYCOAAAAQcAogEbAB4AC7YEGQcBAYBWACs0AAAFAB7+TgPwBI0AAwAHAAsADwAlACNAEBgfCwoKBg8OB30REBAFBhIAPzMzETM/MzMSOS8zLzMwMWUHITcTAyMTAQchNwEHITcBFw4CBwYWFzI2NxcGBiMmJjc+AgNGG/17G9zKtcsCZBv9zxsC1Bv9gBsBNUslWEIFBB0gGjIYBCNMKVFbAgJZgZiYmAP1+3MEjf4Zl5cB55mZ+609G0JTMiAhARAKexUVAWdQTnVU//8AHgAAA/AGHwYmAjgAAAEGAJ9aHgALtgQWBwEBdFYAKzQA//8ATP/vBDwGHgYmAfUAAAEGAJ5zHgALtgEwEAEBZlYAKzQA//8ATP/vBDwF9gYmAfUAAAEHAKEApwAeAAu2ATAQAQFNVgArNAD//wBM/+8EPAXiBiYB9QAAAQcAogFIAB4AC7YBNBABAXBWACs0AP//AEz9+AQ8BKAGJgH1AAABBwHKAQf+mgAOtAE0BQEBuP+ZsFYAKzT//wAeAAAEmwYeBiYB9AAAAQcAngCRAB4AC7YDEQcBAXZWACs0AP//AA4AAALgBgkGJgHzAAABBwCl/zAAIgALtgEJAwEBf1YAKzQA//8AKwAAAs8FywYmAfMAAAEHAHD/NAAmAAu2AQYDAQGwVgArNAD//wArAAACqAX2BiYB8wAAAQcAof9dAB4AC7YBCQMBAV1WACs0AP///4L+TgGqBI0GJgHzAAAABgCk1AD//wArAAAB4gXiBiYB8wAAAQYAov4eAAu2AQ0DAQGAVgArNAD////2/+0EaQYeBiYB8gAAAQcAngEEAB4AC7YBGQEBAXZWACs0AP//AB7+AgSABI0GJgHxAAAABwHKAND+pP//AB4AAAMjBh4GJgHwAAABBgB1GR4AC7YCCAcBAWtWACs0AP//AB7+BAMjBI0GJgHwAAABBwHKAMv+pgAOtAIRBgEBuP+VsFYAKzT//wAeAAADIwSPBiYB8AAAAAcBygITA6D//wAeAAADIwSNBiYB8AAAAAcAogDg/TX//wAeAAAEmwYeBiYB7gAAAQcAdQGUAB4AC7YBCgYBAWtWACs0AP//AB7+AASbBI0GJgHuAAAABwHKAST+ov//AB4AAASbBh8GJgHuAAABBwCfAK4AHgALtgEQBgEBdFYAKzQA//8ATP/tBEYFywYmAe0AAAEHAHAAkwAmAAu2Ai4RAQGgVgArNAD//wBM/+0ERgX2BiYB7QAAAQcAoQC9AB4AC7YCMREBAU1WACs0AP//AEz/7QTBBh0GJgHtAAABBwCmAQMAHgANtwMCMBEBAVFWACs0NAD//wAdAAAD/QYeBiYB6gAAAQcAdQEvAB4AC7YCHwABAWtWACs0AP//AB3+BAP9BI0GJgHqAAAABwHKAMn+pv//AB0AAAP9Bh8GJgHqAAABBgCfSR4AC7YCJQABAXRWACs0AP//ABL/7gPrBh4GJgHpAAABBwB1AUUAHgALtgE6DwEBW1YAKzQA//8AEv/uA+sGHgYmAekAAAEGAJ5LHgALtgE/DwEBZlYAKzQA//8AEv5LA+sEngYmAekAAAAHAHkBSQAA//8AEv/uA+sGHwYmAekAAAEGAJ9fHgALtgFADwEBZlYAKzQA//8Abv3/BEIEjQYmAegAAAEHAcoAzv6hAA60AhECAQG4/5CwVgArNP//AG4AAARCBh8GJgHoAAABBgCfUx4AC7YCDgcBAXRWACs0AP//AG7+TgRCBI0GJgHoAAAABwB5ATUAA///AEL/6wRPBgkGJgHnAAABBgClcyIAC7YBGwsBAX9WACs0AP//AEL/6wRPBcsGJgHnAAABBgBwdiYAC7YBGAsBAbBWACs0AP//AEL/6wRPBfYGJgHnAAABBwChAJ8AHgALtgEbCwEBXVYAKzQA//8AQv/rBE8GewYmAecAAAEHAKMA8AApAA23AgEhCwEBUVYAKzQ0AP//AEL/6wSkBh0GJgHnAAABBwCmAOYAHgANtwIBGgsBAWFWACs0NAAAAgBC/nMETwSNABUAKwAaQAweJRcWFhEGC3IMAH0APzIrMjIRMy8zMDFBMwMOAicuAjcTMwMGFhYXFjY2NwMXDgIHBhYXMjY3FwYGIyYmNz4CA5m2gxKP2H94uWEOg7OECS9oTVKEVQ2pSiVXQgYDHCEaMhcEIk0oUlsCAlmBBI389IG2XwMCYbN9Awz8801uPAICOHFS/t89G0JTMiAhARAKexUVAWdQTnVU//8AlAAABikGHgYmAeUAAAEHAJ4BNwAeAAu2BBsKAQF2VgArNAD//wB1AAAEZQYeBiYB4wAAAQYAnkEeAAu2AxMJAQF2VgArNAD//wB1AAAEZQXmBiYB4wAAAQYAanweAA23BAMXCQEBhFYAKzQ0AP///90AAAQOBh4GJgHiAAABBwB1ATwAHgALtgMODQEBa1YAKzQA////3QAABA4F4gYmAeIAAAEHAKIBFwAeAAu2AxcNAQGAVgArNAD////dAAAEDgYfBiYB4gAAAQYAn1YeAAu2AxQNAQF0VgArNAD///+vAAAEiwY+BiYAJQAAAQYArgP/AA60Aw4DAAC4/z6wVgArNP//AAMAAAUVBj8EJgApZAABBwCu/uAAAAAOtAQQBwAAuP8/sFYAKzT//wARAAAF2wZBBCYALGQAAAcArv7uAAL//wAXAAACZgZBBCYALWQAAQcArv70AAIADrQBBAMAALj/QbBWACs0//8Aa//pBSQGPgQmADMUAAEHAK7/SP//AA60AiwRAAC4/yqwVgArNP///+0AAAWXBj4EJgA9ZAABBwCu/sr//wALtgEKCAAAjlYAKzQA//8AHgAABPIGPgQmALoUAAEHAK7/Sv//AA60AzYdAAC4/yqwVgArNP//ACD/9AMbBnQGJgDDAAABBwCv/yz/6wAQQAkDAgErAAEBolYAKzQ0NP///68AAASLBbAGBgAlAAD//wA7//8EmgWwBgYAJgAA//8AOwAABLEFsAYGACkAAP///+wAAATOBbAGBgA+AAD//wA7AAAFdwWwBgYALAAA//8ASQAAAgIFsAYGAC0AAP//ADsAAAVRBbAGBgAvAAD//wA7AAAGtwWwBgYAMQAA//8AOwAABXgFsAYGADIAAP//AHP/6QUQBccGBgAzAAD//wA7AAAE7wWwBgYANAAA//8AqQAABQkFsAYGADgAAP//AKgAAAUzBbAGBgA9AAD////UAAAFKwWwBgYAPAAA//8ASQAAAwoHCgYmAC0AAAEHAGr/uAFCAA23AgEZAwEBg1YAKzQ0AP//AKgAAAUzBv4GJgA9AAABBwBqAP4BNgANtwIBHgIBAXdWACs0NAD//wBI/+cEJgY4BiYAuwAAAQcArgFp//kAC7YDQgYBAZpWACs0AP//ACn/6gPgBjcGJgC/AAABBwCuASH/+AALtgJAKwEBmlYAKzQA//8AJf5hA+gGOAYmAMEAAAEHAK4BO//5AAu2Ah0DAQGuVgArNAD//wCE//QCZgYjBiYAwwAAAQYAriTkAAu2ARIAAQGZVgArNAD//wBo/+cEDAZ0BiYAywAAAQYArx3rABBACQMCATgPAQGiVgArNDQ0//8ALgAABFkEOgYGAI4AAP//AEb/6QQXBFEGBgBTAAD////m/mAEJQQ6BgYAdgAA//8AbgAAA+4EOgYGAFoAAP///7/+SwRRBEcGBgKAAAD//wBl//QC3QWzBiYAwwAAAQYAaovrAA23AgEnAAEBolYAKzQ0AP//AGj/5wPiBbMGJgDLAAABBgBqfOsADbcCATQPAQGiVgArNDQA//8ARv/pBBcGOAYmAFMAAAEHAK4BLP/5AAu2AiwGAQGaVgArNAD//wBo/+cD4gYjBiYAywAAAQcArgEV/+QAC7YBHw8BAZlWACs0AP//AGf/5wXvBiAGJgDOAAABBwCuAj3/4QALtgJAHwEBllYAKzQA//8AOwAABLEHCgYmACkAAAEHAGoBAQFCAA23BQQlBwEBg1YAKzQ0AP//AEQAAASlB0IGJgCxAAABBwB1AccBQgALtgEGBQEBbFYAKzQAAAEAKf/qBKMFxgA5ABtADQomDzYxKwlyGBQPA3IAK8wzK8wzEjk5MDFBNi4CJy4DNz4DFx4CByc2JiYnJgYGBwYeAhceAwcOAycuAzcXBh4CFxY2NgNsCSxUaDRLkXRBBwhimLZdgcxyB7wHOnlYUJFkCwgwVWUuUJVzPQgJZJy6XmKvhkgFuwUoUXBDT5dqAXdCWT0pEhpGY4hbZZlmMgIDbcSFAVd9RAICNG1VO1Q6KA8bSWeOYGiYYS4CAT1yo2gBRmpHJQECMGoA//8ASQAAAgIFsAYGAC0AAP//AEkAAAMKBwoGJgAtAAABBwBq/7gBQgANtwIBGQMBAYNWACs0NAD//wAH/+gERAWwBgYALgAA//8ARAAABWoFsAYGAjwAAP//ADsAAAVRBzEGJgAvAAABBwB1AbEBMQALtgMOAwEBW1YAKzQA//8AlP/oBUAHGgYmAN4AAAEHAKEBFgFCAAu2Ah4BAQFeVgArNAD///+vAAAEiwWwBgYAJQAA//8AO///BJoFsAYGACYAAP//AEQAAASlBbAGBgCxAAD//wA7AAAEsQWwBgYAKQAA//8ARAAABW8HGgYmANwAAAEHAKEBagFCAAu2AQ8BAQFeVgArNAD//wA7AAAGtwWwBgYAMQAA//8AOwAABXcFsAYGACwAAP//AHP/6QUQBccGBgAzAAD//wBEAAAFcAWwBgYAtgAA//8AOwAABO8FsAYGADQAAP//AHD/6AT5BccGBgAnAAD//wCpAAAFCQWwBgYAOAAA////1AAABSsFsAYGADwAAP//ADH/6QPHBFAGBgBFAAD//wBF/+sD2gRRBgYASQAA//8AMAAABDgFwwYmAPAAAAEHAKEApP/rAAu2AQ8BAQF9VgArNAD//wBG/+kEFwRRBgYAUwAA////1/5gBAAEUQYGAFQAAAABAEb/6gPiBFEAJwATQAkACR0UB3IJC3IAKysyETMwMWUWNjY3Nw4CJy4DNzc+AxceAhUnLgInJg4CBwcGHgIB40JyUBGsEInFa3KfYCQKBAxSibx1cqhcqgEwXkVTe1UxCQUGCS5ggwE0YD8BbaRbAgJbmL9lK23FmVYDAmewcAFAbEIDAkJzjEgqQIZzSP///6r+RwPsBDoGBgBdAAD////FAAAD9QQ6BgYAXAAA//8ARf/rA9wFyAYmAEkAAAEHAGoAigAAAA23AgFBCwEBo1YAKzQ0AP//AC4AAAOEBesGJgDsAAABBwB1AND/6wALtgEGBQEBi1YAKzQA//8ALv/rA7METwYGAFcAAP//AC8AAAHlBcYGBgBNAAD//wAvAAACuAXGBiYAjQAAAQcAav9m//4ADbcCARkDAQG1VgArNDQA////E/5GAdYFxgYGAE4AAP//ADAAAARYBeoGJgDxAAABBwB1ATr/6gALtgMOAwEBilYAKzQA////qv5HA+wF2AYmAF0AAAEGAKFYAAALtgIeAQEBklYAKzQA//8AwwAAB0EHNwYmADsAAAEHAEQCSwE3AAu2BBgVAQFhVgArNAD//wCAAAAF/gYABiYAWwAAAQcARAGKAAAAC7YEGBUBAaBWACs0AP//AMMAAAdBBzcGJgA7AAABBwB1AtYBNwALtgQWAQEBYVYAKzQA//8AgAAABf4GAAYmAFsAAAEHAHUCFgAAAAu2BBYBAQGgVgArNAD//wDDAAAHQQb/BiYAOwAAAQcAagIWATcADbcFBCsVAQF4VgArNDQA//8AgAAABf4FyAYmAFsAAAEHAGoBVgAAAA23BQQrFQEBt1YAKzQ0AP//AKgAAAUzBzYGJgA9AAABBwBEATMBNgALtgELAgEBYFYAKzQA////qv5HA+wGAAYmAF0AAAEHAEQAkwAAAAu2AhsBAQGgVgArNAD//wCsBCIBigYABgYACwAA//8AyQQTAqcGAAYGAAYAAP//AET/8gP0BbAEJgAFAAAABwAFAgAAAP///wn+RwLIBdgGJgCcAAABBwCf/0b/1wALtgEYAAEBgFYAKzQA//8AiQQVAeEGAAYGAYUAAP//ADsAAAa3BzcGJgAxAAABBwB1AscBNwALtgMRAAEBYVYAKzQA//8AHgAABmAGAAYmAFEAAAEHAHUCpQAAAAu2AzMDAQGgVgArNAD///+v/mkEiwWwBiYAJQAAAQcApwF1AAEAELUEAxEFAQG4/7WwVgArNDT//wAx/mkDxwRQBiYARQAAAQcApwDCAAEAELUDAj4xAQG4/8mwVgArNDT//wA7AAAEsQdCBiYAKQAAAQcARAE2AUIAC7YEEgcBAWxWACs0AP//AEQAAAVvB0IGJgDcAAABBwBEAaQBQgALtgEMAQEBbFYAKzQA//8ARf/rA9oGAAYmAEkAAAEHAEQAvgAAAAu2AS4LAQGMVgArNAD//wAwAAAEOAXrBiYA8AAAAQcARADe/+sAC7YBDAEBAYtWACs0AP//AIUAAAWQBbAGBgC5AAD//wBO/icFJAQ8BgYAzQAA//8ArQAABUsG5wYmARkAAAEHAKwERQD5AA23AwIVEwEBLVYAKzQ0AP//AIUAAAQ9Bb8GJgEaAAABBwCsA67/0QANtwMCGRcBAXtWACs0NAD//wBG/kcIWQRRBCYAUwAAAAcAXQRtAAD//wBz/kcJQwXHBCYAMwAAAAcAXQVXAAD//wAl/k8EjgXGBiYA2wAAAQcCYQGC/7YAC7YCQioAAGRWACs0AP//ACD+UAOkBFAGJgDvAAABBwJhAS3/twALtgI/KQAAZVYAKzQA//8AcP5PBPkFxwYmACcAAAEHAmEByv+2AAu2ASsFAABkVgArNAD//wBG/k8D4gRRBiYARwAAAQcCYQFF/7YAC7YBKwkAAGRWACs0AP//AKgAAAUzBbAGBgA9AAD//wCF/l8EGwQ6BgYAvQAA//8ASQAAAgIFsAYGAC0AAP///6sAAAd1BxoGJgDaAAABBwChAiwBQgALtgUdDQEBXlYAKzQA////pwAABg4FwwYmAO4AAAEHAKEBXf/rAAu2BR0NAQF9VgArNAD//wBJAAACAgWwBgYALQAA////rwAABIsHDwYmACUAAAEHAKEBLQE3AAu2AxMHAQFTVgArNAD//wAx/+kD6wXYBiYARQAAAQcAoQCgAAAAC7YCQA8BAX5WACs0AP///68AAASLBv8GJgAlAAABBwBqATMBNwANtwQDIwcBAXhWACs0NAD//wAx/+kD+AXIBiYARQAAAQcAagCmAAAADbcDAlAPAQGjVgArNDQA////gwAAB3kFsAYGAIEAAP//ABP/6gZXBFEGBgCGAAD//wA7AAAEsQcaBiYAKQAAAQcAoQD8AUIAC7YEFQcBAV5WACs0AP//AEX/6wPaBdgGJgBJAAABBwChAIQAAAALtgExCwEBflYAKzQA//8AUv/pBRoG3AYmAVgAAAEHAGoBCQEUAA23AgFCAAEBQVYAKzQ0AP//AD//6gPNBFEGBgCdAAD//wA//+oD4gXJBiYAnQAAAQcAagCQAAEADbcCAUAAAQGiVgArNDQA////qwAAB3UHCgYmANoAAAEHAGoCMgFCAA23BgUtDQEBg1YAKzQ0AP///6cAAAYOBbMGJgDuAAABBwBqAWL/6wANtwYFLQ0BAaJWACs0NAD//wAl/+oEjgcfBiYA2wAAAQcAagD4AVcADbcDAlQVAQGEVgArNDQA//8AIP/qA7oFxwYmAO8AAAEGAGpo/wANtwMCURQBAaNWACs0NAD//wBEAAAFbwbvBiYA3AAAAQcAcAFBAUoAC7YBDAgBAbFWACs0AP//ADAAAAQ4BZgGJgDwAAABBgBwe/MAC7YBDAgBAdBWACs0AP//AEQAAAVvBwoGJgDcAAABBwBqAXABQgANtwIBHwEBAYNWACs0NAD//wAwAAAEOAWzBiYA8AAAAQcAagCq/+sADbcCAR8BAQGiVgArNDQA//8Ac//pBRAHAQYmADMAAAEHAGoBVQE5AA23AwJBEQEBZlYAKzQ0AP//AEb/6QQXBcgGJgBTAAABBwBqAJMAAAANtwMCQQYBAaNWACs0NAD//wBn/+kE/gXHBgYBFwAA//8AQ//oBBYEUgYGARgAAP//AGf/6QT+BwUGJgEXAAABBwBqAWIBPQANtwQDTwABAWpWACs0NAD//wBD/+gEFgXKBiYBGAAAAQcAagCQAAIADbcEA0EAAQGlVgArNDQA//8Adv/pBP8HIAYmAOcAAAEHAGoBTAFYAA23AwJCHgEBhVYAKzQ0AP//ADL/6APWBcgGJgD/AAABBwBqAIQAAAANtwMCQQkBAaNWACs0NAD//wCU/+gFQAbvBiYA3gAAAQcAcADsAUoAC7YCGxgBAbFWACs0AP///6r+RwPsBa0GJgBdAAABBgBwLwgAC7YCGxgBAeVWACs0AP//AJT/6AVABwoGJgDeAAABBwBqARwBQgANtwMCLgEBAYNWACs0NAD///+q/kcD7AXIBiYAXQAAAQYAal4AAA23AwIuAQEBt1YAKzQ0AP//AJT/6AVAB0EGJgDeAAABBwCmAV0BQgANtwMCGQEBAWJWACs0NAD///+q/kcEXQX/BiYAXQAAAQcApgCfAAAADbcDAhkBAQGWVgArNDQA//8AywAABToHCgYmAOEAAAEHAGoBRAFCAA23AwIvFgEBg1YAKzQ0AP//AHkAAAP1BbMGJgD5AAABBgBqausADbcDAi0DAQGiVgArNDQA//8ARP//BpcHCgYmAOUAAAEHAGoCCAFCAA23AwIyHAEBg1YAKzQ0AP//ADH//wWqBbMGJgD9AAABBwBqAWr/6wANtwMCMhwBAaJWACs0NAD//wBH/+gEdgYABgYASAAA////r/6gBIsFsAYmACUAAAEHAK0E3QAAAA60AxEFAQG4/3WwVgArNP//ADH+oAPHBFAGJgBFAAABBwCtBCoAAAAOtAI+MQEBuP+JsFYAKzT///+vAAAEiwe6BiYAJQAAAQcAqwUBAUcAC7YDDwcBAXFWACs0AP//ADH/6QPHBoMGJgBFAAABBwCrBHQAEAALtgI8DwEBnFYAKzQA////rwAABewHxAYmACUAAAEHAkcA8QEvAA23BAMSBwEBYVYAKzQ0AP//ADH/6QVeBo0GJgBFAAABBgJHY/gADbcDAkEPAQGMVgArNDQA////rwAABIsHwAYmACUAAAEHAkgA9wE9AA23BAMQBwEBXFYAKzQ0AP//ADH/6QP9BokGJgBFAAABBgJIagYADbcDAj0PAQGHVgArNDQA////rwAABWsH6wYmACUAAAEHAkkA8gEcAA23BAMTAwEBUFYAKzQ0AP//ADH/6QTeBrQGJgBFAAABBgJJZeUADbcDAkAPAQF7VgArNDQA////rwAABIsH2gYmACUAAAEHAkoA7gEGAA23BAMQBwEBOlYAKzQ0AP//ADH/6QP4BqMGJgBFAAABBgJKYc8ADbcDAj0PAQFlVgArNDQA////r/6gBIsHNwYmACUAAAAnAJ4A+QE3AQcArQTdAAAAF7QEGgUBAbj/dbdWAxEHAQFsVgArNCs0AP//ADH+oAPRBgAGJgBFAAAAJgCebAABBwCtBCoAAAAXtANHMQEBuP+Jt1YCPg8BAZdWACs0KzQA////rwAABIsHuAYmACUAAAEHAkwBFwEtAA23BAMTBwEBXFYAKzQ0AP//ADH/6QPmBoEGJgBFAAABBwJMAIr/9gANtwMCQA8BAYdWACs0NAD///+vAAAEiwe4BiYAJQAAAQcCRQEXAS0ADbcEAxMHAQFcVgArNDQA//8AMf/pA+YGgQYmAEUAAAEHAkUAiv/2AA23AwJADwEBh1YAKzQ0AP///68AAASLCEIGJgAlAAABBwJNAR4BPgANtwQDEwcBAW5WACs0NAD//wAx/+kD1wcLBiYARQAAAQcCTQCRAAcADbcDAkAPAQGZVgArNDQA////rwAABJMIFQYmACUAAAEHAmABHwFGAA23BAMTBwEBb1YAKzQ0AP//ADH/6QQGBt4GJgBFAAABBwJgAJIADwANtwMCQA8BAZpWACs0NAD///+v/qAEiwcPBiYAJQAAACcAoQEtATcBBwCtBN0AAAAXtAQgBQEBuP91t1YDEwcBAVNWACs0KzQA//8AMf6gA+sF2AYmAEUAAAAnAKEAoAAAAQcArQQqAAAAF7QDTTEBAbj/ibdWAkAPAQF+VgArNCs0AP//ADv+qgSxBbAGJgApAAABBwCtBJ0ACgAOtAQTAgEBuP9/sFYAKzT//wBF/qAD2gRRBiYASQAAAQcArQR0AAAADrQBLwABAbj/ibBWACs0//8AOwAABLEHxQYmACkAAAEHAKsEzwFSAAu2BBEHAQF8VgArNAD//wBF/+sD2gaDBiYASQAAAQcAqwRXABAAC7YBLQsBAZxWACs0AP//ADsAAASxBy0GJgApAAABBwClAM8BRgALtgQeBwEBdlYAKzQA//8ARf/rBAcF6wYmAEkAAAEGAKVXBAALtgE6CwEBllYAKzQA//8AOwAABboHzwYmACkAAAEHAkcAvwE6AA23BQQUBwEBbFYAKzQ0AP//AEX/6wVCBo0GJgBJAAABBgJHR/gADbcCATALAQGMVgArNDQA//8AOwAABLEHywYmACkAAAEHAkgAxQFIAA23BQQSBwEBZ1YAKzQ0AP//AEX/6wPhBokGJgBJAAABBgJITgYADbcCAS4LAQGHVgArNDQA//8AOwAABToH9gYmACkAAAEHAkkAwQEnAA23BQQVBwEBW1YAKzQ0AP//AEX/6wTCBrQGJgBJAAABBgJJSeUADbcCATELAQF7VgArNDQA//8AOwAABLEH5QYmACkAAAEHAkoAvQERAA23BQQSBwEBRVYAKzQ0AP//AEX/6wPcBqMGJgBJAAABBgJKRc8ADbcCAS4LAQFlVgArNDQA//8AO/6qBLEHQgYmACkAAAAnAJ4AxwFCAQcArQSdAAoAF7QFHAIBAbj/f7dWBBMHAQF3VgArNCs0AP//AEX+oAPaBgAGJgBJAAAAJgCeTwABBwCtBHQAAAAXtAI4AAEBuP+Jt1YBLwsBAZdWACs0KzQA//8ASQAAArkHxQYmAC0AAAEHAKsDhQFSAAu2AQUDAQF8VgArNAD//wAvAAACZwaBBiYAjQAAAQcAqwMzAA4AC7YBBQMBAa5WACs0AP//AA3+qQICBbAGJgAtAAABBwCtA1MACQAOtAEHAgEBuP9+sFYAKzT////w/qoB5QXGBiYATQAAAQcArQM2AAoADrQCEwIBAbj/f7BWACs0//8Ac/6gBRAFxwYmADMAAAEHAK0E8QAAAA60Ai8GAQG4/4mwVgArNP//AEb+nwQXBFEGJgBTAAABBwCtBIT//wAOtAIvEQEBuP+IsFYAKzT//wBz/+kFEAe8BiYAMwAAAQcAqwUjAUkAC7YCLREBAV9WACs0AP//AEb/6QQXBoMGJgBTAAABBwCrBGEAEAALtgItBgEBnFYAKzQA//8Ac//pBg4HxgYmADMAAAEHAkcBEwExAA23AwIwEQEBT1YAKzQ0AP//AEb/6QVMBo0GJgBTAAABBgJHUfgADbcDAjAGAQGMVgArNDQA//8Ac//pBRAHwgYmADMAAAEHAkgBGQE/AA23AwIuEQEBSlYAKzQ0AP//AEb/6QQXBokGJgBTAAABBgJIVwYADbcDAi4GAQGHVgArNDQA//8Ac//pBY0H7QYmADMAAAEHAkkBFAEeAA23AwIxEQEBPlYAKzQ0AP//AEb/6QTMBrQGJgBTAAABBgJJU+UADbcDAjEGAQF7VgArNDQA//8Ac//pBRAH3AYmADMAAAEHAkoBEQEIAA23AwIuEQEBKFYAKzQ0AP//AEb/6QQXBqMGJgBTAAABBgJKT88ADbcDAi4GAQFlVgArNDQA//8Ac/6gBRAHOQYmADMAAAAnAJ4BGwE5AQcArQTxAAAAF7QDOAYBAbj/ibdWAi8RAQFaVgArNCs0AP//AEb+nwQXBgAGJgBTAAAAJgCeWQABBwCtBIT//wAXtAM4EQEBuP+It1YCLwYBAZdWACs0KzQA//8AZv/pBhQHMQYmAJgAAAEHAHUCEAExAAu2AzocAQFHVgArNAD//wBD/+kE9QYABiYAmQAAAQcAdQFmAAAAC7YDNhABAYxWACs0AP//AGb/6QYUBzEGJgCYAAABBwBEAYQBMQALtgM8HAEBR1YAKzQA//8AQ//pBPUGAAYmAJkAAAEHAEQA2gAAAAu2AzgQAQGMVgArNAD//wBm/+kGFAe0BiYAmAAAAQcAqwUeAUEAC7YDOxwBAVdWACs0AP//AEP/6QT1BoMGJgCZAAABBwCrBHQAEAALtgM3EAEBnFYAKzQA//8AZv/pBhQHHAYmAJgAAAEHAKUBHQE1AAu2A0gcAQFRVgArNAD//wBD/+kE9QXrBiYAmQAAAQYApXMEAAu2A0QQAQGWVgArNAD//wBm/qAGFAY6BiYAmAAAAQcArQTiAAAADrQDPRABAbj/ibBWACs0//8AQ/6WBPUEsgYmAJkAAAEHAK0Edv/2AA60AzkbAQG4/3+wVgArNP//AGP+oAUcBbAGJgA5AAABBwCtBMkAAAAOtAEZBgEBuP+JsFYAKzT//wBb/qAEFAQ6BiYAWQAAAQcArQQxAAAADrQCHwsBAbj/ibBWACs0//8AY//oBRwHugYmADkAAAEHAKsE/AFHAAu2ARcAAQFxVgArNAD//wBb/+gEFAaDBiYAWQAAAQcAqwRlABAAC7YCHREBAbBWACs0AP//AGP/6QaKB0IGJgCaAAABBwB1AgoBQgALtgIgCgEBbFYAKzQA//8AW//oBUcF6wYmAJsAAAEHAHUBYP/rAAu2AyYbAQGLVgArNAD//wBj/+kGigdCBiYAmgAAAQcARAF/AUIAC7YCIgoBAWxWACs0AP//AFv/6AVHBesGJgCbAAABBwBEANX/6wALtgMoGwEBi1YAKzQA//8AY//pBooHxQYmAJoAAAEHAKsFGAFSAAu2AiEKAQF8VgArNAD//wBb/+gFRwZuBiYAmwAAAQcAqwRu//sAC7YDJxsBAZtWACs0AP//AGP/6QaKBy0GJgCaAAABBwClARcBRgALtgIuFQEBdlYAKzQA//8AW//oBUcF1gYmAJsAAAEGAKVu7wALtgM0GwEBlVYAKzQA//8AY/6XBooGAwYmAJoAAAEHAK0E4f/3AA60AiMQAQG4/4CwVgArNP//AFv+oAVHBJEGJgCbAAABBwCtBGUAAAAOtAMpFQEBuP+JsFYAKzT//wCo/qEFMwWwBiYAPQAAAQcArQSYAAEADrQBDAYBAbj/drBWACs0////qv4CA+wEOgYmAF0AAAEHAK0E2v9iAA60AiIIAAC4/7mwVgArNP//AKgAAAUzB7kGJgA9AAABBwCrBMwBRgALtgEKAgEBcFYAKzQA////qv5HA+wGgwYmAF0AAAEHAKsELAAQAAu2AhoBAQGwVgArNAD//wCoAAAFMwchBiYAPQAAAQcApQDMAToAC7YBFwgBAWpWACs0AP///6r+RwPsBesGJgBdAAABBgClKwQAC7YCJxgBAapWACs0AP//AAD+ywUSBgAEJgBIAAAAJwI2AfkCRgEHAEMAf/9jABe0BDcWAQG4/3e3VgMyCwEBg1YAKzQrNAD//wCp/pkFCQWwBiYAOAAAAQcCYQIvAAAAC7YCCwIAAJpWACs0AP//AGD+mQPpBDoGJgD2AAABBwJhAbkAAAALtgILAgAAmlYAKzQA//8Ay/6ZBToFsAYmAOEAAAEHAmEC5wAAAAu2Ah0ZAQCaVgArNAD//wB5/pkD9QQ8BiYA+QAAAQcCYQHnAAAAC7YCGwIBAJpWACs0AP//AET+mQSlBbAGJgCxAAABBwJhAOkAAAALtgEJBAAAmlYAKzQA//8ALv6ZA4QEOgYmAOwAAAEHAmEAzwAAAAu2AQkEAACaVgArNAD//wCI/lMFxQXGBiYBTAAAAQcCYQLj/7oAC7YCOgoAAGtWACs0AP//AAT+VgRJBFEGJgFNAAABBwJhAeX/vQALtgI5CQAAa1YAKzQA//8AIAAAA9oGAAYGAEwAAAACACz//wR8BbAAGAAcABpADBwbGAAACwwCcg4LCAA/MysSOS8zzDIwMUEFHgIHDgMnIRMzAwUyNjY3NiYmJyUBByE3AVoBdX/FaQwJXZW7aP3k/L3iAUpZl2IMCjVwT/5zAXQb/ZUbA18BA2K4hm6mcDgBBbD67QFEgVxRcj0DAQImmJgAAAIALP//BHwFsAAYABwAGUALHBsYAAALDAIOCwgAPzM/EjkvM8wyMDFBBR4CBw4DJyETMwMFMjY2NzYmJiclAQchNwFaAXV/xWkMCV2Vu2j95Py94gFKWZdiDAo1cE/+cwF0G/2VGwNfAQNiuIZupnA4AQWw+u0BRIFcUXI9AwECJpiYAAIAEQAABKUFsAAFAAkAFkAKBgcHBAIFAnIECAA/KzISOS8zMDFBByEDIxMBByE3BKUc/VjhvP0BVhv9lRsFsJ767gWw/ZOYmAAAAv/nAAADhAQ6AAUACQAWQAoJCAgEAgUGcgQKAD8rMhI5LzMwMUEHIQMjEwEHITcDhBz+HKG1vAGEG/2UGwQ6mfxfBDr+PJiYAAAEAFgAAAV+BbAAAwAJAA0AEQArQBUMCwsHBwYQEQYRBhECCQMCcgoCCHIAKzIrMhE5OS8vETMRMxI5ETMwMUEDIxMhASEnMwEDATcBAQchNwIR/L39BCn9EP6uAfACXML+XX8B+/5HG/2VGwWw+lAFsPzfoAKB+lACsp/8rwTOmJgABAA6AAAEMwYAAAMACQANABEALUAXBAZyDAsLBwcGEBEGEQYRAgMAcgoCCnIAKzIrETk5Ly8RMxEzEjkRMyswMUEBIwkCITczAQMBNwEDByE3Afn+9rUBCwLu/ev+6AbHAXt7/up2AWnXG/2VGwYA+gAGAP46/buaAav7xgIMm/1ZBViYmAACAKgAAAUzBbAACAAMAB1ADwwBBAcDCwsGAwgCcgYIcgArKzIROS8XOTMwMUETATMBAyMTAQEHITcBde8B7uH9c128Yf66AvIb/ZUbBbD9JgLa/Gb96gIrA4X88JiYAAAEAF7+XwQbBDoAAwAIAA0AEQAXQAsREBACBQ0GcgIOcgArKzISOS8zMDFlAyMTNwEzASMDEwcjAwEHITcCAmC1YGoBo8H9v38lkQRzywJgG/2UG4T92wIlgQM1+8YEOvy17wQ6/FKYmAAAAv/UAAAFKwWwAAsADwAfQA8PBwUBBAoDDg4JBQMAAnIAKzIvMzkvFzkSOTMwMUETATMBASMBASMJAgchNwGe/AGq5/3JAVPS/v3+S+kCRP62AwAb/ZUbBbD90wIt/Sb9KgI4/cgC6ALI/YWYmAAC/8UAAAP1BDoACwAPAB9ADw8HBQEKBAMODgkFAwAGcgArMi8zOS8XORI5MzAxQRMBMwEBIwMBIwEDAQchNwFJpwEm3/5OAQjFs/7P3QG+/wKoG/2VGwQ6/ncBif3h/eUBlf5rAi0CDf4+mJgA//8AKf/qA+AETwYGAL8AAP///9cAAASkBbAGJgAqAAABBwI2/0T+fQAOtAMOAgIAuAEIsFYAKzT//wCYAosF1gMjBgYBggAA//8AGAAABCcFxwYGABYAAP//ADX/6gQaBccGBgAXAAD//wAFAAAEHgWwBgYAGAAA//8Acv/oBGsFsAYGABkAAP//AIH/6QQGBbMEBgAaFAD//wBU/+kEPwXHBAYAHBQA//8AlP/9BBAFxwQGAB0AAP//AH7/6AQ0BcgEBgAUFAD//wB0/+sFBQdXBiYAKwAAAQcAdQH5AVcAC7YBLBABAW1WACs0AP//AAP+UQQpBgAGJgBLAAABBwB1AU0AAAALtgM/GgEBjFYAKzQA//8AOwAABXgHNwYmADIAAAEHAEQBnAE3AAu2AQwJAQFhVgArNAD//wAgAAAD2gYABiYAUgAAAQcARADSAAAAC7YCHgMBAaBWACs0AP///68AAASLByAGJgAlAAABBwCsBIABMgANtwQDDgMBAWZWACs0NAD//wAx/+kDxwXpBiYARQAAAQcArAPz//sADbcDAjwPAQGRVgArNDQA//8AOwAABLEHKwYmACkAAAEHAKwETgE9AA23BQQRBwEBcVYAKzQ0AP//AEX/6wPaBekGJgBJAAABBwCsA9f/+wANtwIBLQsBAZFWACs0NAD////gAAACigcrBiYALQAAAQcArAMFAT0ADbcCAQUDAQFxVgArNDQA////jQAAAjcF5wYmAI0AAAEHAKwCsv/5AA23AgEFAwEBo1YAKzQ0AP//AHP/6QUQByIGJgAzAAABBwCsBKIBNAANtwMCLREBAVRWACs0NAD//wBG/+kEFwXpBiYAUwAAAQcArAPg//sADbcDAi0GAQGRVgArNDQA//8AOwAABLwHIAYmADYAAAEHAKwERAEyAA23AwIfAAEBZlYAKzQ0AP//ACAAAALRBekGJgBWAAABBwCsA0r/+wANtwMCGAMBAaVWACs0NAD//wBj/+gFHAcgBiYAOQAAAQcArAR7ATIADbcCARcLAQFmVgArNDQA//8AW//oBBQF6QYmAFkAAAEHAKwD5P/7AA23AwIdEQEBpVYAKzQ0AP///7EAAAVBBj4EJgDQZAAABwCu/o7/////ADv+qgSaBbAGJgAmAAABBwCtBJcACgAOtAI0GwEBuP9/sFYAKzT//wAf/pYEAgYABiYARgAAAQcArQSF//YADrQDMwQBAbj/a7BWACs0//8AO/6qBM8FsAYmACgAAAEHAK0ElwAKAA60AiIdAQG4/3+wVgArNP//AEf+oAR2BgAGJgBIAAABBwCtBJoAAAAOtAMzFgEBuP+JsFYAKzT//wA7/gYEzwWwBiYAKAAAAQcBygEf/qgADrQCKB0BAbj/l7BWACs0//8AR/38BHYGAAYmAEgAAAEHAcoBIf6eAA60AzkWAQG4/6GwVgArNP//ADv+qgV3BbAGJgAsAAABBwCtBPkACgAOtAMPCgEBuP9/sFYAKzT//wAg/qoD2gYABiYATAAAAQcArQR/AAoADrQCHgIBAbj/f7BWACs0//8AOwAABVEHMQYmAC8AAAEHAHUBsQExAAu2Aw4DAQFbVgArNAD//wAgAAAEIwdBBiYATwAAAQcAdQF9AUEAC7YDDgMBABtWACs0AP//ADv++gVRBbAGJgAvAAABBwCtBNMAWgAOtAMRAgEBuP/PsFYAKzT//wAg/ucEGwYABiYATwAAAQcArQRQAEcADrQDEQIBAbj/vLBWACs0//8AO/6qA7EFsAYmADAAAAEHAK0EngAKAA60AgsCAQG4/3+wVgArNP////D+qgHvBgAGJgBQAAABBwCtAzYACgAOtAEHAgEBuP9/sFYAKzT//wA7/qoGtwWwBiYAMQAAAQcArQWnAAoADrQDFAYBAbj/f7BWACs0//8AHv6qBmAEUQYmAFEAAAEHAK0FqwAKAA60AzYCAQG4/3+wVgArNP//ADv+qgV4BbAGJgAyAAABBwCtBP8ACgAOtAENAgEBuP9/sFYAKzT//wAg/qoD2gRRBiYAUgAAAQcArQRnAAoADrQCHwIBAbj/f7BWACs0//8Ac//pBRAH6AYmADMAAAEHAkYFIAFUAA23AwIxEQEBWlYAKzQ0AP//ADsAAATvB0IGJgA0AAABBwB1AbUBQgALtgEYDwEBbFYAKzQA////1/5gBDgF9gYmAFQAAAEHAHUBkv/2AAu2AzADAQGWVgArNAD//wA7/qoEvAWwBiYANgAAAQcArQSVAAoADrQCIRgBAbj/f7BWACs0////7v6rAtEEVAYmAFYAAAEHAK0DNAALAA60AhoCAQG4/4CwVgArNP//ACn+nwSjBcYGJgA3AAABBwCtBKT//wAOtAE9KwEBuP+IsFYAKzT//wAu/pYDswRPBiYAVwAAAQcArQRt//YADrQBOSkBAbj/f7BWACs0//8Aqf6gBQkFsAYmADgAAAEHAK0ElwAAAA60AgsCAQG4/3WwVgArNP//AEP+oAKVBUEGJgBYAAABBwCtA/sAAAAOtAIZEQEBuP+JsFYAKzT//wBj/+gFHAfmBiYAOQAAAQcCRgT5AVIADbcCARsAAQFsVgArNDQA//8ApQAABWEHLQYmADoAAAEHAKUA4AFGAAu2AhgJAQF2VgArNAD//wBuAAAD7gXhBiYAWgAAAQYApRv6AAu2AhgJAQGgVgArNAD//wCl/qoFYQWwBiYAOgAAAQcArQTKAAoADrQCDQQBAbj/f7BWACs0//8Abv6qA+4EOgYmAFoAAAEHAK0EOAAKAA60Ag0EAQG4/3+wVgArNP//AMP+qgdBBbAGJgA7AAABBwCtBc0ACgAOtAQZEwEBuP9/sFYAKzT//wCA/qoF/gQ6BiYAWwAAAQcArQUsAAoADrQEGRMBAbj/f7BWACs0////7P6qBM4FsAYmAD4AAAEHAK0ElwAKAA60AxECAQG4/3+wVgArNP///+7+qgPPBDoGJgBeAAABBwCtBEMACgAOtAMRAgEBuP9/sFYAKzT///8M/+kFVgXWBCYAM0YAAQcBcf4Z//8ADbcDAi4RAAASVgArNDQA////pgAAA+MFGwYmAkMAAAAHAK7/qv7c////4gAABCwFHgQmAjg8AAAHAK7+v/7f/////QAABNcFGwQmAfQ8AAAHAK7+2v7c//8AAgAAAeYFHgQmAfM8AAAHAK7+3/7f//8AHv/tBFAFGwQmAe0KAAAHAK7++/7c////mgAABKEFGwQmAeM8AAAHAK7+d/7c//8AGAAABHQFGgQmAgMKAAAHAK7/Ev7b////pgAAA+MEjQYGAkMAAP//AB7//wPjBI0GBgJCAAD//wAeAAAD8ASNBgYCOAAA////3QAABA4EjQYGAeIAAP//AB4AAASbBI0GBgH0AAD//wArAAABqgSNBgYB8wAA//8AHgAABIAEjQYGAfEAAP//AB4AAAWxBI0GBgHvAAD//wAeAAAEmwSNBgYB7gAA//8ATP/tBEYEoAYGAe0AAP//AB4AAAQmBI0GBgHsAAD//wBuAAAEQgSNBgYB6AAA//8AdQAABGUEjgYGAeMAAP///7cAAARuBI0GBgHkAAD//wArAAACtQXmBiYB8wAAAQcAav9jAB4ADbcCAQ0DAQGEVgArNDQA//8AdQAABGUF5gYmAeMAAAEGAGp8HgANtwQDFwkBAYNWACs0NAD//wAeAAAD8AXmBiYCOAAAAQYAan8eAA23BQQZBwEBg1YAKzQ0AP//AB4AAAPjBh4GJgH6AAABBwB1AT0AHgALtgIIAwEBg1YAKzQA//8AEv/uA+sEngYGAekAAP//ACsAAAGqBI0GBgHzAAD//wArAAACtQXmBiYB8wAAAQcAav9jAB4ADbcCAQ0DAQGEVgArNDQA////9v/tA5cEjQYGAfIAAP//AB4AAASABh4GJgHxAAABBwB1AS0AHgALtgMOAwEBhFYAKzQA//8AWv/pBFQF9gYmAhEAAAEGAKF1HgALtgIdFwEBhFYAKzQA////pgAAA+MEjQYGAkMAAP//AB7//wPjBI0GBgJCAAD//wAeAAADzQSNBgYB+gAA//8AHgAAA/AEjQYGAjgAAP//ACAAAASiBfYGJgIOAAABBwChANQAHgALtgMRCAEBhFYAKzQA//8AHgAABbEEjQYGAe8AAP//AB4AAASbBI0GBgH0AAD//wBM/+0ERgSgBgYB7QAA//8AHgAABIYEjQYGAf8AAP//AB4AAAQmBI0GBgHsAAD//wBI/+0EMwSgBgYCQQAA//8AbgAABEIEjQYGAegAAP///7cAAARuBI0GBgHkAAAAAwAS/k8D2ASfAB4APgBCAChAEx8BAgI+PhU/NDRAMCoLcg8LFX4APzPMK8zNMxI5EjkvMxI5OTAxQSc3FzI2Njc2JiYnJgYGBwc+AxceAwcOAycXHgMHDgMnLgM3Mx4CFxY2Njc2LgInJxMDIxMCBJoVgD98WAkIQ2s2PGxPDbUJU3+YTkmQdUMFBFqKntaCRY94RgUFXZCqVE6ObDwDsgE5YT1AiGMKBx8/VS6Wi1m1WQIrAXQBIFBJQUsfAQEhSz4BVXtQJQEBIkh2VlZ5SiNGAQEeQ3BUYIVSJQIBKlJ+VkJPJAECIlRKNkkrFAEB/kf9/wIBAAAEAB7+mQSbBI0AAwAHAAsADwAdQA0DAgIGCwd9Dw4KCgYSAD8zEM4zPzMSOS8zMDFBByE3EwMjEyEDIxMTAyMTA60b/XIbfsq1ywOyy7TKo1q1WgKLmZkCAvtzBI37cwSN/A39/wIBAAIASP5VBDMEoAAnACsAGEALGRB+KCQkKioFC3IAKzIvMhEzPzMwMUE3DgInLgM3Nz4DFx4CFyMuAicmDgIHBwYeAhcWNjYHAyMTAzG0GZHXgHOjYiQMDg9bksV6e7JjBrQDMmVQV4ZeOQsOCQkvYlNWgVbdWrRZAXgBgLJaAwJcm8JoZnHJmFUDA2GyeU1tOwMCP3GQTmhDiXRJAwM2btH9/wIBAP//AHUAAARlBI4GBgHjAAD//wAu/k8FVwSfBiYCJwAAAAcCYQKZ/7b//wAgAAAEogXLBiYCDgAAAQcAcACqACYAC7YDDggBAbBWACs0AP//AFr/6QRUBcsGJgIRAAABBgBwSyYAC7YCGhcBAbBWACs0AP//AFIAAATlBI0GBgIBAAD//wAr/+0FcQSNBCYB8wAAAAcB8gHaAAD///+aAAAGAAYABiYChAAAAQcAdQKXAAAAC7YGGQ8BAU1WACs0AP////T/xgSjBh4GJgKGAAABBwB1AYIAHgALtgMwEQEBW1YAKzQA//8AEv38A+sEngYmAekAAAAHAcoA4v6e//8AlAAABikGHgYmAeUAAAEHAEQBpQAeAAu2BBgKAQFrVgArNAD//wCUAAAGKQYeBiYB5QAAAQcAdQIxAB4AC7YEFgoBAWtWACs0AP//AJQAAAYpBeYGJgHlAAABBwBqAXEAHgANtwUEHwoBAYRWACs0NAD//wB1AAAEZQYeBiYB4wAAAAcARACwAB7///+v/k4EiwWwBiYAJQAAAQcApAFmAAAAC7YDDgUBATlWACs0AP//ADH+TgPHBFAGJgBFAAABBwCkALQAAAALtgI7MQAATVYAKzQA//8AO/5YBLEFsAYmACkAAAEHAKQBJwAKAAu2BBACAABDVgArNAD//wBF/k4D2gRRBiYASQAAAQcApAD+AAAAC7YBLAAAAE1WACs0AP///6b+TgPjBI0GJgJDAAAABwCkAQsAAP//AB7+VgPwBI0GJgI4AAAABwCkANcACP////D+qgGfBDoGJgCNAAABBwCtAzYACgAOtAEHAgEBuP9/sFYAKzQAAAAAAA8AugADAAEECQAAAF4AAAADAAEECQABAAwAXgADAAEECQACAAwAagADAAEECQADABoAdgADAAEECQAEABoAdgADAAEECQAFACYAkAADAAEECQAGABoAtgADAAEECQAHAEAA0AADAAEECQAIAAwBEAADAAEECQAJACYBHAADAAEECQALABQBQgADAAEECQAMABQBQgADAAEECQANAFwBVgADAAEECQAOAFQBsgADAAEECQAZAAwAXgBDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADEAIABHAG8AbwBnAGwAZQAgAEkAbgBjAC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AUgBvAGIAbwB0AG8ASQB0AGEAbABpAGMAUgBvAGIAbwB0AG8AIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMwAuADAAMAA1ADsAIAAyADAAMgAyAFIAbwBiAG8AdABvAC0ASQB0AGEAbABp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As//8wLR//MC0//zAuH/8wLj//MC5f/zAuf/8wMJ//MDC//zAw3/8wM+//MDm//zA6j/8wPO//MD0f/zA/7/8wQB//MEHP/zBB7/8wQg//MEW//zBF3/8wRf//MEYf/zBGP/8wRl//MEZ//zBGn/8wRr//MEbf/zBG//8wRx//MEsP/zBMn/8wBAAEf/7ABI/+wASf/sAEv/7ABV/+wAlP/sAJn/7AC7/+wAyP/sAMn/7AD3/+wBA//sAR7/7AEi/+wBQv/sAWD/7AFh/+wBa//sArL/7AKz/+wCtP/sArX/7AK2/+wCzv/sAtD/7ALS/+wC1P/sAtb/7ALY/+wC2v/sAtz/7ALe/+wC4P/sAuL/7ALk/+wC5v/sAuj/7AOv/+wD1f/sA9n/7APc/+wD9//sA/3/7AQC/+wEEP/sBBL/7AQT/+wEH//sBC7/7ARI/+wESv/sBEz/7ARO/+wEUP/sBFL/7ARU/+wEVv/sBGr/7ARs/+wEbv/sBHL/7ASt/+wEuv/sBLz/7ABAACf/5gAr/+YAM//mADX/5gCD/+YAk//mAJj/5gCz/+YAuP/CAMQAEADT/+YBCP/mARf/5gEb/+YBHf/mAR//5gEh/+YBQf/mAWr/5gJV/+YCVv/mAlj/5gJZ/+YCl//mAqH/5gKi/+YCo//mAqT/5gKl/+YCzf/mAs//5gLR/+YC0//mAuH/5gLj/+YC5f/mAuf/5gMJ/+YDC//mAw3/5gM+/+YDm//mA6j/5gPO/+YD0f/mA/7/5gQB/+YEHP/mBB7/5gQg/+YEW//mBF3/5gRf/+YEYf/mBGP/5gRl/+YEZ//mBGn/5gRr/+YEbf/mBG//5gRx/+YEsP/mBMn/5gBHABAAAAASAAAAR//nAEj/5wBJ/+cAS//nAFX/5wCU/+cAmf/nALv/5wDEAA8AyP/nAMn/5wD3/+cBA//nAR7/5wEi/+cBQv/nAWD/5wFh/+cBa//nAYYAAAGKAAABjgAAAY8AAAKy/+cCs//nArT/5wK1/+cCtv/nAs7/5wLQ/+cC0v/nAtT/5wLW/+cC2P/nAtr/5wLc/+cC3v/nAuD/5wLi/+cC5P/nAub/5wLo/+cDr//nA9X/5wPZ/+cD3P/nA/f/5wP9/+cEAv/nBBD/5wQS/+cEE//nBB//5wQu/+cESP/nBEr/5wRM/+cETv/nBFD/5wRS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/+sC4P/rAuL/6wLk/+sC5v/rAuj/6wL2/vgDCv/rAwz/6wMO/+sDHwAUAyEAFAMjABQDJv/qAyj/6gMq/+oDLP/qAy7/6gMw/+oDNP/oA0P/wANE/8ADRf/AA0b/wANH/8ADSP/AA0n/wANe/8ADX//AA2D/wAOX/1YDn/9WA6//6wOz/+oDtf/rA7f/6AO6/+oDu//rA7z/6gPD/vgDx/9WA9IAFAPU/94D1f/rA9f/6wPZ/+sD2v/oA9z/6wPj/+gD6//oA/P/VgP0/94D9//rA/z/6AP9/+sEAv/rBAT/6AQJ/1YECv/eBAv/VgQM/94EEP/rBBL/6wQT/+sEHf/rBB//6wQh/+sEJf/oBCf/6AQp/+gELv/rBC//VgQw/94EMf9WBDL/3gQz/1YENP/eBDX/VgQ2/94EN/9WBDj/3gQ5/1YEOv/eBDv/VgQ8/94EPf9WBD7/3gQ//1YEQP/eBEH/VgRC/94EQ/9WBET/3gRF/1YERv/eBEj/6wRK/+sETP/rBE7/6wRQ/+sEUv/rBFT/6wRW/+sEXP/rBF7/6wRg/+sEYv/rBGT/6wRm/+sEaP/rBGr/6wRs/+sEbv/rBHD/6wRy/+sEdP/qBHb/6gR4/+oEev/qBHz/6gR+/+oEgP/qBIL/6ASE/+gEhv/oBIgAFASq/1YEq//eBK3/6wSx/+sEtf/qBLr/6wS8/+sE0AAUBNT/6ATW/+gE3P/ABOP/wAT7/8AAAgCgAAQABAAAAAYABgABAAsADAACABMAEwAEACUAKgAFACwALQALAC8ANgANADgAOAAVADoAPwAWAEUARgAcAEkASgAeAEwATAAgAE8ATwAhAFEAVAAiAFYAVgAmAFgAWAAnAFoAXQAoAF8AXwAsAIoAigAtAJYAlgAuAJ0AnQAvALEAtQAwALcAuQA1ALsAuwA4AL0AvgA5AMAAwQA7AMMAxQA9AMcAzgBAANIA0gBIANQA3gBJAOAA7wBUAPEA8QBkAPYA+ABlAPsA/ABoAP4BAABqAQMBBQBtAQoBCgBwAQ0BDQBxARgBGgByASIBIgB1AS4BMAB2ATMBNQB5ATcBNwB8ATkBOQB9ATsBOwB+AUMBRAB/AVQBVACBAVYBVgCCAVgBWACDAVwBXgCEAYQBhQCHAYcBiQCJAegB6ACMAeoB6wCNAe0B7QCPAfAB8ACQAfsB/QCRAkACQACUAkMCQwCVAlUCVQCWAlcCWACXAosCjACZAo4CjgCbApACpQCcAqoCsQCyArMCtgC6ArsCwAC+AsUCzQDEAs8CzwDNAtEC0QDOAtMC0wDPAtUC1QDQAtcC4ADRAukC6wDbAu0C7QDeAu8C7wDfAvEC8QDgAvMC8wDhAvgC+ADiAvoC+gDjAvwC/ADkAv4C/gDlAwADAADmAwIDDgDnAxADEAD0AxIDEgD1AxQDFAD2Ax8DHwD3AyEDIQD4AyMDIwD5AzEDMQD6AzMDNgD7AzgDOAD/AzoDOgEAA0ADSQEBA1QDWAELA14DYAEQA2UDZQETA3cDegEUA34DgAEYA4kDiQEbA5cDnAEcA58DrgEiA7EDsQEyA7UDtQEzA7cDtwE0A7sDuwE1A74DvwE2A8EDwgE4A8QDygE6A8wDzgFBA9AD1QFEA9cD2AFKA9oD3QFMA+MD5AFQA+YD5gFSA+gD6AFTA+oD7QFUA/AD9QFYA/cD9wFeA/sD/AFfBAEEAQFhBAMEDAFiBA8EEAFsBBIEFQFuBBwEHQFyBCEEIQF0BCMEKQF1BC8EVwF8BFkEWQGlBFsEaAGmBHAEcAG0BIEEhgG1BIgEiAG7BIwEjQG8BJAEkAG+BJIEkwG/BJUElQHBBJcElwHCBKgErAHDBK4ErgHIBLAEsQHJBLMEswHLBLcEuQHMBLsEuwHPBL0EvwHQBMEEwQHTBMMEwwHUBMUEywHVBM0EzQHcBNAE0AHdBNME1wHeBNkE2QHjBNsE3AHkBOAE4AHmBOME4wHnBO4E7gHoBPsE+wHpBQIFAgHqBQYFBgHrAAIAmgAGAAYAAAALAAsAAQAQABAAAgASABIAAwAlACkABAAsADQACQA4AD4AEgBFAEcAGQBJAEkAHABMAEwAHQBRAFQAHgBWAFYAIgBaAFoAIwBcAF4AJACKAIoAJwCWAJYAKACxALQAKQC9AL0ALQDBAMEALgDHAMcALwDUANUAMADXANcAMgDaANoAMwDcAN4ANADgAOYANwDsAOwAPgDuAO4APwD3APcAQAD8APwAQQD+AP8AQgEEAQUARAEKAQoARgENAQ0ARwEYARoASAEuATAASwEzATUATgE3ATcAUQE5ATkAUgE7ATsAUwFDAUQAVAFUAVQAVgFWAVYAVwFYAVgAWAFcAV4AWQGEAYoAXAGOAY8AYwHoAegAZQHtAe0AZgHwAfEAZwH7Af0AaQIPAg8AbAIeAiAAbQJAAkAAcAJDAkMAcQJVAlUAcgJXAlgAcwKLAowAdQKOAo4AdwKQArYAeAK7AsAAnwLFAtUApQLXAuAAtgLpAusAwALtAu0AwwLvAu8AxALxAvEAxQLzAvMAxgL2AvYAxwL4AvgAyAL6AvoAyQL8AvwAygL+Av4AywMAAwAAzAMCAw4AzQMQAxAA2gMSAxIA2wMUAxQA3AMfAx8A3QMhAyEA3gMjAyMA3wMlAyUA4AMnAycA4QMpAykA4gMrAysA4wMtAy0A5AMvAy8A5QMxAzEA5gMzAzsA5wNAA0kA8ANUA1gA+gNeA2AA/wNlA2UBAgN2A3oBAwN+A4ABCAOJA4kBCwOXA5wBDAOfA64BEgOxA7EBIgO1A7UBIwO3A7cBJAO7A7sBJQO+A78BJgPBA8oBKAPMA84BMgPQA9UBNQPXA90BOwPjA+QBQgPmA+YBRAPoA+gBRQPqA+0BRgPwA/UBSgP3A/cBUAP7A/wBUQQBBAwBUwQPBBABXwQSBBUBYQQcBB0BZQQhBCEBZwQjBCkBaAQvBFcBbwRZBFkBmARbBGgBmQRwBHABpwRzBHMBqAR1BHUBqQSBBIYBqgSIBIgBsASMBI0BsQSQBJABswSSBJMBtASVBJUBtgSXBJcBtwSoBKwBuASuBK4BvQSwBLEBvgSzBLMBwAS3BLkBwQS7BLsBxAS9BL8BxQTBBMEByATDBMMByQTFBMsBygTNBM0B0QTQBNAB0gTSBNcB0wTZBNwB2QTgBOAB3QTjBOMB3gTpBOkB3wTuBO4B4AT5BPkB4QT7BPsB4gUCBQIB4wUGBQYB5AACAXQABgAGAA8ACwALAA8AEAAQABoAEgASABoAJQAlAAIAJgAmACQAJwAnABAAKAAoAAEAKQApAAQALgAuAAgALwAvAA0AMAAwABcAMwAzAAEANAA0ACUAOAA4ABIAOQA5AAgAOgA6ABwAOwA7ABgAPAA8ABEAPQA9AAwAPgA+ABkARQBFAAMARgBGAA4ARwBHABMASQBJAAUATABMAAkAUQBSAAkAUwBTAAYAVABUAA4AVgBWABsAWgBaAAcAXABcABUAXQBdAAcAXgBeAB8AigCKAA4AlgCWAAEAsQCxABYAsgCyAAIAswCzAAEAtAC0AAIAvQC9AAcAwQDBAAkAxwDHAA4A1ADVACAA2gDaABEA3gDeACEA5ADkACAA5gDmACAA7ADsACIA7gDuABUA9wD3AA4A/AD8ACMA/gD+ACMA/wD/AA4BBAEFACMBCgEKACMBDQENAAIBGAEYAAYBGQEZABwBGgEaAAcBLgEuAA4BLwEvABYBMAEwACIBMwEzABEBNAE0ABUBNQE1AA0BNwE3AA0BOQE5AA0BQwFDABEBRAFEABUBWAFYAAEBXAFcACIBXQFdABEBXgFeABUBhAGFAA8BhgGGABoBhwGJAA8BigGKABoBjgGPABoB6AHoAB0B7QHtAAoB8AHwAB4B8QHxABQB+wH7AAsB/AH8AAoB/QH9AAsCDwIPABQCHgIgABQCQAJAAAoCQwJDAAsCVQJVABACVwJYAAECiwKMAAECjgKOABICkAKWAAIClwKXABACmAKbAAQCoQKlAAECpgKpAAgCqgKqAAwCqwKxAAMCsgKyABMCswK2AAUCuwK7AAkCvALAAAYCxQLGAAcCxwLHAAICyALIAAMCyQLJAAICygLKAAMCywLLAAICzALMAAMCzQLNABACzgLOABMCzwLPABAC0ALQABMC0QLRABAC0gLSABMC0wLTABAC1ALUABMC1QLVAAEC1wLXAAQC2ALYAAUC2QLZAAQC2gLaAAUC2wLbAAQC3ALcAAUC3QLdAAQC3gLeAAUC3wLfAAQC4ALgAAUC6gLqAAkC9gL2AAgC+AL4AA0C+gL6ABcC/AL8ABcC/gL+ABcDAAMAABcDAwMDAAkDBQMFAAkDBwMIAAkDCQMJAAEDCgMKAAYDCwMLAAEDDAMMAAYDDQMNAAEDDgMOAAYDEAMQABsDEgMSABsDFAMUABsDHwMfABIDIQMhABIDIwMjABIDJQMlAAgDJwMnAAgDKQMpAAgDKwMrAAgDLQMtAAgDLwMvAAgDMQMxABgDMwMzAAwDNAM0AAcDNQM1AAwDNgM2ABkDNwM3AB8DOAM4ABkDOQM5AB8DOgM6ABkDOwM7AB8DQANBAAoDQgNCAB0DQwNJAAsDVANYAAoDXgNgAAsDZQNlAAoDdgN2ABQDdwN6AB4DfgOAAAoDiQOJAB0DlwOXAAIDmAOYAAQDmwObAAEDnAOcAAwDnwOfAAIDoAOgACQDoQOhAAQDogOiABkDpQOlAA0DqAOoAAEDqQOpACUDqgOqABIDqwOr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AAIAAQAAAAAAAAAeACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABsAAAAPAA8AGAAPAA8ADwAYAAAAAAAAABgAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAZACQAAAAOABUAHAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAACgAFAAoAAAAAAAAAAAAAAAAAFQAFAAAAAAAVAAAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAAAVAAUAEgAZABUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAAAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIACwALAAsACwAMAAYABgAGAAYABgAGAAYAAQABAAEAAQABAAAAAAAAAAAAAwAHAAcABwAHAAcACAAIAAgACAAJAAkABAAGAAQABgAEAAYAAgABAAIAAQACAAEAAgABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAIAAQACAAEAAgABAAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAMAAgAHAAIABwACAAcAAAAAAAAAAAAAAAAAFAARABQAEQAUABEAFAARABQAEQANAAAADQAAAA0AAAALAAgACwAIAAsACAALAAgACwAIAAsACAAWAAAADAAJAAwAFwAdABcAHQAXAB0AAAAAAAIAAAAAAAAAAAAKAAoACgAKAAoACgAKAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAA4ADgAOAA4AEgAKAAoACgAFAAUABQAFAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAHAAcABwAHAAAABUAAAAOAA4ADgAOAA4ADgAkABIAEgAAAAAAAAAEAAAAAAAAAAIADAAAAAAABAAAAAAAFwAAAAAAAAAAAAAAAgAAAAAADAAQAAAADAABAAAAAwAAAAgAAAAHAAAACQAAAAAACAAHAAgAAAAAAAAAAAAAAAAAIwAAAAAAHwAEAAAAAAAAAAAAAAAAAAIAAAAAAAIADQAQAAYAAQADAAcAAwABAAkAEwABAAMAEQAAAAAAAAADAAkAFgAAABYAAAAWAAAADAAJAA8ADwAAAAAADwAAAAMABAAGAAAAAAABAAMAAAAAABoACQABAAIAAAAAAAIAAQAMAAkAAAAQABMAAAAEAAYABAAGAAAAAAAAAAEAAAABAAEAEAATAAAAAAAAAAMAAAADAAIABwACAAEAAgAHAAAAAAAfAAkAHwAJAB8ACQAgACIAAAADAAEABAAGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAIABwACAAcAAgAHAAIABwACAAcAAgAHAAIABwACAAEAAgABAAIAAQACAAcAAgABAAsACAALAAgAAAAIAAAACAAAAAgAAAAIAAAACAAMAAkADAAJAAwACQAAAA0AAAAgACIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMABAAGAAAAAQAAAAAAAgAHAAAAAAAAAAgAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwACAAAAAAAAAAAAFAARAA0AAAALABoACQAaAAkAFgAAABcAHQAAAAoAAAAAAAAABQASAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAA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BOgB/QH+Af8E7QIAAgAE7gTvAgECAgIDAgoE/AT9AgsCDAINAg4CDwIQBQAFAQUDBQYFDwISAhMCFAIVAhYCFwIYAhkCGgIbAgQCBQIGAgcCCAIJAksCHQIeAh8CIAUJAiECIwIkAiUCJwIpAocDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQOTA14DXwNgA2EDYgNjA2QDZQNmA2cDaANpA2oDawNsA20DbgNvA3ADcQNyA3MFEAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgUTA4cDiAOKA4kDiwOMA40DjgOPA5ADkQOSA5QDlQOWBREFEgTcBN0E3gTfBOkE7ATqBOsE8ATxBPIE4AThBOIE+wT+BP8FAgUEBQUCEQUHBPME9AT1BPYE9wT4BPkE+gUUBRUFFgUXBQgFCgULAigFDQIqBQ4FDAImAhwCIgUcBR0AAgcAAPoB9wKCAeEB4AHfAd4B3QHcAdsB2gHZAdgCQwJCAkECQAI4AfYB9QH0AfMB8gHxAfAB7wHuAe0B7AHrAeoB6QHoAecB5gHlAeQB4wHiAfgB+QKEAoYChQKHAoMCiAJiAfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAhACEQUPAhICEwIUAhUCFgIXAhgCGQIaAhsCSwIdAh4CHwIgBQkCIQIjAiQCJQImAicCKAIpAisCLAIuAi0DQANBA0IDQwNEA0UDRgNHA0gDSQNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0BRADdQN2A3cDeAN5A3oDewN8A30DfgN/A4ADgQOCA4MDhAOFA4YFEwOHA4gDigOJA4sDjAONA44DjwOQA5EDkgOTA5QDlQOWBREFEgTcBN0E3gTfBOAE4QTiBOME5ATlBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgCDwT5BPoE+wT8BP0E/gT/BQAFAQUCBQMFBAUFBQYFBwUUBRUFFgUXBQgFCgULBQ0CKgUOBQwCHAIiBRwFHQABAAEBewABAAEASwABAAEAuwABAAEANgABAAEAEwABAAIDGQMaAAIG5AbYAAIG5gbYAAEG7gABBvAAAQbyAAIAAQAUAB0AAAABAAIALwBPAAEAAwBJAEsCegACAAAAAQbeAAEABgLLAswC3QLeA2ADaQABAAYATQBOAvID3wPhBFoAAgADAZQBlAAAAdUB1wABAi8CNQAEAAIAAgCoAKwAAQEkAScAAQABAAwAJwAoACsAMwA1AEYARwBIAEsAUwBUAFUAAgACABQAHQAAAmUCbgAKAAIABgBNAE0ABgBOAE4ABALyAvIABQPfA98AAwPhA+EAAgRaBFoAAQACAAQAFAAdAAACdgJ2AAoCgQKBAAsEngSlAAwAAgAGABoAGgAAABwAHAABAloCXwACAmMCYwAIAmUCbgAJAnUCdQATAAEAFAAaABwCWgJbAlwCXQJeAl8CYwJ1AnYCgQSeBJ8EoAShBKIEowSkBKUAAQXeAAEF4AABBeIAAQXkAAEF5gABBegAAQXqAAEF7AABBe4AAQXwAAEF8gABBfQAAQX2AAEF+AABBfoAAgX8BgIAAgYCBggAAgYIBg4AAgYOBhQAAgYUBhoAAgYaBiAAAgYgBiYAAgYmBiwAAgYsBjIAAgYyBjgAAgY4Bj4AAwY+BkQGSgADBkgGTgZUAAMGUgZYBl4AAwZcBmIGaAADBmYGbAZyAAMGcAZ2BnwAAwZ6BoAGhgADBoQGigaQAAQGjgaUBpoGoAAEBpwGogaoBq4ABQaqBrAGtga8BsIABQa8BsIGyAbOBtQABQbOBtQG2gbgBuYABQbgBuYG7AbyBvgABQbyBvgG/gcEBwoABQcEBwoHEAcWBxwABQcWBxwHIgcoBy4ABQcoBy4HNAc6B0AABQc6B0AHRgdMB1IABgdMB1IHWAdeB2QHagAGB2IHaAduB3QHegeAAAYHeAd+B4QHigeQB5YABgeOB5QHmgegB6YHrAAGB6QHqgewB7YHvAfCAAYHugfAB8YHzAfSB9gABgfQB9YH3AfiB+gH7gAHCC4H5gfsB/IH+Af+CAQABwgmB/oIAAgGCAwIEggYAAEA6wAKAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgCFAIYAhwCJAIoAiwCNAJAAkgCUALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AQABAQECAQMBBAEFAQYBBwEwATQBNgE4AToBPAFCAUQBRgFKAU0BWgKNAo8CqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLIAsoCzALOAtAC0gLUAtYC2ALaAtwC3gLgAuIC5ALmAugC6gLsAu4C8ALyAvUC9wL5AvsC/QL/AwEDAwMFAwcDCgMMAw4DEAMSAxQDFgMYAxoDHAMeAyADIgMkAyYDKAMqAywDLgMwAzIDNAM3AzkDOwM9Az8DrwOwA7EDsgO0A7UDtgO3A7gDuQO6A7sDvAO9A9QD1QPWA9cD2APZA9oD2wPcA90D3gPfA+AD4QPiA+MD5QPnA+kD6wQABAIEBAQSBBkEHwQlBI8EkASUBJgFGQUbAAEA+gAIAAoAFAAVABYAFwAYABkAGgAbABwAHQAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AZQBnAIEAgwCEAIwAjwCRAJMAsQCyALMAtAC1ALYAtwC4ALkAugDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QEvATMBNQE3ATkBOwFBAUMBRQFJAUsBTAFYAVkBpwGtAbIBtQKLAowCjgKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgLHAskCywLNAs8C0QLTAtUC1wLZAtsC3QLfAuEC4wLlAucC6QLrAu0C7wLxAvMC9AL2AvgC+gL8Av4DAAMCAwQDBgMJAwsDDQMPAxEDEwMVAxcDGQMbAx0DHwMhAyMDJQMnAykDKwMtAy8DMQMzAzUDNgM4AzoDPAM+A5cDmAOZA5oDmwOcA50DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgO+A78DwAPBA8IDwwPEA8UDxgPHA8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA+QD5gPoA+oD/wQBBAMEGAQeBCQEjgSTBJcFGAUaAcwAAgBNAc0AAgBQAc4AAwBKAE0BzwADAEoAUAABAAEASgHLAAIASgHRAAIAWAHQAAIAWAABAAMASgBXAJUAAAABAAEAAQABAAAAAwS3AAIArQLNAAIAqQS9AAIArQTKAAIAqQS4AAIArQLOAAIAqQSnAAIAqQS+AAIArQRaAAIArQTLAAIAqQM8AAIAqQM+AAIAqQM9AAIAqQM/AAIAqQS2AAIAqQS7AAIBygS5AAIArQSmAAIAqQLnAAIBygPxAAIAqQTFAAIArQMfAAIBygTQAAIArQTVAAIArQTTAAIAqgM2AAIAqQTZAAIArQS8AAIBygS6AAIArQPyAAIAqQTGAAIArQMgAAIBygTRAAIArQTWAAIArQTUAAIAqgM3AAIAqQTaAAIArQS/AAIAqQL4AAIBygTBAAIArQL6AAIAqQL8AAIBygTDAAIArQMVAAIAqQMbAAIBygTOAAIArQPmAAIAqQTXAAIArQPkAAIAqATAAAIAqQL5AAIBygTCAAIArQL7AAIAqQL9AAIBygTEAAIArQMWAAIAqQMcAAIBygTPAAIArQPnAAIAqQTYAAIArQPlAAIAqAMPAAIAqQMRAAIBygTMAAIArQSyAAIArAMQAAIAqQMSAAIBygTNAAIArQSzAAIArAMCAAIAqQMEAAIBygTHAAIArQSoAAIAqAKgAAIAqgKqAAIAqQSBAAIArQPqAAIAqASDAAIAqwSFAAIAqgMDAAIAqQMFAAIBygTIAAIArQSpAAIAqAK7AAIAqgLFAAIAqQSCAAIArQPrAAIAqASEAAIAqwSGAAIAqgK4AAIAqQK3AAIAqARYAAIAqwLsAAIAqgSvAAIArARpAAIAqQRxAAIArQRrAAIAqARtAAIAqwRvAAIAqgRqAAIAqQRyAAIArQRsAAIAqARuAAIAqwRwAAIAqgR3AAIAqQR/AAIArQR5AAIAqAR7AAIAqwR9AAIAqgR4AAIAqQSAAAIArQR6AAIAqAR8AAIAqwR+AAIAqgKRAAIAqQQvAAIArQKQAAIAqAQxAAIAqwKTAAIAqgSqAAIArAKZAAIAqQRHAAIArQKYAAIAqARJAAIAqwRLAAIAqgSsAAIArAKdAAIAqQRZAAIArQKcAAIAqARXAAIAqwLrAAIAqgSuAAIArAKsAAIAqQQwAAIArQKrAAIAqAQyAAIAqwKuAAIAqgSrAAIArAK0AAIAqQRIAAIArQKzAAIAqARKAAIAqwRMAAIAqgStAAIArAK9AAIAqQRcAAIArQK8AAIAqAReAAIAqwK/AAIAqgSxAAIArALCAAIAqQR0AAIArQLBAAIAqAR2AAIAqwMmAAIAqgS1AAIArAKiAAIAqQRbAAIArQKhAAIAqARdAAIAqwKkAAIAqgSwAAIArAKnAAIAqQRzAAIArQKmAAIAqAR1AAIAqwMlAAIAqgS0AAIArATJAAMAqgCpBNIAAwCqAKkAAgARACUAKQAAACsALQAFAC8ANAAIADYAOwAOAD0APgAUAEUASQAWAEsATQAbAE8AVAAeAFYAWwAkAF0AXgAqAIEAgQAsAIMAgwAtAIYAhgAuAIkAiQAvAI0AjQAwAJgAmwAxANAA0AA1AAA=",
+  "Roboto-Medium.ttf": "AAEAAAARAQAABAAQR0RFRqWLoiAAAb9IAAACWEdQT1Pk1zcKAAHBoAAAZixHU1VChRYO9AACJ8wAABX2T1MvMpfnsYsAAAGYAAAAYGNtYXDOyFo6AAAWdAAABoJjdnQgO/gmfQAAL1AAAAD+ZnBnbagFhDIAABz4AAAPhmdhc3AACAAZAAG/PAAAAAxnbHlmoVpeAgAAOpAAAYGiaGVhZAatHSkAAAEcAAAANmhoZWEK9grYAAABVAAAACRobXR4JpFVzgAAAfgAABR8bG9jYSpiho0AADBQAAAKQG1heHAIzxDGAAABeAAAACBuYW1lQlx1PgABvDQAAALmcG9zdP9tAGQAAb8cAAAAIHByZXB5WM7TAAAsgAAAAs4AAQAAAAMBSOm9QH9fDzz1ABkIAAAAAADE8BEuAAAAAN8Gv236Jv3VCWEIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJbvom/j4JYQABAAAAAAAAAAAAAAAAAAAFHwABAAAFHwCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQH0AAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA4wAZAAAAAAAAAAAAf0AAAH9AAACHgCMAo4AYATTAFYEjABkBeQAZAUhAFUBVwBSAsUAgQLMACcDjAAcBHEAQgHKACICuABQAjkAhgMfAAEEjABoBIwAqgSMAFIEjABOBIwANwSMAH8EjABzBIwARASMAGcEjABdAhwAfwHrADMEEgA+BIAAjwQoAH4D5AA7By0AWwVOABEFDQCUBTkAZgU5AJQEhQCUBGgAlAVzAGsFrQCUAkQApQRyAC8FDgCUBFIAlAb/AJQFrQCUBYMAZQUbAJQFgwBgBQkAlATYAEsE4AAtBTwAgAUqABEHCwAvBQ0AJgTjAAgE0wBQAiwAhQNVABICLAALA24ANgOVAAICkAA4BFAAVgR/AH0ELQBOBIIAUARJAFEC0wArBIkAUgRyAHoCCgB8AgL/qwQsAH0CCgCMBvgAfAR0AHoEigBOBH8AfQSHAFAC1AB9BB4ASQKqAAoEcwB3A/gAFgXwACMEBgAfA+sADAQGAFECqwA4Af0ArwKrABwFTQB1Ah8AhQSCAGcEtQBfBZ4AXARAAA0B+ACJBPkAXAOSAGMGSQBaA5AAjgPjAFcEawB/BkoAWQPaAJ0DDwCBBEoAXAL1AD0C9QA3ApQAbwTBAJMD6gBJAkQAkAITAGwC9QCCA6cAeQPjAF4FygBfBiIAUwZcAGYD5QBGB37//ARCAEwFgQBpBM8AlQTrAIoGwgBIBKQAaASRAEMEhgBOBJEAgQTsAFAFsAAfAhcAkASaAI0EZAAgAlIAIAWXAJAEhgB9B7AAZQc+AFkCBwCJBY0AVQLQ/94FkQBbBJ0ATQWjAIAE5gB3AiX/rgQ5AFcD3gCQA6oAbgPaAJ0DfgB1AgoAgQKqAHgCTAApA84AdwMoAEsCcwCJAAD8kwAA/WIAAPx0AAD9OgAA/AgAAP0eAmsAzQQ7AG4CRACQBHQAmQXCABoFegBcBTUAIASMAGoFrgCZBIwARwX5AEwFsQBGBVkAbASEAFYEyACXBA0AHgSGAFEEZQBiBA8AWQSGAH0EpwB2AqUAowRoABUEGgBnBPwAMASGAIAEMwBQBI4AUAQqADwEXQB/BdEARgXMAFIGlABlBLQAeASH/+EGeQArBf0AJAVTAGcIgQAtCIwAmQZRAC0FpQCPBQcAkAX9ACYHqQAVBNsASQWmAJIFqAAsBQsAMgZfAE4F+ACOBYUAkQeaAJUH+gCVBiEAFQbwAJkFAgCQBUgAYwdiAKEE6AAXBIAAWgSLAI8DWwCDBPIAJwaHACAEFwBOBJIAhARsAI8ElAAgBgIAjwSRAIQEkgCEA/oAIwXUAFMEzwCEBGUAYAaNAIQG8QB9BSEAIAZvAI8EaQCPBDkAUAaCAJIEcAAuBHL/1wQ5AFIG1gAdBuQAhASG/+gEkgCEB1gAiAZqAHIEaP/hBygAmAYCAIYFFgAaBGMACwdLAKwGPQCaBuUAfgXdAIEJKgClB+4AkAQgACgD9QAyBXoAYASIAE0FGAAQBA0AHgV6AGAEhgBOB1QAiAZWAHUHWACIBmoAcgUQAGcERwBdBPsAcAAA/HAAAPx1AAD9gQAA/aYAAPomAAD6UQYgAJIFEwCEBGj/4QUQAJQEhgB9BGsAjwOjAH0E6gCZBCQAfQgjABUG4AAgBckAmQT7AI8FLgCRBKwAjQaUADQFoAA8BiAAlAUHAIQH3QCUBa0AfQhJAJcG7wB9BjcAZwUEAGAFOQAmBEEAHwcoACkFbwAnBfIAkQTcAGAFcACBBHQAdQWFAIkGGwAKBMT/ywUgAJEEeACNBh8ALAUUACAFrQCZBIYAfQYqAJQFEQCEB3UAlAZ0AI8FjQBVBKMAWwSkAF0EwwAsA6oAJAVpACYEcQAfBPkATwbzAGgG2wBfBlEAPQUoAC8EgwBKBEgAcwe8AEIGpAA/B/UAlAaeAHQFBgBcBC8AVQWoACEFHQBEBU4AfQZGACwFOwAgAxsAZAQUAAAIKQAABBQAAAgpAAACuQAAAgoAAAFcAAAEfwAAAjAAAAGiAAABAAAAANEAAAAAAAACtwBQArcAUAUjAJwGKgB7A5oACAG/AGUBugA3Ac4ANQGjAEsDCwBtAxMAQwMAADUEWwA/BJoAXQLMAIoD/QCNBaoAjQHPAF4HrgBQAnQAbAJpAFUDmQArAvUATAL1ADYC9QBQAvUATgL1ADcC9QBLAvUARwNcAGcC9QBMAvUAggL1AD0C9QA3AvUANgL1AFAC9QBOAvUANwL1AEsC9QBHBLUAYgZuACMGvwCZCJUAlAY7ACMGmwB9BIwAXAXqACMELQAqBJsAJAViAE8FfgArBeQAbgPjAEUIKQCQBQgAbwUUAJYGNwBcBt4AVgbQAF4GrABcBJMAYQWKAKYE3gA/BIAAnASdADsIUgBhAjL/pwSRAGUEgACPBBIAPQQoAH0EDgAlAlEAnAKOAGQB6QBHBRkAKwStABoEvQArBygAKwcoACsFDwArBrcASQAAAAAIMABZCDUAXAL1AD0C9QCCAvUATAQdAE8EHQBXBB0AOAQdAF8EHQBmBB0AMwQdAD0EHQBDBB0AmAQdAFgEKwBBBD4ABgRcABMGCQAnBHkACASIAGkEPwAlBDcAPwRkAHUEvQBNBGsAdgS9AE4E3AB2BgUAdgO3AHYEXgB2A9YAJgH+AIYE3QB2BKcAVgPIAHYENwA/BGgAOgOlAAoDvAB2BHkACAS9AE4EeQAIA50ARgTZAHYEHgBEBaYATwVYAE8E4ABeBZIAIwSAAE8HVgAkB1gAdgWZACUE2AB2BHIAdgVeACcGRQAbBEYAQwTiAHYEXQB2BMsAJARMAB8FYgB2BI0AQwaEAHYHDgB2BWEACQYWAHYEZwB2BIAAPQaPAHYEhABCBCgACwajABsEoAB2BQ0AdgV0ACEF+ABOBFYABgTEABMGlwAjBI0AQwSNAHYGAAAOBM4ATQRHAEMEvQBOBGgAOgP0AEUILQB2BPQAKAL1ADcC9QA2AvUAUAL1AE4C9QA3AvUASwL1AEcDtgCNAq4AmAPgAHYEOgAMBLYAVgVBAJkFKACZBDAAgQU1AJkEKACBBHoAdgSAAE8EYAB2BJoACAH+AJADoQB1AAD8ngP3AHoD+v9RBAsAeQP6AHkDvAB2A50AdQOdAHUC9QBMAvUANgL1AFAC9QBOAvUANwL1AEsC9QBHBXMAaQWeAGkFfwCZBdkAaQXaAGkEKACWBIIAawRYAA8EuwA0BGsAZwQuAEIDoQB2AboAYgaYAE4ErwBuAgz/pwSMADgEjABoBIwALASMAGIEjABfBIwANASMAGwEjABZBIwAZwSMAOYCJv+uAiX/rgIXAJACF//6AhcAkARgAHYE5gBgBDAAOQSIAH0EPgBPBJUATgSRAE4EnQBJBJIAfQSaAE4ESQBRBIkAUARZADQDrQBhBQwAXwPEAAUGRv/sBAcAdgS9AE4FDgA0BNwAdgH9AAACuABQBVcAFwVXABcEkP/1BOAALQKq/+sFTgARBU4AEQVOABEFTgARBU4AEQVOABEFTgARBTkAZgSFAJQEhQCUBIUAlASFAJQCRP/LAkQApQJE/8oCRP++Ba0AlAWDAGUFgwBlBYMAZQWDAGUFgwBlBTwAgAU8AIAFPACABTwAgATjAAgEUABWBFAAVgRQAFYEUABWBFAAVgRQAFYEUABWBC0ATgRJAFEESQBRBEkAUQRJAFECF/+1AhcAkAIX/7MCF/+oBHQAegSKAE4EigBOBIoATgSKAE4EigBOBHMAdwRzAHcEcwB3BHMAdwPrAAwD6wAMBU4AEQRQAFYFTgARBFAAVgVOABEEUABWBTkAZgQtAE4FOQBmBC0ATgU5AGYELQBOBTkAZgQtAE4FOQCUBRgAUASFAJQESQBRBIUAlARJAFEEhQCUBEkAUQSFAJQESQBRBIUAlARJAFEFcwBrBIkAUgVzAGsEiQBSBXMAawSJAFIFcwBrBIkAUgWtAJQEcgB6AkT/tAIX/50CRP/RAhf/uwJE/90CF//GAkQAGAIK//8CRACfBrUApQQLAHwEcgAvAiX/rgUOAJQELAB9BFIAlAIKAIwEUgCUAgoAWQRSAJQCoACMBFIAlALmAIwFrQCUBHQAegWtAJQEdAB6Ba0AlAR0AHoEdP+jBYMAZQSKAE4FgwBlBIoATgWDAGUEigBOBQkAlALUAH0FCQCUAtQAUgUJAJQC1AA3BNgASwQeAEkE2ABLBB4ASQTYAEsEHgBJBNgASwQeAEkE2ABLBB4ASQTgAC0CqgAKBOAALQKqAAoE4AAtAtIACgU8AIAEcwB3BTwAgARzAHcFPACABHMAdwU8AIAEcwB3BTwAgARzAHcFPACABHMAdwcLAC8F8AAjBOMACAPrAAwE4wAIBNMAUAQGAFEE0wBQBAYAUQTTAFAEBgBRB37//AbCAEgFgQBpBIYATgR6/6UEev+lBD8AJQSaAAgEmgAIBJoACASaAAgEmgAIBJoACASaAAgEgABPA+AAdgPgAHYD4AB2A+AAdgH+/6kB/gCGAf7/pwH+/5wE3AB2BL0ATgS9AE4EvQBOBL0ATgS9AE4EiABpBIgAaQSIAGkEiABpBD4ABgSaAAgEmgAIBJoACASAAE8EgABPBIAATwSAAE8EegBhA+AAdgPgAHYD4AB2A+AAdgPgAHYEpwBWBKcAVgSnAFYEpwBWBN0AdgH+/5EB/v+vAf7/ugH+ABcB/gB9A9YAJgReAHYDtwB2A7cAdgO3AHYDtwB2BNwAdgTcAHYE3AB2BL0ATgS9AE4EvQBOBGQAdQRkAHUEZAB1BDcAPwQ3AD8ENwA/BDcAPwQ/ACUEPwAlBD8AJQSIAGkEiABpBIgAaQSIAGkEiABpBIgAaQYJACcEPgAGBD4ABgQrAEEEKwBBBCsAQQVOABEE6f9CBhH/SgKo/04Fl/+0BUf/QQVt/8ICpf+FBU4AEQUNAJQEhQCUBNMAUAWtAJQCRAClBQ4AlAb/AJQFrQCUBYMAZQUbAJQE4AAtBOMACAUNACYCRP++BOMACASEAFYEZQBiBIYAfQKlAKMEXQB/BJoAjQSKAE4EwQCTA/gAFgRZADQCpf/DBF0AfwSKAE4EXQB/BpQAZQSFAJQEdACZBNgASwJEAKUCRP++BHIALwUoAJkFDgCUBQsAMgVOABEFDQCUBHQAmQSFAJQFpgCSBv8AlAWtAJQFgwBlBa4AmQUbAJQFOQBmBOAALQUNACYEUABWBEkAUQSSAIQEigBOBH8AfQQtAE4D6wAMBAYAHwRJAFEDWwCDBB4ASQIKAHwCF/+oAgL/qwRsAI8D6wAMBwsALwXwACMHCwAv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FgoBAWtWACs0AP//ACcAAAXlBesGJgHlAAABBwBqATsAHgANtwUEHwoBAYRWACs0NAD//wAGAAAEOAYeBiYB4wAAAAcARACKAB7//wAR/lcFPwWwBiYAJQAAAQcApAGAAAMAC7YDDgUBATlWACs0AP//AFb+XAP5BE4GJgBFAAABBwCkALQACAALtgI7MQAATVYAKzQA//8AlP5eBE0FsAYmACkAAAEHAKQBQgAKAAu2BBACAABDVgArNAD//wBR/lQECgROBiYASQAAAQcApAEFAAAAC7YBLAAAAE1WACs0AP//AAj+VASRBI0GJgJDAAAABwCkASIAAP//AHb+XAO2BI0GJgI4AAAABwCkAPEACP//AHj+oQGLBDoGJgCNAAABBwCtA1oACgAOtAEHAgEBuP9/sFYAKzQAAAAAABEA0gADAAEECQAAAF4AAAADAAEECQABABoAXgADAAEECQACAA4AeAADAAEECQADABoAXgADAAEECQAEABoAXgADAAEECQAFACYAhgADAAEECQAGABoArAADAAEECQAHAEAAxgADAAEECQAIAAwBBgADAAEECQAJACYBEgADAAEECQALABQBOAADAAEECQAMABQBOAADAAEECQANAFwBTAADAAEECQAOAFQBqAADAAEECQAQAAwB/AADAAEECQARAAwCCAADAAEECQAZAAwB/ABDAG8AcAB5AHIAaQBnAGgAdAAgADIAMAAxADEAIABHAG8AbwBnAGwAZQAgAEkAbgBjAC4AIABBAGwAbAAgAFIAaQBnAGgAdABzACAAUgBlAHMAZQByAHYAZQBkAC4AUgBvAGIAbwB0AG8AIABNAGUAZABpAHUAbQBSAGUAZwB1AGwAYQByAFYAZQByAHMAaQBvAG4AIAAzAC4AMAAwADUAOwAgADIAMAAyADIAUgBvAGIAbwB0AG8ALQBNAGUAZABpAHUAbQBSAG8AYgBvAHQAbwAgAGkAcwAgAGEAIAB0AHIAYQBkAGUAbQBhAHIAawAgAG8AZgAgAEcAbwBvAGcAbABlAC4ARwBvAG8AZwBsAGUAQwBoAHIAaQBzAHQAaQBhAG4AIABSAG8AYgBlAHIAdABzAG8AbgBHAG8AbwBnAGwAZQAuAGMAbwBtAEwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAAQQBwAGEAYwBoAGUAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMgAuADAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGEAcABhAGMAaABlAC4AbwByAGcALwBsAGkAYwBlAG4AcwBlAHMALwBMAEkAQwBFAE4AUwBFAC0AMgAuADAAUgBvAGIAbwB0AG8ATQBlAGQAaQB1AG0AAAADAAAAAAAA/2oAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgAIAAj//wAPAAEAAgAOAAAAAAAAAigAAgBZACUAPgABAEQAXgABAGoAagABAHAAcAABAHUAdQABAIEAgQABAIMAgwABAIYAhgABAIkAiQABAIsAlgABAJgAnwABAKEAowABAKUApgABAKgArQADALEAsQABALoAuwABAL8AvwABAMEAwQABAMMAxAABAMcAxwABAMsAywABAM0AzgABANAA0QABANMA0wABANoA3gABAOEA4QABAOUA5QABAOcA6QABAOsA+wABAP0A/QABAP8BAQABAQMBAwABAQgBCQABARYBGgABARwBHAABASABIgABASQBJwADASoBKwABATMBNAABATYBNgABATsBPAABAUEBRAABAUcBSAABAUsBTQABAVEBUQABAVQBWAABAV0BXgABAWIBYgABAWQBZAABAWgBaAABAWoBbAABAW4BbgABAXABcAABAcsB0QACAeIB9gABAfoB+gABAgMCAwABAgUCBQABAgwCDgABAhACEQABAhMCEwABAhcCFwABAhkCGwABAiECIQABAiYCKAABAioCKgABAjgCOAABAjsCOwABAj0CPQABAkACQwABAm8CcwABAoMCiAABAosC8wABAvYDtQABA7cDtwABA7kDwwABA8UDzgABA9AD6wABA+8D7wABA/ED+AABA/oD/AABA/8EAwABBAUEkAABBJMElAABBJYElwABBJkEnAABBKYFAgABBQQFDgABBREFHgABAAEAAwAAABAAAAAWAAAAIAABAAEArQACAAEAqACsAAAAAgACAKgArAAAASQBJwAFAAEAAAAeABAACgACAC4ANgACY3BzcAA6a2VybgBAAARERkxUADhjeXJsADhncmVrADhsYXRuADgAAQAAAAEAIgACAAgAAgAuBBAAAAABAAAAAAABAAEADgAAAAEPAgAFACQASAAA//8AAgAAAAEAAUuMAAQAAAHsE9wRBBEEF7QQ5hdaEVQRkhJkEXZH7hKkEqQVxBG2EqQSpBJkEsYgkBlQH8YRpBHMFwAY3hHiFO4SghIsEUAp5BEiJsIRXhFeEw4SLBGEGHgSRhH4EQoSRhU0EiwSZBnGHwAXWhJkF1olxCfEIwodmBDsEkYRLD54EV438iTSKMYSEhDyEPhBYhD+FHYUChpIOeQtpjRCLFgSpDDqPBYXACFeEqQSpBV6EqQSpBKkMpQa0hKkE7IeOhx0GBYj7B0GEUoiNBEKEzQ2GERgEiwUsCsaG1wS6BIsG+YTXhaqFEAS6BdaEw4RpBJGE4gSLB8AEUoXABEKFcQVxBXEEqQXABEKEqQSpBJkEUoXABEKEQQvSBEEEQQRBBEcFg4WXBEWETYREBEWERARaBEQEZISZBJkEmQSZB/GF1oXWhdaF1oXWhdaF1oRkhF2EXYRdhF2EqQSpBKkEqQSpBJkEmQSZBJkEmQY3hKCEoISghKCEoISghKCEUARQBFAEUARXhMOEw4TDhMOEw4SRhJGF1oSghdaEoIXWhKCEZIRkhGSEZISZBF2EUARdhFAEXYRQBF2EUARdhFAEqQRXhKkEqQSpBKkEqQVxBG2EbYRthG2EqQRXhKkEV4SpBFeEV4SZBMOEmQTDhJkEw4RhBGEEYQfxh/GH8YRzBjeEkYY3hHiEeIR4hEWERYRHBEQERAREBEQERAREBEQERYRFhEWERYRFhEQERAREBEWETYRNhE2ETYRFhEWERYRHBdaEXYSpBKkEmQY3hdaEVQRdhHiEqQSpBXEEqQSpBJkEsYfxhjeFwASpBjeEV4TDhJGEw4Rdh8AEqQSpBXEFcQVehdaEVQfABF2EqQSpBJkEsYRkh/GFwASghFAEw4SLBJGEQoRQBFKEkYRzBHMEcwY3hJGEQQRBBEEEqQRXhdaEoIRdhFAEaQSRhGSGN4SRhKkFwARChKkF1oSghdaEoIRdhFAEUARQBcAEQoSZBMOEw4SLBV6EkYVehJGFXoSRhdaEoIXWhKCF1oSghdaEoIXWhKCF1oSghdaEoIXWhKCF1oSghdaEoIXWhKCF1oSghF2EUARdhFAEXYRQBF2EUARdhFAEXYRQBF2EUARdhFAEqQSpBJkEw4SZBMOEmQTDhJkEw4SZBMOEmQTDhJkEw4TDhje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BGX/8wRn//MEaf/zBGv/8wRt//MEb//zBHH/8wSw//MEyf/zAEAAR//sAEj/7ABJ/+wAS//sAFX/7ACU/+wAmf/sALv/7ADI/+wAyf/sAPf/7AED/+wBHv/sASL/7AFC/+wBYP/sAWH/7AFr/+wCsv/sArP/7AK0/+wCtf/sArb/7ALO/+wC0P/sAtL/7ALU/+wC1v/sAtj/7ALa/+wC3P/sAt7/7ALg/+wC4v/sAuT/7ALm/+wC6P/sA6//7APV/+wD2f/sA9z/7AP3/+wD/f/sBAL/7AQQ/+wEEv/sBBP/7AQf/+wELv/sBEj/7ARK/+wETP/sBE7/7ARQ/+wEUv/sBFT/7ARW/+wEav/sBGz/7ARu/+wEcv/sBK3/7AS6/+wEvP/sAEAAJ//mACv/5gAz/+YANf/mAIP/5gCT/+YAmP/mALP/5gC4/8IAxAAQANP/5gEI/+YBF//mARv/5gEd/+YBH//mASH/5gFB/+YBav/mAlX/5gJW/+YCWP/mAln/5gKX/+YCof/mAqL/5gKj/+YCpP/mAqX/5gLN/+YCz//mAtH/5gLT/+YC4f/mAuP/5gLl/+YC5//mAwn/5gML/+YDDf/mAz7/5gOb/+YDqP/mA87/5gPR/+YD/v/mBAH/5gQc/+YEHv/mBCD/5gRb/+YEXf/mBF//5gRh/+YEY//mBGX/5gRn/+YEaf/mBGv/5gRt/+YEb//mBHH/5gSw/+YEyf/mAEcAEAAEABIABABH/+cASP/nAEn/5wBL/+cAVf/nAJT/5wCZ/+cAu//nAMQADwDI/+cAyf/nAPf/5wED/+cBHv/nASL/5wFC/+cBYP/nAWH/5wFr/+cBhgAEAYoABAGOAAQBjwAEArL/5wKz/+cCtP/nArX/5wK2/+cCzv/nAtD/5wLS/+cC1P/nAtb/5wLY/+cC2v/nAtz/5wLe/+cC4P/nAuL/5wLk/+cC5v/nAuj/5wOv/+cD1f/nA9n/5wPc/+cD9//nA/3/5wQC/+cEEP/nBBL/5wQT/+cEH//nBC7/5wRI/+cESv/nBEz/5wRO/+cEUP/nBFL/5wRU/+cEVv/nBGr/5wRs/+cEbv/nBHL/5wSt/+cEuv/nBLz/5wBNAAYAEAALABAADQAUAEEAEgBH/+gASP/oAEn/6ABL/+gAVf/oAGEAEwCU/+gAmf/oALv/6ADI/+gAyf/oAPf/6AED/+gBHv/oASL/6AFC/+gBYP/oAWH/6AFr/+gBhAAQAYUAEAGHABABiAAQAYkAEAKy/+gCs//oArT/6AK1/+gCtv/oAs7/6ALQ/+gC0v/oAtT/6ALW/+gC2P/oAtr/6ALc/+gC3v/oAuD/6ALi/+gC5P/oAub/6ALo/+gDr//oA9X/6APZ/+gD3P/oA+wAEAPtABAD8AAQA/f/6AP9/+gEAv/oBBD/6AQS/+gEE//oBB//6AQu/+gESP/oBEr/6ARM/+gETv/oBFD/6ARS/+gEVP/oBFb/6ARq/+gEbP/oBG7/6ARy/+gErf/oBLr/6AS8/+gATwBHAAEASAABAEkAAQBLAAEAVQABAJQAAQCZAAEAuwABAMgAAQDJAAEA7QArAPIAFAD2/+MA9wABAPn/8AD8/+YA/v/1AQMAAQEEABQBHgABASIAAQE6/9MBQgABAUj/8AFK/98BUQAUAWAAAQFhAAEBawABAW3/4wFwABQCsgABArMAAQK0AAECtQABArYAAQLOAAEC0AABAtIAAQLUAAEC1gABAtgAAQLaAAEC3AABAt4AAQLgAAEC4gABAuQAAQLmAAEC6AABA68AAQPVAAED2QABA9wAAQP3AAED/QABBAIAAQQQAAEEEgABBBMAAQQfAAEEK//wBC4AAQRIAAEESgABBEwAAQROAAEEUAABBFIAAQRUAAEEVgABBGoAAQRsAAEEbgABBHIAAQSL//AErQABBLoAAQS8AAEAUwA4/74AUf/1AFL/9QBU//UAWv/vAF3/7wC9/+8Awf/1ANL/vgDW/74A5v/JAOz/9QDw//UA8f/1APP/9QD0//UA9f/1APb/3wD4//UA+v/1APv/9QD+//UBAP/1AQX/9QEJ/+0BGv/vASD/6wEr//UBNv/1ATn/vgE6/98BPP/1AT7/9QFF/74BTP/pAVP/9QFV//UBV//1AVz/9QFj//UBbf/gArv/9QLF/+8Cxv/vAwP/9QMF//UDB//1Awj/9QMf/74DIf++AyP/vgM0/+8Dsf/1A7f/7wPS/74D1v/1A9j/9QPa/+8D3f/1A+L/9QPj/+8D6//vA/L/9QP4//UD/P/vBAT/7wQZ//UEG//1BCX/7wQn/+8EKf/vBC3/9QSC/+8EhP/vBIb/7wSI/74Ejf/1BKn/9QTG//UEyP/1BND/vgTU/+8E1v/vAGgAOP8zADr/yAA8//AAPf+sAFH/7wBS/+8AVP/vAMH/7wDS/zMA1P/1ANb/MwDa//AA3f/1AN7/6wDh/+YA5v/CAOz/7wDw/+8A8f/vAPP/7wD0/+8A9f/vAPb/zgD4/+8A+v/vAPv/7wD+/+8BAP/vAQX/7wEZ/8gBK//vATP/8AE2/+8BOf8zATr/zQE8/+8BPv/vAUP/8AFF/zMBR//mAUn/5gFM/98BUP/1AVP/7wFV/+8BV//vAVz/7wFd//ABYv/QAWT/6wFm//UBbP+fAW3/0AFv//UCqv+sArv/7wMD/+8DBf/vAwf/7wMI/+8DH/8zAyH/MwMj/zMDM/+sAzX/rAOc/6wDq/+sA6z/8AOu/6wDsf/vA8b/6wPS/zMD0//wA9b/7wPY/+8D3f/vA+L/7wPq/6wD8v/vA/j/7wP7/8gEA/+sBAb/8AQU//AEGf/vBBv/7wQk/+sEJv/rBCj/6wQq/+YELf/vBIH/rASD/6wEhf+sBIj/MwSK/+YEjf/vBJf/rASp/+8Exv/vBMj/7wTQ/zME0//IBNX/yABoAEf/tABI/7QASf+0AEv/tABMABQATwAUAFAAFABT/3oAVf+0AFf/ZABbAAsAlP+0AJn/tAC7/7QAyP+0AMn/tAD3/7QBA/+0ARj/egEe/7QBIv+0AUL/tAFg/7QBYf+0AWv/tAHR/2QCsv+0ArP/tAK0/7QCtf+0Arb/tAK8/3oCvf96Ar7/egK//3oCwP96As7/tALQ/7QC0v+0AtT/tALW/7QC2P+0Atr/tALc/7QC3v+0AuD/tALi/7QC5P+0Aub/tALo/7QDCv96Awz/egMO/3oDFv9kAxj/ZAMa/2QDHP9kAx7/ZAOv/7QDtf96A7v/egPV/7QD1/96A9n/tAPc/7QD3v9kA/f/tAP9/7QEAv+0BBD/tAQS/7QEE/+0BB3/egQf/7QEIf96BC7/tARI/7QESv+0BEz/tARO/7QEUP+0BFL/tARU/7QEVv+0BFz/egRe/3oEYP96BGL/egRk/3oEZv96BGj/egRq/7QEbP+0BG7/tARw/3oEcv+0BK3/tASx/3oEuv+0BLz/tAS+ABQEwAAUBMIAFATP/2QAagA4/+YAOv/nADz/8gA9/+cAUf/xAFL/8QBU//EAXP/xAMH/8QDS/+YA1v/mANr/8gDe/+4A4f/oAOb/5gDs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ASL/3AEr/+EBNv/hATz/4QE+/+EBQv/cAVP/4QFV/+EBV//hAVz/4QFg/9wBYf/cAWv/3AKy/9wCs//cArT/3AK1/9wCtv/cArv/4QK8/9YCvf/WAr7/1gK//9YCwP/WAsH/3QLC/90Cw//dAsT/3QLF/+ECxv/hAs7/3ALQ/9wC0v/cAtT/3ALW/9wC2P/cAtr/3ALc/9wC3v/cAuD/3ALi/9wC5P/cAub/3ALo/9wDA//hAwX/4QMH/+EDCP/hAwr/1gMM/9YDDv/WAyb/3QMo/90DKv/dAyz/3QMu/90DMP/dAzT/4QOv/9wDsf/hA7P/3QO1/9YDt//hA7r/3QO7/9YDvP/dA9X/3APW/+ED1//WA9j/4QPZ/9wD2v/hA9z/3APd/+ED4v/hA+P/4QPr/+ED8v/hA/f/3AP4/+ED/P/hA/3/3AQC/9wEBP/hBBD/3AQS/9wEE//cBBn/4QQb/+EEHf/WBB//3AQh/9YEJf/hBCf/4QQp/+EELf/hBC7/3ARI/9wESv/cBEz/3ARO/9wEUP/cBFL/3ARU/9wEVv/cBFz/1gRe/9YEYP/WBGL/1gRk/9YEZv/WBGj/1gRq/9wEbP/cBG7/3ARw/9YEcv/cBHT/3QR2/90EeP/dBHr/3QR8/90Efv/dBID/3QSC/+EEhP/hBIb/4QSN/+EEqf/hBK3/3ASx/9YEtf/dBLr/3AS8/9wExv/hBMj/4QTU/+EE1v/hAL8ABgAMAAsADABH/+gASP/oAEn/6ABKAAwAS//oAFP/6gBV/+gAWgALAF0ACwCU/+gAmf/oALv/6AC9AAsAvv/0AMT/1wDGAAsAyP/oAMn/6ADKAAwA9//oAQP/6AEY/+oBGgALAR7/6AEi/+gBQv/oAWD/6AFh/+gBa//oAYQADAGFAAwBhwAMAYgADAGJAAwB4wANAeYADQHoAA4B6f/1Aev/7AHt/+0B9f/sAfv/vwH8/+0B/f+/AgQADgIF/+0CCAAOAiAADgIh/+0CIgANAiQADgIq/+0CQf/uAkP/vwKy/+gCs//oArT/6AK1/+gCtv/oArz/6gK9/+oCvv/qAr//6gLA/+oCxQALAsYACwLO/+gC0P/oAtL/6ALU/+gC1v/oAtj/6ALa/+gC3P/oAt7/6ALg/+gC4v/oAuT/6ALm/+gC6P/oAwr/6gMM/+oDDv/qAzQACwND/78DRP+/A0X/vwNG/78DR/+/A0j/vwNJ/78DSv/tA1T/7QNV/+0DVv/tA1f/7QNY/+0DXQANA17/vwNf/78DYP+/A2H/7QNi/+0DY//tA2T/7QNr/+0DbP/tA23/7QNu/+0Dfv/tA3//7QOA/+0DhP/1A4X/9QOG//UDh//1A4kADgOSAA0DkwANA6//6AO1/+oDtwALA7v/6gPV/+gD1//qA9n/6APaAAsD3P/oA+MACwPrAAsD7AAMA+0ADAPwAAwD9//oA/wACwP9/+gEAv/oBAQACwQQ/+gEEv/oBBP/6AQd/+oEH//oBCH/6gQlAAsEJwALBCkACwQu/+gESP/oBEr/6ARM/+gETv/oBFD/6ARS/+gEVP/oBFb/6ARc/+oEXv/qBGD/6gRi/+oEZP/qBGb/6gRo/+oEav/oBGz/6ARu/+gEcP/qBHL/6ASCAAsEhAALBIYACwSt/+gEsf/qBLr/6AS8/+gE1AALBNYACwTc/78E4P/tBOEADQTj/78E7wANBPIADQT7/78FAv/tBQX/7QUGAA4FCv/tBQsADQDjAAYADQALAA0ARf/wAEf/tgBI/7YASf+2AEoADQBL/7YAU//aAFX/tgBaAAsAXQALAJT/tgCZ/7YAu/+2AL0ACwC+/80Ax/+7AMj/wADJ/7YAzP/VAO3/tQDy/74A9/+2AQP/tgEE/74BGP/aARoACwEc/+YBHv+2ASAADAEi/7YBQv+2AVH/vgFg/7YBYf+2AWMACwFlAAsBa/+2AXD/vgGEAA0BhQANAYcADQGIAA0BiQANAeMADQHmAA0B6AAOAen/9QHr/+wB7f/tAfX/7AH7/78B/P/tAf3/vwIEAA4CBf/tAggADgIgAA4CIf/tAiIADQIkAA4CKv/tAkH/7gJD/78Cq//wAqz/8AKt//ACrv/wAq//8AKw//ACsf/wArL/tgKz/7YCtP+2ArX/tgK2/7YCvP/aAr3/2gK+/9oCv//aAsD/2gLFAAsCxgALAsj/8ALK//ACzP/wAs7/tgLQ/7YC0v+2AtT/tgLW/7YC2P+2Atr/tgLc/7YC3v+2AuD/tgLi/7YC5P+2Aub/tgLo/7YDCv/aAwz/2gMO/9oDNAALA0P/vwNE/78DRf+/A0b/vwNH/78DSP+/A0n/vwNK/+0DVP/tA1X/7QNW/+0DV//tA1j/7QNdAA0DXv+/A1//vwNg/78DYf/tA2L/7QNj/+0DZP/tA2v/7QNs/+0Dbf/tA27/7QN+/+0Df//tA4D/7QOE//UDhf/1A4b/9QOH//UDiQAOA5IADQOTAA0Dr/+2A7X/2gO3AAsDu//aA9T/8APV/7YD1//aA9n/tgPaAAsD3P+2A+MACwPrAAsD7AANA+0ADQPwAA0D9P/wA/f/tgP8AAsD/f+2BAL/tgQEAAsECv/wBAz/8AQQ/7YEEv+2BBP/tgQd/9oEH/+2BCH/2gQlAAsEJwALBCkACwQu/7YEMP/wBDL/8AQ0//AENv/wBDj/8AQ6//AEPP/wBD7/8ARA//AEQv/wBET/8ARG//AESP+2BEr/tgRM/7YETv+2BFD/tgRS/7YEVP+2BFb/tgRc/9oEXv/aBGD/2gRi/9oEZP/aBGb/2gRo/9oEav+2BGz/tgRu/7YEcP/aBHL/tgSCAAsEhAALBIYACwSr//AErf+2BLH/2gS6/7YEvP+2BNQACwTWAAsE3P+/BOD/7QThAA0E4/+/BO8ADQTyAA0E+/+/BQL/7QUF/+0FBgAOBQr/7QULAA0A5wAQ/wcAEv8HACX/TgAu/w0AOAAUAEX/3gBH/+sASP/rAEn/6wBL/+sAU//rAFX/6wBW/+YAWf/qAFr/6ABd/+gAlP/rAJn/6wCb/+oAsv9OALT/TgC7/+sAvf/oAMj/6wDJ/+sAy//qANIAFADWABQA9//rAQP/6wEN/04BGP/rARr/6AEe/+sBIv/rATkAFAFC/+sBRQAUAWD/6wFh/+sBa//rAYb/BwGK/wcBjv8HAY//BwH7/8AB/f/AAkP/wAKQ/04Ckf9OApL/TgKT/04ClP9OApX/TgKW/04Cq//eAqz/3gKt/94Crv/eAq//3gKw/94Csf/eArL/6wKz/+sCtP/rArX/6wK2/+sCvP/rAr3/6wK+/+sCv//rAsD/6wLB/+oCwv/qAsP/6gLE/+oCxf/oAsb/6ALH/04CyP/eAsn/TgLK/94Cy/9OAsz/3gLO/+sC0P/rAtL/6wLU/+sC1v/rAtj/6wLa/+sC3P/rAt7/6wLg/+sC4v/rAuT/6wLm/+sC6P/rAvb/DQMK/+sDDP/rAw7/6wMfABQDIQAUAyMAFAMm/+oDKP/qAyr/6gMs/+oDLv/qAzD/6gM0/+gDQ//AA0T/wANF/8ADRv/AA0f/wANI/8ADSf/AA17/wANf/8ADYP/AA5f/TgOf/04Dr//rA7P/6gO1/+sDt//oA7r/6gO7/+sDvP/qA8P/DQPH/04D0gAUA9T/3gPV/+sD1//rA9n/6wPa/+gD3P/rA+P/6APr/+gD8/9OA/T/3gP3/+sD/P/oA/3/6wQC/+sEBP/oBAn/TgQK/94EC/9OBAz/3gQQ/+sEEv/rBBP/6wQd/+sEH//rBCH/6wQl/+gEJ//oBCn/6AQu/+sEL/9OBDD/3gQx/04EMv/eBDP/TgQ0/94ENf9OBDb/3gQ3/04EOP/eBDn/TgQ6/94EO/9OBDz/3gQ9/04EPv/eBD//TgRA/94EQf9OBEL/3gRD/04ERP/eBEX/TgRG/94ESP/rBEr/6wRM/+sETv/rBFD/6wRS/+sEVP/rBFb/6wRc/+sEXv/rBGD/6wRi/+sEZP/rBGb/6wRo/+sEav/rBGz/6wRu/+sEcP/rBHL/6wR0/+oEdv/qBHj/6gR6/+oEfP/qBH7/6gSA/+oEgv/oBIT/6ASG/+gEiAAUBKr/TgSr/94Erf/rBLH/6wS1/+oEuv/rBLz/6wTQABQE1P/oBNb/6ATc/8AE4//ABPv/wAACAKAABAAEAAAABgAGAAEACwAMAAIAEwATAAQAJQAqAAUALAAtAAsALwA2AA0AOAA4ABUAOgA/ABYARQBGABwASQBKAB4ATABMACAATwBPACEAUQBUACIAVgBWACYAWABYACcAWgBdACgAXwBfACwAigCKAC0AlgCWAC4AnQCdAC8AsQC1ADAAtwC5ADUAuwC7ADgAvQC+ADkAwADBADsAwwDFAD0AxwDOAEAA0gDSAEgA1ADeAEkA4ADvAFQA8QDxAGQA9gD4AGUA+wD8AGgA/gEAAGoBAwEFAG0BCgEKAHABDQENAHEBGAEaAHIBIgEiAHUBLgEwAHYBMwE1AHkBNwE3AHwBOQE5AH0BOwE7AH4BQwFEAH8BVAFUAIEBVgFWAIIBWAFYAIMBXAFeAIQBhAGFAIcBhwGJAIkB6AHoAIwB6gHrAI0B7QHtAI8B8AHwAJAB+wH9AJECQAJAAJQCQwJDAJUCVQJVAJYCVwJYAJcCiwKMAJkCjgKOAJsCkAKlAJwCqgKxALICswK2ALoCuwLAAL4CxQLNAMQCzwLPAM0C0QLRAM4C0wLTAM8C1QLVANAC1wLgANEC6QLrANsC7QLtAN4C7wLvAN8C8QLxAOAC8wLzAOEC+AL4AOIC+gL6AOMC/AL8AOQC/gL+AOUDAAMAAOYDAgMOAOcDEAMQAPQDEgMSAPUDFAMUAPYDHwMfAPcDIQMhAPgDIwMjAPkDMQMxAPoDMwM2APsDOAM4AP8DOgM6AQADQANJAQEDVANYAQsDXgNgARADZQNlARMDdwN6ARQDfgOAARgDiQOJARsDlwOcARwDnwOuASIDsQOxATIDtQO1ATMDtwO3ATQDuwO7ATUDvgO/ATYDwQPCATgDxAPKAToDzAPOAUED0APVAUQD1wPYAUoD2gPdAUwD4wPkAVAD5gPmAVID6APoAVMD6gPtAVQD8AP1AVgD9wP3AV4D+wP8AV8EAQQBAWEEAwQMAWIEDwQQAWwEEgQVAW4EHAQdAXIEIQQhAXQEIwQpAXUELwRXAXwEWQRZAaUEWwRoAaYEcARwAbQEgQSGAbUEiASIAbsEjASNAbwEkASQAb4EkgSTAb8ElQSVAcEElwSXAcIEqASsAcMErgSuAcgEsASxAckEswSzAcsEtwS5AcwEuwS7Ac8EvQS/AdAEwQTBAdMEwwTDAdQExQTLAdUEzQTNAdwE0ATQAd0E0wTXAd4E2QTZAeME2wTcAeQE4ATgAeYE4wTjAecE7gTuAegE+wT7AekFAgUCAeoFBgUGAesAAgCaAAYABgAAAAsACwABABAAEAACABIAEgADACUAKQAEACwANAAJADgAPgASAEUARwAZAEkASQAcAEwATAAdAFEAVAAeAFYAVgAiAFoAWgAjAFwAXgAkAIoAigAnAJYAlgAoALEAtAApAL0AvQAtAMEAwQAuAMcAxwAvANQA1QAwANcA1wAyANoA2gAzANwA3gA0AOAA5gA3AOwA7AA+AO4A7gA/APcA9wBAAPwA/ABBAP4A/wBCAQQBBQBEAQoBCgBGAQ0BDQBHARgBGgBIAS4BMABLATMBNQBOATcBNwBRATkBOQBSATsBOwBTAUMBRABUAVQBVABWAVYBVgBXAVgBWABYAVwBXgBZAYQBigBcAY4BjwBjAegB6ABlAe0B7QBmAfAB8QBnAfsB/QBpAg8CDwBsAh4CIABtAkACQABwAkMCQwBxAlUCVQByAlcCWABzAosCjAB1Ao4CjgB3ApACtgB4ArsCwACfAsUC1QClAtcC4AC2AukC6wDA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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASABkAJAAAAA4AFQAcAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAKAAUACgAAAAAAAAAAAAAAAAAVAAUAAAAAABUAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAABUABQASABkAFQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAAACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAAAAAAAAAAABAAEAAQABAAEAAQABAACAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgALAAsACwALAAwABgAGAAYABgAGAAYABgABAAEAAQABAAEAAAAAAAAAAAADAAcABwAHAAcABwAIAAgACAAIAAkACQAEAAYABAAGAAQABgACAAEAAgABAAIAAQACAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAgABAAIAAQACAAEAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAwACAAcAAgAHAAIABwAAAAAAAAAAAAAAAAAUABEAFAARABQAEQAUABEAFAARAA0AAAANAAAADQAAAAsACAALAAgACwAIAAsACAALAAgACwAIABYAAAAMAAkADAAXAB0AFwAdABcAHQAAAAAAAgAAAAAAAAAAAAoACgAKAAoACgAKAAoABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUADgAOAA4ADgAS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AiQCJQInAikChwNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA5MDXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwUQA3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGBRMDhwOIA4oDiQOLA4wDjQOOA48DkAORA5IDlAOVA5YFEQUSBNwE3QTeBN8E6QTsBOoE6wTwBPEE8gTgBOEE4gT7BP4E/wUCBQQFBQIRBQcE8wT0BPUE9gT3BPgE+QT6BRQFFQUWBRcFCAUKBQsCKAUNAioFDgUMAiYCHAIiBRwFHQACBwAA+gH3AoIB4QHgAd8B3gHdAdwB2wHaAdkB2AJDAkICQQJAAjgB9gH1AfQB8wHyAfEB8AHvAe4B7QHsAesB6gHpAegB5wHmAeUB5AHjAeIB+AH5AoQChgKFAocCgwKIAmIB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CEAIRBQ8CEgITAhQCFQIWAhcCGAIZAhoCGwJLAh0CHgIfAiAFCQIhAiMCJAIlAiYCJwIoAikCKwIsAi4CLQNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QFEAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgUTA4cDiAOKA4kDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YFEQUSBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AIPBPkE+gT7BPwE/QT+BP8FAAUBBQIFAwUEBQUFBgUHBRQFFQUWBRcFCAUKBQsFDQIqBQ4FDAIcAiIFHAUdAAEAAQF7AAEAAQBLAAEAAQC7AAEAAQA2AAEAAQATAAEAAgMZAxoAAgbkBtgAAgbmBtgAAQbuAAEG8AABBvIAAgABABQAHQAAAAEAAgAvAE8AAQADAEkASwJ6AAIAAAABBt4AAQAGAssCzALdAt4DYANpAAEABgBNAE4C8gPfA+EEWgACAAMBlAGUAAAB1QHXAAECLwI1AAQAAgACAKgArAABASQBJwABAAEADAAnACgAKwAzADUARgBHAEgASwBTAFQAVQACAAIAFAAdAAACZQJuAAoAAgAGAE0ATQAGAE4ATgAEAvIC8gAFA98D3wADA+ED4QACBFoEWgABAAIABAAUAB0AAAJ2AnYACgKBAoEACwSeBKUADAACAAYAGgAaAAAAHAAcAAECWgJfAAICYwJjAAgCZQJuAAkCdQJ1ABMAAQAUABoAHAJaAlsCXAJdAl4CXwJjAnUCdgKBBJ4EnwSgBKEEogSjBKQEpQABBd4AAQXgAAEF4gABBeQAAQXmAAEF6AABBeoAAQXsAAEF7gABBfAAAQXyAAEF9AABBfYAAQX4AAEF+gACBfwGAgACBgIGCAACBggGDgACBg4GFAACBhQGGgACBhoGIAACBiAGJgACBiYGLAACBiwGMgACBjIGOAACBjgGPgADBj4GRAZKAAMGSAZOBlQAAwZSBlgGXgADBlwGYgZoAAMGZgZsBnIAAwZwBnYGfAADBnoGgAaGAAMGhAaKBpAABAaOBpQGmgagAAQGnAaiBqgGrgAFBqoGsAa2BrwGwgAFBrwGwgbIBs4G1AAFBs4G1AbaBuAG5gAFBuAG5gbsBvIG+AAFBvIG+Ab+BwQHCgAFBwQHCgcQBxYHHAAFBxYHHAciBygHLgAFBygHLgc0BzoHQAAFBzoHQAdGB0wHUgAGB0wHUgdYB14HZAdqAAYHYgdoB24HdAd6B4AABgd4B34HhAeKB5AHlgAGB44HlAeaB6AHpgesAAYHpAeqB7AHtge8B8IABge6B8AHxgfMB9IH2AAGB9AH1gfcB+IH6AfuAAcILgfmB+wH8gf4B/4IBAAHCCYH+ggACAYIDAgSCBgAAQDrAAoARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAIUAhgCHAIkAigCLAI0AkACSAJQAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEHATABNAE2ATgBOgE8AUIBRAFGAUoBTQFaAo0CjwKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAsgCygLMAs4C0ALSAtQC1gLYAtoC3ALeAuAC4gLkAuYC6ALqAuwC7gLwAvIC9QL3AvkC+wL9Av8DAQMDAwUDBwMKAwwDDgMQAxIDFAMWAxgDGgMcAx4DIAMiAyQDJgMoAyoDLAMuAzADMgM0AzcDOQM7Az0DPwOvA7ADsQOyA7QDtQO2A7cDuAO5A7oDuwO8A70D1APVA9YD1wPYA9kD2gPbA9wD3QPeA98D4APhA+ID4wPlA+cD6QPrBAAEAgQEBBIEGQQfBCUEjwSQBJQEmAUZBRsAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGnAa0BsgG1AosCjAKOApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAscCyQLLAs0CzwLRAtMC1QLXAtkC2wLdAt8C4QLjAuUC5wLpAusC7QLvAvEC8wL0AvYC+AL6AvwC/gMAAwIDBAMGAwkDCwMNAw8DEQMTAxUDFwMZAxsDHQMfAyEDIwMlAycDKQMrAy0DLwMxAzMDNQM2AzgDOgM8Az4DlwOYA5kDmgObA5wDnQOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD5APmA+gD6gP/BAEEAwQYBB4EJASOBJMElwUYBRoBzAACAE0BzQACAFABzgADAEoATQHPAAMASgBQAAEAAQBKAcsAAgBKAdEAAgBYAdAAAgBYAAEAAwBKAFcAlQAAAAEAAQABAAEAAAADBLcAAgCtAs0AAgCpBL0AAgCtBMoAAgCpBLgAAgCtAs4AAgCpBKcAAgCpBL4AAgCtBFoAAgCtBMsAAgCpAzwAAgCpAz4AAgCpAz0AAgCpAz8AAgCpBLYAAgCpBLsAAgHKBLkAAgCtBKYAAgCpAucAAgHKA/EAAgCpBMUAAgCtAx8AAgHKBNAAAgCtBNUAAgCtBNMAAgCqAzYAAgCpBNkAAgCtBLwAAgHKBLoAAgCtA/IAAgCpBMYAAgCtAyAAAgHKBNEAAgCtBNYAAgCtBNQAAgCqAzcAAgCpBNoAAgCtBL8AAgCpAvgAAgHKBMEAAgCtAvoAAgCpAvwAAgHKBMMAAgCtAxUAAgCpAxsAAgHKBM4AAgCtA+YAAgCpBNcAAgCtA+QAAgCoBMAAAgCpAvkAAgHKBMIAAgCtAvsAAgCpAv0AAgHKBMQAAgCtAxYAAgCpAxwAAgHKBM8AAgCtA+cAAgCpBNgAAgCtA+UAAgCoAw8AAgCpAxEAAgHKBMwAAgCtBLIAAgCsAxAAAgCpAxIAAgHKBM0AAgCtBLMAAgCsAwIAAgCpAwQAAgHKBMcAAgCtBKgAAgCoAqAAAgCqAqoAAgCpBIEAAgCtA+oAAgCoBIMAAgCrBIUAAgCqAwMAAgCpAwUAAgHKBMgAAgCtBKkAAgCoArsAAgCqAsUAAgCpBIIAAgCtA+sAAgCoBIQAAgCrBIYAAgCqArgAAgCpArcAAgCoBFgAAgCrAuwAAgCqBK8AAgCsBGkAAgCpBHEAAgCtBGsAAgCoBG0AAgCrBG8AAgCqBGoAAgCpBHIAAgCtBGwAAgCoBG4AAgCrBHAAAgCqBHcAAgCpBH8AAgCtBHkAAgCoBHsAAgCrBH0AAgCqBHgAAgCpBIAAAgCtBHoAAgCoBHwAAgCrBH4AAgCqApEAAgCpBC8AAgCtApAAAgCoBDEAAgCrApMAAgCqBKoAAgCsApkAAgCpBEcAAgCtApgAAgCoBEkAAgCrBEsAAgCqBKwAAgCsAp0AAgCpBFkAAgCtApwAAgCoBFcAAgCrAusAAgCqBK4AAgCsAqwAAgCpBDAAAgCtAqsAAgCoBDIAAgCrAq4AAgCqBKsAAgCsArQAAgCpBEgAAgCtArMAAgCoBEoAAgCrBEwAAgCqBK0AAgCsAr0AAgCpBFwAAgCtArwAAgCoBF4AAgCrAr8AAgCqBLEAAgCsAsIAAgCpBHQAAgCtAsEAAgCoBHYAAgCrAyYAAgCqBLUAAgCsAqIAAgCpBFsAAgCtAqEAAgCoBF0AAgCrAqQAAgCqBLAAAgCsAqcAAgCpBHMAAgCtAqYAAgCoBHUAAgCrAyUAAgCqBLQAAgCsBMkAAwCqAKkE0gADAKoAqQACABEAJQApAAAAKwAtAAUALwA0AAgANgA7AA4APQA+ABQARQBJABYASwBNABsATwBUAB4AVgBbACQAXQBeACoAgQCBACwAgwCDAC0AhgCGAC4AiQCJAC8AjQCNADAAmACbADEA0ADQADUAAA==",
+  "Roboto-MediumItalic.ttf": "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BGoAWwRqAAkF0gA7BKkAMgQmAA4EnAA0BEYABwPWAB4H7wAJBM7/2gLe//UC3v/zAt4ACwLeABYC3gAlAt4ABQLeADQDmQCRApoBCAPCAAkEGv+HBJIAOwUZACsFAAArBBAAFAUNACsECQAUBFcACQReADkEPwAJBHb/mgHvAOgDhQEEAAD9JwPZANwD2wAWA+wA3APcANsDnwAJA4EBBAOBAQUC6ACJAugAZgLoAH4C6ACJAugAmALoAHgC6ACnBUoAbAVzAGsFVQArBawAbgWuAG0ECQCrBF8AHAQ3/4EEl//RBEn/2AQOADEDhQEFAa3/uAZmADsEiwBFAfz/AARz/6kEc//ZBHP/yQRzABMEcwBMBHMAIgRzAFcEcwAxBHMANwRzAPgCH/8EAh//BAIRACMCEf98AhEAIwQ/AAkEwQBMBBAAVgRmABAEHgA2BHIANwRuAC0EegAyBG//yAR3ADYEKAA6BGYALgQ4/58DmwCrBOYAJAOn/+8GFf9+A+gACQSZ/9sE5wAiBLYACQH4AAACowBABS8AIAUvACAEbgArBLoAnQKW/+UFJf+jBSX/owUl/6MFJf+jBSX/owUl/6MFJf+jBREAXwRjACYEYwAmBGMAJgRjACYCMgA3AjIANwIyADcCMgA3BYEAJgVZAGIFWQBiBVkAYgVZAGIFWQBiBRQAWAUUAFgFFABYBRQAWAS9AKEELwAcBC8AHAQvABwELwAcBC8AHAQvABwELwAcBA0ANwQoADoEKAA6BCgAOgQoADoCBwAjAgcAIwIHACMCBwAjBFIADQRnADgEZwA4BGcAOARnADgEZwA4BFEASgRRAEoEUQBKBFEASgPN/7wDzf+8BSX/owQvABwFJf+jBC8AHAUl/6MELwAcBREAXwQNADcFEQBfBA0ANwURAF8EDQA3BREAXwQNADcFEQAmBPUAOARjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoFSQBmBGb/+QVJAGYEZv/5BUkAZgRm//kFSQBmBGb/+QWBACYEUAANAjIANwIHABMCMgA3AgcAIwIyADcCBwAjAjL/jgH6/3UCMgA3BoIANwPsACAETwAEAhX/BATnACYEDAARBDEAJgH6ACAEMQAmAfr/pgQxACYCkAAgBDEAJgLWACAFgQAmBFIADQWBACYEUgANBYEAJgRSAA0EUgANBVkAYgRnADgFWQBiBGcAOAVZAGIEZwA4BOIAJgK+ABEE4gAmAr7/nwTiACYCvgARBLQAJgP/ABsEtAAmA/8AGwS0ACYD/wAbBLQAJgP/ABsEtAAmA/8AGwS6AJ0ClgA/BLoAnQKWAD8EugCdAr4APwUUAFgEUQBKBRQAWARRAEoFFABYBFEASgUUAFgEUQBKBRQAWARRAEoFFABYBFEASgbVALUFwgB5BL0AoQPN/7wEvQChBK7/5QPo/+YErv/lA+j/5gSu/+UD6P/mB0X/jQaOAA4FVwAWBGMAKgRX/5YEV/+WBB4AYwR2/5oEdv+aBHb/mgR2/5oEdv+aBHb/mgR2/5oEXgA5A8IACQPCAAkDwgAJA8IACQHvABoB7wAaAe8AGgHvABoEtgAJBJkAOwSZADsEmQA7BJkAOwSZADsEZgA4BGYAOARmADgEZgA4BB4AbAR2/5oEdv+aBHb/mgReADkEXgA5BF4AOQReADkEVwAJA8IACQPCAAkDwgAJA8IACQPCAAkEgwA/BIMAPwSDAD8EgwA/BLcACQHvAA4B7wAaAe8AGgH5/5cB7wAaA7n/8wQ8AAkDmwAJA5sACQObAAkDmwAJBLYACQS2AAkEtgAJBJkAOwSZADsEmQA7BEMACQRDAAkEQwAJBBYADwQWAA8EFgAPBBYADwQeAGMEHgBjBB4AYwRmADgEZgA4BGYAOARmADgEZgA4BGYAOAXaAIsEHgBsBB4AbAQL/9YEC//WBAv/1gUl/6MEx/+6BeX/wgKW/8YFbQAmBSH/uAVEAB4CkAAJBSX/owTmACYEYwAmBK7/5QWBACYCMgA3BOcAJgbJACYFgQAmBVkAYgT0ACYEugCdBL0AoQTm/8ACMgA3BL0AoQRhADsEQwAoBGMAEQKQAGYEPABXBHcAIQRnADgEnf/eA9oAZAQ4/58CkABEBDwAVwRnADgEPABXBmEAUgRjACYEUgArBLQAJgIyADcCMgA3BE8ABAUAACsE5wAmBOQAmQUl/6ME5gAmBFIAKwRjACYFegAlBskAJgWBACYFWQBiBYIAKwT0ACYFEQBfBLoAnQTm/8AELwAcBCgAOgRvABcEZwA4BF3/yAQNADcDzf+8A+j/ugQoADoDQQAWA/8AGwH6ACACBwAjAfL/AgRKACIDzf+8BtUAtQXCAHkG1QC1BcIAeQbVALUFwgB5BL0AoQPN/7wBTACRAnoAnQQbADMCFf8EAa0AjQbJACYGwwAPBSX/owQvABwEYwAmBXoAJQQoADoEbwAXBYUAdgWfAD8E8QCoA+4AdQg0ADgJJgBiBLYAHwP4ABcFEQBfBA0ANwS9AKED7QB1AjIANwdu/6QGVf+wAjIANwUl/6MELwAcBSX/owQvABwHRf+NBo4ADgRjACYEKAA6BWIASwQZADQEGQA0B27/pAZV/7AEtgAfA/gAFwV6ACUEbwAXBXoAJQRvABcFWQBiBGcAOAVQAGEEZQA0BVAAYQRlADQFIABIBBkAIATkAJkDzf+8BOQAmQPN/7wE5ACZA83/vAVaAMQEQwBtBsUALAZIACMEXwA4BSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBSX/owQvABwFJf+jBC8AHAUl/6MELwAcBGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgRjACYEKAA6BGMAJgQoADoEYwAmBCgAOgIyADcCBwAjAjL//wH6/+MFWQBiBGcAOAVZAGIEZwA4BVkAYgRnADgFWQBiBGcAOAVZAGIEZwA4BVkAYgRnADgFWQBiBGcAOAVmAFwEegA0BWYAXAR6ADQFZgBcBHoANAVmAFwEegA0BWYAXAR6ADQFFABYBFEASgUUAFgEUQBKBXcAWATAAEoFdwBYBMAASgV3AFgEwABKBXcAWATAAEoFdwBYBMAASgS9AKEDzf+8BL0AoQPN/7wEvQChA83/vAR9//QEugCdA9sAVAVaAMQEQwBtBFIAKwNBABYF7ABVBKD/8gRQAA0E2wAkBNsAJARSAAADQf/HBRQAPwQkACgEvQChA+0AUgTm/8AD6P+6BEMAKARG/8IGBAB8BGkADQRpACYEaQANBGkAWAR9AHEEkQBLBH0AjASRAHMFSQBmBGb/+QWBACYEUgANBSX/owQvABwEYwAmBCgAOgIy/88CB/+ABVkAYgRnADgE4gAmAr4ADAUUAFgEUQBKBMj/hQTmACYEXQAQBREAJgRfADgFEQAmBF8AOAWBACYEUAANBOcAJgQMABEE5wAmBAwAEQQxACYB+v/jBskAJgbDAA8FgQAm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AGQAaQB1AG0AIABJAHQAYQBsAGkAYwBWAGUAcgBzAGkAbwBuACAAMwAuADAAMAA1ADsAIAAyADAAMgAyAFIAbwBiAG8AdABvAC0ATQBlAGQAaQB1AG0ASQB0AGEAbABpAGMAUgBvAGIAbwB0AG8AIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAuAEcAbwBvAGcAbABlAEMAaAByAGkAcwB0AGkAYQBuACAAUgBvAGIAZQByAHQAcwBvAG4ARwBvAG8AZwBsAGUALgBjAG8AbQBMAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAEEAcABhAGMAaABlACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADIALgAwAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBhAHAAYQBjAGgAZQAuAG8AcgBnAC8AbABpAGMAZQBuAHMAZQBzAC8ATABJAEMARQBOAFMARQAtADIALgAwAFIAbwBiAG8AdABvAE0AZQBkAGkAdQBtACAASQB0AGEAbABpAGMAAAADAAD/9AAA/2oAZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAgAIAAj//wAPAAEAAgAOAAAAAAAAAigAAgBZACUAPgABAEQAXgABAGoAagABAHAAcAABAHUAdQABAIEAgQABAIMAgwABAIYAhgABAIkAiQABAIsAlgABAJgAnwABAKEAowABAKUApgABAKgArQADALEAsQABALoAuwABAL8AvwABAMEAwQABAMMAxAABAMcAxwABAMsAywABAM0AzgABANAA0QABANMA0wABANoA3gABAOEA4QABAOUA5QABAOcA6QABAOsA+wABAP0A/QABAP8BAQABAQMBAwABAQgBCQABARYBGgABARwBHAABASABIgABASQBJwADASoBKwABATMBNAABATYBNgABATsBPAABAUEBRAABAUcBSAABAUsBTQABAVEBUQABAVQBWAABAV0BXgABAWIBYgABAWQBZAABAWgBaAABAWoBbAABAW4BbgABAXABcAABAcsB0QACAeIB9gABAfoB+gABAgMCAwABAgUCBQABAgwCDgABAhACEQABAhMCEwABAhcCFwABAhkCGwABAiECIQABAiYCKAAB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/+gEX//oBGH/6ARj/+gEZf/oBGf/6ARp/+gEa//oBG3/6ARv/+gEcf/oBIH/3wSD/98Ehf/fBIj/4ASK/+EEi//gBJf/3wSqABAEsP/oBMn/6ATQ/+AE0//gBNX/4AC6AEf/3ABI/9wASf/cAEv/3ABR/+EAUv/hAFP/1gBU/+EAVf/cAFn/3QBa/+EAXf/hAJT/3ACZ/9wAm//dALv/3AC9/+EAvv/1AL//5gDB/+EAwv/rAMP/6QDF//AAxv/nAMj/3ADJ/9wAyv/jAMv/3QDM/84Azf/UAM7/2wDs/+EA8P/hAPH/4QDz/+EA9P/hAPX/4QD3/9wA+P/hAPr/4QD7/+EA/v/hAQD/4QED/9wBBf/hARj/1gEa/+EBHv/cASL/3AEr/+EBNv/hATz/4QE+/+EBQv/cAVP/4QFV/+EBV//hAVz/4QFg/9wBYf/cAWv/3AKy/9wCs//cArT/3AK1/9wCtv/cArv/4QK8/9YCvf/WAr7/1gK//9YCwP/WAsH/3QLC/90Cw//dAsT/3QLF/+ECxv/hAs7/3ALQ/9wC0v/cAtT/3ALW/9wC2P/cAtr/3ALc/9wC3v/cAuD/3ALi/9wC5P/cAub/3ALo/9wDA//hAwX/4QMH/+EDCP/hAwr/1gMM/9YDDv/WAyb/3QMo/90DKv/dAyz/3QMu/90DMP/dAzT/4QOv/9wDsf/hA7P/3QO1/9YDt//hA7r/3QO7/9YDvP/dA9X/3APW/+ED1//WA9j/4QPZ/9wD2v/hA9z/3APd/+ED4v/hA+P/4QPr/+ED8v/hA/f/3AP4/+ED/P/hA/3/3AQC/9wEBP/hBBD/3AQS/9wEE//cBBn/4QQb/+EEHf/WBB//3AQh/9YEJf/hBCf/4QQp/+EELf/hBC7/3ARI/9wESv/cBEz/3ARO/9wEUP/cBFL/3ARU/9wEVv/cBFz/1gRe/9YEYP/WBGL/1gRk/9YEZv/WBGj/1gRq/9wEbP/cBG7/3ARw/9YEcv/cBHT/3QR2/90EeP/dBHr/3QR8/90Efv/dBID/3QSC/+EEhP/hBIb/4QSN/+EEqf/hBK3/3ASx/9YEtf/dBLr/3AS8/9wExv/hBMj/4QTU/+EE1v/hAL8ABgAMAAsADABH/+gASP/oAEn/6ABKAAwAS//oAFP/6gBV/+gAWgALAF0ACwCU/+gAmf/oALv/6AC9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/8AB/f/AAkP/wAKQ/04Ckf9OApL/TgKT/04ClP9OApX/TgKW/04Cq//eAqz/3gKt/94Crv/eAq//3gKw/94Csf/eArL/6wKz/+sCtP/rArX/6wK2/+sCvP/rAr3/6wK+/+sCv//rAsD/6wLB/+oCwv/qAsP/6gLE/+oCxf/oAsb/6ALH/04CyP/eAsn/TgLK/94Cy/9OAsz/3gLO/+sC0P/rAtL/6wLU/+sC1v/rAtj/6wLa/+sC3P/rAt7/6wLg/+sC4v/rAuT/6wLm/+sC6P/rAvb/DQMK/+sDDP/rAw7/6wMfABQDIQAUAyMAFAMm/+oDKP/qAyr/6gMs/+oDLv/qAzD/6gM0/+gDQ//AA0T/wANF/8ADRv/AA0f/wANI/8ADSf/AA17/wANf/8ADYP/AA5f/TgOf/04Dr//rA7P/6gO1/+sDt//oA7r/6gO7/+sDvP/qA8P/DQPH/04D0gAUA9T/3gPV/+sD1//rA9n/6wPa/+gD3P/rA+P/6APr/+gD8/9OA/T/3gP3/+sD/P/oA/3/6wQC/+sEBP/oBAn/TgQK/94EC/9OBAz/3gQQ/+sEEv/rBBP/6wQd/+sEH//rBCH/6wQl/+gEJ//oBCn/6AQu/+sEL/9OBDD/3gQx/04EMv/eBDP/TgQ0/94ENf9OBDb/3gQ3/04EOP/eBDn/TgQ6/94EO/9OBDz/3gQ9/04EPv/eBD//TgRA/94EQf9OBEL/3gRD/04ERP/eBEX/TgRG/94ESP/rBEr/6wRM/+sETv/rBFD/6wRS/+sEVP/rBFb/6wRc/+sEXv/rBGD/6wRi/+sEZP/rBGb/6wRo/+sEav/rBGz/6wRu/+sEcP/rBHL/6wR0/+oEdv/qBHj/6gR6/+oEfP/qBH7/6gSA/+oEgv/oBIT/6ASG/+gEiAAUBKr/TgSr/94Erf/rBLH/6wS1/+oEuv/rBLz/6wTQABQE1P/oBNb/6ATc/8AE4//ABPv/wAACAKAABAAEAAAABgAGAAEACwAMAAIAEwATAAQAJQAqAAUALAAtAAsALwA2AA0AOAA4ABUAOgA/ABYARQBGABwASQBKAB4ATABMACAATwBPACEAUQBUACIAVgBWACYAWABYACcAWgBdACgAXwBfACwAigCKAC0AlgCWAC4AnQCdAC8AsQC1ADAAtwC5ADUAuwC7ADgAvQC+ADkAwADBADsAwwDFAD0AxwDOAEAA0gDSAEgA1ADeAEkA4ADvAFQA8QDxAGQA9gD4AGUA+wD8AGgA/gEAAGoBAwEFAG0BCgEKAHABDQENAHEBGAEaAHIBIgEiAHUBLgEwAHYBMwE1AHkBNwE3AHwBOQE5AH0BOwE7AH4BQwFEAH8BVAFUAIEBVgFWAIIBWAFYAIMBXAFeAIQBhAGFAIcBhwGJAIkB6AHoAIwB6gHrAI0B7QHtAI8B8AHwAJAB+wH9AJECQAJAAJQCQwJDAJUCVQJVAJYCVwJYAJcCiwKMAJkCjgKOAJsCkAKlAJwCqgKxALICswK2ALoCuwLAAL4CxQLNAMQCzwLPAM0C0QLRAM4C0wLTAM8C1QLVANAC1wLgANEC6QLrANsC7QLtAN4C7wLvAN8C8QLxAOAC8wLzAOEC+AL4AOIC+gL6AOMC/AL8AOQC/gL+AOUDAAMAAOYDAgMOAOcDEAMQAPQDEgMSAPUDFAMUAPYDHwMfAPcDIQMhAPgDIwMjAPkDMQMxAPoDMwM2APsDOAM4AP8DOgM6AQADQANJAQEDVANYAQsDXgNgARADZQNlARMDdwN6ARQDfgOAARgDiQOJARsDlwOcARwDnwOuASIDsQOxATIDtQO1ATMDtwO3ATQDuwO7ATUDvgO/ATYDwQPCATgDxAPKAToDzAPOAUED0APVAUQD1wPYAUoD2gPdAUwD4wPkAVAD5gPmAVID6APoAVMD6gPtAVQD8AP1AVgD9wP3AV4D+wP8AV8EAQQBAWEEAwQMAWIEDwQQAWwEEgQVAW4EHAQdAXIEIQQhAXQEIwQpAXUELwRXAXwEWQRZAaUEWwRoAaYEcARwAbQEgQSGAbUEiASIAbsEjASNAbwEkASQAb4EkgSTAb8ElQSVAcEElwSXAcIEqASsAcMErgSuAcgEsASxAckEswSzAcsEtwS5AcwEuwS7Ac8EvQS/AdAEwQTBAdMEwwTDAdQExQTLAdUEzQTNAdwE0ATQAd0E0wTXAd4E2QTZAeME2wTcAeQE4ATgAeYE4wTjAecE7gTuAegE+wT7AekFAgUCAeoFBgUGAesAAgCaAAYABgAAAAsACwABABAAEAACABIAEgADACUAKQAEACwANAAJADgAPgASAEUARwAZAEkASQAcAEwATAAdAFEAVAAeAFYAVgAiAFoAWgAjAFwAXgAkAIoAigAnAJYAlgAoALEAtAApAL0AvQAtAMEAwQAuAMcAxwAvANQA1QAwANcA1wAyANoA2gAzANwA3gA0AOAA5gA3AOwA7AA+AO4A7gA/APcA9wBAAPwA/ABBAP4A/wBCAQQBBQBEAQoBCgBGAQ0BDQBHARgBGgBIAS4BMABLATMBNQBOATcBNwBRATkBOQBSATsBOwBTAUMBRABUAVQBVABWAVYBVgBXAVgBWABYAVwBXgBZAYQBigBcAY4BjwBjAegB6ABlAe0B7QBmAfAB8QBnAfsB/QBpAg8CDwBsAh4CIABtAkACQABwAkMCQwBxAlUCVQByAlcCWABzAosCjAB1Ao4CjgB3ApACtgB4ArsCwACfAsUC1QClAtcC4AC2AukC6wDAAu0C7QDDAu8C7wDEAvEC8QDFAvMC8wDGAvYC9gDHAvgC+ADIAvoC+gDJAvwC/ADKAv4C/gDLAwADAADMAwIDDgDNAxADEADaAxIDEgDbAxQDFADcAx8DHwDdAyEDIQDeAyMDIwDfAyUDJQDgAycDJwDhAykDKQDiAysDKwDjAy0DLQDkAy8DLwDlAzEDMQDmAzMDOwDnA0ADSQDwA1QDWAD6A14DYAD/A2UDZQECA3YDegEDA34DgAEIA4kDiQELA5cDnAEMA58DrgESA7EDsQEiA7UDtQEjA7cDtwEkA7sDuwElA74DvwEmA8EDygEoA8wDzgEyA9AD1QE1A9cD3QE7A+MD5AFCA+YD5gFEA+gD6AFFA+oD7QFGA/AD9QFKA/cD9wFQA/sD/AFRBAEEDAFTBA8EEAFfBBIEFQFhBBwEHQFlBCEEIQFnBCMEKQFoBC8EVwFvBFkEWQGYBFsEaAGZBHAEcAGnBHMEcwGoBHUEdQGpBIEEhgGqBIgEiAGwBIwEjQGxBJAEkAGzBJIEkwG0BJUElQG2BJcElwG3BKgErAG4BK4ErgG9BLAEsQG+BLMEswHABLcEuQHBBLsEuwHEBL0EvwHFBMEEwQHIBMMEwwHJBMUEywHKBM0EzQHRBNAE0AHSBNIE1wHTBNkE3AHZBOAE4AHdBOME4wHeBOkE6QHfBO4E7gHgBPkE+QHhBPsE+wHiBQIFAgHjBQYFBgHkAAIBdAAGAAYADwALAAsADwAQABAAGgASABIAGgAlACUAAgAmACYAJAAnACcAEAAoACgAAQApACkABAAuAC4ACAAv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AAAABAAAAAAAAAAAAAAAAAAAAAAAAAACAAcAGgAJAAIAAAACAAEAAgAAAAIAAQAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAABAAEwAAAAMAAAAAAA0AAAAAAAMAAAADAAAAAAACAAEAEAATAA0AAAAgACIAAAAAAAAAAAAAAAAAAAAeACEAAAADAAAAAwAAAAMAAAAAAAAAAAADABAAEwAAAAEAAQAAAAAAAAAAAB4AAAAAAAAAAgABAAAAAAAAAB4AIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAGwAAAA8ADwAYAA8ADwAPABgAAAAAAAAAGAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASABkAJAAAAA4AFQAcAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAKAAUACgAAAAAAAAAAAAAAAAAVAAUAAAAAABUAAAAAAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAABUABQASABkAFQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAAACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGwAAAAAAAAAAAAAABAAEAAQABAAEAAQABAACAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgACAAIAAgALAAsACwALAAwABgAGAAYABgAGAAYABgABAAEAAQABAAEAAAAAAAAAAAADAAcABwAHAAcABwAIAAgACAAIAAkACQAEAAYABAAGAAQABgACAAEAAgABAAIAAQACAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAgABAAIAAQACAAEAAgABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAwAAAAMAAwACAAcAAgAHAAIABwAAAAAAAAAAAAAAAAAUABEAFAARABQAEQAUABEAFAARAA0AAAANAAAADQAAAAsACAALAAgACwAIAAsACAALAAgACwAIABYAAAAMAAkADAAXAB0AFwAdABcAHQAAAAAAAgAAAAAAAAAAAAoACgAKAAoACgAKAAoABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUADgAOAA4ADgASAAoACgAKAAUABQAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAcABwAHAAcAAAAFQAAAA4ADgAOAA4ADgAOACQAEgASAAAAAAAAAAQAAAAAAAAAAgAMAAAAAAAEAAAAAAAXAAAAAAAAAAAAAAACAAAAAAAMABAAAAAMAAEAAAADAAAACAAAAAcAAAAJAAAAAAAIAAcACAAAAAAAAAAAAAAAAAAjAAAAAAAfAAQAAAAAAAAAAAAAAAAAAgAAAAAAAgANABAABgABAAMABwADAAEACQATAAEAAwARAAAAAAAAAAMACQAWAAAAFgAAABYAAAAMAAkADwAPAAAAAAAPAAAAAwAEAAYAAAAAAAEAAwAAAAAAGgAJAAEAAgAAAAAAAgABAAwACQAAABAAEwAAAAQABgAEAAYAAAAAAAAAAQAAAAEAAQAQABMAAAAAAAAAAwAAAAMAAgAHAAIAAQACAAcAAAAAAB8ACQAfAAkAHwAJACAAIgAAAAMAAQAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAEAAYABAAGAAQABgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAgAHAAIABwACAAcAAgAHAAIABwACAAcAAgAHAAIAAQACAAEAAgABAAIABwACAAEACwAIAAsACAAAAAgAAAAIAAAACAAAAAgAAAAIAAwACQAMAAkADAAJAAAADQAAACAAIgAAAAMAAAAA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BjIGOgX8BoYHVAXABnIGQgYCB2QGCAZKBpIGDgccBcQFyAYUByoFzAXQBdQGUgZaBhoGngc4BdgGfAZiBiAHRgYmBmoGqgYsBdwF4AXkBegGtgbCBs4G2gbmBewAAgcCAOsCggJDAkICQQJAAjgB9gH1AfQB8wHyAfEB8AHvAe4B7QHsAesB6gHpAegB5wHmAeUB5AHjAeICdAKEA0EChgKFA0AB8wKDAogCYgTjBOQB+gH7BOUE5gTnAfwE6AH9Af4B/wTtAgACAATuBO8CAQICAgMCCgT8BP0CCwIMAg0CDgIPAhAFAAUBBQMFBgUPAhICEwIUAhUCFgIXAhgCGQIaAhsCBAIFAgYCBwIIAgkCSwIdAh4CHwIgBQkCIQIjAiQCJQInAikChwNCA0MDRANFA0YDRwNIA0kDSgNLA0wDTQNOA08DUANRA1IDUwNUA1UDVgNXA1gDWQNaA1sDXANdA5MDXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwUQA3UDdgN3A3gDeQN6A3sDfAN9A34DfwOAA4EDggODA4QDhQOGBRMDhwOIA4oDiQOLA4wDjQOOA48DkAORA5IDlAOVA5YFEQUSBNwE3QTeBN8E6QTsBOoE6wTwBPEE8gTgBOEE4gT7BP4E/wUCBQQFBQIRBQcE8wT0BPUE9gT3BPgE+QT6BRQFFQUWBRcFCAUKBQsCKAUNAioFDgUMAiYCHAIiBRwFHQACBwAA+gH3AoIB4QHgAd8B3gHdAdwB2wHaAdkB2AJDAkICQQJAAjgB9gH1AfQB8wHyAfEB8AHvAe4B7QHsAesB6gHpAegB5wHmAeUB5AHjAeIB+AH5AoQChgKFAocCgwKIAmIB+gH7AfwB/QH+Af8CAAIBAgICAwIEAgUCBgIHAggCCQIKAgsCDAINAg4CEAIRBQ8CEgITAhQCFQIWAhcCGAIZAhoCGwJLAh0CHgIfAiAFCQIhAiMCJAIlAiYCJwIoAikCKwIsAi4CLQNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QFEAN1A3YDdwN4A3kDegN7A3wDfQN+A38DgAOBA4IDgwOEA4UDhgUTA4cDiAOKA4kDiwOMA40DjgOPA5ADkQOSA5MDlAOVA5YFEQUSBNwE3QTeBN8E4AThBOIE4wTkBOUE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AIPBPkE+gT7BPwE/QT+BP8FAAUBBQIFAwUEBQUFBgUHBRQFFQUWBRcFCAUKBQsFDQIqBQ4FDAIcAiIFHAUdAAEAAQF7AAEAAQBLAAEAAQC7AAEAAQA2AAEAAQATAAEAAgMZAxoAAgbkBtgAAgbmBtgAAQbuAAEG8AABBvIAAgABABQAHQAAAAEAAgAvAE8AAQADAEkASwJ6AAIAAAABBt4AAQAGAssCzALdAt4DYANpAAEABgBNAE4C8gPfA+EEWgACAAMBlAGUAAAB1QHXAAECLwI1AAQAAgACAKgArAABASQBJwABAAEADAAnACgAKwAzADUARgBHAEgASwBTAFQAVQACAAIAFAAdAAACZQJuAAoAAgAGAE0ATQAGAE4ATgAEAvIC8gAFA98D3wADA+ED4QACBFoEWgABAAIABAAUAB0AAAJ2AnYACgKBAoEACwSeBKUADAACAAYAGgAaAAAAHAAcAAECWgJfAAICYwJjAAgCZQJuAAkCdQJ1ABMAAQAUABoAHAJaAlsCXAJdAl4CXwJjAnUCdgKBBJ4EnwSgBKEEogSjBKQEpQABBd4AAQXgAAEF4gABBeQAAQXmAAEF6AABBeoAAQXsAAEF7gABBfAAAQXyAAEF9AABBfYAAQX4AAEF+gACBfwGAgACBgIGCAACBggGDgACBg4GFAACBhQGGgACBhoGIAACBiAGJgACBiYGLAACBiwGMgACBjIGOAACBjgGPgADBj4GRAZKAAMGSAZOBlQAAwZSBlgGXgADBlwGYgZoAAMGZgZsBnIAAwZwBnYGfAADBnoGgAaGAAMGhAaKBpAABAaOBpQGmgagAAQGnAaiBqgGrgAFBqoGsAa2BrwGwgAFBrwGwgbIBs4G1AAFBs4G1AbaBuAG5gAFBuAG5gbsBvIG+AAFBvIG+Ab+BwQHCgAFBwQHCgcQBxYHHAAFBxYHHAciBygHLgAFBygHLgc0BzoHQAAFBzoHQAdGB0wHUgAGB0wHUgdYB14HZAdqAAYHYgdoB24HdAd6B4AABgd4B34HhAeKB5AHlgAGB44HlAeaB6AHpgesAAYHpAeqB7AHtge8B8IABge6B8AHxgfMB9IH2AAGB9AH1gfcB+IH6AfuAAcILgfmB+wH8gf4B/4IBAAHCCYH+ggACAYIDAgSCBgAAQDrAAoARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAIUAhgCHAIkAigCLAI0AkACSAJQAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEHATABNAE2ATgBOgE8AUIBRAFGAUoBTQFaAo0CjwKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAsgCygLMAs4C0ALSAtQC1gLYAtoC3ALeAuAC4gLkAuYC6ALqAuwC7gLwAvIC9QL3AvkC+wL9Av8DAQMDAwUDBwMKAwwDDgMQAxIDFAMWAxgDGgMcAx4DIAMiAyQDJgMoAyoDLAMuAzADMgM0AzcDOQM7Az0DPwOvA7ADsQOyA7QDtQO2A7cDuAO5A7oDuwO8A70D1APVA9YD1wPYA9kD2gPbA9wD3QPeA98D4APhA+ID4wPlA+cD6QPrBAAEAgQEBBIEGQQfBCUEjwSQBJQEmAUZBRsAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGnAa0BsgG1AosCjAKOApACkQKSApMClAKVApYClwKYApkCmgKbApwCnQKeAp8CoAKhAqICowKkAqUCpgKnAqgCqQKqAscCyQLLAs0CzwLRAtMC1QLXAtkC2wLdAt8C4QLjAuUC5wLpAusC7QLvAvEC8wL0AvYC+AL6AvwC/gMAAwIDBAMGAwkDCwMNAw8DEQMTAxUDFwMZAxsDHQMfAyEDIwMlAycDKQMrAy0DLwMxAzMDNQM2AzgDOgM8Az4DlwOYA5kDmgObA5wDnQOfA6ADoQOiA6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgPPA9AD0QPSA9MD5APmA+gD6gP/BAEEAwQYBB4EJASOBJMElwUYBRoBzAACAE0BzQACAFABzgADAEoATQHPAAMASgBQAAEAAQBKAcsAAgBKAdEAAgBYAdAAAgBYAAEAAwBKAFcAlQAAAAEAAQABAAEAAAADBLcAAgCtAs0AAgCpBL0AAgCtBMoAAgCpBLgAAgCtAs4AAgCpBKcAAgCpBL4AAgCtBFoAAgCtBMsAAgCpAzwAAgCpAz4AAgCpAz0AAgCpAz8AAgCpBLYAAgCpBLsAAgHKBLkAAgCtBKYAAgCpAucAAgHKA/EAAgCpBMUAAgCtAx8AAgHKBNAAAgCtBNUAAgCtBNMAAgCqAzYAAgCpBNkAAgCtBLwAAgHKBLoAAgCtA/IAAgCpBMYAAgCtAyAAAgHKBNEAAgCtBNYAAgCtBNQAAgCqAzcAAgCpBNoAAgCtBL8AAgCpAvgAAgHKBMEAAgCtAvoAAgCpAvwAAgHKBMMAAgCtAxUAAgCpAxsAAgHKBM4AAgCtA+YAAgCpBNcAAgCtA+QAAgCoBMAAAgCpAvkAAgHKBMIAAgCtAvsAAgCpAv0AAgHKBMQAAgCtAxYAAgCpAxwAAgHKBM8AAgCtA+cAAgCpBNgAAgCtA+UAAgCoAw8AAgCpAxEAAgHKBMwAAgCtBLIAAgCsAxAAAgCpAxIAAgHKBM0AAgCtBLMAAgCsAwIAAgCpAwQAAgHKBMcAAgCtBKgAAgCoAqAAAgCqAqoAAgCpBIEAAgCtA+oAAgCoBIMAAgCrBIUAAgCqAwMAAgCpAwUAAgHKBMgAAgCtBKkAAgCoArsAAgCqAsUAAgCpBIIAAgCtA+sAAgCoBIQAAgCrBIYAAgCqArgAAgCpArcAAgCoBFgAAgCrAuwAAgCqBK8AAgCsBGkAAgCpBHEAAgCtBGsAAgCoBG0AAgCrBG8AAgCqBGoAAgCpBHIAAgCtBGwAAgCoBG4AAgCrBHAAAgCqBHcAAgCpBH8AAgCtBHkAAgCoBHsAAgCrBH0AAgCqBHgAAgCpBIAAAgCtBHoAAgCoBHwAAgCrBH4AAgCqApEAAgCpBC8AAgCtApAAAgCoBDEAAgCrApMAAgCqBKoAAgCsApkAAgCpBEcAAgCtApgAAgCoBEkAAgCrBEsAAgCqBKwAAgCsAp0AAgCpBFkAAgCtApwAAgCoBFcAAgCrAusAAgCqBK4AAgCsAqwAAgCpBDAAAgCtAqsAAgCoBDIAAgCrAq4AAgCqBKsAAgCsArQAAgCpBEgAAgCtArMAAgCoBEoAAgCrBEwAAgCqBK0AAgCsAr0AAgCpBFwAAgCtArwAAgCoBF4AAgCrAr8AAgCqBLEAAgCsAsIAAgCpBHQAAgCtAsEAAgCoBHYAAgCrAyYAAgCqBLUAAgCsAqIAAgCpBFsAAgCtAqEAAgCoBF0AAgCrAqQAAgCqBLAAAgCsAqcAAgCpBHMAAgCtAqYAAgCoBHUAAgCrAyUAAgCqBLQAAgCsBMkAAwCqAKkE0gADAKoAqQACABEAJQApAAAAKwAtAAUALwA0AAgANgA7AA4APQA+ABQARQBJABYASwBNABsATwBUAB4AVgBbACQAXQBeACoAgQCBACwAgwCDAC0AhgCGAC4AiQCJAC8AjQCNADAAmACbADEA0ADQADUAAA==",
+  "Roboto-Regular.ttf": "AAEAAAARAQAABAAQR0RFRqWLoiAAAb8IAAACWEdQT1PInCKzAAHBYAAAZfhHU1VChRYO9AACJ1gAABX2T1MvMpeDsYsAAAGYAAAAYGNtYXDOyFo6AAAWdAAABoJjdnQgO/gmfQAAL1AAAAD+ZnBnbagFhDIAABz4AAAPhmdhc3AACAAZAAG+/AAAAAxnbHlmnLrJSwAAOpAAAYGgaGVhZAZzHSoAAAEcAAAANmhoZWEKugrAAAABVAAAACRobXR45eWbKgAAAfgAABR8bG9jYQ+pa9gAADBQAAAKQG1heHAIzxDGAAABeAAAACBuYW1lOEJpvQABvDAAAAKqcG9zdP9tAGQAAb7cAAAAIHByZXB5WM7TAAAsgAAAAs4AAQAAAAMBSPgkVmdfDzz1ABsIAAAAAADE8BEuAAAAAN8Gv276Gv3VCTEIcwAAAAkAAgAAAAAAAAABAAAHbP4MAAAJSvoa/koJMQABAAAAAAAAAAAAAAAAAAAFHwABAAAFHwCpABUAdgAHAAIAEAAvAJoAAALmD3UAAwABAAQEiQGQAAUAAAWaBTMAAAEfBZoFMwAAA9EAZgIAAAACAAAAAAAAAAAA4AAC/1AAIFsAAAAgAAAAAEdPT0cAQAAA//0GAP4AAGYHmgIAIAABnwAAAAAEOgWwAAAAIAADA4wAZAAAAAAAAAAAAfwAAAH8AAACEAChApAAiQTtAHcEfwBuBdwAaQT6AGYBZgBoAr0AhgLJACcDcgAcBIoATgGTAB0CNgAmAhwAkANNABMEfwBzBH8AqwR/AF4EfwBfBH8ANQR/AJoEfwCFBH8ATgR/AHEEfwBkAfAAhQGxACkEEQBIBGQAmAQvAIcDyABLBy8AbQU4AB0E/ACpBTUAeAVAAKkEjACpBGwAqQVzAHoFtQCpAi0AtwRqADUFBQCpBE8AqQb8AKkFtQCpBYEAdwUMAKkFgQBuBO4AqQTAAFEExgAyBTAAjAUYAB0HGQA9BQQAOgTOAA8EywBXAh8AkwNJACkCHwAKA1gAQAOcAAQCeQA5BFoAbQR+AIwEMABdBIMAXwQ+AF0CyAA9BH4AYQRoAI0B8gCOAer/vgQOAI0B8gCcBwQAiwRrAI0EkABcBH4AjASMAF8CtgCNBCEAXwKeAAkEaQCJA+AAIQYDACsD+AAqA8kAFgP4AFkCtQBAAfQAsAK1ABQFcQCDAfQAiwRhAGkEpwBbBbUAaQQ0AA8B7ACUBOgAWwNZAGUGSQBcA5QAkwPBAGUEbgB/BkoAWwOrAI8C/QCDBEcAYQLvAEIC7wA/AoIAewSJAJsD6gBEAhcAlAH8AHQC7wB7A6QAewPAAGcF3ABVBjUAUAY5AHADygBEB3r/8QRFAFkFgQB3BLoApwTCAIwGwgBPBLEAfgSSAEcEiQBcBJwAlQTIAF8FmwAeAfsAnAR0AJsETwAjAioAIwWLAKIEiQCSB6EAaQdEAGEB/AChBYcAXgK6/+MFfwBmBJMAXAWQAIwE8wCJAgT/tAQ4AGMDxACqA44AjgOrAI8DawCCAfIAjgKuAHkCKwAyA8YAewL8AF8CWgB/AAD8pwAA/W4AAPyKAAD9XQAA/CcAAP04Ag4AuAQMAHICFwCUBHMAsgWkACAFcgBnBT8AMgSSAHgFtQCyBJIARgW7AE4FiQBaBVIAcgSGAGQEvQChBAMALwSJAGEEUQBkBCUAbQSJAJIEjwB7ApgAwwRvACYD7ABmBMUAKQSJAJIETgBlBIgAYQQsAFEEXgCQBaMAWAWaAGAGlwB6BKIAegRD/9oGSABLBgAAKwVlAHsIkgAyCKUAsgaDAD4FtACwBQsAowYEADMHQwAbBMAAUAW1ALIFqgAwBQgATQYtAFQF2gCvBXoAlweHALAHwACwBhIAEQbrALIFBQCjBWUAlAcnALcFGABaBG0AYgSTAJ4DXACbBNQALgYhABYEEABYBJ4AnQRTAJ0EoAAsBe8AngSdAJ0EngCdA9kAKAXOAGQEvgCdBFoAaAZ5AJ0GnwCSBPcAHgY2AJ4EWACeBE4AZAaIAJ4EZAAvBGj/5wROAGcGyQAnBuQAnQSJ//0EngCdBwkAnAYsAIEEV//bBywAuAX5AJoE0wAoBEcADwcMAMoGDAC9BtIAkwXiAJcJBQC3B9EAnAQkAFAD2wBMBXIAZwSMAFwFCwAWBAQALwVyAGcEiQBcBwEAnAYkAH4HCQCcBiwAgQUyAHYESABkBP4AdAAA/GYAAPxwAAD9ZQAA/aQAAPoaAAD6KwYJALIE7QCdBFf/2wUbAKkEigCMBGQAogORAJIE2wCyBAYAkgeiABsGYQAWBZoAsgS4AJ0FCgCkBH4AmwaMAEUFhAA/Bf8AqQTZAJ0HzwCpBbQAkggxALAG9ACSBe8AcQTUAG4FGAA6BCoAKgctADQFXQAfBbwAlwSWAGgFcACXBGsAhAVwAIkGMAA/BL7/3QUKAKQEWgCbBf4AMATvACwFswCyBIkAkgYSAKkE7ACdB08AqQY+AJ4FhwBeBKgAaASoAGoEuAA5A6sAOgUuADoEQAAqBPcAVwaVAFoG5QBkBlcANgUsADEESgBTBAgAeQfCAEUGdgA/B/sAqgaiAJAE9wB2BB4AZgWuACQFIQBGBWUAlwYCADAE8wAsAyEAcAQUAAAIKQAABBQAAAgpAAACuQAAAgoAAAFcAAAEfwAAAjAAAAGiAAABAAAAANEAAAAAAAACNAAmAjQAJgVAAKIGPwCQA6YADQGaAGEBmgAwAZgAJAGaAE8C1ABpAtwAPALCACQEagBGBJAAVwKzAIsDxACUBVoAlAF/AFIHqgBEAmcAbAJnAFoDowA8Au8AUQLvADYC7wBcAu8AVgLvADsC7wBPAu8ASgNhAHoC7wBRAu8AewLvAEIC7wA/Au8ANgLvAFwC7wBWAu8AOwLvAE8C7wBKBKcAWwZWAB8GkQCnCHYAqQXrAB8GKwCMBH8AXwXaAB8EIwArBHQAIQVIAF0FTwAfBegAewPOAGgIOgCiBQEAaAUYAJgGJgBUBtcAZQbPAGQGagBaBJAAagWPAKkErwBGBJMAqATFAD8IOgBjAg3/rwSCAGUEZACYBBEAPQQvAIQECAAsAkwAtQKQAG8CBABdBPMAPQRvACAEiwA9BtQAPQbUAD0E7gA9BpsAXwAAAAAINABbCDUAXALvAEIC7wB7Au8AUQQQAFYEEABhBBAAQgQPAHIEEACBBBAAMQQQAE8EEABPBBAAmQQQAGMEIwBIBCsADgRUACcGFQAxBGgAFAR9AHUEJwApBCAARARKAIoEvABaBF0AiwS8AGAE4wCLBgIAiwO1AIsEVQCLA88ALAHpAJgE5ACLBKwAZAPMAIsEIABEBDQAMQOhAA4DrwCLBGgAFAS8AGAEaAAUA4kAPgTPAIsD8ABABWcAYQUXAGEE8wB2BXMAJwR8AGEHQgAoB1AAiwV0ACkEzgCLBFoAiwUlAC4GCwAfBEAASATsAIsETgCMBMEAKAQgACMFKQCLBGoAPQZRAIsGrACLBR0ACQXxAIsETwCLBHwASwZ3AIsEhwBQBBIACwZIAB8EeQCMBQoAjAU3ACQFwwBgBF8ADgSoACcGYgAnBGoAPQRqAIsFxAACBMsAXgRAAEgEvABgBDQAMQPkAEMIIgCLBKsAKALvAD8C7wA2Au8AXALvAFYC7wA7Au8ATwLvAEoDlwCPArUAnwPmAIsEOgAfBMQAZAVMALIFJACyBBQAkwU9ALIEDwCTBIAAiwR8AGEEUQCLBIYAFAH+AJ8DpQCCAAD8owPwAG8D9P9dBA8AaQP1AGkDrwCLA6AAggOfAIIC7wBRAu8ANgLvAFwC7wBWAu8AOwLvAE8C7wBKBYIAfgWvAH4FkwCyBeAAfgXjAH4D1QCgBIIAgwRYAA8EzwA+BGsAZQQuAEoDpQCEAZIAaAakAGAEugCCAfz/tgR/ADsEfwBzBH8AIgR/AHYEfwB2BH8ANgR/AH4EfwBeBH8AcQR/APQCBv+0AgT/tAH7AJwB+//5AfsAnARRAIsFAAB4BCEAOwR+AIwEMwBdBJMAWwSMAFsEnwBaBI4AjAScAFsEPgBdBH4AYQRwAFoDeQBXBNYAaAO1AAEGOgAJA/kAiwS8AGAE4wAwBOMAiwH8AAACNgAmBV4AJQVeACUEhgABBMYAMgKe//QFOAAdBTgAHQU4AB0FOAAdBTgAHQU4AB0FOAAdBTUAeASMAKkEjACpBIwAqQSMAKkCLf/fAi0AsQIt/+oCLf/VBbUAqQWBAHcFgQB3BYEAdwWBAHcFgQB3BTAAjAUwAIwFMACMBTAAjATOAA8EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EWgBtBDAAXQQ+AF0EPgBdBD4AXQQ+AF0B+//EAfsAlgH7/88B+/+6BGsAjQSQAFwEkABcBJAAXASQAFwEkABcBGkAiQRpAIkEaQCJBGkAiQPJABYDyQAWBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTUAeAQwAF0FNQB4BDAAXQU1AHgEMABdBTUAeAQwAF0FQACpBRkAXwSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0FcwB6BH4AYQVzAHoEfgBhBXMAegR+AGEFcwB6BH4AYQW1AKkEaACNAi3/tgH7/5sCLf/NAfv/sgIt/+wB+//RAi0AFwHy//oCLQCqBpcAtwPcAI4EagA1AgT/tAUFAKkEDgCNBE8AogHyAJMETwCpAfIAVgRPAKkCiACcBE8AqQLOAJwFtQCpBGsAjQW1AKkEawCNBbUAqQRrAI0Ea/+7BYEAdwSQAFwFgQB3BJAAXAWBAHcEkABcBO4AqQK2AI0E7gCpArYAUwTuAKkCtgBkBMAAUQQhAF8EwABRBCEAXwTAAFEEIQBfBMAAUQQhAF8EwABRBCEAXwTGADICngAJBMYAMgKeAAkExgAyAsYACQUwAIwEaQCJBTAAjARpAIkFMACMBGkAiQUwAIwEaQCJBTAAjARpAIkFMACMBGkAiQcZAD0GAwArBM4ADwPJABYEzgAPBMsAVwP4AFkEywBXA/gAWQTLAFcD+ABZB3r/8QbCAE8FgQB3BIkAXASA/70EgP+9BCcAKQSGABQEhgAUBIYAFASGABQEhgAUBIYAFASGABQEfABhA+YAiwPmAIsD5gCLA+YAiwHp/7wB6QCOAen/xwHp/7IE4wCLBLwAYAS8AGAEvABgBLwAYAS8AGAEfQB1BH0AdQR9AHUEfQB1BCsADgSGABQEhgAUBIYAFAR8AGEEfABhBHwAYQR8AGEEgACLA+YAiwPmAIsD5gCLA+YAiwPmAIsErABkBKwAZASsAGQErABkBOQAiwHp/5MB6f+qAen/yQHpAAUB6QCHA88ALARVAIsDtQCDA7UAiwO1AIsDtQCLBOMAiwTjAIsE4wCLBLwAYAS8AGAEvABgBEoAigRKAIoESgCKBCAARAQgAEQEIABEBCAARAQnACkEJwApBCcAKQR9AHUEfQB1BH0AdQR9AHUEfQB1BH0AdQYVADEEKwAOBCsADgQjAEgEIwBIBCMASAU4AB0E8P+MBhn/mgKR/6AFlf/6BTL/dgVm//wCmP+bBTgAHQT8AKkEjACpBMsAVwW1AKkCLQC3BQUAqQb8AKkFtQCpBYEAdwUMAKkExgAyBM4ADwUEADoCLf/VBM4ADwSGAGQEUQBkBIkAkgKYAMMEXgCQBHQAmwSQAFwEiQCbA+AAIQRwAFoCmP/kBF4AkASQAFwEXgCQBpcAegSMAKkEcwCyBMAAUQItALcCLf/VBGoANQUkALIFBQCpBQgATQU4AB0E/ACpBHMAsgSMAKkFtQCyBvwAqQW1AKkFgQB3BbUAsgUMAKkFNQB4BMYAMgUEADoEWgBtBD4AXQSeAJ0EkABcBH4AjAQwAF0DyQAWA/gAKgQ+AF0DXACbBCEAXwHyAI4B+/+6Aer/vgRTAJ0DyQAWBxkAPQYDACsHGQA9BgMAKwcZAD0GAwArBM4ADwPJABYBZgBoApAAiQQgAKECBP+0AZoAMAb8AKkHBACLBTgAHQRaAG0EjACpBbUAsgQ+AF0EngCdBYkAWgWaAGAFCwAWBAT/+whZAFwJSgB3BMAAUAQQAFgFNQB4BDAAXQTOAA8EAwAvAi0AtwdDABsGIQAWAi0AtwU4AB0EWgBtBTgAHQRaAG0Hev/xBsIATwSMAKkEPgBdBYcAXgQ4AGMEOABjB0MAGwYhABYEwABQBBAAWAW1ALIEngCdBbUAsgSeAJ0FgQB3BJAAXAVyAGcEjABcBXIAZwSMAFwFZQCUBE4AZAUIAE0DyQAWBQgATQPJABYFCABNA8kAFgV6AJcEWgBoBusAsgY2AJ4EgwBfBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRa/8kFOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0EjP/uBD7/uASMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQItALcB+wCcAi0ApAHyAIYFgQB3BJAAXAWBAHcEkABcBYEAdwSQAFwFgQBGBJD/wgWBAHcEkABcBYEAdwSQAFwFgQB3BJAAXAV/AGYEkwBcBX8AZgSTAFwFfwBmBJMAXAV/AGYEkwBcBX8AZgSTAFwFMACMBGkAiQUwAIwEaQCJBZAAjATzAIkFkACMBPMAiQWQAIwE8wCJBZAAjATzAIkFkACMBPMAiQTOAA8DyQAWBM4ADwPJABYEzgAPA8kAFgShAF8ExgAyA9kAKAV6AJcEWgBoBHMAsgNcAJsGMAA/BL7/3QRoAI0FBf/UBQX/1ARzAAMDXP/9BTgACwQo/9MEzgAPBAMALwUEADoD+AAqBFEAZARsABIGPwCQBH8AXgR/AF8EfwA1BH8AmgSTAJkEpwCFBJMAZASnAIcFcwB6BH4AYQW1AKkEawCNBTgAHQRaADoEjABfBD4AKQIt/wsB+/7wBYEAdwSQADME7gBWArb/jAUwAIwEaQArBKf/OAT8AKkEfgCMBUAAqQSDAF8FQACpBIMAXwW1AKkEaACNBQUAqQQOAI0FBQCpBA4AjQRPAKkB8gCGBvwAqQcEAIsFtQCp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GRwfkhGaEcIWzBiqEdgUuhJ4EiIRNimwEVQmjhFUEVQTBBIiEXoYRBI8Ee4RChI8FQASIhJaGZIezBcmEloXJiWQJ5Ai1h1kEOwSPBEiPkQRVDe+JJ4okhIIEPIQ+EEuEP4UQhPWGhQ5sC1yNA4sJBKaMLY74hbMISoSmhKaFUYSmhKaEpoyYBqeEpoTfh4GHEAX4iO4HNIRQCIAEQoTVDXkRCwSIhR8KuYbKBLeEiIbshMqFnYUDBLeFyYTBBGaEjwTVBIiHswRQBbMEQoVkBWQFZASmhbMEQoSmhKaEloRQBbMEQoRBC8UEQQRBBEEERwV2hYoERYRLBEQERYREBFeERARiBJaEloSWhJaH5IXJhcmFyYXJhcmFyYXJhGIEWwRbBFsEWwSmhKaEpoSmhKaEloSWhJaEloSWhiqEngSeBJ4EngSeBJ4EngRNhE2ETYRNhFUEwQTBBMEEwQTBBI8EjwXJhJ4FyYSeBcmEngRiBGIEYgRiBJaEWwRNhFsETYRbBE2EWwRNhFsETYSmhFUEpoSmhKaEpoSmhWQEawRrBGsEawSmhFUEpoRVBKaEVQRVBJaEwQSWhMEEloTBBF6EXoReh+SH5IfkhHCGKoSPBiqEdgR2BHYERYRFhEcERAREBEQERAREBEQERARFhEWERYRFhEWERAREBEQERYRLBEsESwRLBEWERYRFhEcFyYRbBKaEpoSWhiqFyYRShFsEdgSmhKaFZASmhKaEloSvB+SGKoWzBKaGKoRVBMEEjwTBBFsHswSmhKaFZAVkBVGFyYRSh7MEWwSmhKaEloSvBGIH5IWzBJ4ETYTBBIiEjwRChE2EUASPBHCEcIRwhiqEjwRBBEEEQQSmhFUFyYSeBFsETYRmhI8EYgYqhI8EpoWzBEKEpoXJhJ4FyYSeBFsETYRNhE2FswRChJaEwQTBBIiFUYSPBVGEjwVRhI8FyYSeBcmEngXJhJ4FyYSeBcmEngXJhJ4FyYSeBcmEngXJhJ4FyYSeBcmEngXJhJ4EWwRNhFsETYRbBE2EWwRNhFsETYRbBE2EWwRNhFsETYSmhKaEloTBBJaEwQSWhMEEloTBBJaEwQSWhMEEloTBBMEGKoSPBiqEjwYqhI8H5IezBFAEVQTfh7MFZAYqhKaEVQXJhJ4EWwSmhJaEwQRehFKEiISWhJaEpoRVBWQFZARrBKa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/+wCtP/sArX/7AK2/+wCzv/sAtD/7ALS/+wC1P/sAtb/7ALY/+wC2v/sAtz/7ALe/+wC4P/sAuL/7ALk/+wC5v/sAuj/7AOv/+wD1f/sA9n/7APc/+wD9//sA/3/7AQC/+wEEP/sBBL/7AQT/+wEH//sBC7/7ARI/+wESv/sBEz/7ARO/+wEUP/sBFL/7ARU/+wEVv/sBGr/7ARs/+wEbv/sBHL/7ASt/+wEuv/sBLz/7ABAACf/5gAr/+YAM//mADX/5gCD/+YAk//mAJj/5gCz/+YAuP/CAMQAEADT/+YBCP/mARf/5gEb/+YBHf/mAR//5gEh/+YBQf/mAWr/5gJV/+YCVv/mAlj/5gJZ/+YCl//mAqH/5gKi/+YCo//mAqT/5gKl/+YCzf/mAs//5gLR/+YC0//mAuH/5gLj/+YC5f/mAuf/5gMJ/+YDC//mAw3/5gM+/+YDm//mA6j/5gPO/+YD0f/mA/7/5gQB/+YEHP/mBB7/5gQg/+YEW//mBF3/5gRf/+YEYf/mBGP/5gRl/+YEZ//mBGn/5gRr/+YEbf/mBG//5gRx/+YEsP/mBMn/5gBHABAAAAASAAAAR//nAEj/5wBJ/+cAS//nAFX/5wCU/+cAmf/nALv/5wDEAA8AyP/nAMn/5wD3/+cBA//nAR7/5wEi/+cBQv/nAWD/5wFh/+cBa//nAYYAAAGKAAABjgAAAY8AAAKy/+cCs//nArT/5wK1/+cCtv/nAs7/5wLQ/+cC0v/nAtT/5wLW/+cC2P/nAtr/5wLc/+cC3v/nAuD/5wLi/+cC5P/nAub/5wLo/+cDr//nA9X/5wPZ/+cD3P/nA/f/5wP9/+cEAv/nBBD/5wQS/+cEE//nBB//5wQu/+cESP/nBEr/5wRM/+cETv/nBFD/5wRS/+cEVP/nBFb/5wRq/+cEbP/nBG7/5wRy/+cErf/nBLr/5wS8/+cATQAGABAACwAQAA0AFABBABIAR//oAEj/6ABJ/+gAS//oAFX/6ABhABMAlP/oAJn/6AC7/+gAyP/oAMn/6AD3/+gBA//oAR7/6AEi/+gBQv/oAWD/6AFh/+gBa//oAYQAEAGFABABhwAQAYgAEAGJABACsv/oArP/6AK0/+gCtf/oArb/6ALO/+gC0P/oAtL/6ALU/+gC1v/oAtj/6ALa/+gC3P/oAt7/6ALg/+gC4v/o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A9z/sAPjAAsD6wALA+wADQPtAA0D8AANA/T/8AP3/7AD/AALA/3/sAQC/7AEBAALBAr/8AQM//AEEP+wBBL/sAQT/7AEHf/WBB//sAQh/9YEJQALBCcACwQpAAsELv+wBDD/8AQy//AENP/wBDb/8AQ4//AEOv/wBDz/8AQ+//AEQP/wBEL/8ARE//AERv/wBEj/sARK/7AETP+wBE7/sARQ/7AEUv+wBFT/sARW/7AEXP/WBF7/1gRg/9YEYv/WBGT/1gRm/9YEaP/WBGr/sARs/7AEbv+wBHD/1gRy/7AEggALBIQACwSGAAsEq//wBK3/sASx/9YEuv+wBLz/sATUAAsE1gALBNz/vwTg/+0E4QANBOP/vwTvAA0E8gANBPv/vwUC/+0FBf/tBQYADgUK/+0FCwANAOcAEP8WABL/FgAl/1YALv74ADgAFABF/94AR//rAEj/6wBJ/+sAS//rAFP/6wBV/+sAVv/mAFn/6gBa/+gAXf/oAJT/6wCZ/+sAm//qALL/VgC0/1YAu//rAL3/6ADI/+sAyf/rAMv/6gDSABQA1gAUAPf/6wED/+sBDf9WARj/6wEa/+gBHv/rASL/6wE5ABQBQv/rAUUAFAFg/+sBYf/rAWv/6wGG/xYBiv8WAY7/FgGP/xYB+//AAf3/wAJD/8ACkP9WApH/VgKS/1YCk/9WApT/VgKV/1YClv9WAqv/3gKs/94Crf/eAq7/3gKv/94CsP/eArH/3gKy/+sCs//rArT/6wK1/+sCtv/rArz/6wK9/+sCvv/rAr//6wLA/+sCwf/qAsL/6gLD/+oCxP/qAsX/6ALG/+gCx/9WAsj/3gLJ/1YCyv/eAsv/VgLM/94Czv/rAtD/6wLS/+sC1P/rAtb/6wLY/+sC2v/rAtz/6wLe/+sC4P/rAuL/6wLk/+sC5v/rAuj/6wL2/vgDCv/rAwz/6wMO/+sDHwAUAyEAFAMjABQDJv/qAyj/6gMq/+oDLP/qAy7/6gMw/+oDNP/oA0P/wANE/8ADRf/AA0b/wANH/8ADSP/AA0n/wANe/8ADX//AA2D/wAOX/1YDn/9WA6//6wOz/+oDtf/rA7f/6AO6/+oDu//rA7z/6gPD/vgDx/9WA9IAFAPU/94D1f/rA9f/6wPZ/+sD2v/oA9z/6wPj/+gD6//oA/P/VgP0/94D9//rA/z/6AP9/+sEAv/rBAT/6AQJ/1YECv/eBAv/VgQM/94EEP/rBBL/6wQT/+sEHf/rBB//6wQh/+sEJf/oBCf/6AQp/+gELv/rBC//VgQw/94EMf9WBDL/3gQz/1YENP/eBDX/VgQ2/94EN/9WBDj/3gQ5/1YEOv/eBDv/VgQ8/94EPf9WBD7/3gQ//1YEQP/eBEH/VgRC/94EQ/9WBET/3gRF/1YERv/eBEj/6wRK/+sETP/rBE7/6wRQ/+sEUv/rBFT/6wRW/+sEXP/rBF7/6wRg/+sEYv/rBGT/6wRm/+sEaP/rBGr/6wRs/+sEbv/rBHD/6wRy/+sEdP/qBHb/6gR4/+oEev/qBHz/6gR+/+oEgP/qBIL/6ASE/+gEhv/oBIgAFASq/1YEq//eBK3/6wSx/+sEtf/qBLr/6wS8/+sE0AAUBNT/6ATW/+gE3P/ABOP/wAT7/8AAAgCgAAQABAAAAAYABgABAAsADAACABMAEwAEACUAKgAFACwALQALAC8ANgANADgAOAAVADoAPwAWAEUARgAcAEkASgAeAEwATAAgAE8ATwAhAFEAVAAiAFYAVgAmAFgAWAAnAFoAXQAoAF8AXwAsAIoAigAtAJYAlgAuAJ0AnQAvALEAtQAwALcAuQA1ALsAuwA4AL0AvgA5AMAAwQA7AMMAxQA9AMcAzgBAANIA0gBIANQA3gBJAOAA7wBUAPEA8QBkAPYA+ABlAPsA/ABoAP4BAABqAQMBBQBtAQoBCgBwAQ0BDQBxARgBGgByASIBIgB1AS4BMAB2ATMBNQB5ATcBNwB8ATkBOQB9ATsBOwB+AUMBRAB/AVQBVACBAVYBVgCCAVgBWACDAVwBXgCEAYQBhQCHAYcBiQCJAegB6ACMAeoB6wCNAe0B7QCPAfAB8ACQAfsB/QCRAkACQACUAkMCQwCVAlUCVQCWAlcCWACXAosCjACZAo4CjgCbApACpQCcAqoCsQCyArMCtgC6ArsCwAC+AsUCzQDEAs8CzwDNAtEC0QDOAtMC0wDPAtUC1QDQAtcC4ADRAukC6wDbAu0C7QDeAu8C7wDfAvEC8QDgAvMC8wDhAvgC+ADiAvoC+gDjAvwC/ADkAv4C/gDlAwADAADmAwIDDgDnAxADEAD0AxIDEgD1AxQDFAD2Ax8DHwD3AyEDIQD4AyMDIwD5AzEDMQD6AzMDNgD7AzgDOAD/AzoDOgEAA0ADSQEBA1QDWAELA14DYAEQA2UDZQETA3cDegEUA34DgAEYA4kDiQEbA5cDnAEcA58DrgEiA7EDsQEyA7UDtQEzA7cDtwE0A7sDuwE1A74DvwE2A8EDwgE4A8QDygE6A8wDzgFBA9AD1QFEA9cD2AFKA9oD3QFMA+MD5AFQA+YD5gFSA+gD6AFTA+oD7QFUA/AD9QFYA/cD9wFeA/sD/AFfBAEEAQFhBAMEDAFiBA8EEAFsBBIEFQFuBBwEHQFyBCEEIQF0BCMEKQF1BC8EVwF8BFkEWQGlBFsEaAGmBHAEcAG0BIEEhgG1BIgEiAG7BIwEjQG8BJAEkAG+BJIEkwG/BJUElQHBBJcElwHCBKgErAHDBK4ErgHIBLAEsQHJBLMEswHLBLcEuQHMBLsEuwHPBL0EvwHQBMEEwQHTBMMEwwHUBMUEywHVBM0EzQHcBNAE0AHdBNME1wHeBNkE2QHjBNsE3AHkBOAE4AHmBOME4wHnBO4E7gHoBPsE+wHpBQIFAgHqBQYFBgHrAAIAmgAGAAYAAAALAAsAAQAQABAAAgASABIAAwAlACkABAAsADQACQA4AD4AEgBFAEcAGQBJAEkAHABMAEwAHQBRAFQAHgBWAFYAIgBaAFoAIwBcAF4AJACKAIoAJwCWAJYAKACxALQAKQC9AL0ALQDBAMEALgDHAMcALwDUANUAMADXANcAMgDaANoAMwDcAN4ANADgAOYANwDsAOwAPgDuAO4APwD3APcAQAD8APwAQQD+AP8AQgEEAQUARAEKAQoARgENAQ0ARwEYARoASAEuATAASwEzATUATgE3ATcAUQE5ATkAUgE7ATsAUwFDAUQAVAFUAVQAVgFWAVYAVwFYAVgAWAFcAV4AWQGEAYoAXAGOAY8AYwHoAegAZQHtAe0AZgHwAfEAZwH7Af0AaQIPAg8AbAIeAiAAbQJAAkAAcAJDAkMAcQJVAlUAcgJXAlgAcwKLAowAdQKOAo4AdwKQArYAeAK7AsAAnwLFAtUApQLXAuAAtgLpAusAwALtAu0AwwLvAu8AxALxAvEAxQLzAvMAxgL2AvYAxwL4AvgAyAL6AvoAyQL8AvwAygL+Av4AywMAAwAAzAMCAw4AzQMQAxAA2gMSAxIA2wMUAxQA3AMfAx8A3QMhAyEA3gMjAyMA3wMlAyUA4AMnAycA4QMp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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAgAAAAAAAAACAAAAAAAjAAAAAAAAAAAAAgAAAAIAAAAUAA0ACwAaABYAEAAMABcAAAAAAAAAAAAAAAAABgAAAAEAAQABAAAAAQAAAAAAAAAAAAAAAwADAAcAAwABAAAAEQAAAAgACQAAABMACQAdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgABAAAAAAAAAAIAAQAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAIABAAAAAAAAAAAAAAAAAABAAAACQAAAAAAAAADAAAAAAAAAAAAAAAAAAEAAQAAAAgAAAAAAAAAAAAAAAAADQACAB4AAAANAAAAAAAAABAAAAAAAB4AHwAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAATAAAAAwADACEAAwADAAMAAAABAAMAIgADAAMAAAAAAAMAAAADAAAAAAABACEAAwAAAAAAAgAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAgAHABoACQACAAAAAgABAAIAAAACAAEAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAQABMAAAADAAAAAAANAAAAAAADAAAAAwAAAAAAAgABABAAEwANAAAAIAAiAAAAAAAAAAAAAAAAAAAAHgAhAAAAAwAAAAMAAAADAAAAAAAAAAAAAwAQABMAAAABAAEAAAAAAAAAAAAeAAAAAAAAAAIAAQAAAAAAAAAeACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbABsAAAAPAA8AGAAPAA8ADwAYAAAAAAAAABgAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAZACQAAAAOABUAHAAAAAUAAAAFAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAACgAFAAoAAAAAAAAAAAAAAAAAFQAFAAAAAAAVAAAAAAAAABkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAAAAAAAVAAUAEgAZABUAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAAAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAgAAAAAAAAAAAAAAAAAAAAAAAAACAAIAAgACAAIACwALAAsACwAMAAYABgAGAAYABgAGAAYAAQABAAEAAQABAAAAAAAAAAAAAwAHAAcABwAHAAcACAAIAAgACAAJAAkABAAGAAQABgAEAAYAAgABAAIAAQACAAEAAgABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAIAAQACAAEAAgABAAIAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAMAAgAHAAIABwACAAcAAAAAAAAAAAAAAAAAFAARABQAEQAUABEAFAARABQAEQANAAAADQAAAA0AAAALAAgACwAIAAsACAALAAgACwAIAAsACAAWAAAADAAJAAwAFwAdABcAHQAXAB0AAAAAAAIAAAAAAAAAAAAKAAoACgAKAAoACgAKAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAA4ADgAOAA4AEgAKAAoACgAFAAUABQAFAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAHAAcABwAHAAAABUAAAAOAA4ADgAOAA4ADgAkABIAEgAAAAAAAAAE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"
 };
 
-/*!
- DataTables 1.10.18
- ©2008-2018 SpryMedia Ltd - datatables.net/license
-*/
-(function(h){"function"===typeof define&&define.amd?define(["jquery"],function(E){return h(E,window,document)}):"object"===typeof exports?module.exports=function(E,H){E||(E=window);H||(H="undefined"!==typeof window?require("jquery"):require("jquery")(E));return h(H,E,E.document)}:h(jQuery,window,document)})(function(h,E,H,k){function Z(a){var b,c,d={};h.each(a,function(e){if((b=e.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(b[1]+" "))c=e.replace(b[0],b[2].toLowerCase()),
-d[c]=e,"o"===b[1]&&Z(a[e])});a._hungarianMap=d}function J(a,b,c){a._hungarianMap||Z(a);var d;h.each(b,function(e){d=a._hungarianMap[e];if(d!==k&&(c||b[d]===k))"o"===d.charAt(0)?(b[d]||(b[d]={}),h.extend(!0,b[d],b[e]),J(a[d],b[d],c)):b[d]=b[e]})}function Ca(a){var b=n.defaults.oLanguage,c=b.sDecimal;c&&Da(c);if(a){var d=a.sZeroRecords;!a.sEmptyTable&&(d&&"No data available in table"===b.sEmptyTable)&&F(a,a,"sZeroRecords","sEmptyTable");!a.sLoadingRecords&&(d&&"Loading..."===b.sLoadingRecords)&&F(a,
-a,"sZeroRecords","sLoadingRecords");a.sInfoThousands&&(a.sThousands=a.sInfoThousands);(a=a.sDecimal)&&c!==a&&Da(a)}}function eb(a){A(a,"ordering","bSort");A(a,"orderMulti","bSortMulti");A(a,"orderClasses","bSortClasses");A(a,"orderCellsTop","bSortCellsTop");A(a,"order","aaSorting");A(a,"orderFixed","aaSortingFixed");A(a,"paging","bPaginate");A(a,"pagingType","sPaginationType");A(a,"pageLength","iDisplayLength");A(a,"searching","bFilter");"boolean"===typeof a.sScrollX&&(a.sScrollX=a.sScrollX?"100%":
-"");"boolean"===typeof a.scrollX&&(a.scrollX=a.scrollX?"100%":"");if(a=a.aoSearchCols)for(var b=0,c=a.length;b<c;b++)a[b]&&J(n.models.oSearch,a[b])}function fb(a){A(a,"orderable","bSortable");A(a,"orderData","aDataSort");A(a,"orderSequence","asSorting");A(a,"orderDataType","sortDataType");var b=a.aDataSort;"number"===typeof b&&!h.isArray(b)&&(a.aDataSort=[b])}function gb(a){if(!n.__browser){var b={};n.__browser=b;var c=h("<div/>").css({position:"fixed",top:0,left:-1*h(E).scrollLeft(),height:1,width:1,
-overflow:"hidden"}).append(h("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(h("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=c.children(),e=d.children();b.barWidth=d[0].offsetWidth-d[0].clientWidth;b.bScrollOversize=100===e[0].offsetWidth&&100!==d[0].clientWidth;b.bScrollbarLeft=1!==Math.round(e.offset().left);b.bBounding=c[0].getBoundingClientRect().width?!0:!1;c.remove()}h.extend(a.oBrowser,n.__browser);a.oScroll.iBarWidth=n.__browser.barWidth}
-function hb(a,b,c,d,e,f){var g,j=!1;c!==k&&(g=c,j=!0);for(;d!==e;)a.hasOwnProperty(d)&&(g=j?b(g,a[d],d,a):a[d],j=!0,d+=f);return g}function Ea(a,b){var c=n.defaults.column,d=a.aoColumns.length,c=h.extend({},n.models.oColumn,c,{nTh:b?b:H.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.mData:d,idx:d});a.aoColumns.push(c);c=a.aoPreSearchCols;c[d]=h.extend({},n.models.oSearch,c[d]);ka(a,d,h(b).data())}function ka(a,b,c){var b=a.aoColumns[b],
-d=a.oClasses,e=h(b.nTh);if(!b.sWidthOrig){b.sWidthOrig=e.attr("width")||null;var f=(e.attr("style")||"").match(/width:\s*(\d+[pxem%]+)/);f&&(b.sWidthOrig=f[1])}c!==k&&null!==c&&(fb(c),J(n.defaults.column,c),c.mDataProp!==k&&!c.mData&&(c.mData=c.mDataProp),c.sType&&(b._sManualType=c.sType),c.className&&!c.sClass&&(c.sClass=c.className),c.sClass&&e.addClass(c.sClass),h.extend(b,c),F(b,c,"sWidth","sWidthOrig"),c.iDataSort!==k&&(b.aDataSort=[c.iDataSort]),F(b,c,"aDataSort"));var g=b.mData,j=S(g),i=b.mRender?
-S(b.mRender):null,c=function(a){return"string"===typeof a&&-1!==a.indexOf("@")};b._bAttrSrc=h.isPlainObject(g)&&(c(g.sort)||c(g.type)||c(g.filter));b._setter=null;b.fnGetData=function(a,b,c){var d=j(a,b,k,c);return i&&b?i(d,b,a,c):d};b.fnSetData=function(a,b,c){return N(g)(a,b,c)};"number"!==typeof g&&(a._rowReadObject=!0);a.oFeatures.bSort||(b.bSortable=!1,e.addClass(d.sSortableNone));a=-1!==h.inArray("asc",b.asSorting);c=-1!==h.inArray("desc",b.asSorting);!b.bSortable||!a&&!c?(b.sSortingClass=d.sSortableNone,
-b.sSortingClassJUI=""):a&&!c?(b.sSortingClass=d.sSortableAsc,b.sSortingClassJUI=d.sSortJUIAscAllowed):!a&&c?(b.sSortingClass=d.sSortableDesc,b.sSortingClassJUI=d.sSortJUIDescAllowed):(b.sSortingClass=d.sSortable,b.sSortingClassJUI=d.sSortJUI)}function $(a){if(!1!==a.oFeatures.bAutoWidth){var b=a.aoColumns;Fa(a);for(var c=0,d=b.length;c<d;c++)b[c].nTh.style.width=b[c].sWidth}b=a.oScroll;(""!==b.sY||""!==b.sX)&&la(a);r(a,null,"column-sizing",[a])}function aa(a,b){var c=ma(a,"bVisible");return"number"===
-typeof c[b]?c[b]:null}function ba(a,b){var c=ma(a,"bVisible"),c=h.inArray(b,c);return-1!==c?c:null}function V(a){var b=0;h.each(a.aoColumns,function(a,d){d.bVisible&&"none"!==h(d.nTh).css("display")&&b++});return b}function ma(a,b){var c=[];h.map(a.aoColumns,function(a,e){a[b]&&c.push(e)});return c}function Ga(a){var b=a.aoColumns,c=a.aoData,d=n.ext.type.detect,e,f,g,j,i,h,l,q,t;e=0;for(f=b.length;e<f;e++)if(l=b[e],t=[],!l.sType&&l._sManualType)l.sType=l._sManualType;else if(!l.sType){g=0;for(j=d.length;g<
-j;g++){i=0;for(h=c.length;i<h;i++){t[i]===k&&(t[i]=B(a,i,e,"type"));q=d[g](t[i],a);if(!q&&g!==d.length-1)break;if("html"===q)break}if(q){l.sType=q;break}}l.sType||(l.sType="string")}}function ib(a,b,c,d){var e,f,g,j,i,m,l=a.aoColumns;if(b)for(e=b.length-1;0<=e;e--){m=b[e];var q=m.targets!==k?m.targets:m.aTargets;h.isArray(q)||(q=[q]);f=0;for(g=q.length;f<g;f++)if("number"===typeof q[f]&&0<=q[f]){for(;l.length<=q[f];)Ea(a);d(q[f],m)}else if("number"===typeof q[f]&&0>q[f])d(l.length+q[f],m);else if("string"===
-typeof q[f]){j=0;for(i=l.length;j<i;j++)("_all"==q[f]||h(l[j].nTh).hasClass(q[f]))&&d(j,m)}}if(c){e=0;for(a=c.length;e<a;e++)d(e,c[e])}}function O(a,b,c,d){var e=a.aoData.length,f=h.extend(!0,{},n.models.oRow,{src:c?"dom":"data",idx:e});f._aData=b;a.aoData.push(f);for(var g=a.aoColumns,j=0,i=g.length;j<i;j++)g[j].sType=null;a.aiDisplayMaster.push(e);b=a.rowIdFn(b);b!==k&&(a.aIds[b]=f);(c||!a.oFeatures.bDeferRender)&&Ha(a,e,c,d);return e}function na(a,b){var c;b instanceof h||(b=h(b));return b.map(function(b,
-e){c=Ia(a,e);return O(a,c.data,e,c.cells)})}function B(a,b,c,d){var e=a.iDraw,f=a.aoColumns[c],g=a.aoData[b]._aData,j=f.sDefaultContent,i=f.fnGetData(g,d,{settings:a,row:b,col:c});if(i===k)return a.iDrawError!=e&&null===j&&(K(a,0,"Requested unknown parameter "+("function"==typeof f.mData?"{function}":"'"+f.mData+"'")+" for row "+b+", column "+c,4),a.iDrawError=e),j;if((i===g||null===i)&&null!==j&&d!==k)i=j;else if("function"===typeof i)return i.call(g);return null===i&&"display"==d?"":i}function jb(a,
-b,c,d){a.aoColumns[c].fnSetData(a.aoData[b]._aData,d,{settings:a,row:b,col:c})}function Ja(a){return h.map(a.match(/(\\.|[^\.])+/g)||[""],function(a){return a.replace(/\\\./g,".")})}function S(a){if(h.isPlainObject(a)){var b={};h.each(a,function(a,c){c&&(b[a]=S(c))});return function(a,c,f,g){var j=b[c]||b._;return j!==k?j(a,c,f,g):a}}if(null===a)return function(a){return a};if("function"===typeof a)return function(b,c,f,g){return a(b,c,f,g)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||
--1!==a.indexOf("("))){var c=function(a,b,f){var g,j;if(""!==f){j=Ja(f);for(var i=0,m=j.length;i<m;i++){f=j[i].match(ca);g=j[i].match(W);if(f){j[i]=j[i].replace(ca,"");""!==j[i]&&(a=a[j[i]]);g=[];j.splice(0,i+1);j=j.join(".");if(h.isArray(a)){i=0;for(m=a.length;i<m;i++)g.push(c(a[i],b,j))}a=f[0].substring(1,f[0].length-1);a=""===a?g:g.join(a);break}else if(g){j[i]=j[i].replace(W,"");a=a[j[i]]();continue}if(null===a||a[j[i]]===k)return k;a=a[j[i]]}}return a};return function(b,e){return c(b,e,a)}}return function(b){return b[a]}}
-function N(a){if(h.isPlainObject(a))return N(a._);if(null===a)return function(){};if("function"===typeof a)return function(b,d,e){a(b,"set",d,e)};if("string"===typeof a&&(-1!==a.indexOf(".")||-1!==a.indexOf("[")||-1!==a.indexOf("("))){var b=function(a,d,e){var e=Ja(e),f;f=e[e.length-1];for(var g,j,i=0,m=e.length-1;i<m;i++){g=e[i].match(ca);j=e[i].match(W);if(g){e[i]=e[i].replace(ca,"");a[e[i]]=[];f=e.slice();f.splice(0,i+1);g=f.join(".");if(h.isArray(d)){j=0;for(m=d.length;j<m;j++)f={},b(f,d[j],g),
-a[e[i]].push(f)}else a[e[i]]=d;return}j&&(e[i]=e[i].replace(W,""),a=a[e[i]](d));if(null===a[e[i]]||a[e[i]]===k)a[e[i]]={};a=a[e[i]]}if(f.match(W))a[f.replace(W,"")](d);else a[f.replace(ca,"")]=d};return function(c,d){return b(c,d,a)}}return function(b,d){b[a]=d}}function Ka(a){return D(a.aoData,"_aData")}function oa(a){a.aoData.length=0;a.aiDisplayMaster.length=0;a.aiDisplay.length=0;a.aIds={}}function pa(a,b,c){for(var d=-1,e=0,f=a.length;e<f;e++)a[e]==b?d=e:a[e]>b&&a[e]--; -1!=d&&c===k&&a.splice(d,
-1)}function da(a,b,c,d){var e=a.aoData[b],f,g=function(c,d){for(;c.childNodes.length;)c.removeChild(c.firstChild);c.innerHTML=B(a,b,d,"display")};if("dom"===c||(!c||"auto"===c)&&"dom"===e.src)e._aData=Ia(a,e,d,d===k?k:e._aData).data;else{var j=e.anCells;if(j)if(d!==k)g(j[d],d);else{c=0;for(f=j.length;c<f;c++)g(j[c],c)}}e._aSortData=null;e._aFilterData=null;g=a.aoColumns;if(d!==k)g[d].sType=null;else{c=0;for(f=g.length;c<f;c++)g[c].sType=null;La(a,e)}}function Ia(a,b,c,d){var e=[],f=b.firstChild,g,
-j,i=0,m,l=a.aoColumns,q=a._rowReadObject,d=d!==k?d:q?{}:[],t=function(a,b){if("string"===typeof a){var c=a.indexOf("@");-1!==c&&(c=a.substring(c+1),N(a)(d,b.getAttribute(c)))}},G=function(a){if(c===k||c===i)j=l[i],m=h.trim(a.innerHTML),j&&j._bAttrSrc?(N(j.mData._)(d,m),t(j.mData.sort,a),t(j.mData.type,a),t(j.mData.filter,a)):q?(j._setter||(j._setter=N(j.mData)),j._setter(d,m)):d[i]=m;i++};if(f)for(;f;){g=f.nodeName.toUpperCase();if("TD"==g||"TH"==g)G(f),e.push(f);f=f.nextSibling}else{e=b.anCells;
-f=0;for(g=e.length;f<g;f++)G(e[f])}if(b=b.firstChild?b:b.nTr)(b=b.getAttribute("id"))&&N(a.rowId)(d,b);return{data:d,cells:e}}function Ha(a,b,c,d){var e=a.aoData[b],f=e._aData,g=[],j,i,m,l,q;if(null===e.nTr){j=c||H.createElement("tr");e.nTr=j;e.anCells=g;j._DT_RowIndex=b;La(a,e);l=0;for(q=a.aoColumns.length;l<q;l++){m=a.aoColumns[l];i=c?d[l]:H.createElement(m.sCellType);i._DT_CellIndex={row:b,column:l};g.push(i);if((!c||m.mRender||m.mData!==l)&&(!h.isPlainObject(m.mData)||m.mData._!==l+".display"))i.innerHTML=
-B(a,b,l,"display");m.sClass&&(i.className+=" "+m.sClass);m.bVisible&&!c?j.appendChild(i):!m.bVisible&&c&&i.parentNode.removeChild(i);m.fnCreatedCell&&m.fnCreatedCell.call(a.oInstance,i,B(a,b,l),f,b,l)}r(a,"aoRowCreatedCallback",null,[j,f,b,g])}e.nTr.setAttribute("role","row")}function La(a,b){var c=b.nTr,d=b._aData;if(c){var e=a.rowIdFn(d);e&&(c.id=e);d.DT_RowClass&&(e=d.DT_RowClass.split(" "),b.__rowc=b.__rowc?qa(b.__rowc.concat(e)):e,h(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass));
-d.DT_RowAttr&&h(c).attr(d.DT_RowAttr);d.DT_RowData&&h(c).data(d.DT_RowData)}}function kb(a){var b,c,d,e,f,g=a.nTHead,j=a.nTFoot,i=0===h("th, td",g).length,m=a.oClasses,l=a.aoColumns;i&&(e=h("<tr/>").appendTo(g));b=0;for(c=l.length;b<c;b++)f=l[b],d=h(f.nTh).addClass(f.sClass),i&&d.appendTo(e),a.oFeatures.bSort&&(d.addClass(f.sSortingClass),!1!==f.bSortable&&(d.attr("tabindex",a.iTabIndex).attr("aria-controls",a.sTableId),Ma(a,f.nTh,b))),f.sTitle!=d[0].innerHTML&&d.html(f.sTitle),Na(a,"header")(a,d,
-f,m);i&&ea(a.aoHeader,g);h(g).find(">tr").attr("role","row");h(g).find(">tr>th, >tr>td").addClass(m.sHeaderTH);h(j).find(">tr>th, >tr>td").addClass(m.sFooterTH);if(null!==j){a=a.aoFooter[0];b=0;for(c=a.length;b<c;b++)f=l[b],f.nTf=a[b].cell,f.sClass&&h(f.nTf).addClass(f.sClass)}}function fa(a,b,c){var d,e,f,g=[],j=[],i=a.aoColumns.length,m;if(b){c===k&&(c=!1);d=0;for(e=b.length;d<e;d++){g[d]=b[d].slice();g[d].nTr=b[d].nTr;for(f=i-1;0<=f;f--)!a.aoColumns[f].bVisible&&!c&&g[d].splice(f,1);j.push([])}d=
-0;for(e=g.length;d<e;d++){if(a=g[d].nTr)for(;f=a.firstChild;)a.removeChild(f);f=0;for(b=g[d].length;f<b;f++)if(m=i=1,j[d][f]===k){a.appendChild(g[d][f].cell);for(j[d][f]=1;g[d+i]!==k&&g[d][f].cell==g[d+i][f].cell;)j[d+i][f]=1,i++;for(;g[d][f+m]!==k&&g[d][f].cell==g[d][f+m].cell;){for(c=0;c<i;c++)j[d+c][f+m]=1;m++}h(g[d][f].cell).attr("rowspan",i).attr("colspan",m)}}}}function P(a){var b=r(a,"aoPreDrawCallback","preDraw",[a]);if(-1!==h.inArray(!1,b))C(a,!1);else{var b=[],c=0,d=a.asStripeClasses,e=
-d.length,f=a.oLanguage,g=a.iInitDisplayStart,j="ssp"==y(a),i=a.aiDisplay;a.bDrawing=!0;g!==k&&-1!==g&&(a._iDisplayStart=j?g:g>=a.fnRecordsDisplay()?0:g,a.iInitDisplayStart=-1);var g=a._iDisplayStart,m=a.fnDisplayEnd();if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++,C(a,!1);else if(j){if(!a.bDestroying&&!lb(a))return}else a.iDraw++;if(0!==i.length){f=j?a.aoData.length:m;for(j=j?0:g;j<f;j++){var l=i[j],q=a.aoData[l];null===q.nTr&&Ha(a,l);var t=q.nTr;if(0!==e){var G=d[c%e];q._sRowStripe!=G&&(h(t).removeClass(q._sRowStripe).addClass(G),
-q._sRowStripe=G)}r(a,"aoRowCallback",null,[t,q._aData,c,j,l]);b.push(t);c++}}else c=f.sZeroRecords,1==a.iDraw&&"ajax"==y(a)?c=f.sLoadingRecords:f.sEmptyTable&&0===a.fnRecordsTotal()&&(c=f.sEmptyTable),b[0]=h("<tr/>",{"class":e?d[0]:""}).append(h("<td />",{valign:"top",colSpan:V(a),"class":a.oClasses.sRowEmpty}).html(c))[0];r(a,"aoHeaderCallback","header",[h(a.nTHead).children("tr")[0],Ka(a),g,m,i]);r(a,"aoFooterCallback","footer",[h(a.nTFoot).children("tr")[0],Ka(a),g,m,i]);d=h(a.nTBody);d.children().detach();
-d.append(h(b));r(a,"aoDrawCallback","draw",[a]);a.bSorted=!1;a.bFiltered=!1;a.bDrawing=!1}}function T(a,b){var c=a.oFeatures,d=c.bFilter;c.bSort&&mb(a);d?ga(a,a.oPreviousSearch):a.aiDisplay=a.aiDisplayMaster.slice();!0!==b&&(a._iDisplayStart=0);a._drawHold=b;P(a);a._drawHold=!1}function nb(a){var b=a.oClasses,c=h(a.nTable),c=h("<div/>").insertBefore(c),d=a.oFeatures,e=h("<div/>",{id:a.sTableId+"_wrapper","class":b.sWrapper+(a.nTFoot?"":" "+b.sNoFooter)});a.nHolding=c[0];a.nTableWrapper=e[0];a.nTableReinsertBefore=
-a.nTable.nextSibling;for(var f=a.sDom.split(""),g,j,i,m,l,q,k=0;k<f.length;k++){g=null;j=f[k];if("<"==j){i=h("<div/>")[0];m=f[k+1];if("'"==m||'"'==m){l="";for(q=2;f[k+q]!=m;)l+=f[k+q],q++;"H"==l?l=b.sJUIHeader:"F"==l&&(l=b.sJUIFooter);-1!=l.indexOf(".")?(m=l.split("."),i.id=m[0].substr(1,m[0].length-1),i.className=m[1]):"#"==l.charAt(0)?i.id=l.substr(1,l.length-1):i.className=l;k+=q}e.append(i);e=h(i)}else if(">"==j)e=e.parent();else if("l"==j&&d.bPaginate&&d.bLengthChange)g=ob(a);else if("f"==j&&
-d.bFilter)g=pb(a);else if("r"==j&&d.bProcessing)g=qb(a);else if("t"==j)g=rb(a);else if("i"==j&&d.bInfo)g=sb(a);else if("p"==j&&d.bPaginate)g=tb(a);else if(0!==n.ext.feature.length){i=n.ext.feature;q=0;for(m=i.length;q<m;q++)if(j==i[q].cFeature){g=i[q].fnInit(a);break}}g&&(i=a.aanFeatures,i[j]||(i[j]=[]),i[j].push(g),e.append(g))}c.replaceWith(e);a.nHolding=null}function ea(a,b){var c=h(b).children("tr"),d,e,f,g,j,i,m,l,q,k;a.splice(0,a.length);f=0;for(i=c.length;f<i;f++)a.push([]);f=0;for(i=c.length;f<
-i;f++){d=c[f];for(e=d.firstChild;e;){if("TD"==e.nodeName.toUpperCase()||"TH"==e.nodeName.toUpperCase()){l=1*e.getAttribute("colspan");q=1*e.getAttribute("rowspan");l=!l||0===l||1===l?1:l;q=!q||0===q||1===q?1:q;g=0;for(j=a[f];j[g];)g++;m=g;k=1===l?!0:!1;for(j=0;j<l;j++)for(g=0;g<q;g++)a[f+g][m+j]={cell:e,unique:k},a[f+g].nTr=d}e=e.nextSibling}}}function ra(a,b,c){var d=[];c||(c=a.aoHeader,b&&(c=[],ea(c,b)));for(var b=0,e=c.length;b<e;b++)for(var f=0,g=c[b].length;f<g;f++)if(c[b][f].unique&&(!d[f]||
-!a.bSortCellsTop))d[f]=c[b][f].cell;return d}function sa(a,b,c){r(a,"aoServerParams","serverParams",[b]);if(b&&h.isArray(b)){var d={},e=/(.*?)\[\]$/;h.each(b,function(a,b){var c=b.name.match(e);c?(c=c[0],d[c]||(d[c]=[]),d[c].push(b.value)):d[b.name]=b.value});b=d}var f,g=a.ajax,j=a.oInstance,i=function(b){r(a,null,"xhr",[a,b,a.jqXHR]);c(b)};if(h.isPlainObject(g)&&g.data){f=g.data;var m="function"===typeof f?f(b,a):f,b="function"===typeof f&&m?m:h.extend(!0,b,m);delete g.data}m={data:b,success:function(b){var c=
-b.error||b.sError;c&&K(a,0,c);a.json=b;i(b)},dataType:"json",cache:!1,type:a.sServerMethod,error:function(b,c){var d=r(a,null,"xhr",[a,null,a.jqXHR]);-1===h.inArray(!0,d)&&("parsererror"==c?K(a,0,"Invalid JSON response",1):4===b.readyState&&K(a,0,"Ajax error",7));C(a,!1)}};a.oAjaxData=b;r(a,null,"preXhr",[a,b]);a.fnServerData?a.fnServerData.call(j,a.sAjaxSource,h.map(b,function(a,b){return{name:b,value:a}}),i,a):a.sAjaxSource||"string"===typeof g?a.jqXHR=h.ajax(h.extend(m,{url:g||a.sAjaxSource})):
-"function"===typeof g?a.jqXHR=g.call(j,b,i,a):(a.jqXHR=h.ajax(h.extend(m,g)),g.data=f)}function lb(a){return a.bAjaxDataGet?(a.iDraw++,C(a,!0),sa(a,ub(a),function(b){vb(a,b)}),!1):!0}function ub(a){var b=a.aoColumns,c=b.length,d=a.oFeatures,e=a.oPreviousSearch,f=a.aoPreSearchCols,g,j=[],i,m,l,k=X(a);g=a._iDisplayStart;i=!1!==d.bPaginate?a._iDisplayLength:-1;var t=function(a,b){j.push({name:a,value:b})};t("sEcho",a.iDraw);t("iColumns",c);t("sColumns",D(b,"sName").join(","));t("iDisplayStart",g);t("iDisplayLength",
-i);var G={draw:a.iDraw,columns:[],order:[],start:g,length:i,search:{value:e.sSearch,regex:e.bRegex}};for(g=0;g<c;g++)m=b[g],l=f[g],i="function"==typeof m.mData?"function":m.mData,G.columns.push({data:i,name:m.sName,searchable:m.bSearchable,orderable:m.bSortable,search:{value:l.sSearch,regex:l.bRegex}}),t("mDataProp_"+g,i),d.bFilter&&(t("sSearch_"+g,l.sSearch),t("bRegex_"+g,l.bRegex),t("bSearchable_"+g,m.bSearchable)),d.bSort&&t("bSortable_"+g,m.bSortable);d.bFilter&&(t("sSearch",e.sSearch),t("bRegex",
-e.bRegex));d.bSort&&(h.each(k,function(a,b){G.order.push({column:b.col,dir:b.dir});t("iSortCol_"+a,b.col);t("sSortDir_"+a,b.dir)}),t("iSortingCols",k.length));b=n.ext.legacy.ajax;return null===b?a.sAjaxSource?j:G:b?j:G}function vb(a,b){var c=ta(a,b),d=b.sEcho!==k?b.sEcho:b.draw,e=b.iTotalRecords!==k?b.iTotalRecords:b.recordsTotal,f=b.iTotalDisplayRecords!==k?b.iTotalDisplayRecords:b.recordsFiltered;if(d){if(1*d<a.iDraw)return;a.iDraw=1*d}oa(a);a._iRecordsTotal=parseInt(e,10);a._iRecordsDisplay=parseInt(f,
-10);d=0;for(e=c.length;d<e;d++)O(a,c[d]);a.aiDisplay=a.aiDisplayMaster.slice();a.bAjaxDataGet=!1;P(a);a._bInitComplete||ua(a,b);a.bAjaxDataGet=!0;C(a,!1)}function ta(a,b){var c=h.isPlainObject(a.ajax)&&a.ajax.dataSrc!==k?a.ajax.dataSrc:a.sAjaxDataProp;return"data"===c?b.aaData||b[c]:""!==c?S(c)(b):b}function pb(a){var b=a.oClasses,c=a.sTableId,d=a.oLanguage,e=a.oPreviousSearch,f=a.aanFeatures,g='<input type="search" class="'+b.sFilterInput+'"/>',j=d.sSearch,j=j.match(/_INPUT_/)?j.replace("_INPUT_",
-g):j+g,b=h("<div/>",{id:!f.f?c+"_filter":null,"class":b.sFilter}).append(h("<label/>").append(j)),f=function(){var b=!this.value?"":this.value;b!=e.sSearch&&(ga(a,{sSearch:b,bRegex:e.bRegex,bSmart:e.bSmart,bCaseInsensitive:e.bCaseInsensitive}),a._iDisplayStart=0,P(a))},g=null!==a.searchDelay?a.searchDelay:"ssp"===y(a)?400:0,i=h("input",b).val(e.sSearch).attr("placeholder",d.sSearchPlaceholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",g?Oa(f,g):f).on("keypress.DT",function(a){if(13==a.keyCode)return!1}).attr("aria-controls",
-c);h(a.nTable).on("search.dt.DT",function(b,c){if(a===c)try{i[0]!==H.activeElement&&i.val(e.sSearch)}catch(d){}});return b[0]}function ga(a,b,c){var d=a.oPreviousSearch,e=a.aoPreSearchCols,f=function(a){d.sSearch=a.sSearch;d.bRegex=a.bRegex;d.bSmart=a.bSmart;d.bCaseInsensitive=a.bCaseInsensitive};Ga(a);if("ssp"!=y(a)){wb(a,b.sSearch,c,b.bEscapeRegex!==k?!b.bEscapeRegex:b.bRegex,b.bSmart,b.bCaseInsensitive);f(b);for(b=0;b<e.length;b++)xb(a,e[b].sSearch,b,e[b].bEscapeRegex!==k?!e[b].bEscapeRegex:e[b].bRegex,
-e[b].bSmart,e[b].bCaseInsensitive);yb(a)}else f(b);a.bFiltered=!0;r(a,null,"search",[a])}function yb(a){for(var b=n.ext.search,c=a.aiDisplay,d,e,f=0,g=b.length;f<g;f++){for(var j=[],i=0,m=c.length;i<m;i++)e=c[i],d=a.aoData[e],b[f](a,d._aFilterData,e,d._aData,i)&&j.push(e);c.length=0;h.merge(c,j)}}function xb(a,b,c,d,e,f){if(""!==b){for(var g=[],j=a.aiDisplay,d=Pa(b,d,e,f),e=0;e<j.length;e++)b=a.aoData[j[e]]._aFilterData[c],d.test(b)&&g.push(j[e]);a.aiDisplay=g}}function wb(a,b,c,d,e,f){var d=Pa(b,
-d,e,f),f=a.oPreviousSearch.sSearch,g=a.aiDisplayMaster,j,e=[];0!==n.ext.search.length&&(c=!0);j=zb(a);if(0>=b.length)a.aiDisplay=g.slice();else{if(j||c||f.length>b.length||0!==b.indexOf(f)||a.bSorted)a.aiDisplay=g.slice();b=a.aiDisplay;for(c=0;c<b.length;c++)d.test(a.aoData[b[c]]._sFilterRow)&&e.push(b[c]);a.aiDisplay=e}}function Pa(a,b,c,d){a=b?a:Qa(a);c&&(a="^(?=.*?"+h.map(a.match(/"[^"]+"|[^ ]+/g)||[""],function(a){if('"'===a.charAt(0))var b=a.match(/^"(.*)"$/),a=b?b[1]:a;return a.replace('"',
-"")}).join(")(?=.*?")+").*$");return RegExp(a,d?"i":"")}function zb(a){var b=a.aoColumns,c,d,e,f,g,j,i,h,l=n.ext.type.search;c=!1;d=0;for(f=a.aoData.length;d<f;d++)if(h=a.aoData[d],!h._aFilterData){j=[];e=0;for(g=b.length;e<g;e++)c=b[e],c.bSearchable?(i=B(a,d,e,"filter"),l[c.sType]&&(i=l[c.sType](i)),null===i&&(i=""),"string"!==typeof i&&i.toString&&(i=i.toString())):i="",i.indexOf&&-1!==i.indexOf("&")&&(va.innerHTML=i,i=Wb?va.textContent:va.innerText),i.replace&&(i=i.replace(/[\r\n]/g,"")),j.push(i);
-h._aFilterData=j;h._sFilterRow=j.join("  ");c=!0}return c}function Ab(a){return{search:a.sSearch,smart:a.bSmart,regex:a.bRegex,caseInsensitive:a.bCaseInsensitive}}function Bb(a){return{sSearch:a.search,bSmart:a.smart,bRegex:a.regex,bCaseInsensitive:a.caseInsensitive}}function sb(a){var b=a.sTableId,c=a.aanFeatures.i,d=h("<div/>",{"class":a.oClasses.sInfo,id:!c?b+"_info":null});c||(a.aoDrawCallback.push({fn:Cb,sName:"information"}),d.attr("role","status").attr("aria-live","polite"),h(a.nTable).attr("aria-describedby",
-b+"_info"));return d[0]}function Cb(a){var b=a.aanFeatures.i;if(0!==b.length){var c=a.oLanguage,d=a._iDisplayStart+1,e=a.fnDisplayEnd(),f=a.fnRecordsTotal(),g=a.fnRecordsDisplay(),j=g?c.sInfo:c.sInfoEmpty;g!==f&&(j+=" "+c.sInfoFiltered);j+=c.sInfoPostFix;j=Db(a,j);c=c.fnInfoCallback;null!==c&&(j=c.call(a.oInstance,a,d,e,f,g,j));h(b).html(j)}}function Db(a,b){var c=a.fnFormatNumber,d=a._iDisplayStart+1,e=a._iDisplayLength,f=a.fnRecordsDisplay(),g=-1===e;return b.replace(/_START_/g,c.call(a,d)).replace(/_END_/g,
-c.call(a,a.fnDisplayEnd())).replace(/_MAX_/g,c.call(a,a.fnRecordsTotal())).replace(/_TOTAL_/g,c.call(a,f)).replace(/_PAGE_/g,c.call(a,g?1:Math.ceil(d/e))).replace(/_PAGES_/g,c.call(a,g?1:Math.ceil(f/e)))}function ha(a){var b,c,d=a.iInitDisplayStart,e=a.aoColumns,f;c=a.oFeatures;var g=a.bDeferLoading;if(a.bInitialised){nb(a);kb(a);fa(a,a.aoHeader);fa(a,a.aoFooter);C(a,!0);c.bAutoWidth&&Fa(a);b=0;for(c=e.length;b<c;b++)f=e[b],f.sWidth&&(f.nTh.style.width=v(f.sWidth));r(a,null,"preInit",[a]);T(a);e=
-y(a);if("ssp"!=e||g)"ajax"==e?sa(a,[],function(c){var f=ta(a,c);for(b=0;b<f.length;b++)O(a,f[b]);a.iInitDisplayStart=d;T(a);C(a,!1);ua(a,c)},a):(C(a,!1),ua(a))}else setTimeout(function(){ha(a)},200)}function ua(a,b){a._bInitComplete=!0;(b||a.oInit.aaData)&&$(a);r(a,null,"plugin-init",[a,b]);r(a,"aoInitComplete","init",[a,b])}function Ra(a,b){var c=parseInt(b,10);a._iDisplayLength=c;Sa(a);r(a,null,"length",[a,c])}function ob(a){for(var b=a.oClasses,c=a.sTableId,d=a.aLengthMenu,e=h.isArray(d[0]),f=
-e?d[0]:d,d=e?d[1]:d,e=h("<select/>",{name:c+"_length","aria-controls":c,"class":b.sLengthSelect}),g=0,j=f.length;g<j;g++)e[0][g]=new Option("number"===typeof d[g]?a.fnFormatNumber(d[g]):d[g],f[g]);var i=h("<div><label/></div>").addClass(b.sLength);a.aanFeatures.l||(i[0].id=c+"_length");i.children().append(a.oLanguage.sLengthMenu.replace("_MENU_",e[0].outerHTML));h("select",i).val(a._iDisplayLength).on("change.DT",function(){Ra(a,h(this).val());P(a)});h(a.nTable).on("length.dt.DT",function(b,c,d){a===
-c&&h("select",i).val(d)});return i[0]}function tb(a){var b=a.sPaginationType,c=n.ext.pager[b],d="function"===typeof c,e=function(a){P(a)},b=h("<div/>").addClass(a.oClasses.sPaging+b)[0],f=a.aanFeatures;d||c.fnInit(a,b,e);f.p||(b.id=a.sTableId+"_paginate",a.aoDrawCallback.push({fn:function(a){if(d){var b=a._iDisplayStart,i=a._iDisplayLength,h=a.fnRecordsDisplay(),l=-1===i,b=l?0:Math.ceil(b/i),i=l?1:Math.ceil(h/i),h=c(b,i),k,l=0;for(k=f.p.length;l<k;l++)Na(a,"pageButton")(a,f.p[l],l,h,b,i)}else c.fnUpdate(a,
-e)},sName:"pagination"}));return b}function Ta(a,b,c){var d=a._iDisplayStart,e=a._iDisplayLength,f=a.fnRecordsDisplay();0===f||-1===e?d=0:"number"===typeof b?(d=b*e,d>f&&(d=0)):"first"==b?d=0:"previous"==b?(d=0<=e?d-e:0,0>d&&(d=0)):"next"==b?d+e<f&&(d+=e):"last"==b?d=Math.floor((f-1)/e)*e:K(a,0,"Unknown paging action: "+b,5);b=a._iDisplayStart!==d;a._iDisplayStart=d;b&&(r(a,null,"page",[a]),c&&P(a));return b}function qb(a){return h("<div/>",{id:!a.aanFeatures.r?a.sTableId+"_processing":null,"class":a.oClasses.sProcessing}).html(a.oLanguage.sProcessing).insertBefore(a.nTable)[0]}
-function C(a,b){a.oFeatures.bProcessing&&h(a.aanFeatures.r).css("display",b?"block":"none");r(a,null,"processing",[a,b])}function rb(a){var b=h(a.nTable);b.attr("role","grid");var c=a.oScroll;if(""===c.sX&&""===c.sY)return a.nTable;var d=c.sX,e=c.sY,f=a.oClasses,g=b.children("caption"),j=g.length?g[0]._captionSide:null,i=h(b[0].cloneNode(!1)),m=h(b[0].cloneNode(!1)),l=b.children("tfoot");l.length||(l=null);i=h("<div/>",{"class":f.sScrollWrapper}).append(h("<div/>",{"class":f.sScrollHead}).css({overflow:"hidden",
-position:"relative",border:0,width:d?!d?null:v(d):"100%"}).append(h("<div/>",{"class":f.sScrollHeadInner}).css({"box-sizing":"content-box",width:c.sXInner||"100%"}).append(i.removeAttr("id").css("margin-left",0).append("top"===j?g:null).append(b.children("thead"))))).append(h("<div/>",{"class":f.sScrollBody}).css({position:"relative",overflow:"auto",width:!d?null:v(d)}).append(b));l&&i.append(h("<div/>",{"class":f.sScrollFoot}).css({overflow:"hidden",border:0,width:d?!d?null:v(d):"100%"}).append(h("<div/>",
-{"class":f.sScrollFootInner}).append(m.removeAttr("id").css("margin-left",0).append("bottom"===j?g:null).append(b.children("tfoot")))));var b=i.children(),k=b[0],f=b[1],t=l?b[2]:null;if(d)h(f).on("scroll.DT",function(){var a=this.scrollLeft;k.scrollLeft=a;l&&(t.scrollLeft=a)});h(f).css(e&&c.bCollapse?"max-height":"height",e);a.nScrollHead=k;a.nScrollBody=f;a.nScrollFoot=t;a.aoDrawCallback.push({fn:la,sName:"scrolling"});return i[0]}function la(a){var b=a.oScroll,c=b.sX,d=b.sXInner,e=b.sY,b=b.iBarWidth,
-f=h(a.nScrollHead),g=f[0].style,j=f.children("div"),i=j[0].style,m=j.children("table"),j=a.nScrollBody,l=h(j),q=j.style,t=h(a.nScrollFoot).children("div"),n=t.children("table"),o=h(a.nTHead),p=h(a.nTable),s=p[0],r=s.style,u=a.nTFoot?h(a.nTFoot):null,x=a.oBrowser,U=x.bScrollOversize,Xb=D(a.aoColumns,"nTh"),Q,L,R,w,Ua=[],y=[],z=[],A=[],B,C=function(a){a=a.style;a.paddingTop="0";a.paddingBottom="0";a.borderTopWidth="0";a.borderBottomWidth="0";a.height=0};L=j.scrollHeight>j.clientHeight;if(a.scrollBarVis!==
-L&&a.scrollBarVis!==k)a.scrollBarVis=L,$(a);else{a.scrollBarVis=L;p.children("thead, tfoot").remove();u&&(R=u.clone().prependTo(p),Q=u.find("tr"),R=R.find("tr"));w=o.clone().prependTo(p);o=o.find("tr");L=w.find("tr");w.find("th, td").removeAttr("tabindex");c||(q.width="100%",f[0].style.width="100%");h.each(ra(a,w),function(b,c){B=aa(a,b);c.style.width=a.aoColumns[B].sWidth});u&&I(function(a){a.style.width=""},R);f=p.outerWidth();if(""===c){r.width="100%";if(U&&(p.find("tbody").height()>j.offsetHeight||
-"scroll"==l.css("overflow-y")))r.width=v(p.outerWidth()-b);f=p.outerWidth()}else""!==d&&(r.width=v(d),f=p.outerWidth());I(C,L);I(function(a){z.push(a.innerHTML);Ua.push(v(h(a).css("width")))},L);I(function(a,b){if(h.inArray(a,Xb)!==-1)a.style.width=Ua[b]},o);h(L).height(0);u&&(I(C,R),I(function(a){A.push(a.innerHTML);y.push(v(h(a).css("width")))},R),I(function(a,b){a.style.width=y[b]},Q),h(R).height(0));I(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+z[b]+"</div>";a.childNodes[0].style.height=
-"0";a.childNodes[0].style.overflow="hidden";a.style.width=Ua[b]},L);u&&I(function(a,b){a.innerHTML='<div class="dataTables_sizing">'+A[b]+"</div>";a.childNodes[0].style.height="0";a.childNodes[0].style.overflow="hidden";a.style.width=y[b]},R);if(p.outerWidth()<f){Q=j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")?f+b:f;if(U&&(j.scrollHeight>j.offsetHeight||"scroll"==l.css("overflow-y")))r.width=v(Q-b);(""===c||""!==d)&&K(a,1,"Possible column misalignment",6)}else Q="100%";q.width=v(Q);
-g.width=v(Q);u&&(a.nScrollFoot.style.width=v(Q));!e&&U&&(q.height=v(s.offsetHeight+b));c=p.outerWidth();m[0].style.width=v(c);i.width=v(c);d=p.height()>j.clientHeight||"scroll"==l.css("overflow-y");e="padding"+(x.bScrollbarLeft?"Left":"Right");i[e]=d?b+"px":"0px";u&&(n[0].style.width=v(c),t[0].style.width=v(c),t[0].style[e]=d?b+"px":"0px");p.children("colgroup").insertBefore(p.children("thead"));l.scroll();if((a.bSorted||a.bFiltered)&&!a._drawHold)j.scrollTop=0}}function I(a,b,c){for(var d=0,e=0,
-f=b.length,g,j;e<f;){g=b[e].firstChild;for(j=c?c[e].firstChild:null;g;)1===g.nodeType&&(c?a(g,j,d):a(g,d),d++),g=g.nextSibling,j=c?j.nextSibling:null;e++}}function Fa(a){var b=a.nTable,c=a.aoColumns,d=a.oScroll,e=d.sY,f=d.sX,g=d.sXInner,j=c.length,i=ma(a,"bVisible"),m=h("th",a.nTHead),l=b.getAttribute("width"),k=b.parentNode,t=!1,n,o,p=a.oBrowser,d=p.bScrollOversize;(n=b.style.width)&&-1!==n.indexOf("%")&&(l=n);for(n=0;n<i.length;n++)o=c[i[n]],null!==o.sWidth&&(o.sWidth=Eb(o.sWidthOrig,k),t=!0);if(d||
-!t&&!f&&!e&&j==V(a)&&j==m.length)for(n=0;n<j;n++)i=aa(a,n),null!==i&&(c[i].sWidth=v(m.eq(n).width()));else{j=h(b).clone().css("visibility","hidden").removeAttr("id");j.find("tbody tr").remove();var s=h("<tr/>").appendTo(j.find("tbody"));j.find("thead, tfoot").remove();j.append(h(a.nTHead).clone()).append(h(a.nTFoot).clone());j.find("tfoot th, tfoot td").css("width","");m=ra(a,j.find("thead")[0]);for(n=0;n<i.length;n++)o=c[i[n]],m[n].style.width=null!==o.sWidthOrig&&""!==o.sWidthOrig?v(o.sWidthOrig):
-"",o.sWidthOrig&&f&&h(m[n]).append(h("<div/>").css({width:o.sWidthOrig,margin:0,padding:0,border:0,height:1}));if(a.aoData.length)for(n=0;n<i.length;n++)t=i[n],o=c[t],h(Fb(a,t)).clone(!1).append(o.sContentPadding).appendTo(s);h("[name]",j).removeAttr("name");o=h("<div/>").css(f||e?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(j).appendTo(k);f&&g?j.width(g):f?(j.css("width","auto"),j.removeAttr("width"),j.width()<k.clientWidth&&l&&j.width(k.clientWidth)):e?j.width(k.clientWidth):
-l&&j.width(l);for(n=e=0;n<i.length;n++)k=h(m[n]),g=k.outerWidth()-k.width(),k=p.bBounding?Math.ceil(m[n].getBoundingClientRect().width):k.outerWidth(),e+=k,c[i[n]].sWidth=v(k-g);b.style.width=v(e);o.remove()}l&&(b.style.width=v(l));if((l||f)&&!a._reszEvt)b=function(){h(E).on("resize.DT-"+a.sInstance,Oa(function(){$(a)}))},d?setTimeout(b,1E3):b(),a._reszEvt=!0}function Eb(a,b){if(!a)return 0;var c=h("<div/>").css("width",v(a)).appendTo(b||H.body),d=c[0].offsetWidth;c.remove();return d}function Fb(a,
-b){var c=Gb(a,b);if(0>c)return null;var d=a.aoData[c];return!d.nTr?h("<td/>").html(B(a,c,b,"display"))[0]:d.anCells[b]}function Gb(a,b){for(var c,d=-1,e=-1,f=0,g=a.aoData.length;f<g;f++)c=B(a,f,b,"display")+"",c=c.replace(Yb,""),c=c.replace(/&nbsp;/g," "),c.length>d&&(d=c.length,e=f);return e}function v(a){return null===a?"0px":"number"==typeof a?0>a?"0px":a+"px":a.match(/\d$/)?a+"px":a}function X(a){var b,c,d=[],e=a.aoColumns,f,g,j,i;b=a.aaSortingFixed;c=h.isPlainObject(b);var m=[];f=function(a){a.length&&
-!h.isArray(a[0])?m.push(a):h.merge(m,a)};h.isArray(b)&&f(b);c&&b.pre&&f(b.pre);f(a.aaSorting);c&&b.post&&f(b.post);for(a=0;a<m.length;a++){i=m[a][0];f=e[i].aDataSort;b=0;for(c=f.length;b<c;b++)g=f[b],j=e[g].sType||"string",m[a]._idx===k&&(m[a]._idx=h.inArray(m[a][1],e[g].asSorting)),d.push({src:i,col:g,dir:m[a][1],index:m[a]._idx,type:j,formatter:n.ext.type.order[j+"-pre"]})}return d}function mb(a){var b,c,d=[],e=n.ext.type.order,f=a.aoData,g=0,j,i=a.aiDisplayMaster,h;Ga(a);h=X(a);b=0;for(c=h.length;b<
-c;b++)j=h[b],j.formatter&&g++,Hb(a,j.col);if("ssp"!=y(a)&&0!==h.length){b=0;for(c=i.length;b<c;b++)d[i[b]]=b;g===h.length?i.sort(function(a,b){var c,e,g,j,i=h.length,k=f[a]._aSortData,n=f[b]._aSortData;for(g=0;g<i;g++)if(j=h[g],c=k[j.col],e=n[j.col],c=c<e?-1:c>e?1:0,0!==c)return"asc"===j.dir?c:-c;c=d[a];e=d[b];return c<e?-1:c>e?1:0}):i.sort(function(a,b){var c,g,j,i,k=h.length,n=f[a]._aSortData,o=f[b]._aSortData;for(j=0;j<k;j++)if(i=h[j],c=n[i.col],g=o[i.col],i=e[i.type+"-"+i.dir]||e["string-"+i.dir],
-c=i(c,g),0!==c)return c;c=d[a];g=d[b];return c<g?-1:c>g?1:0})}a.bSorted=!0}function Ib(a){for(var b,c,d=a.aoColumns,e=X(a),a=a.oLanguage.oAria,f=0,g=d.length;f<g;f++){c=d[f];var j=c.asSorting;b=c.sTitle.replace(/<.*?>/g,"");var i=c.nTh;i.removeAttribute("aria-sort");c.bSortable&&(0<e.length&&e[0].col==f?(i.setAttribute("aria-sort","asc"==e[0].dir?"ascending":"descending"),c=j[e[0].index+1]||j[0]):c=j[0],b+="asc"===c?a.sSortAscending:a.sSortDescending);i.setAttribute("aria-label",b)}}function Va(a,
-b,c,d){var e=a.aaSorting,f=a.aoColumns[b].asSorting,g=function(a,b){var c=a._idx;c===k&&(c=h.inArray(a[1],f));return c+1<f.length?c+1:b?null:0};"number"===typeof e[0]&&(e=a.aaSorting=[e]);c&&a.oFeatures.bSortMulti?(c=h.inArray(b,D(e,"0")),-1!==c?(b=g(e[c],!0),null===b&&1===e.length&&(b=0),null===b?e.splice(c,1):(e[c][1]=f[b],e[c]._idx=b)):(e.push([b,f[0],0]),e[e.length-1]._idx=0)):e.length&&e[0][0]==b?(b=g(e[0]),e.length=1,e[0][1]=f[b],e[0]._idx=b):(e.length=0,e.push([b,f[0]]),e[0]._idx=0);T(a);"function"==
-typeof d&&d(a)}function Ma(a,b,c,d){var e=a.aoColumns[c];Wa(b,{},function(b){!1!==e.bSortable&&(a.oFeatures.bProcessing?(C(a,!0),setTimeout(function(){Va(a,c,b.shiftKey,d);"ssp"!==y(a)&&C(a,!1)},0)):Va(a,c,b.shiftKey,d))})}function wa(a){var b=a.aLastSort,c=a.oClasses.sSortColumn,d=X(a),e=a.oFeatures,f,g;if(e.bSort&&e.bSortClasses){e=0;for(f=b.length;e<f;e++)g=b[e].src,h(D(a.aoData,"anCells",g)).removeClass(c+(2>e?e+1:3));e=0;for(f=d.length;e<f;e++)g=d[e].src,h(D(a.aoData,"anCells",g)).addClass(c+
-(2>e?e+1:3))}a.aLastSort=d}function Hb(a,b){var c=a.aoColumns[b],d=n.ext.order[c.sSortDataType],e;d&&(e=d.call(a.oInstance,a,b,ba(a,b)));for(var f,g=n.ext.type.order[c.sType+"-pre"],j=0,i=a.aoData.length;j<i;j++)if(c=a.aoData[j],c._aSortData||(c._aSortData=[]),!c._aSortData[b]||d)f=d?e[j]:B(a,j,b,"sort"),c._aSortData[b]=g?g(f):f}function xa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b={time:+new Date,start:a._iDisplayStart,length:a._iDisplayLength,order:h.extend(!0,[],a.aaSorting),search:Ab(a.oPreviousSearch),
-columns:h.map(a.aoColumns,function(b,d){return{visible:b.bVisible,search:Ab(a.aoPreSearchCols[d])}})};r(a,"aoStateSaveParams","stateSaveParams",[a,b]);a.oSavedState=b;a.fnStateSaveCallback.call(a.oInstance,a,b)}}function Jb(a,b,c){var d,e,f=a.aoColumns,b=function(b){if(b&&b.time){var g=r(a,"aoStateLoadParams","stateLoadParams",[a,b]);if(-1===h.inArray(!1,g)&&(g=a.iStateDuration,!(0<g&&b.time<+new Date-1E3*g)&&!(b.columns&&f.length!==b.columns.length))){a.oLoadedState=h.extend(!0,{},b);b.start!==k&&
-(a._iDisplayStart=b.start,a.iInitDisplayStart=b.start);b.length!==k&&(a._iDisplayLength=b.length);b.order!==k&&(a.aaSorting=[],h.each(b.order,function(b,c){a.aaSorting.push(c[0]>=f.length?[0,c[1]]:c)}));b.search!==k&&h.extend(a.oPreviousSearch,Bb(b.search));if(b.columns){d=0;for(e=b.columns.length;d<e;d++)g=b.columns[d],g.visible!==k&&(f[d].bVisible=g.visible),g.search!==k&&h.extend(a.aoPreSearchCols[d],Bb(g.search))}r(a,"aoStateLoaded","stateLoaded",[a,b])}}c()};if(a.oFeatures.bStateSave){var g=
-a.fnStateLoadCallback.call(a.oInstance,a,b);g!==k&&b(g)}else c()}function ya(a){var b=n.settings,a=h.inArray(a,D(b,"nTable"));return-1!==a?b[a]:null}function K(a,b,c,d){c="DataTables warning: "+(a?"table id="+a.sTableId+" - ":"")+c;d&&(c+=". For more information about this error, please see http://datatables.net/tn/"+d);if(b)E.console&&console.log&&console.log(c);else if(b=n.ext,b=b.sErrMode||b.errMode,a&&r(a,null,"error",[a,d,c]),"alert"==b)alert(c);else{if("throw"==b)throw Error(c);"function"==
-typeof b&&b(a,d,c)}}function F(a,b,c,d){h.isArray(c)?h.each(c,function(c,d){h.isArray(d)?F(a,b,d[0],d[1]):F(a,b,d)}):(d===k&&(d=c),b[c]!==k&&(a[d]=b[c]))}function Xa(a,b,c){var d,e;for(e in b)b.hasOwnProperty(e)&&(d=b[e],h.isPlainObject(d)?(h.isPlainObject(a[e])||(a[e]={}),h.extend(!0,a[e],d)):a[e]=c&&"data"!==e&&"aaData"!==e&&h.isArray(d)?d.slice():d);return a}function Wa(a,b,c){h(a).on("click.DT",b,function(b){h(a).blur();c(b)}).on("keypress.DT",b,function(a){13===a.which&&(a.preventDefault(),c(a))}).on("selectstart.DT",
-function(){return!1})}function z(a,b,c,d){c&&a[b].push({fn:c,sName:d})}function r(a,b,c,d){var e=[];b&&(e=h.map(a[b].slice().reverse(),function(b){return b.fn.apply(a.oInstance,d)}));null!==c&&(b=h.Event(c+".dt"),h(a.nTable).trigger(b,d),e.push(b.result));return e}function Sa(a){var b=a._iDisplayStart,c=a.fnDisplayEnd(),d=a._iDisplayLength;b>=c&&(b=c-d);b-=b%d;if(-1===d||0>b)b=0;a._iDisplayStart=b}function Na(a,b){var c=a.renderer,d=n.ext.renderer[b];return h.isPlainObject(c)&&c[b]?d[c[b]]||d._:"string"===
-typeof c?d[c]||d._:d._}function y(a){return a.oFeatures.bServerSide?"ssp":a.ajax||a.sAjaxSource?"ajax":"dom"}function ia(a,b){var c=[],c=Kb.numbers_length,d=Math.floor(c/2);b<=c?c=Y(0,b):a<=d?(c=Y(0,c-2),c.push("ellipsis"),c.push(b-1)):(a>=b-1-d?c=Y(b-(c-2),b):(c=Y(a-d+2,a+d-1),c.push("ellipsis"),c.push(b-1)),c.splice(0,0,"ellipsis"),c.splice(0,0,0));c.DT_el="span";return c}function Da(a){h.each({num:function(b){return za(b,a)},"num-fmt":function(b){return za(b,a,Ya)},"html-num":function(b){return za(b,
-a,Aa)},"html-num-fmt":function(b){return za(b,a,Aa,Ya)}},function(b,c){x.type.order[b+a+"-pre"]=c;b.match(/^html\-/)&&(x.type.search[b+a]=x.type.search.html)})}function Lb(a){return function(){var b=[ya(this[n.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return n.ext.internal[a].apply(this,b)}}var n=function(a){this.$=function(a,b){return this.api(!0).$(a,b)};this._=function(a,b){return this.api(!0).rows(a,b).data()};this.api=function(a){return a?new s(ya(this[x.iApiIndex])):new s(this)};
-this.fnAddData=function(a,b){var c=this.api(!0),d=h.isArray(a)&&(h.isArray(a[0])||h.isPlainObject(a[0]))?c.rows.add(a):c.row.add(a);(b===k||b)&&c.draw();return d.flatten().toArray()};this.fnAdjustColumnSizing=function(a){var b=this.api(!0).columns.adjust(),c=b.settings()[0],d=c.oScroll;a===k||a?b.draw(!1):(""!==d.sX||""!==d.sY)&&la(c)};this.fnClearTable=function(a){var b=this.api(!0).clear();(a===k||a)&&b.draw()};this.fnClose=function(a){this.api(!0).row(a).child.hide()};this.fnDeleteRow=function(a,
-b,c){var d=this.api(!0),a=d.rows(a),e=a.settings()[0],h=e.aoData[a[0][0]];a.remove();b&&b.call(this,e,h);(c===k||c)&&d.draw();return h};this.fnDestroy=function(a){this.api(!0).destroy(a)};this.fnDraw=function(a){this.api(!0).draw(a)};this.fnFilter=function(a,b,c,d,e,h){e=this.api(!0);null===b||b===k?e.search(a,c,d,h):e.column(b).search(a,c,d,h);e.draw()};this.fnGetData=function(a,b){var c=this.api(!0);if(a!==k){var d=a.nodeName?a.nodeName.toLowerCase():"";return b!==k||"td"==d||"th"==d?c.cell(a,b).data():
-c.row(a).data()||null}return c.data().toArray()};this.fnGetNodes=function(a){var b=this.api(!0);return a!==k?b.row(a).node():b.rows().nodes().flatten().toArray()};this.fnGetPosition=function(a){var b=this.api(!0),c=a.nodeName.toUpperCase();return"TR"==c?b.row(a).index():"TD"==c||"TH"==c?(a=b.cell(a).index(),[a.row,a.columnVisible,a.column]):null};this.fnIsOpen=function(a){return this.api(!0).row(a).child.isShown()};this.fnOpen=function(a,b,c){return this.api(!0).row(a).child(b,c).show().child()[0]};
-this.fnPageChange=function(a,b){var c=this.api(!0).page(a);(b===k||b)&&c.draw(!1)};this.fnSetColumnVis=function(a,b,c){a=this.api(!0).column(a).visible(b);(c===k||c)&&a.columns.adjust().draw()};this.fnSettings=function(){return ya(this[x.iApiIndex])};this.fnSort=function(a){this.api(!0).order(a).draw()};this.fnSortListener=function(a,b,c){this.api(!0).order.listener(a,b,c)};this.fnUpdate=function(a,b,c,d,e){var h=this.api(!0);c===k||null===c?h.row(b).data(a):h.cell(b,c).data(a);(e===k||e)&&h.columns.adjust();
-(d===k||d)&&h.draw();return 0};this.fnVersionCheck=x.fnVersionCheck;var b=this,c=a===k,d=this.length;c&&(a={});this.oApi=this.internal=x.internal;for(var e in n.ext.internal)e&&(this[e]=Lb(e));this.each(function(){var e={},g=1<d?Xa(e,a,!0):a,j=0,i,e=this.getAttribute("id"),m=!1,l=n.defaults,q=h(this);if("table"!=this.nodeName.toLowerCase())K(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{eb(l);fb(l.column);J(l,l,!0);J(l.column,l.column,!0);J(l,h.extend(g,q.data()));var t=n.settings,
-j=0;for(i=t.length;j<i;j++){var o=t[j];if(o.nTable==this||o.nTHead&&o.nTHead.parentNode==this||o.nTFoot&&o.nTFoot.parentNode==this){var s=g.bRetrieve!==k?g.bRetrieve:l.bRetrieve;if(c||s)return o.oInstance;if(g.bDestroy!==k?g.bDestroy:l.bDestroy){o.oInstance.fnDestroy();break}else{K(o,0,"Cannot reinitialise DataTable",3);return}}if(o.sTableId==this.id){t.splice(j,1);break}}if(null===e||""===e)this.id=e="DataTables_Table_"+n.ext._unique++;var p=h.extend(!0,{},n.models.oSettings,{sDestroyWidth:q[0].style.width,
-sInstance:e,sTableId:e});p.nTable=this;p.oApi=b.internal;p.oInit=g;t.push(p);p.oInstance=1===b.length?b:q.dataTable();eb(g);Ca(g.oLanguage);g.aLengthMenu&&!g.iDisplayLength&&(g.iDisplayLength=h.isArray(g.aLengthMenu[0])?g.aLengthMenu[0][0]:g.aLengthMenu[0]);g=Xa(h.extend(!0,{},l),g);F(p.oFeatures,g,"bPaginate bLengthChange bFilter bSort bSortMulti bInfo bProcessing bAutoWidth bSortClasses bServerSide bDeferRender".split(" "));F(p,g,["asStripeClasses","ajax","fnServerData","fnFormatNumber","sServerMethod",
-"aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","sAjaxSource","sAjaxDataProp","iStateDuration","sDom","bSortCellsTop","iTabIndex","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]);F(p.oScroll,g,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]);F(p.oLanguage,g,"fnInfoCallback");
-z(p,"aoDrawCallback",g.fnDrawCallback,"user");z(p,"aoServerParams",g.fnServerParams,"user");z(p,"aoStateSaveParams",g.fnStateSaveParams,"user");z(p,"aoStateLoadParams",g.fnStateLoadParams,"user");z(p,"aoStateLoaded",g.fnStateLoaded,"user");z(p,"aoRowCallback",g.fnRowCallback,"user");z(p,"aoRowCreatedCallback",g.fnCreatedRow,"user");z(p,"aoHeaderCallback",g.fnHeaderCallback,"user");z(p,"aoFooterCallback",g.fnFooterCallback,"user");z(p,"aoInitComplete",g.fnInitComplete,"user");z(p,"aoPreDrawCallback",
-g.fnPreDrawCallback,"user");p.rowIdFn=S(g.rowId);gb(p);var u=p.oClasses;h.extend(u,n.ext.classes,g.oClasses);q.addClass(u.sTable);p.iInitDisplayStart===k&&(p.iInitDisplayStart=g.iDisplayStart,p._iDisplayStart=g.iDisplayStart);null!==g.iDeferLoading&&(p.bDeferLoading=!0,e=h.isArray(g.iDeferLoading),p._iRecordsDisplay=e?g.iDeferLoading[0]:g.iDeferLoading,p._iRecordsTotal=e?g.iDeferLoading[1]:g.iDeferLoading);var v=p.oLanguage;h.extend(!0,v,g.oLanguage);v.sUrl&&(h.ajax({dataType:"json",url:v.sUrl,success:function(a){Ca(a);
-J(l.oLanguage,a);h.extend(true,v,a);ha(p)},error:function(){ha(p)}}),m=!0);null===g.asStripeClasses&&(p.asStripeClasses=[u.sStripeOdd,u.sStripeEven]);var e=p.asStripeClasses,x=q.children("tbody").find("tr").eq(0);-1!==h.inArray(!0,h.map(e,function(a){return x.hasClass(a)}))&&(h("tbody tr",this).removeClass(e.join(" ")),p.asDestroyStripes=e.slice());e=[];t=this.getElementsByTagName("thead");0!==t.length&&(ea(p.aoHeader,t[0]),e=ra(p));if(null===g.aoColumns){t=[];j=0;for(i=e.length;j<i;j++)t.push(null)}else t=
-g.aoColumns;j=0;for(i=t.length;j<i;j++)Ea(p,e?e[j]:null);ib(p,g.aoColumnDefs,t,function(a,b){ka(p,a,b)});if(x.length){var w=function(a,b){return a.getAttribute("data-"+b)!==null?b:null};h(x[0]).children("th, td").each(function(a,b){var c=p.aoColumns[a];if(c.mData===a){var d=w(b,"sort")||w(b,"order"),e=w(b,"filter")||w(b,"search");if(d!==null||e!==null){c.mData={_:a+".display",sort:d!==null?a+".@data-"+d:k,type:d!==null?a+".@data-"+d:k,filter:e!==null?a+".@data-"+e:k};ka(p,a)}}})}var U=p.oFeatures,
-e=function(){if(g.aaSorting===k){var a=p.aaSorting;j=0;for(i=a.length;j<i;j++)a[j][1]=p.aoColumns[j].asSorting[0]}wa(p);U.bSort&&z(p,"aoDrawCallback",function(){if(p.bSorted){var a=X(p),b={};h.each(a,function(a,c){b[c.src]=c.dir});r(p,null,"order",[p,a,b]);Ib(p)}});z(p,"aoDrawCallback",function(){(p.bSorted||y(p)==="ssp"||U.bDeferRender)&&wa(p)},"sc");var a=q.children("caption").each(function(){this._captionSide=h(this).css("caption-side")}),b=q.children("thead");b.length===0&&(b=h("<thead/>").appendTo(q));
-p.nTHead=b[0];b=q.children("tbody");b.length===0&&(b=h("<tbody/>").appendTo(q));p.nTBody=b[0];b=q.children("tfoot");if(b.length===0&&a.length>0&&(p.oScroll.sX!==""||p.oScroll.sY!==""))b=h("<tfoot/>").appendTo(q);if(b.length===0||b.children().length===0)q.addClass(u.sNoFooter);else if(b.length>0){p.nTFoot=b[0];ea(p.aoFooter,p.nTFoot)}if(g.aaData)for(j=0;j<g.aaData.length;j++)O(p,g.aaData[j]);else(p.bDeferLoading||y(p)=="dom")&&na(p,h(p.nTBody).children("tr"));p.aiDisplay=p.aiDisplayMaster.slice();
-p.bInitialised=true;m===false&&ha(p)};g.bStateSave?(U.bStateSave=!0,z(p,"aoDrawCallback",xa,"state_save"),Jb(p,g,e)):e()}});b=null;return this},x,s,o,u,Za={},Mb=/[\r\n]/g,Aa=/<.*?>/g,Zb=/^\d{2,4}[\.\/\-]\d{1,2}[\.\/\-]\d{1,2}([T ]{1}\d{1,2}[:\.]\d{2}([\.:]\d{2})?)?$/,$b=RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"),Ya=/[',$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,M=function(a){return!a||!0===a||"-"===a?!0:!1},Nb=function(a){var b=parseInt(a,10);return!isNaN(b)&&
-isFinite(a)?b:null},Ob=function(a,b){Za[b]||(Za[b]=RegExp(Qa(b),"g"));return"string"===typeof a&&"."!==b?a.replace(/\./g,"").replace(Za[b],"."):a},$a=function(a,b,c){var d="string"===typeof a;if(M(a))return!0;b&&d&&(a=Ob(a,b));c&&d&&(a=a.replace(Ya,""));return!isNaN(parseFloat(a))&&isFinite(a)},Pb=function(a,b,c){return M(a)?!0:!(M(a)||"string"===typeof a)?null:$a(a.replace(Aa,""),b,c)?!0:null},D=function(a,b,c){var d=[],e=0,f=a.length;if(c!==k)for(;e<f;e++)a[e]&&a[e][b]&&d.push(a[e][b][c]);else for(;e<
-f;e++)a[e]&&d.push(a[e][b]);return d},ja=function(a,b,c,d){var e=[],f=0,g=b.length;if(d!==k)for(;f<g;f++)a[b[f]][c]&&e.push(a[b[f]][c][d]);else for(;f<g;f++)e.push(a[b[f]][c]);return e},Y=function(a,b){var c=[],d;b===k?(b=0,d=a):(d=b,b=a);for(var e=b;e<d;e++)c.push(e);return c},Qb=function(a){for(var b=[],c=0,d=a.length;c<d;c++)a[c]&&b.push(a[c]);return b},qa=function(a){var b;a:{if(!(2>a.length)){b=a.slice().sort();for(var c=b[0],d=1,e=b.length;d<e;d++){if(b[d]===c){b=!1;break a}c=b[d]}}b=!0}if(b)return a.slice();
-b=[];var e=a.length,f,g=0,d=0;a:for(;d<e;d++){c=a[d];for(f=0;f<g;f++)if(b[f]===c)continue a;b.push(c);g++}return b};n.util={throttle:function(a,b){var c=b!==k?b:200,d,e;return function(){var b=this,g=+new Date,j=arguments;d&&g<d+c?(clearTimeout(e),e=setTimeout(function(){d=k;a.apply(b,j)},c)):(d=g,a.apply(b,j))}},escapeRegex:function(a){return a.replace($b,"\\$1")}};var A=function(a,b,c){a[b]!==k&&(a[c]=a[b])},ca=/\[.*?\]$/,W=/\(\)$/,Qa=n.util.escapeRegex,va=h("<div>")[0],Wb=va.textContent!==k,Yb=
-/<.*?>/g,Oa=n.util.throttle,Rb=[],w=Array.prototype,ac=function(a){var b,c,d=n.settings,e=h.map(d,function(a){return a.nTable});if(a){if(a.nTable&&a.oApi)return[a];if(a.nodeName&&"table"===a.nodeName.toLowerCase())return b=h.inArray(a,e),-1!==b?[d[b]]:null;if(a&&"function"===typeof a.settings)return a.settings().toArray();"string"===typeof a?c=h(a):a instanceof h&&(c=a)}else return[];if(c)return c.map(function(){b=h.inArray(this,e);return-1!==b?d[b]:null}).toArray()};s=function(a,b){if(!(this instanceof
-s))return new s(a,b);var c=[],d=function(a){(a=ac(a))&&(c=c.concat(a))};if(h.isArray(a))for(var e=0,f=a.length;e<f;e++)d(a[e]);else d(a);this.context=qa(c);b&&h.merge(this,b);this.selector={rows:null,cols:null,opts:null};s.extend(this,this,Rb)};n.Api=s;h.extend(s.prototype,{any:function(){return 0!==this.count()},concat:w.concat,context:[],count:function(){return this.flatten().length},each:function(a){for(var b=0,c=this.length;b<c;b++)a.call(this,this[b],b,this);return this},eq:function(a){var b=
-this.context;return b.length>a?new s(b[a],this[a]):null},filter:function(a){var b=[];if(w.filter)b=w.filter.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)a.call(this,this[c],c,this)&&b.push(this[c]);return new s(this.context,b)},flatten:function(){var a=[];return new s(this.context,a.concat.apply(a,this.toArray()))},join:w.join,indexOf:w.indexOf||function(a,b){for(var c=b||0,d=this.length;c<d;c++)if(this[c]===a)return c;return-1},iterator:function(a,b,c,d){var e=[],f,g,j,h,m,l=this.context,
-n,o,u=this.selector;"string"===typeof a&&(d=c,c=b,b=a,a=!1);g=0;for(j=l.length;g<j;g++){var r=new s(l[g]);if("table"===b)f=c.call(r,l[g],g),f!==k&&e.push(f);else if("columns"===b||"rows"===b)f=c.call(r,l[g],this[g],g),f!==k&&e.push(f);else if("column"===b||"column-rows"===b||"row"===b||"cell"===b){o=this[g];"column-rows"===b&&(n=Ba(l[g],u.opts));h=0;for(m=o.length;h<m;h++)f=o[h],f="cell"===b?c.call(r,l[g],f.row,f.column,g,h):c.call(r,l[g],f,g,h,n),f!==k&&e.push(f)}}return e.length||d?(a=new s(l,a?
-e.concat.apply([],e):e),b=a.selector,b.rows=u.rows,b.cols=u.cols,b.opts=u.opts,a):this},lastIndexOf:w.lastIndexOf||function(a,b){return this.indexOf.apply(this.toArray.reverse(),arguments)},length:0,map:function(a){var b=[];if(w.map)b=w.map.call(this,a,this);else for(var c=0,d=this.length;c<d;c++)b.push(a.call(this,this[c],c));return new s(this.context,b)},pluck:function(a){return this.map(function(b){return b[a]})},pop:w.pop,push:w.push,reduce:w.reduce||function(a,b){return hb(this,a,b,0,this.length,
-1)},reduceRight:w.reduceRight||function(a,b){return hb(this,a,b,this.length-1,-1,-1)},reverse:w.reverse,selector:null,shift:w.shift,slice:function(){return new s(this.context,this)},sort:w.sort,splice:w.splice,toArray:function(){return w.slice.call(this)},to$:function(){return h(this)},toJQuery:function(){return h(this)},unique:function(){return new s(this.context,qa(this))},unshift:w.unshift});s.extend=function(a,b,c){if(c.length&&b&&(b instanceof s||b.__dt_wrapper)){var d,e,f,g=function(a,b,c){return function(){var d=
-b.apply(a,arguments);s.extend(d,d,c.methodExt);return d}};d=0;for(e=c.length;d<e;d++)f=c[d],b[f.name]="function"===typeof f.val?g(a,f.val,f):h.isPlainObject(f.val)?{}:f.val,b[f.name].__dt_wrapper=!0,s.extend(a,b[f.name],f.propExt)}};s.register=o=function(a,b){if(h.isArray(a))for(var c=0,d=a.length;c<d;c++)s.register(a[c],b);else for(var e=a.split("."),f=Rb,g,j,c=0,d=e.length;c<d;c++){g=(j=-1!==e[c].indexOf("()"))?e[c].replace("()",""):e[c];var i;a:{i=0;for(var m=f.length;i<m;i++)if(f[i].name===g){i=
-f[i];break a}i=null}i||(i={name:g,val:{},methodExt:[],propExt:[]},f.push(i));c===d-1?i.val=b:f=j?i.methodExt:i.propExt}};s.registerPlural=u=function(a,b,c){s.register(a,c);s.register(b,function(){var a=c.apply(this,arguments);return a===this?this:a instanceof s?a.length?h.isArray(a[0])?new s(a.context,a[0]):a[0]:k:a})};o("tables()",function(a){var b;if(a){b=s;var c=this.context;if("number"===typeof a)a=[c[a]];else var d=h.map(c,function(a){return a.nTable}),a=h(d).filter(a).map(function(){var a=h.inArray(this,
-d);return c[a]}).toArray();b=new b(a)}else b=this;return b});o("table()",function(a){var a=this.tables(a),b=a.context;return b.length?new s(b[0]):a});u("tables().nodes()","table().node()",function(){return this.iterator("table",function(a){return a.nTable},1)});u("tables().body()","table().body()",function(){return this.iterator("table",function(a){return a.nTBody},1)});u("tables().header()","table().header()",function(){return this.iterator("table",function(a){return a.nTHead},1)});u("tables().footer()",
-"table().footer()",function(){return this.iterator("table",function(a){return a.nTFoot},1)});u("tables().containers()","table().container()",function(){return this.iterator("table",function(a){return a.nTableWrapper},1)});o("draw()",function(a){return this.iterator("table",function(b){"page"===a?P(b):("string"===typeof a&&(a="full-hold"===a?!1:!0),T(b,!1===a))})});o("page()",function(a){return a===k?this.page.info().page:this.iterator("table",function(b){Ta(b,a)})});o("page.info()",function(){if(0===
-this.context.length)return k;var a=this.context[0],b=a._iDisplayStart,c=a.oFeatures.bPaginate?a._iDisplayLength:-1,d=a.fnRecordsDisplay(),e=-1===c;return{page:e?0:Math.floor(b/c),pages:e?1:Math.ceil(d/c),start:b,end:a.fnDisplayEnd(),length:c,recordsTotal:a.fnRecordsTotal(),recordsDisplay:d,serverSide:"ssp"===y(a)}});o("page.len()",function(a){return a===k?0!==this.context.length?this.context[0]._iDisplayLength:k:this.iterator("table",function(b){Ra(b,a)})});var Sb=function(a,b,c){if(c){var d=new s(a);
-d.one("draw",function(){c(d.ajax.json())})}if("ssp"==y(a))T(a,b);else{C(a,!0);var e=a.jqXHR;e&&4!==e.readyState&&e.abort();sa(a,[],function(c){oa(a);for(var c=ta(a,c),d=0,e=c.length;d<e;d++)O(a,c[d]);T(a,b);C(a,!1)})}};o("ajax.json()",function(){var a=this.context;if(0<a.length)return a[0].json});o("ajax.params()",function(){var a=this.context;if(0<a.length)return a[0].oAjaxData});o("ajax.reload()",function(a,b){return this.iterator("table",function(c){Sb(c,!1===b,a)})});o("ajax.url()",function(a){var b=
-this.context;if(a===k){if(0===b.length)return k;b=b[0];return b.ajax?h.isPlainObject(b.ajax)?b.ajax.url:b.ajax:b.sAjaxSource}return this.iterator("table",function(b){h.isPlainObject(b.ajax)?b.ajax.url=a:b.ajax=a})});o("ajax.url().load()",function(a,b){return this.iterator("table",function(c){Sb(c,!1===b,a)})});var ab=function(a,b,c,d,e){var f=[],g,j,i,m,l,n;i=typeof b;if(!b||"string"===i||"function"===i||b.length===k)b=[b];i=0;for(m=b.length;i<m;i++){j=b[i]&&b[i].split&&!b[i].match(/[\[\(:]/)?b[i].split(","):
-[b[i]];l=0;for(n=j.length;l<n;l++)(g=c("string"===typeof j[l]?h.trim(j[l]):j[l]))&&g.length&&(f=f.concat(g))}a=x.selector[a];if(a.length){i=0;for(m=a.length;i<m;i++)f=a[i](d,e,f)}return qa(f)},bb=function(a){a||(a={});a.filter&&a.search===k&&(a.search=a.filter);return h.extend({search:"none",order:"current",page:"all"},a)},cb=function(a){for(var b=0,c=a.length;b<c;b++)if(0<a[b].length)return a[0]=a[b],a[0].length=1,a.length=1,a.context=[a.context[b]],a;a.length=0;return a},Ba=function(a,b){var c,
-d,e,f=[],g=a.aiDisplay;e=a.aiDisplayMaster;var j=b.search;c=b.order;d=b.page;if("ssp"==y(a))return"removed"===j?[]:Y(0,e.length);if("current"==d){c=a._iDisplayStart;for(d=a.fnDisplayEnd();c<d;c++)f.push(g[c])}else if("current"==c||"applied"==c)if("none"==j)f=e.slice();else if("applied"==j)f=g.slice();else{if("removed"==j){var i={};c=0;for(d=g.length;c<d;c++)i[g[c]]=null;f=h.map(e,function(a){return!i.hasOwnProperty(a)?a:null})}}else if("index"==c||"original"==c){c=0;for(d=a.aoData.length;c<d;c++)"none"==
-j?f.push(c):(e=h.inArray(c,g),(-1===e&&"removed"==j||0<=e&&"applied"==j)&&f.push(c))}return f};o("rows()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=bb(b),c=this.iterator("table",function(c){var e=b,f;return ab("row",a,function(a){var b=Nb(a),i=c.aoData;if(b!==null&&!e)return[b];f||(f=Ba(c,e));if(b!==null&&h.inArray(b,f)!==-1)return[b];if(a===null||a===k||a==="")return f;if(typeof a==="function")return h.map(f,function(b){var c=i[b];return a(b,c._aData,c.nTr)?b:null});if(a.nodeName){var b=
-a._DT_RowIndex,m=a._DT_CellIndex;if(b!==k)return i[b]&&i[b].nTr===a?[b]:[];if(m)return i[m.row]&&i[m.row].nTr===a?[m.row]:[];b=h(a).closest("*[data-dt-row]");return b.length?[b.data("dt-row")]:[]}if(typeof a==="string"&&a.charAt(0)==="#"){b=c.aIds[a.replace(/^#/,"")];if(b!==k)return[b.idx]}b=Qb(ja(c.aoData,f,"nTr"));return h(b).filter(a).map(function(){return this._DT_RowIndex}).toArray()},c,e)},1);c.selector.rows=a;c.selector.opts=b;return c});o("rows().nodes()",function(){return this.iterator("row",
-function(a,b){return a.aoData[b].nTr||k},1)});o("rows().data()",function(){return this.iterator(!0,"rows",function(a,b){return ja(a.aoData,b,"_aData")},1)});u("rows().cache()","row().cache()",function(a){return this.iterator("row",function(b,c){var d=b.aoData[c];return"search"===a?d._aFilterData:d._aSortData},1)});u("rows().invalidate()","row().invalidate()",function(a){return this.iterator("row",function(b,c){da(b,c,a)})});u("rows().indexes()","row().index()",function(){return this.iterator("row",
-function(a,b){return b},1)});u("rows().ids()","row().id()",function(a){for(var b=[],c=this.context,d=0,e=c.length;d<e;d++)for(var f=0,g=this[d].length;f<g;f++){var h=c[d].rowIdFn(c[d].aoData[this[d][f]]._aData);b.push((!0===a?"#":"")+h)}return new s(c,b)});u("rows().remove()","row().remove()",function(){var a=this;this.iterator("row",function(b,c,d){var e=b.aoData,f=e[c],g,h,i,m,l;e.splice(c,1);g=0;for(h=e.length;g<h;g++)if(i=e[g],l=i.anCells,null!==i.nTr&&(i.nTr._DT_RowIndex=g),null!==l){i=0;for(m=
-l.length;i<m;i++)l[i]._DT_CellIndex.row=g}pa(b.aiDisplayMaster,c);pa(b.aiDisplay,c);pa(a[d],c,!1);0<b._iRecordsDisplay&&b._iRecordsDisplay--;Sa(b);c=b.rowIdFn(f._aData);c!==k&&delete b.aIds[c]});this.iterator("table",function(a){for(var c=0,d=a.aoData.length;c<d;c++)a.aoData[c].idx=c});return this});o("rows.add()",function(a){var b=this.iterator("table",function(b){var c,f,g,h=[];f=0;for(g=a.length;f<g;f++)c=a[f],c.nodeName&&"TR"===c.nodeName.toUpperCase()?h.push(na(b,c)[0]):h.push(O(b,c));return h},
-1),c=this.rows(-1);c.pop();h.merge(c,b);return c});o("row()",function(a,b){return cb(this.rows(a,b))});o("row().data()",function(a){var b=this.context;if(a===k)return b.length&&this.length?b[0].aoData[this[0]]._aData:k;var c=b[0].aoData[this[0]];c._aData=a;h.isArray(a)&&c.nTr.id&&N(b[0].rowId)(a,c.nTr.id);da(b[0],this[0],"data");return this});o("row().node()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]].nTr||null:null});o("row.add()",function(a){a instanceof h&&
-a.length&&(a=a[0]);var b=this.iterator("table",function(b){return a.nodeName&&"TR"===a.nodeName.toUpperCase()?na(b,a)[0]:O(b,a)});return this.row(b[0])});var db=function(a,b){var c=a.context;if(c.length&&(c=c[0].aoData[b!==k?b:a[0]])&&c._details)c._details.remove(),c._detailsShow=k,c._details=k},Tb=function(a,b){var c=a.context;if(c.length&&a.length){var d=c[0].aoData[a[0]];if(d._details){(d._detailsShow=b)?d._details.insertAfter(d.nTr):d._details.detach();var e=c[0],f=new s(e),g=e.aoData;f.off("draw.dt.DT_details column-visibility.dt.DT_details destroy.dt.DT_details");
-0<D(g,"_details").length&&(f.on("draw.dt.DT_details",function(a,b){e===b&&f.rows({page:"current"}).eq(0).each(function(a){a=g[a];a._detailsShow&&a._details.insertAfter(a.nTr)})}),f.on("column-visibility.dt.DT_details",function(a,b){if(e===b)for(var c,d=V(b),f=0,h=g.length;f<h;f++)c=g[f],c._details&&c._details.children("td[colspan]").attr("colspan",d)}),f.on("destroy.dt.DT_details",function(a,b){if(e===b)for(var c=0,d=g.length;c<d;c++)g[c]._details&&db(f,c)}))}}};o("row().child()",function(a,b){var c=
-this.context;if(a===k)return c.length&&this.length?c[0].aoData[this[0]]._details:k;if(!0===a)this.child.show();else if(!1===a)db(this);else if(c.length&&this.length){var d=c[0],c=c[0].aoData[this[0]],e=[],f=function(a,b){if(h.isArray(a)||a instanceof h)for(var c=0,k=a.length;c<k;c++)f(a[c],b);else a.nodeName&&"tr"===a.nodeName.toLowerCase()?e.push(a):(c=h("<tr><td/></tr>").addClass(b),h("td",c).addClass(b).html(a)[0].colSpan=V(d),e.push(c[0]))};f(a,b);c._details&&c._details.detach();c._details=h(e);
-c._detailsShow&&c._details.insertAfter(c.nTr)}return this});o(["row().child.show()","row().child().show()"],function(){Tb(this,!0);return this});o(["row().child.hide()","row().child().hide()"],function(){Tb(this,!1);return this});o(["row().child.remove()","row().child().remove()"],function(){db(this);return this});o("row().child.isShown()",function(){var a=this.context;return a.length&&this.length?a[0].aoData[this[0]]._detailsShow||!1:!1});var bc=/^([^:]+):(name|visIdx|visible)$/,Ub=function(a,b,
-c,d,e){for(var c=[],d=0,f=e.length;d<f;d++)c.push(B(a,e[d],b));return c};o("columns()",function(a,b){a===k?a="":h.isPlainObject(a)&&(b=a,a="");var b=bb(b),c=this.iterator("table",function(c){var e=a,f=b,g=c.aoColumns,j=D(g,"sName"),i=D(g,"nTh");return ab("column",e,function(a){var b=Nb(a);if(a==="")return Y(g.length);if(b!==null)return[b>=0?b:g.length+b];if(typeof a==="function"){var e=Ba(c,f);return h.map(g,function(b,f){return a(f,Ub(c,f,0,0,e),i[f])?f:null})}var k=typeof a==="string"?a.match(bc):
-"";if(k)switch(k[2]){case "visIdx":case "visible":b=parseInt(k[1],10);if(b<0){var n=h.map(g,function(a,b){return a.bVisible?b:null});return[n[n.length+b]]}return[aa(c,b)];case "name":return h.map(j,function(a,b){return a===k[1]?b:null});default:return[]}if(a.nodeName&&a._DT_CellIndex)return[a._DT_CellIndex.column];b=h(i).filter(a).map(function(){return h.inArray(this,i)}).toArray();if(b.length||!a.nodeName)return b;b=h(a).closest("*[data-dt-column]");return b.length?[b.data("dt-column")]:[]},c,f)},
-1);c.selector.cols=a;c.selector.opts=b;return c});u("columns().header()","column().header()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTh},1)});u("columns().footer()","column().footer()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].nTf},1)});u("columns().data()","column().data()",function(){return this.iterator("column-rows",Ub,1)});u("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(a,b){return a.aoColumns[b].mData},
-1)});u("columns().cache()","column().cache()",function(a){return this.iterator("column-rows",function(b,c,d,e,f){return ja(b.aoData,f,"search"===a?"_aFilterData":"_aSortData",c)},1)});u("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(a,b,c,d,e){return ja(a.aoData,e,"anCells",b)},1)});u("columns().visible()","column().visible()",function(a,b){var c=this.iterator("column",function(b,c){if(a===k)return b.aoColumns[c].bVisible;var f=b.aoColumns,g=f[c],j=b.aoData,
-i,m,l;if(a!==k&&g.bVisible!==a){if(a){var n=h.inArray(!0,D(f,"bVisible"),c+1);i=0;for(m=j.length;i<m;i++)l=j[i].nTr,f=j[i].anCells,l&&l.insertBefore(f[c],f[n]||null)}else h(D(b.aoData,"anCells",c)).detach();g.bVisible=a;fa(b,b.aoHeader);fa(b,b.aoFooter);b.aiDisplay.length||h(b.nTBody).find("td[colspan]").attr("colspan",V(b));xa(b)}});a!==k&&(this.iterator("column",function(c,e){r(c,null,"column-visibility",[c,e,a,b])}),(b===k||b)&&this.columns.adjust());return c});u("columns().indexes()","column().index()",
-function(a){return this.iterator("column",function(b,c){return"visible"===a?ba(b,c):c},1)});o("columns.adjust()",function(){return this.iterator("table",function(a){$(a)},1)});o("column.index()",function(a,b){if(0!==this.context.length){var c=this.context[0];if("fromVisible"===a||"toData"===a)return aa(c,b);if("fromData"===a||"toVisible"===a)return ba(c,b)}});o("column()",function(a,b){return cb(this.columns(a,b))});o("cells()",function(a,b,c){h.isPlainObject(a)&&(a.row===k?(c=a,a=null):(c=b,b=null));
-h.isPlainObject(b)&&(c=b,b=null);if(null===b||b===k)return this.iterator("table",function(b){var d=a,e=bb(c),f=b.aoData,g=Ba(b,e),j=Qb(ja(f,g,"anCells")),i=h([].concat.apply([],j)),l,m=b.aoColumns.length,n,o,u,s,r,v;return ab("cell",d,function(a){var c=typeof a==="function";if(a===null||a===k||c){n=[];o=0;for(u=g.length;o<u;o++){l=g[o];for(s=0;s<m;s++){r={row:l,column:s};if(c){v=f[l];a(r,B(b,l,s),v.anCells?v.anCells[s]:null)&&n.push(r)}else n.push(r)}}return n}if(h.isPlainObject(a))return a.column!==
-k&&a.row!==k&&h.inArray(a.row,g)!==-1?[a]:[];c=i.filter(a).map(function(a,b){return{row:b._DT_CellIndex.row,column:b._DT_CellIndex.column}}).toArray();if(c.length||!a.nodeName)return c;v=h(a).closest("*[data-dt-row]");return v.length?[{row:v.data("dt-row"),column:v.data("dt-column")}]:[]},b,e)});var d=this.columns(b),e=this.rows(a),f,g,j,i,m;this.iterator("table",function(a,b){f=[];g=0;for(j=e[b].length;g<j;g++){i=0;for(m=d[b].length;i<m;i++)f.push({row:e[b][g],column:d[b][i]})}},1);var l=this.cells(f,
-c);h.extend(l.selector,{cols:b,rows:a,opts:c});return l});u("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(a,b,c){return(a=a.aoData[b])&&a.anCells?a.anCells[c]:k},1)});o("cells().data()",function(){return this.iterator("cell",function(a,b,c){return B(a,b,c)},1)});u("cells().cache()","cell().cache()",function(a){a="search"===a?"_aFilterData":"_aSortData";return this.iterator("cell",function(b,c,d){return b.aoData[c][a][d]},1)});u("cells().render()","cell().render()",
-function(a){return this.iterator("cell",function(b,c,d){return B(b,c,d,a)},1)});u("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(a,b,c){return{row:b,column:c,columnVisible:ba(a,c)}},1)});u("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(b,c,d){da(b,c,a,d)})});o("cell()",function(a,b,c){return cb(this.cells(a,b,c))});o("cell().data()",function(a){var b=this.context,c=this[0];if(a===k)return b.length&&c.length?B(b[0],
-c[0].row,c[0].column):k;jb(b[0],c[0].row,c[0].column,a);da(b[0],c[0].row,"data",c[0].column);return this});o("order()",function(a,b){var c=this.context;if(a===k)return 0!==c.length?c[0].aaSorting:k;"number"===typeof a?a=[[a,b]]:a.length&&!h.isArray(a[0])&&(a=Array.prototype.slice.call(arguments));return this.iterator("table",function(b){b.aaSorting=a.slice()})});o("order.listener()",function(a,b,c){return this.iterator("table",function(d){Ma(d,a,b,c)})});o("order.fixed()",function(a){if(!a){var b=
-this.context,b=b.length?b[0].aaSortingFixed:k;return h.isArray(b)?{pre:b}:b}return this.iterator("table",function(b){b.aaSortingFixed=h.extend(!0,{},a)})});o(["columns().order()","column().order()"],function(a){var b=this;return this.iterator("table",function(c,d){var e=[];h.each(b[d],function(b,c){e.push([c,a])});c.aaSorting=e})});o("search()",function(a,b,c,d){var e=this.context;return a===k?0!==e.length?e[0].oPreviousSearch.sSearch:k:this.iterator("table",function(e){e.oFeatures.bFilter&&ga(e,
-h.extend({},e.oPreviousSearch,{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),1)})});u("columns().search()","column().search()",function(a,b,c,d){return this.iterator("column",function(e,f){var g=e.aoPreSearchCols;if(a===k)return g[f].sSearch;e.oFeatures.bFilter&&(h.extend(g[f],{sSearch:a+"",bRegex:null===b?!1:b,bSmart:null===c?!0:c,bCaseInsensitive:null===d?!0:d}),ga(e,e.oPreviousSearch,1))})});o("state()",function(){return this.context.length?this.context[0].oSavedState:
-null});o("state.clear()",function(){return this.iterator("table",function(a){a.fnStateSaveCallback.call(a.oInstance,a,{})})});o("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null});o("state.save()",function(){return this.iterator("table",function(a){xa(a)})});n.versionCheck=n.fnVersionCheck=function(a){for(var b=n.version.split("."),a=a.split("."),c,d,e=0,f=a.length;e<f;e++)if(c=parseInt(b[e],10)||0,d=parseInt(a[e],10)||0,c!==d)return c>d;return!0};n.isDataTable=
-n.fnIsDataTable=function(a){var b=h(a).get(0),c=!1;if(a instanceof n.Api)return!0;h.each(n.settings,function(a,e){var f=e.nScrollHead?h("table",e.nScrollHead)[0]:null,g=e.nScrollFoot?h("table",e.nScrollFoot)[0]:null;if(e.nTable===b||f===b||g===b)c=!0});return c};n.tables=n.fnTables=function(a){var b=!1;h.isPlainObject(a)&&(b=a.api,a=a.visible);var c=h.map(n.settings,function(b){if(!a||a&&h(b.nTable).is(":visible"))return b.nTable});return b?new s(c):c};n.camelToHungarian=J;o("$()",function(a,b){var c=
-this.rows(b).nodes(),c=h(c);return h([].concat(c.filter(a).toArray(),c.find(a).toArray()))});h.each(["on","one","off"],function(a,b){o(b+"()",function(){var a=Array.prototype.slice.call(arguments);a[0]=h.map(a[0].split(/\s/),function(a){return!a.match(/\.dt\b/)?a+".dt":a}).join(" ");var d=h(this.tables().nodes());d[b].apply(d,a);return this})});o("clear()",function(){return this.iterator("table",function(a){oa(a)})});o("settings()",function(){return new s(this.context,this.context)});o("init()",function(){var a=
-this.context;return a.length?a[0].oInit:null});o("data()",function(){return this.iterator("table",function(a){return D(a.aoData,"_aData")}).flatten()});o("destroy()",function(a){a=a||!1;return this.iterator("table",function(b){var c=b.nTableWrapper.parentNode,d=b.oClasses,e=b.nTable,f=b.nTBody,g=b.nTHead,j=b.nTFoot,i=h(e),f=h(f),k=h(b.nTableWrapper),l=h.map(b.aoData,function(a){return a.nTr}),o;b.bDestroying=!0;r(b,"aoDestroyCallback","destroy",[b]);a||(new s(b)).columns().visible(!0);k.off(".DT").find(":not(tbody *)").off(".DT");
-h(E).off(".DT-"+b.sInstance);e!=g.parentNode&&(i.children("thead").detach(),i.append(g));j&&e!=j.parentNode&&(i.children("tfoot").detach(),i.append(j));b.aaSorting=[];b.aaSortingFixed=[];wa(b);h(l).removeClass(b.asStripeClasses.join(" "));h("th, td",g).removeClass(d.sSortable+" "+d.sSortableAsc+" "+d.sSortableDesc+" "+d.sSortableNone);f.children().detach();f.append(l);g=a?"remove":"detach";i[g]();k[g]();!a&&c&&(c.insertBefore(e,b.nTableReinsertBefore),i.css("width",b.sDestroyWidth).removeClass(d.sTable),
-(o=b.asDestroyStripes.length)&&f.children().each(function(a){h(this).addClass(b.asDestroyStripes[a%o])}));c=h.inArray(b,n.settings);-1!==c&&n.settings.splice(c,1)})});h.each(["column","row","cell"],function(a,b){o(b+"s().every()",function(a){var d=this.selector.opts,e=this;return this.iterator(b,function(f,g,h,i,m){a.call(e[b](g,"cell"===b?h:d,"cell"===b?d:k),g,h,i,m)})})});o("i18n()",function(a,b,c){var d=this.context[0],a=S(a)(d.oLanguage);a===k&&(a=b);c!==k&&h.isPlainObject(a)&&(a=a[c]!==k?a[c]:
-a._);return a.replace("%d",c)});n.version="1.10.18";n.settings=[];n.models={};n.models.oSearch={bCaseInsensitive:!0,sSearch:"",bRegex:!1,bSmart:!0};n.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,_sRowStripe:"",src:null,idx:-1};n.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,nTh:null,nTf:null,
-sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sSortingClassJUI:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null};n.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],asStripeClasses:null,bAutoWidth:!0,bDeferRender:!1,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,
-bSort:!0,bSortMulti:!0,bSortCellsTop:!1,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(a){return a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnServerData:null,fnServerParams:null,fnStateLoadCallback:function(a){try{return JSON.parse((-1===a.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+
-a.sInstance+"_"+location.pathname))}catch(b){}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(a,b){try{(-1===a.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+a.sInstance+"_"+location.pathname,JSON.stringify(b))}catch(c){}},fnStateSaveParams:null,iStateDuration:7200,iDeferLoading:null,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{sSortAscending:": activate to sort column ascending",sSortDescending:": activate to sort column descending"},
-oPaginate:{sFirst:"First",sLast:"Last",sNext:"Next",sPrevious:"Previous"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ entries",sInfoEmpty:"Showing 0 to 0 of 0 entries",sInfoFiltered:"(filtered from _MAX_ total entries)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"Show _MENU_ entries",sLoadingRecords:"Loading...",sProcessing:"Processing...",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},oSearch:h.extend({},
-n.models.oSearch),sAjaxDataProp:"data",sAjaxSource:null,sDom:"lfrtip",searchDelay:null,sPaginationType:"simple_numbers",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId"};Z(n.defaults);n.defaults.column={aDataSort:null,iDataSort:-1,asSorting:["asc","desc"],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null};
-Z(n.defaults.column);n.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:null,bLengthChange:null,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollOversize:!1,bScrollbarLeft:!1,bBounding:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],
-aoFooter:[],oPreviousSearch:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],asStripeClasses:null,asDestroyStripes:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bDeferLoading:!1,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",
-iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,sAjaxSource:null,sAjaxDataProp:null,bAjaxDataGet:!0,jqXHR:null,json:k,oAjaxData:k,fnServerData:null,aoServerParams:[],sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==y(this)?1*this._iRecordsTotal:
-this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==y(this)?1*this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var a=this._iDisplayLength,b=this._iDisplayStart,c=b+a,d=this.aiDisplay.length,e=this.oFeatures,f=e.bPaginate;return e.bServerSide?!1===f||-1===a?b+d:Math.min(b+a,this._iRecordsDisplay):!f||c>d||-1===a?d:c},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null};n.ext=x={buttons:{},
-classes:{},build:"bs4/jszip-2.5.0/pdfmake-0.1.36/dt-1.10.18/b-1.5.6/b-colvis-1.5.6/b-html5-1.5.6/b-print-1.5.6/fh-3.1.4/rg-1.1.0",errMode:"alert",feature:[],search:[],selector:{cell:[],column:[],row:[]},internal:{},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{detect:[],search:{},order:{}},_unique:0,fnVersionCheck:n.fnVersionCheck,iApiIndex:0,oJUIClasses:{},sVersion:n.version};h.extend(x,{afnFiltering:x.search,aTypes:x.type.detect,ofnSearch:x.type.search,oSort:x.type.order,afnSortData:x.order,aoFeatures:x.feature,oApi:x.internal,oStdClasses:x.classes,oPagination:x.pager});
-h.extend(n.ext.classes,{sTable:"dataTable",sNoFooter:"no-footer",sPageButton:"paginate_button",sPageButtonActive:"current",sPageButtonDisabled:"disabled",sStripeOdd:"odd",sStripeEven:"even",sRowEmpty:"dataTables_empty",sWrapper:"dataTables_wrapper",sFilter:"dataTables_filter",sInfo:"dataTables_info",sPaging:"dataTables_paginate paging_",sLength:"dataTables_length",sProcessing:"dataTables_processing",sSortAsc:"sorting_asc",sSortDesc:"sorting_desc",sSortable:"sorting",sSortableAsc:"sorting_asc_disabled",
-sSortableDesc:"sorting_desc_disabled",sSortableNone:"sorting_disabled",sSortColumn:"sorting_",sFilterInput:"",sLengthSelect:"",sScrollWrapper:"dataTables_scroll",sScrollHead:"dataTables_scrollHead",sScrollHeadInner:"dataTables_scrollHeadInner",sScrollBody:"dataTables_scrollBody",sScrollFoot:"dataTables_scrollFoot",sScrollFootInner:"dataTables_scrollFootInner",sHeaderTH:"",sFooterTH:"",sSortJUIAsc:"",sSortJUIDesc:"",sSortJUI:"",sSortJUIAscAllowed:"",sSortJUIDescAllowed:"",sSortJUIWrapper:"",sSortIcon:"",
-sJUIHeader:"",sJUIFooter:""});var Kb=n.ext.pager;h.extend(Kb,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(a,b){return[ia(a,b)]},simple_numbers:function(a,b){return["previous",ia(a,b),"next"]},full_numbers:function(a,b){return["first","previous",ia(a,b),"next","last"]},first_last_numbers:function(a,b){return["first",ia(a,b),"last"]},_numbers:ia,numbers_length:7});h.extend(!0,n.ext.renderer,{pageButton:{_:function(a,b,c,d,e,
-f){var g=a.oClasses,j=a.oLanguage.oPaginate,i=a.oLanguage.oAria.paginate||{},m,l,n=0,o=function(b,d){var k,s,u,r,v=function(b){Ta(a,b.data.action,true)};k=0;for(s=d.length;k<s;k++){r=d[k];if(h.isArray(r)){u=h("<"+(r.DT_el||"div")+"/>").appendTo(b);o(u,r)}else{m=null;l="";switch(r){case "ellipsis":b.append('<span class="ellipsis">&#x2026;</span>');break;case "first":m=j.sFirst;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "previous":m=j.sPrevious;l=r+(e>0?"":" "+g.sPageButtonDisabled);break;case "next":m=
-j.sNext;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;case "last":m=j.sLast;l=r+(e<f-1?"":" "+g.sPageButtonDisabled);break;default:m=r+1;l=e===r?g.sPageButtonActive:""}if(m!==null){u=h("<a>",{"class":g.sPageButton+" "+l,"aria-controls":a.sTableId,"aria-label":i[r],"data-dt-idx":n,tabindex:a.iTabIndex,id:c===0&&typeof r==="string"?a.sTableId+"_"+r:null}).html(m).appendTo(b);Wa(u,{action:r},v);n++}}}},s;try{s=h(b).find(H.activeElement).data("dt-idx")}catch(u){}o(h(b).empty(),d);s!==k&&h(b).find("[data-dt-idx="+
-s+"]").focus()}}});h.extend(n.ext.type.detect,[function(a,b){var c=b.oLanguage.sDecimal;return $a(a,c)?"num"+c:null},function(a){if(a&&!(a instanceof Date)&&!Zb.test(a))return null;var b=Date.parse(a);return null!==b&&!isNaN(b)||M(a)?"date":null},function(a,b){var c=b.oLanguage.sDecimal;return $a(a,c,!0)?"num-fmt"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Pb(a,c)?"html-num"+c:null},function(a,b){var c=b.oLanguage.sDecimal;return Pb(a,c,!0)?"html-num-fmt"+c:null},function(a){return M(a)||
-"string"===typeof a&&-1!==a.indexOf("<")?"html":null}]);h.extend(n.ext.type.search,{html:function(a){return M(a)?a:"string"===typeof a?a.replace(Mb," ").replace(Aa,""):""},string:function(a){return M(a)?a:"string"===typeof a?a.replace(Mb," "):a}});var za=function(a,b,c,d){if(0!==a&&(!a||"-"===a))return-Infinity;b&&(a=Ob(a,b));a.replace&&(c&&(a=a.replace(c,"")),d&&(a=a.replace(d,"")));return 1*a};h.extend(x.type.order,{"date-pre":function(a){a=Date.parse(a);return isNaN(a)?-Infinity:a},"html-pre":function(a){return M(a)?
-"":a.replace?a.replace(/<.*?>/g,"").toLowerCase():a+""},"string-pre":function(a){return M(a)?"":"string"===typeof a?a.toLowerCase():!a.toString?"":a.toString()},"string-asc":function(a,b){return a<b?-1:a>b?1:0},"string-desc":function(a,b){return a<b?1:a>b?-1:0}});Da("");h.extend(!0,n.ext.renderer,{header:{_:function(a,b,c,d){h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(c.sSortingClass+" "+d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:
-c.sSortingClass)}})},jqueryui:function(a,b,c,d){h("<div/>").addClass(d.sSortJUIWrapper).append(b.contents()).append(h("<span/>").addClass(d.sSortIcon+" "+c.sSortingClassJUI)).appendTo(b);h(a.nTable).on("order.dt.DT",function(e,f,g,h){if(a===f){e=c.idx;b.removeClass(d.sSortAsc+" "+d.sSortDesc).addClass(h[e]=="asc"?d.sSortAsc:h[e]=="desc"?d.sSortDesc:c.sSortingClass);b.find("span."+d.sSortIcon).removeClass(d.sSortJUIAsc+" "+d.sSortJUIDesc+" "+d.sSortJUI+" "+d.sSortJUIAscAllowed+" "+d.sSortJUIDescAllowed).addClass(h[e]==
-"asc"?d.sSortJUIAsc:h[e]=="desc"?d.sSortJUIDesc:c.sSortingClassJUI)}})}}});var Vb=function(a){return"string"===typeof a?a.replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):a};n.render={number:function(a,b,c,d,e){return{display:function(f){if("number"!==typeof f&&"string"!==typeof f)return f;var g=0>f?"-":"",h=parseFloat(f);if(isNaN(h))return Vb(f);h=h.toFixed(c);f=Math.abs(h);h=parseInt(f,10);f=c?b+(f-h).toFixed(c).substring(2):"";return g+(d||"")+h.toString().replace(/\B(?=(\d{3})+(?!\d))/g,
-a)+f+(e||"")}}},text:function(){return{display:Vb}}};h.extend(n.ext.internal,{_fnExternApiFunc:Lb,_fnBuildAjax:sa,_fnAjaxUpdate:lb,_fnAjaxParameters:ub,_fnAjaxUpdateDraw:vb,_fnAjaxDataSrc:ta,_fnAddColumn:Ea,_fnColumnOptions:ka,_fnAdjustColumnSizing:$,_fnVisibleToColumnIndex:aa,_fnColumnIndexToVisible:ba,_fnVisbleColumns:V,_fnGetColumns:ma,_fnColumnTypes:Ga,_fnApplyColumnDefs:ib,_fnHungarianMap:Z,_fnCamelToHungarian:J,_fnLanguageCompat:Ca,_fnBrowserDetect:gb,_fnAddData:O,_fnAddTr:na,_fnNodeToDataIndex:function(a,
-b){return b._DT_RowIndex!==k?b._DT_RowIndex:null},_fnNodeToColumnIndex:function(a,b,c){return h.inArray(c,a.aoData[b].anCells)},_fnGetCellData:B,_fnSetCellData:jb,_fnSplitObjNotation:Ja,_fnGetObjectDataFn:S,_fnSetObjectDataFn:N,_fnGetDataMaster:Ka,_fnClearTable:oa,_fnDeleteIndex:pa,_fnInvalidate:da,_fnGetRowElements:Ia,_fnCreateTr:Ha,_fnBuildHead:kb,_fnDrawHead:fa,_fnDraw:P,_fnReDraw:T,_fnAddOptionsHtml:nb,_fnDetectHeader:ea,_fnGetUniqueThs:ra,_fnFeatureHtmlFilter:pb,_fnFilterComplete:ga,_fnFilterCustom:yb,
-_fnFilterColumn:xb,_fnFilter:wb,_fnFilterCreateSearch:Pa,_fnEscapeRegex:Qa,_fnFilterData:zb,_fnFeatureHtmlInfo:sb,_fnUpdateInfo:Cb,_fnInfoMacros:Db,_fnInitialise:ha,_fnInitComplete:ua,_fnLengthChange:Ra,_fnFeatureHtmlLength:ob,_fnFeatureHtmlPaginate:tb,_fnPageChange:Ta,_fnFeatureHtmlProcessing:qb,_fnProcessingDisplay:C,_fnFeatureHtmlTable:rb,_fnScrollDraw:la,_fnApplyToChildren:I,_fnCalculateColumnWidths:Fa,_fnThrottle:Oa,_fnConvertToWidth:Eb,_fnGetWidestNode:Fb,_fnGetMaxLenString:Gb,_fnStringToCss:v,
-_fnSortFlatten:X,_fnSort:mb,_fnSortAria:Ib,_fnSortListener:Va,_fnSortAttachListener:Ma,_fnSortingClasses:wa,_fnSortData:Hb,_fnSaveState:xa,_fnLoadState:Jb,_fnSettingsFromNode:ya,_fnLog:K,_fnMap:F,_fnBindAction:Wa,_fnCallbackReg:z,_fnCallbackFire:r,_fnLengthOverflow:Sa,_fnRenderer:Na,_fnDataSource:y,_fnRowAttributes:La,_fnExtend:Xa,_fnCalculateEnd:function(){}});h.fn.dataTable=n;n.$=h;h.fn.dataTableSettings=n.settings;h.fn.dataTableExt=n.ext;h.fn.DataTable=function(a){return h(this).dataTable(a).api()};
-h.each(n,function(a,b){h.fn.DataTable[a]=b});return h.fn.dataTable});
-
-
-/*!
- DataTables Bootstrap 4 integration
- ©2011-2017 SpryMedia Ltd - datatables.net/license
-*/
-(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d,m){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
-renderer:"bootstrap"});b.extend(f.ext.classes,{sWrapper:"dataTables_wrapper dt-bootstrap4",sFilterInput:"form-control form-control-sm",sLengthSelect:"custom-select custom-select-sm form-control form-control-sm",sProcessing:"dataTables_processing card",sPageButton:"paginate_button page-item"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();
-!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="&#x2026;";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",
-{"class":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#","aria-controls":a.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:a.iTabIndex,"class":"page-link"}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(v){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),s);i!==m&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
-
-
-/*!
- Buttons for DataTables 1.5.6
- ©2016-2019 SpryMedia Ltd - datatables.net/license
-*/
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(d,q,n){d instanceof String&&(d=String(d));for(var l=d.length,u=0;u<l;u++){var p=d[u];if(q.call(n,p,u,d))return{i:u,v:p}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;
-$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(d,q,n){d!=Array.prototype&&d!=Object.prototype&&(d[q]=n.value)};$jscomp.getGlobal=function(d){return"undefined"!=typeof window&&window===d?d:"undefined"!=typeof global&&null!=global?global:d};$jscomp.global=$jscomp.getGlobal(this);
-$jscomp.polyfill=function(d,q,n,l){if(q){n=$jscomp.global;d=d.split(".");for(l=0;l<d.length-1;l++){var u=d[l];u in n||(n[u]={});n=n[u]}d=d[d.length-1];l=n[d];q=q(l);q!=l&&null!=q&&$jscomp.defineProperty(n,d,{configurable:!0,writable:!0,value:q})}};$jscomp.polyfill("Array.prototype.find",function(d){return d?d:function(d,n){return $jscomp.findInternal(this,d,n).v}},"es6","es3");
-(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(q){return d(q,window,document)}):"object"===typeof exports?module.exports=function(q,n){q||(q=window);n&&n.fn.dataTable||(n=require("datatables.net")(q,n).$);return d(n,q,q.document)}:d(jQuery,window,document)})(function(d,q,n,l){function u(a){a=new p.Api(a);var b=a.init().buttons||p.defaults.buttons;return(new t(a,b)).container()}var p=d.fn.dataTable,B=0,C=0,r=p.ext.buttons,t=function(a,b){if(!(this instanceof
-t))return function(b){return(new t(b,a)).container()};"undefined"===typeof b&&(b={});!0===b&&(b={});d.isArray(b)&&(b={buttons:b});this.c=d.extend(!0,{},t.defaults,b);b.buttons&&(this.c.buttons=b.buttons);this.s={dt:new p.Api(a),buttons:[],listenKeys:"",namespace:"dtb"+B++};this.dom={container:d("<"+this.c.dom.container.tag+"/>").addClass(this.c.dom.container.className)};this._constructor()};d.extend(t.prototype,{action:function(a,b){a=this._nodeToButton(a);if(b===l)return a.conf.action;a.conf.action=
-b;return this},active:function(a,b){var c=this._nodeToButton(a);a=this.c.dom.button.active;c=d(c.node);if(b===l)return c.hasClass(a);c.toggleClass(a,b===l?!0:b);return this},add:function(a,b){var c=this.s.buttons;if("string"===typeof b){b=b.split("-");c=this.s;for(var d=0,f=b.length-1;d<f;d++)c=c.buttons[1*b[d]];c=c.buttons;b=1*b[b.length-1]}this._expandButton(c,a,!1,b);this._draw();return this},container:function(){return this.dom.container},disable:function(a){a=this._nodeToButton(a);d(a.node).addClass(this.c.dom.button.disabled);
-return this},destroy:function(){d("body").off("keyup."+this.s.namespace);var a=this.s.buttons.slice(),b;var c=0;for(b=a.length;c<b;c++)this.remove(a[c].node);this.dom.container.remove();a=this.s.dt.settings()[0];c=0;for(b=a.length;c<b;c++)if(a.inst===this){a.splice(c,1);break}return this},enable:function(a,b){if(!1===b)return this.disable(a);a=this._nodeToButton(a);d(a.node).removeClass(this.c.dom.button.disabled);return this},name:function(){return this.c.name},node:function(a){if(!a)return this.dom.container;
-a=this._nodeToButton(a);return d(a.node)},processing:function(a,b){a=this._nodeToButton(a);if(b===l)return d(a.node).hasClass("processing");d(a.node).toggleClass("processing",b);return this},remove:function(a){var b=this._nodeToButton(a),c=this._nodeToHost(a),e=this.s.dt;if(b.buttons.length)for(var f=b.buttons.length-1;0<=f;f--)this.remove(b.buttons[f].node);b.conf.destroy&&b.conf.destroy.call(e.button(a),e,d(a),b.conf);this._removeKey(b.conf);d(b.node).remove();a=d.inArray(b,c);c.splice(a,1);return this},
-text:function(a,b){var c=this._nodeToButton(a);a=this.c.dom.collection.buttonLiner;a=c.inCollection&&a&&a.tag?a.tag:this.c.dom.buttonLiner.tag;var e=this.s.dt,f=d(c.node),g=function(a){return"function"===typeof a?a(e,f,c.conf):a};if(b===l)return g(c.conf.text);c.conf.text=b;a?f.children(a).html(g(b)):f.html(g(b));return this},_constructor:function(){var a=this,b=this.s.dt,c=b.settings()[0],e=this.c.buttons;c._buttons||(c._buttons=[]);c._buttons.push({inst:this,name:this.c.name});for(var f=0,g=e.length;f<
-g;f++)this.add(e[f]);b.on("destroy",function(b,d){d===c&&a.destroy()});d("body").on("keyup."+this.s.namespace,function(b){if(!n.activeElement||n.activeElement===n.body){var c=String.fromCharCode(b.keyCode).toLowerCase();-1!==a.s.listenKeys.toLowerCase().indexOf(c)&&a._keypress(c,b)}})},_addKey:function(a){a.key&&(this.s.listenKeys+=d.isPlainObject(a.key)?a.key.key:a.key)},_draw:function(a,b){a||(a=this.dom.container,b=this.s.buttons);a.children().detach();for(var c=0,d=b.length;c<d;c++)a.append(b[c].inserter),
-a.append(" "),b[c].buttons&&b[c].buttons.length&&this._draw(b[c].collection,b[c].buttons)},_expandButton:function(a,b,c,e){var f=this.s.dt,g=0;b=d.isArray(b)?b:[b];for(var h=0,k=b.length;h<k;h++){var v=this._resolveExtends(b[h]);if(v)if(d.isArray(v))this._expandButton(a,v,c,e);else{var m=this._buildButton(v,c);if(m){e!==l?(a.splice(e,0,m),e++):a.push(m);if(m.conf.buttons){var y=this.c.dom.collection;m.collection=d("<"+y.tag+"/>").addClass(y.className).attr("role","menu");m.conf._collection=m.collection;
-this._expandButton(m.buttons,m.conf.buttons,!0,e)}v.init&&v.init.call(f.button(m.node),f,d(m.node),v);g++}}}},_buildButton:function(a,b){var c=this.c.dom.button,e=this.c.dom.buttonLiner,f=this.c.dom.collection,g=this.s.dt,h=function(b){return"function"===typeof b?b(g,m,a):b};b&&f.button&&(c=f.button);b&&f.buttonLiner&&(e=f.buttonLiner);if(a.available&&!a.available(g,a))return!1;var k=function(a,b,c,e){e.action.call(b.button(c),a,b,c,e);d(b.table().node()).triggerHandler("buttons-action.dt",[b.button(c),
-b,c,e])};f=a.tag||c.tag;var v=a.clickBlurs===l?!0:a.clickBlurs,m=d("<"+f+"/>").addClass(c.className).attr("tabindex",this.s.dt.settings()[0].iTabIndex).attr("aria-controls",this.s.dt.table().node().id).on("click.dtb",function(b){b.preventDefault();!m.hasClass(c.disabled)&&a.action&&k(b,g,m,a);v&&m.blur()}).on("keyup.dtb",function(b){13===b.keyCode&&!m.hasClass(c.disabled)&&a.action&&k(b,g,m,a)});"a"===f.toLowerCase()&&m.attr("href","#");"button"===f.toLowerCase()&&m.attr("type","button");e.tag?(f=
-d("<"+e.tag+"/>").html(h(a.text)).addClass(e.className),"a"===e.tag.toLowerCase()&&f.attr("href","#"),m.append(f)):m.html(h(a.text));!1===a.enabled&&m.addClass(c.disabled);a.className&&m.addClass(a.className);a.titleAttr&&m.attr("title",h(a.titleAttr));a.attr&&m.attr(a.attr);a.namespace||(a.namespace=".dt-button-"+C++);e=(e=this.c.dom.buttonContainer)&&e.tag?d("<"+e.tag+"/>").addClass(e.className).append(m):m;this._addKey(a);this.c.buttonCreated&&(e=this.c.buttonCreated(a,e));return{conf:a,node:m.get(0),
-inserter:e,buttons:[],inCollection:b,collection:null}},_nodeToButton:function(a,b){b||(b=this.s.buttons);for(var c=0,d=b.length;c<d;c++){if(b[c].node===a)return b[c];if(b[c].buttons.length){var f=this._nodeToButton(a,b[c].buttons);if(f)return f}}},_nodeToHost:function(a,b){b||(b=this.s.buttons);for(var c=0,d=b.length;c<d;c++){if(b[c].node===a)return b;if(b[c].buttons.length){var f=this._nodeToHost(a,b[c].buttons);if(f)return f}}},_keypress:function(a,b){if(!b._buttonsHandled){var c=function(e){for(var f=
-0,g=e.length;f<g;f++){var h=e[f].conf,k=e[f].node;h.key&&(h.key===a?(b._buttonsHandled=!0,d(k).click()):!d.isPlainObject(h.key)||h.key.key!==a||h.key.shiftKey&&!b.shiftKey||h.key.altKey&&!b.altKey||h.key.ctrlKey&&!b.ctrlKey||h.key.metaKey&&!b.metaKey||(b._buttonsHandled=!0,d(k).click()));e[f].buttons.length&&c(e[f].buttons)}};c(this.s.buttons)}},_removeKey:function(a){if(a.key){var b=d.isPlainObject(a.key)?a.key.key:a.key;a=this.s.listenKeys.split("");b=d.inArray(b,a);a.splice(b,1);this.s.listenKeys=
-a.join("")}},_resolveExtends:function(a){var b=this.s.dt,c,e=function(c){for(var e=0;!d.isPlainObject(c)&&!d.isArray(c);){if(c===l)return;if("function"===typeof c){if(c=c(b,a),!c)return!1}else if("string"===typeof c){if(!r[c])throw"Unknown button type: "+c;c=r[c]}e++;if(30<e)throw"Buttons: Too many iterations";}return d.isArray(c)?c:d.extend({},c)};for(a=e(a);a&&a.extend;){if(!r[a.extend])throw"Cannot extend unknown button type: "+a.extend;var f=e(r[a.extend]);if(d.isArray(f))return f;if(!f)return!1;
-var g=f.className;a=d.extend({},f,a);g&&a.className!==g&&(a.className=g+" "+a.className);var h=a.postfixButtons;if(h){a.buttons||(a.buttons=[]);g=0;for(c=h.length;g<c;g++)a.buttons.push(h[g]);a.postfixButtons=null}if(h=a.prefixButtons){a.buttons||(a.buttons=[]);g=0;for(c=h.length;g<c;g++)a.buttons.splice(g,0,h[g]);a.prefixButtons=null}a.extend=f.extend}return a}});t.background=function(a,b,c,e){c===l&&(c=400);e||(e=n.body);a?d("<div/>").addClass(b).css("display","none").insertAfter(e).stop().fadeIn(c):
-d("div."+b).stop().fadeOut(c,function(){d(this).removeClass(b).remove()})};t.instanceSelector=function(a,b){if(!a)return d.map(b,function(a){return a.inst});var c=[],e=d.map(b,function(a){return a.name}),f=function(a){if(d.isArray(a))for(var g=0,k=a.length;g<k;g++)f(a[g]);else"string"===typeof a?-1!==a.indexOf(",")?f(a.split(",")):(a=d.inArray(d.trim(a),e),-1!==a&&c.push(b[a].inst)):"number"===typeof a&&c.push(b[a].inst)};f(a);return c};t.buttonSelector=function(a,b){for(var c=[],e=function(a,b,c){for(var d,
-f,g=0,k=b.length;g<k;g++)if(d=b[g])f=c!==l?c+g:g+"",a.push({node:d.node,name:d.conf.name,idx:f}),d.buttons&&e(a,d.buttons,f+"-")},f=function(a,b){var g,h=[];e(h,b.s.buttons);var k=d.map(h,function(a){return a.node});if(d.isArray(a)||a instanceof d)for(k=0,g=a.length;k<g;k++)f(a[k],b);else if(null===a||a===l||"*"===a)for(k=0,g=h.length;k<g;k++)c.push({inst:b,node:h[k].node});else if("number"===typeof a)c.push({inst:b,node:b.s.buttons[a].node});else if("string"===typeof a)if(-1!==a.indexOf(","))for(h=
-a.split(","),k=0,g=h.length;k<g;k++)f(d.trim(h[k]),b);else if(a.match(/^\d+(\-\d+)*$/))k=d.map(h,function(a){return a.idx}),c.push({inst:b,node:h[d.inArray(a,k)].node});else if(-1!==a.indexOf(":name"))for(a=a.replace(":name",""),k=0,g=h.length;k<g;k++)h[k].name===a&&c.push({inst:b,node:h[k].node});else d(k).filter(a).each(function(){c.push({inst:b,node:this})});else"object"===typeof a&&a.nodeName&&(h=d.inArray(a,k),-1!==h&&c.push({inst:b,node:k[h]}))},g=0,h=a.length;g<h;g++)f(b,a[g]);return c};t.defaults=
-{buttons:["copy","excel","csv","pdf","print"],name:"main",tabIndex:0,dom:{container:{tag:"div",className:"dt-buttons"},collection:{tag:"div",className:"dt-button-collection"},button:{tag:"ActiveXObject"in q?"a":"button",className:"dt-button",active:"active",disabled:"disabled"},buttonLiner:{tag:"span",className:""}}};t.version="1.5.6";d.extend(r,{collection:{text:function(a){return a.i18n("buttons.collection","Collection")},className:"buttons-collection",init:function(a,b,c){b.attr("aria-expanded",
-!1)},action:function(a,b,c,e){var f=function(){b.buttons('[aria-haspopup="true"][aria-expanded="true"]').nodes().each(function(){var a=d(this).siblings(".dt-button-collection");a.length&&a.stop().fadeOut(e.fade,function(){a.detach()});d(this).attr("aria-expanded","false")});d("div.dt-button-background").off("click.dtb-collection");t.background(!1,e.backgroundClassName,e.fade,l);d("body").off(".dtb-collection");b.off("buttons-action.b-internal")};a="true"===c.attr("aria-expanded");f();if(!a){var g=
-d(c).parents("div.dt-button-collection");a=c.position();var h=d(b.table().container()),k=!1,l=c;c.attr("aria-expanded","true");g.length&&(k=d(".dt-button-collection").position(),l=g,d("body").trigger("click.dtb-collection"));l.parents("body")[0]!==n.body&&(l=n.body.lastChild);e._collection.find(".dt-button-collection-title").remove();e._collection.prepend('<div class="dt-button-collection-title">'+e.collectionTitle+"</div>");e._collection.addClass(e.collectionLayout).css("display","none").insertAfter(l).stop().fadeIn(e.fade);
-g=e._collection.css("position");if(k&&"absolute"===g)e._collection.css({top:k.top,left:k.left});else if("absolute"===g){e._collection.css({top:a.top+c.outerHeight(),left:a.left});k=h.offset().top+h.height();k=a.top+c.outerHeight()+e._collection.outerHeight()-k;g=a.top-e._collection.outerHeight();var m=h.offset().top;(k>m-g||e.dropup)&&e._collection.css("top",a.top-e._collection.outerHeight()-5);e._collection.hasClass(e.rightAlignClassName)&&e._collection.css("left",a.left+c.outerWidth()-e._collection.outerWidth());
-k=a.left+e._collection.outerWidth();h=h.offset().left+h.width();k>h&&e._collection.css("left",a.left-(k-h));c=c.offset().left+e._collection.outerWidth();c>d(q).width()&&e._collection.css("left",a.left-(c-d(q).width()))}else c=e._collection.height()/2,c>d(q).height()/2&&(c=d(q).height()/2),e._collection.css("marginTop",-1*c);e.background&&t.background(!0,e.backgroundClassName,e.fade,l);setTimeout(function(){d("div.dt-button-background").on("click.dtb-collection",function(){});d("body").on("click.dtb-collection",
-function(a){var b=d.fn.addBack?"addBack":"andSelf";d(a.target).parents()[b]().filter(e._collection).length||f()}).on("keyup.dtb-collection",function(a){27===a.keyCode&&f()});if(e.autoClose)b.on("buttons-action.b-internal",function(){f()})},10)}},background:!0,collectionLayout:"",collectionTitle:"",backgroundClassName:"dt-button-background",rightAlignClassName:"dt-button-right",autoClose:!1,fade:400,attr:{"aria-haspopup":!0}},copy:function(a,b){if(r.copyHtml5)return"copyHtml5";if(r.copyFlash&&r.copyFlash.available(a,
-b))return"copyFlash"},csv:function(a,b){if(r.csvHtml5&&r.csvHtml5.available(a,b))return"csvHtml5";if(r.csvFlash&&r.csvFlash.available(a,b))return"csvFlash"},excel:function(a,b){if(r.excelHtml5&&r.excelHtml5.available(a,b))return"excelHtml5";if(r.excelFlash&&r.excelFlash.available(a,b))return"excelFlash"},pdf:function(a,b){if(r.pdfHtml5&&r.pdfHtml5.available(a,b))return"pdfHtml5";if(r.pdfFlash&&r.pdfFlash.available(a,b))return"pdfFlash"},pageLength:function(a){a=a.settings()[0].aLengthMenu;var b=d.isArray(a[0])?
-a[0]:a,c=d.isArray(a[0])?a[1]:a;return{extend:"collection",text:function(a){return a.i18n("buttons.pageLength",{"-1":"Show all rows",_:"Show %d rows"},a.page.len())},className:"buttons-page-length",autoClose:!0,buttons:d.map(b,function(a,b){return{text:c[b],className:"button-page-length",action:function(b,c){c.page.len(a).draw()},init:function(b,c,d){var e=this;c=function(){e.active(b.page.len()===a)};b.on("length.dt"+d.namespace,c);c()},destroy:function(a,b,c){a.off("length.dt"+c.namespace)}}}),
-init:function(a,b,c){var d=this;a.on("length.dt"+c.namespace,function(){d.text(c.text)})},destroy:function(a,b,c){a.off("length.dt"+c.namespace)}}}});p.Api.register("buttons()",function(a,b){b===l&&(b=a,a=l);this.selector.buttonGroup=a;var c=this.iterator(!0,"table",function(c){if(c._buttons)return t.buttonSelector(t.instanceSelector(a,c._buttons),b)},!0);c._groupSelector=a;return c});p.Api.register("button()",function(a,b){a=this.buttons(a,b);1<a.length&&a.splice(1,a.length);return a});p.Api.registerPlural("buttons().active()",
-"button().active()",function(a){return a===l?this.map(function(a){return a.inst.active(a.node)}):this.each(function(b){b.inst.active(b.node,a)})});p.Api.registerPlural("buttons().action()","button().action()",function(a){return a===l?this.map(function(a){return a.inst.action(a.node)}):this.each(function(b){b.inst.action(b.node,a)})});p.Api.register(["buttons().enable()","button().enable()"],function(a){return this.each(function(b){b.inst.enable(b.node,a)})});p.Api.register(["buttons().disable()",
-"button().disable()"],function(){return this.each(function(a){a.inst.disable(a.node)})});p.Api.registerPlural("buttons().nodes()","button().node()",function(){var a=d();d(this.each(function(b){a=a.add(b.inst.node(b.node))}));return a});p.Api.registerPlural("buttons().processing()","button().processing()",function(a){return a===l?this.map(function(a){return a.inst.processing(a.node)}):this.each(function(b){b.inst.processing(b.node,a)})});p.Api.registerPlural("buttons().text()","button().text()",function(a){return a===
-l?this.map(function(a){return a.inst.text(a.node)}):this.each(function(b){b.inst.text(b.node,a)})});p.Api.registerPlural("buttons().trigger()","button().trigger()",function(){return this.each(function(a){a.inst.node(a.node).trigger("click")})});p.Api.registerPlural("buttons().containers()","buttons().container()",function(){var a=d(),b=this._groupSelector;this.iterator(!0,"table",function(c){if(c._buttons){c=t.instanceSelector(b,c._buttons);for(var d=0,f=c.length;d<f;d++)a=a.add(c[d].container())}});
-return a});p.Api.register("button().add()",function(a,b){var c=this.context;c.length&&(c=t.instanceSelector(this._groupSelector,c[0]._buttons),c.length&&c[0].add(b,a));return this.button(this._groupSelector,a)});p.Api.register("buttons().destroy()",function(){this.pluck("inst").unique().each(function(a){a.destroy()});return this});p.Api.registerPlural("buttons().remove()","buttons().remove()",function(){this.each(function(a){a.inst.remove(a.node)});return this});var w;p.Api.register("buttons.info()",
-function(a,b,c){var e=this;if(!1===a)return d("#datatables_buttons_info").fadeOut(function(){d(this).remove()}),clearTimeout(w),w=null,this;w&&clearTimeout(w);d("#datatables_buttons_info").length&&d("#datatables_buttons_info").remove();a=a?"<h2>"+a+"</h2>":"";d('<div id="datatables_buttons_info" class="dt-button-info"/>').html(a).append(d("<div/>")["string"===typeof b?"html":"append"](b)).css("display","none").appendTo("body").fadeIn();c!==l&&0!==c&&(w=setTimeout(function(){e.buttons.info(!1)},c));
-return this});p.Api.register("buttons.exportData()",function(a){if(this.context.length)return D(new p.Api(this.context[0]),a)});p.Api.register("buttons.exportInfo()",function(a){a||(a={});var b=a;var c="*"===b.filename&&"*"!==b.title&&b.title!==l&&null!==b.title&&""!==b.title?b.title:b.filename;"function"===typeof c&&(c=c());c===l||null===c?c=null:(-1!==c.indexOf("*")&&(c=d.trim(c.replace("*",d("head > title").text()))),c=c.replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""),(b=x(b.extension))||
-(b=""),c+=b);b=x(a.title);b=null===b?null:-1!==b.indexOf("*")?b.replace("*",d("head > title").text()||"Exported data"):b;return{filename:c,title:b,messageTop:z(this,a.message||a.messageTop,"top"),messageBottom:z(this,a.messageBottom,"bottom")}});var x=function(a){return null===a||a===l?null:"function"===typeof a?a():a},z=function(a,b,c){b=x(b);if(null===b)return null;a=d("caption",a.table().container()).eq(0);return"*"===b?a.css("caption-side")!==c?null:a.length?a.text():"":b},A=d("<textarea/>")[0],
-D=function(a,b){var c=d.extend(!0,{},{rows:null,columns:"",modifier:{search:"applied",order:"applied"},orthogonal:"display",stripHtml:!0,stripNewlines:!0,decodeEntities:!0,trim:!0,format:{header:function(a){return e(a)},footer:function(a){return e(a)},body:function(a){return e(a)}},customizeData:null},b),e=function(a){if("string"!==typeof a)return a;a=a.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"");a=a.replace(/<!\-\-.*?\-\->/g,"");c.stripHtml&&(a=a.replace(/<[^>]*>/g,""));c.trim&&
-(a=a.replace(/^\s+|\s+$/g,""));c.stripNewlines&&(a=a.replace(/\n/g," "));c.decodeEntities&&(A.innerHTML=a,a=A.value);return a};b=a.columns(c.columns).indexes().map(function(b){var d=a.column(b).header();return c.format.header(d.innerHTML,b,d)}).toArray();var f=a.table().footer()?a.columns(c.columns).indexes().map(function(b){var d=a.column(b).footer();return c.format.footer(d?d.innerHTML:"",b,d)}).toArray():null,g=d.extend({},c.modifier);a.select&&"function"===typeof a.select.info&&g.selected===l&&
-a.rows(c.rows,d.extend({selected:!0},g)).any()&&d.extend(g,{selected:!0});g=a.rows(c.rows,g).indexes().toArray();var h=a.cells(g,c.columns);g=h.render(c.orthogonal).toArray();h=h.nodes().toArray();for(var k=b.length,p=[],m=0,n=0,q=0<k?g.length/k:0;n<q;n++){for(var t=[k],r=0;r<k;r++)t[r]=c.format.body(g[m],n,r,h[m]),m++;p[n]=t}b={header:b,footer:f,body:p};c.customizeData&&c.customizeData(b);return b};d.fn.dataTable.Buttons=t;d.fn.DataTable.Buttons=t;d(n).on("init.dt plugin-init.dt",function(a,b){"dt"===
-a.namespace&&(a=b.oInit.buttons||p.defaults.buttons)&&!b._buttons&&(new t(b,a)).container()});p.ext.feature.push({fnInit:u,cFeature:"B"});p.ext.features&&p.ext.features.register("buttons",u);return t});
-
-
-/*!
- Bootstrap integration for DataTables' Buttons
- ©2016 SpryMedia Ltd - datatables.net/license
-*/
-(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net-bs4","datatables.net-buttons"],function(a){return c(a,window,document)}):"object"===typeof exports?module.exports=function(a,b){a||(a=window);b&&b.fn.dataTable||(b=require("datatables.net-bs4")(a,b).$);b.fn.dataTable.Buttons||require("datatables.net-buttons")(a,b);return c(b,a,a.document)}:c(jQuery,window,document)})(function(c,a,b,d){a=c.fn.dataTable;c.extend(!0,a.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group"},
-button:{className:"btn btn-secondary"},collection:{tag:"div",className:"dt-button-collection dropdown-menu",button:{tag:"a",className:"dt-button dropdown-item",active:"active",disabled:"disabled"}}},buttonCreated:function(a,b){return a.buttons?c('<div class="btn-group"/>').append(b):b}});a.ext.buttons.collection.className+=" dropdown-toggle";a.ext.buttons.collection.rightAlignClassName="dropdown-menu-right";return a.Buttons});
-
-
-/*!
- Column visibility buttons for Buttons and DataTables.
- 2016 SpryMedia Ltd - datatables.net/license
-*/
-(function(f){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(c){return f(c,window,document)}):"object"===typeof exports?module.exports=function(c,e){c||(c=window);e&&e.fn.dataTable||(e=require("datatables.net")(c,e).$);e.fn.dataTable.Buttons||require("datatables.net-buttons")(c,e);return f(e,c,c.document)}:f(jQuery,window,document)})(function(f,c,e,h){c=f.fn.dataTable;f.extend(c.ext.buttons,{colvis:function(b,a){return{extend:"collection",
-text:function(a){return a.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",buttons:[{extend:"columnsToggle",columns:a.columns,columnText:a.columnText}]}},columnsToggle:function(b,a){return b.columns(a.columns).indexes().map(function(b){return{extend:"columnToggle",columns:b,columnText:a.columnText}}).toArray()},columnToggle:function(b,a){return{extend:"columnVisibility",columns:a.columns,columnText:a.columnText}},columnsVisibility:function(b,a){return b.columns(a.columns).indexes().map(function(b){return{extend:"columnVisibility",
-columns:b,visibility:a.visibility,columnText:a.columnText}}).toArray()},columnVisibility:{columns:h,text:function(b,a,d){return d._columnText(b,d)},className:"buttons-columnVisibility",action:function(b,a,d,g){b=a.columns(g.columns);a=b.visible();b.visible(g.visibility!==h?g.visibility:!(a.length&&a[0]))},init:function(b,a,d){var g=this;a.attr("data-cv-idx",d.columns);b.on("column-visibility.dt"+d.namespace,function(a,c){c.bDestroying||c.nTable!=b.settings()[0].nTable||g.active(b.column(d.columns).visible())}).on("column-reorder.dt"+
-d.namespace,function(c,g,e){1===b.columns(d.columns).count()&&(d.columns=f.inArray(d.columns,e.mapping),a.attr("data-cv-idx",d.columns),a.parent().children("[data-cv-idx]").sort(function(a,b){return 1*a.getAttribute("data-cv-idx")-1*b.getAttribute("data-cv-idx")}).appendTo(a.parent()))});this.active(b.column(d.columns).visible())},destroy:function(b,a,d){b.off("column-visibility.dt"+d.namespace).off("column-reorder.dt"+d.namespace)},_columnText:function(b,a){var d=b.column(a.columns).index(),c=b.settings()[0].aoColumns[d].sTitle.replace(/\n/g,
-" ").replace(/<br\s*\/?>/gi," ").replace(/<select(.*?)<\/select>/g,"").replace(/<!\-\-.*?\-\->/g,"").replace(/<.*?>/g,"").replace(/^\s+|\s+$/g,"");return a.columnText?a.columnText(b,d,c):c}},colvisRestore:{className:"buttons-colvisRestore",text:function(b){return b.i18n("buttons.colvisRestore","Restore visibility")},init:function(b,a,d){d._visOriginal=b.columns().indexes().map(function(a){return b.column(a).visible()}).toArray()},action:function(b,a,d,c){a.columns().every(function(b){b=a.colReorder&&
-a.colReorder.transpose?a.colReorder.transpose(b,"toOriginal"):b;this.visible(c._visOriginal[b])})}},colvisGroup:{className:"buttons-colvisGroup",action:function(b,a,d,c){a.columns(c.show).visible(!0,!1);a.columns(c.hide).visible(!1,!1);a.columns.adjust()},show:[],hide:[]}});return c.Buttons});
-
+/*! DataTables 2.1.8
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(n){"use strict";var a;"function"==typeof define&&define.amd?define(["jquery"],function(t){return n(t,window,document)}):"object"==typeof exports?(a=require("jquery"),"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||a(t),n(e,t,t.document)}:module.exports=n(a,window,window.document)):window.DataTable=n(jQuery,window,document)}(function(H,W,_){"use strict";function f(t){var e=parseInt(t,10);return!isNaN(e)&&isFinite(t)?e:null}function s(t,e,n,a){var r=typeof t,o="string"==r;return"number"==r||"bigint"==r||!(!a||!T(t))||(e&&o&&(t=E(t,e)),n&&o&&(t=t.replace(P,"")),!isNaN(parseFloat(t))&&isFinite(t))}function c(t,e,n,a){var r;return!(!a||!T(t))||("string"!=typeof t||!t.match(/<(input|select)/i))&&(T(r=t)||"string"==typeof r)&&!!s(L(t),e,n,a)||null}function b(t,e,n,a){var r=[],o=0,i=e.length;if(void 0!==a)for(;o<i;o++)t[e[o]]&&t[e[o]][n]&&r.push(t[e[o]][n][a]);else for(;o<i;o++)t[e[o]]&&r.push(t[e[o]][n]);return r}function h(t,e){var n,a=[];void 0===e?(e=0,n=t):(n=e,e=t);for(var r=e;r<n;r++)a.push(r);return a}function A(t){for(var e=[],n=0,a=t.length;n<a;n++)t[n]&&e.push(t[n]);return e}var C,X,e,t,V=function(t,P){var E,k,M;return V.factory(t,P)?V:this instanceof V?H(t).DataTable(P):(k=void 0===(P=t),M=(E=this).length,k&&(P={}),this.api=function(){return new X(this)},this.each(function(){var t=1<M?te({},P,!0):P,e=0,n=this.getAttribute("id"),a=V.defaults,r=H(this);if("table"!=this.nodeName.toLowerCase())$(null,0,"Non-table node initialisation ("+this.nodeName+")",2);else{H(this).trigger("options.dt",t),Q(a),K(a.column),B(a,a,!0),B(a.column,a.column,!0),B(a,H.extend(t,r.data()),!0);var o=V.settings;for(e=0,R=o.length;e<R;e++){var i=o[e];if(i.nTable==this||i.nTHead&&i.nTHead.parentNode==this||i.nTFoot&&i.nTFoot.parentNode==this){var l=(void 0!==t.bRetrieve?t:a).bRetrieve,s=(void 0!==t.bDestroy?t:a).bDestroy;if(k||l)return i.oInstance;if(s){new V.Api(i).destroy();break}return void $(i,0,"Cannot reinitialise DataTable",3)}if(i.sTableId==this.id){o.splice(e,1);break}}null!==n&&""!==n||(n="DataTables_Table_"+V.ext._unique++,this.id=n);var u,c=H.extend(!0,{},V.models.oSettings,{sDestroyWidth:r[0].style.width,sInstance:n,sTableId:n,colgroup:H("<colgroup>").prependTo(this),fastData:function(t,e,n){return q(c,t,e,n)}}),n=(c.nTable=this,c.oInit=t,o.push(c),c.api=new X(c),c.oInstance=1===E.length?E:r.dataTable(),Q(t),t.aLengthMenu&&!t.iDisplayLength&&(t.iDisplayLength=Array.isArray(t.aLengthMenu[0])?t.aLengthMenu[0][0]:H.isPlainObject(t.aLengthMenu[0])?t.aLengthMenu[0].value:t.aLengthMenu[0]),t=te(H.extend(!0,{},a),t),z(c.oFeatures,t,["bPaginate","bLengthChange","bFilter","bSort","bSortMulti","bInfo","bProcessing","bAutoWidth","bSortClasses","bServerSide","bDeferRender"]),z(c,t,["ajax","fnFormatNumber","sServerMethod","aaSorting","aaSortingFixed","aLengthMenu","sPaginationType","iStateDuration","bSortCellsTop","iTabIndex","sDom","fnStateLoadCallback","fnStateSaveCallback","renderer","searchDelay","rowId","caption","layout","orderDescReverse","typeDetect",["iCookieDuration","iStateDuration"],["oSearch","oPreviousSearch"],["aoSearchCols","aoPreSearchCols"],["iDisplayLength","_iDisplayLength"]]),z(c.oScroll,t,[["sScrollX","sX"],["sScrollXInner","sXInner"],["sScrollY","sY"],["bScrollCollapse","bCollapse"]]),z(c.oLanguage,t,"fnInfoCallback"),Y(c,"aoDrawCallback",t.fnDrawCallback),Y(c,"aoStateSaveParams",t.fnStateSaveParams),Y(c,"aoStateLoadParams",t.fnStateLoadParams),Y(c,"aoStateLoaded",t.fnStateLoaded),Y(c,"aoRowCallback",t.fnRowCallback),Y(c,"aoRowCreatedCallback",t.fnCreatedRow),Y(c,"aoHeaderCallback",t.fnHeaderCallback),Y(c,"aoFooterCallback",t.fnFooterCallback),Y(c,"aoInitComplete",t.fnInitComplete),Y(c,"aoPreDrawCallback",t.fnPreDrawCallback),c.rowIdFn=U(t.rowId),c),d=(V.__browser||(f={},V.__browser=f,p=H("<div/>").css({position:"fixed",top:0,left:-1*W.pageXOffset,height:1,width:1,overflow:"hidden"}).append(H("<div/>").css({position:"absolute",top:1,left:1,width:100,overflow:"scroll"}).append(H("<div/>").css({width:"100%",height:10}))).appendTo("body"),d=p.children(),u=d.children(),f.barWidth=d[0].offsetWidth-d[0].clientWidth,f.bScrollbarLeft=1!==Math.round(u.offset().left),p.remove()),H.extend(n.oBrowser,V.__browser),n.oScroll.iBarWidth=V.__browser.barWidth,c.oClasses),f=(H.extend(d,V.ext.classes,t.oClasses),r.addClass(d.table),c.oFeatures.bPaginate||(t.iDisplayStart=0),void 0===c.iInitDisplayStart&&(c.iInitDisplayStart=t.iDisplayStart,c._iDisplayStart=t.iDisplayStart),t.iDeferLoading),h=(null!==f&&(c.deferLoading=!0,u=Array.isArray(f),c._iRecordsDisplay=u?f[0]:f,c._iRecordsTotal=u?f[1]:f),[]),p=this.getElementsByTagName("thead"),n=At(c,p[0]);if(t.aoColumns)h=t.aoColumns;else if(n.length)for(R=n[e=0].length;e<R;e++)h.push(null);for(e=0,R=h.length;e<R;e++)tt(c);var g,v,m,b,y,D,x,S=c,w=t.aoColumnDefs,T=h,_=n,C=function(t,e){et(c,t,e)},L=S.aoColumns;if(T)for(g=0,v=T.length;g<v;g++)T[g]&&T[g].name&&(L[g].sName=T[g].name);if(w)for(g=w.length-1;0<=g;g--){var I=void 0!==(x=w[g]).target?x.target:void 0!==x.targets?x.targets:x.aTargets;for(Array.isArray(I)||(I=[I]),m=0,b=I.length;m<b;m++){var A=I[m];if("number"==typeof A&&0<=A){for(;L.length<=A;)tt(S);C(A,x)}else if("number"==typeof A&&A<0)C(L.length+A,x);else if("string"==typeof A)for(y=0,D=L.length;y<D;y++)"_all"===A?C(y,x):-1!==A.indexOf(":name")?L[y].sName===A.replace(":name","")&&C(y,x):_.forEach(function(t){t[y]&&(t=H(t[y].cell),A.match(/^[a-z][\w-]*$/i)&&(A="."+A),t.is(A))&&C(y,x)})}}if(T)for(g=0,v=T.length;g<v;g++)C(g,T[g]);var F,n=r.children("tbody").find("tr").eq(0),N=(n.length&&(F=function(t,e){return null!==t.getAttribute("data-"+e)?e:null},H(n[0]).children("th, td").each(function(t,e){var n,a=c.aoColumns[t];a||$(c,0,"Incorrect column count",18),a.mData===t&&(n=F(e,"sort")||F(e,"order"),e=F(e,"filter")||F(e,"search"),null===n&&null===e||(a.mData={_:t+".display",sort:null!==n?t+".@data-"+n:void 0,type:null!==n?t+".@data-"+n:void 0,filter:null!==e?t+".@data-"+e:void 0},a._isArrayHost=!0,et(c,t)))})),Y(c,"aoDrawCallback",Qt),c.oFeatures);if(t.bStateSave&&(N.bStateSave=!0),void 0===t.aaSorting)for(var j=c.aaSorting,e=0,R=j.length;e<R;e++)j[e][1]=c.aoColumns[e].asSorting[0];Zt(c),Y(c,"aoDrawCallback",function(){(c.bSorted||"ssp"===J(c)||N.bDeferRender)&&Zt(c)});var n=r.children("caption"),n=(c.caption&&(n=0===n.length?H("<caption/>").appendTo(r):n).html(c.caption),n.length&&(n[0]._captionSide=n.css("caption-side"),c.captionNode=n[0]),0===p.length&&(p=H("<thead/>").appendTo(r)),c.nTHead=p[0],H("tr",p).addClass(d.thead.row),r.children("tbody")),n=(0===n.length&&(n=H("<tbody/>").insertAfter(p)),c.nTBody=n[0],r.children("tfoot")),O=(0===n.length&&(n=H("<tfoot/>").appendTo(r)),c.nTFoot=n[0],H("tr",n).addClass(d.tfoot.row),c.aiDisplay=c.aiDisplayMaster.slice(),c.bInitialised=!0,c.oLanguage);H.extend(!0,O,t.oLanguage),O.sUrl?H.ajax({dataType:"json",url:O.sUrl,success:function(t){B(a.oLanguage,t),H.extend(!0,O,t,c.oInit.oLanguage),G(c,null,"i18n",[c],!0),Mt(c)},error:function(){$(c,0,"i18n file loading error",21),Mt(c)}}):(G(c,null,"i18n",[c],!0),Mt(c))}}),E=null,this)},g=(V.ext=C={buttons:{},classes:{},builder:"bs5/jszip-3.10.1/pdfmake-0.2.7/dt-2.1.8/b-3.2.0/b-colvis-3.2.0/b-html5-3.2.0/b-print-3.2.0/fh-4.0.1/rg-1.5.1",errMode:"alert",feature:[],features:{},search:[],selector:{cell:[],column:[],row:[]},legacy:{ajax:null},pager:{},renderer:{pageButton:{},header:{}},order:{},type:{className:{},detect:[],render:{},search:{},order:{}},_unique:0,fnVersionCheck:V.fnVersionCheck,iApiIndex:0,sVersion:V.version},H.extend(C,{afnFiltering:C.search,aTypes:C.type.detect,ofnSearch:C.type.search,oSort:C.type.order,afnSortData:C.order,aoFeatures:C.feature,oStdClasses:C.classes,oPagination:C.pager}),H.extend(V.ext.classes,{container:"dt-container",empty:{row:"dt-empty"},info:{container:"dt-info"},layout:{row:"dt-layout-row",cell:"dt-layout-cell",tableRow:"dt-layout-table",tableCell:"",start:"dt-layout-start",end:"dt-layout-end",full:"dt-layout-full"},length:{container:"dt-length",select:"dt-input"},order:{canAsc:"dt-orderable-asc",canDesc:"dt-orderable-desc",isAsc:"dt-ordering-asc",isDesc:"dt-ordering-desc",none:"dt-orderable-none",position:"sorting_"},processing:{container:"dt-processing"},scrolling:{body:"dt-scroll-body",container:"dt-scroll",footer:{self:"dt-scroll-foot",inner:"dt-scroll-footInner"},header:{self:"dt-scroll-head",inner:"dt-scroll-headInner"}},search:{container:"dt-search",input:"dt-input"},table:"dataTable",tbody:{cell:"",row:""},thead:{cell:"",row:""},tfoot:{cell:"",row:""},paging:{active:"current",button:"dt-paging-button",container:"dt-paging",disabled:"disabled",nav:""}}),{}),F=/[\r\n\u2028]/g,N=/<([^>]*>)/g,j=Math.pow(2,28),R=/^\d{2,4}[./-]\d{1,2}[./-]\d{1,2}([T ]{1}\d{1,2}[:.]\d{2}([.:]\d{2})?)?$/,O=new RegExp("(\\"+["/",".","*","+","?","|","(",")","[","]","{","}","\\","$","^","-"].join("|\\")+")","g"),P=/['\u00A0,$£€¥%\u2009\u202F\u20BD\u20a9\u20BArfkɃΞ]/gi,T=function(t){return!t||!0===t||"-"===t},E=function(t,e){return g[e]||(g[e]=new RegExp(Pt(e),"g")),"string"==typeof t&&"."!==e?t.replace(/\./g,"").replace(g[e],"."):t},m=function(t,e,n){var a=[],r=0,o=t.length;if(void 0!==n)for(;r<o;r++)t[r]&&t[r][e]&&a.push(t[r][e][n]);else for(;r<o;r++)t[r]&&a.push(t[r][e]);return a},L=function(t){if(!t||"string"!=typeof t)return t;if(t.length>j)throw new Error("Exceeded max str len");var e;for(t=t.replace(N,"");(t=(e=t).replace(/<script/i,""))!==e;);return e},u=function(t){return"string"==typeof(t=Array.isArray(t)?t.join(","):t)?t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"):t},k=function(t,e){var n;return"string"!=typeof t?t:(n=t.normalize?t.normalize("NFD"):t).length!==t.length?(!0===e?t+" ":"")+n.replace(/[\u0300-\u036f]/g,""):n},x=function(t){if(Array.from&&Set)return Array.from(new Set(t));if(function(t){if(!(t.length<2))for(var e=t.slice().sort(),n=e[0],a=1,r=e.length;a<r;a++){if(e[a]===n)return!1;n=e[a]}return!0}(t))return t.slice();var e,n,a,r=[],o=t.length,i=0;t:for(n=0;n<o;n++){for(e=t[n],a=0;a<i;a++)if(r[a]===e)continue t;r.push(e),i++}return r},M=function(t,e){if(Array.isArray(e))for(var n=0;n<e.length;n++)M(t,e[n]);else t.push(e);return t};function y(e,t){t&&t.split(" ").forEach(function(t){t&&e.classList.add(t)})}function Z(e){var n,a,r={};H.each(e,function(t){(n=t.match(/^([^A-Z]+?)([A-Z])/))&&-1!=="a aa ai ao as b fn i m o s ".indexOf(n[1]+" ")&&(a=t.replace(n[0],n[2].toLowerCase()),r[a]=t,"o"===n[1])&&Z(e[t])}),e._hungarianMap=r}function B(e,n,a){var r;e._hungarianMap||Z(e),H.each(n,function(t){void 0===(r=e._hungarianMap[t])||!a&&void 0!==n[r]||("o"===r.charAt(0)?(n[r]||(n[r]={}),H.extend(!0,n[r],n[t]),B(e[r],n[r],a)):n[r]=n[t])})}V.util={diacritics:function(t,e){if("function"!=typeof t)return k(t,e);k=t},debounce:function(n,a){var r;return function(){var t=this,e=arguments;clearTimeout(r),r=setTimeout(function(){n.apply(t,e)},a||250)}},throttle:function(a,t){var r,o,i=void 0!==t?t:200;return function(){var t=this,e=+new Date,n=arguments;r&&e<r+i?(clearTimeout(o),o=setTimeout(function(){r=void 0,a.apply(t,n)},i)):(r=e,a.apply(t,n))}},escapeRegex:function(t){return t.replace(O,"\\$1")},set:function(a){var f;return H.isPlainObject(a)?V.util.set(a._):null===a?function(){}:"function"==typeof a?function(t,e,n){a(t,"set",e,n)}:"string"!=typeof a||-1===a.indexOf(".")&&-1===a.indexOf("[")&&-1===a.indexOf("(")?function(t,e){t[a]=e}:(f=function(t,e,n){for(var a,r,o,i,l=gt(n),n=l[l.length-1],s=0,u=l.length-1;s<u;s++){if("__proto__"===l[s]||"constructor"===l[s])throw new Error("Cannot set prototype values");if(a=l[s].match(pt),r=l[s].match(p),a){if(l[s]=l[s].replace(pt,""),t[l[s]]=[],(a=l.slice()).splice(0,s+1),i=a.join("."),Array.isArray(e))for(var c=0,d=e.length;c<d;c++)f(o={},e[c],i),t[l[s]].push(o);else t[l[s]]=e;return}r&&(l[s]=l[s].replace(p,""),t=t[l[s]](e)),null!==t[l[s]]&&void 0!==t[l[s]]||(t[l[s]]={}),t=t[l[s]]}n.match(p)?t[n.replace(p,"")](e):t[n.replace(pt,"")]=e},function(t,e){return f(t,e,a)})},get:function(r){var o,f;return H.isPlainObject(r)?(o={},H.each(r,function(t,e){e&&(o[t]=V.util.get(e))}),function(t,e,n,a){var r=o[e]||o._;return void 0!==r?r(t,e,n,a):t}):null===r?function(t){return t}:"function"==typeof r?function(t,e,n,a){return r(t,e,n,a)}:"string"!=typeof r||-1===r.indexOf(".")&&-1===r.indexOf("[")&&-1===r.indexOf("(")?function(t){return t[r]}:(f=function(t,e,n){var a,r,o;if(""!==n)for(var i=gt(n),l=0,s=i.length;l<s;l++){if(d=i[l].match(pt),a=i[l].match(p),d){if(i[l]=i[l].replace(pt,""),""!==i[l]&&(t=t[i[l]]),r=[],i.splice(0,l+1),o=i.join("."),Array.isArray(t))for(var u=0,c=t.length;u<c;u++)r.push(f(t[u],e,o));var d=d[0].substring(1,d[0].length-1);t=""===d?r:r.join(d);break}if(a)i[l]=i[l].replace(p,""),t=t[i[l]]();else{if(null===t||null===t[i[l]])return null;if(void 0===t||void 0===t[i[l]])return;t=t[i[l]]}}return t},function(t,e){return f(t,e,r)})},stripHtml:function(t){var e=typeof t;if("function"!=e)return"string"==e?L(t):t;L=t},escapeHtml:function(t){var e=typeof t;if("function"!=e)return"string"==e||Array.isArray(t)?u(t):t;u=t},unique:x};var r=function(t,e,n){void 0!==t[e]&&(t[n]=t[e])};function Q(t){r(t,"ordering","bSort"),r(t,"orderMulti","bSortMulti"),r(t,"orderClasses","bSortClasses"),r(t,"orderCellsTop","bSortCellsTop"),r(t,"order","aaSorting"),r(t,"orderFixed","aaSortingFixed"),r(t,"paging","bPaginate"),r(t,"pagingType","sPaginationType"),r(t,"pageLength","iDisplayLength"),r(t,"searching","bFilter"),"boolean"==typeof t.sScrollX&&(t.sScrollX=t.sScrollX?"100%":""),"boolean"==typeof t.scrollX&&(t.scrollX=t.scrollX?"100%":"");var e=t.aoSearchCols;if(e)for(var n=0,a=e.length;n<a;n++)e[n]&&B(V.models.oSearch,e[n]);t.serverSide&&!t.searchDelay&&(t.searchDelay=400)}function K(t){r(t,"orderable","bSortable"),r(t,"orderData","aDataSort"),r(t,"orderSequence","asSorting"),r(t,"orderDataType","sortDataType");var e=t.aDataSort;"number"!=typeof e||Array.isArray(e)||(t.aDataSort=[e])}function tt(t){var e=V.defaults.column,n=t.aoColumns.length,e=H.extend({},V.models.oColumn,e,{aDataSort:e.aDataSort||[n],mData:e.mData||n,idx:n,searchFixed:{},colEl:H("<col>").attr("data-dt-column",n)}),e=(t.aoColumns.push(e),t.aoPreSearchCols);e[n]=H.extend({},V.models.oSearch,e[n])}function et(t,e,n){function a(t){return"string"==typeof t&&-1!==t.indexOf("@")}var r=t.aoColumns[e],o=(null!=n&&(K(n),B(V.defaults.column,n,!0),void 0===n.mDataProp||n.mData||(n.mData=n.mDataProp),n.sType&&(r._sManualType=n.sType),n.className&&!n.sClass&&(n.sClass=n.className),e=r.sClass,H.extend(r,n),z(r,n,"sWidth","sWidthOrig"),e!==r.sClass&&(r.sClass=e+" "+r.sClass),void 0!==n.iDataSort&&(r.aDataSort=[n.iDataSort]),z(r,n,"aDataSort")),r.mData),i=U(o);r.mRender&&Array.isArray(r.mRender)&&(n=(e=r.mRender.slice()).shift(),r.mRender=V.render[n].apply(W,e)),r._render=r.mRender?U(r.mRender):null;r._bAttrSrc=H.isPlainObject(o)&&(a(o.sort)||a(o.type)||a(o.filter)),r._setter=null,r.fnGetData=function(t,e,n){var a=i(t,e,void 0,n);return r._render&&e?r._render(a,e,t,n):a},r.fnSetData=function(t,e,n){return v(o)(t,e,n)},"number"==typeof o||r._isArrayHost||(t._rowReadObject=!0),t.oFeatures.bSort||(r.bSortable=!1)}function nt(t){var e=t;if(e.oFeatures.bAutoWidth){var n,a,r=e.nTable,o=e.aoColumns,i=e.oScroll,l=i.sY,s=i.sX,i=i.sXInner,u=it(e,"bVisible"),c=r.getAttribute("width"),d=r.parentNode,f=r.style.width,f=(f||c||(r.style.width="100%",f="100%"),f&&-1!==f.indexOf("%")&&(c=f),G(e,null,"column-calc",{visible:u},!1),H(r.cloneNode()).css("visibility","hidden").removeAttr("id")),h=(f.append("<tbody>"),H("<tr/>").appendTo(f.find("tbody")));for(f.append(H(e.nTHead).clone()).append(H(e.nTFoot).clone()),f.find("tfoot th, tfoot td").css("width",""),f.find("thead th, thead td").each(function(){var t=ct(e,this,!0,!1);t?(this.style.width=t,s&&H(this).append(H("<div/>").css({width:t,margin:0,padding:0,border:0,height:1}))):this.style.width=""}),n=0;n<u.length;n++){p=u[n],a=o[p];var p=function(t,e){var n=t.aoColumns[e];if(!n.maxLenString){for(var a,r="",o=-1,i=0,l=t.aiDisplayMaster.length;i<l;i++){var s=t.aiDisplayMaster[i],s=Dt(t,s)[e],s=s&&"object"==typeof s&&s.nodeType?s.innerHTML:s+"";s=s.replace(/id=".*?"/g,"").replace(/name=".*?"/g,""),(a=L(s).replace(/&nbsp;/g," ")).length>o&&(r=s,o=a.length)}n.maxLenString=r}return n.maxLenString}(e,p),g=C.type.className[a.sType],v=p+a.sContentPadding,p=-1===p.indexOf("<")?_.createTextNode(v):v;H("<td/>").addClass(g).addClass(a.sClass).append(p).appendTo(h)}H("[name]",f).removeAttr("name");var m=H("<div/>").css(s||l?{position:"absolute",top:0,left:0,height:1,right:0,overflow:"hidden"}:{}).append(f).appendTo(d),b=(s&&i?f.width(i):s?(f.css("width","auto"),f.removeAttr("width"),f.width()<d.clientWidth&&c&&f.width(d.clientWidth)):l?f.width(d.clientWidth):c&&f.width(c),0),y=f.find("tbody tr").eq(0).children();for(n=0;n<u.length;n++){var D=y[n].getBoundingClientRect().width;b+=D,o[u[n]].sWidth=I(D)}r.style.width=I(b),m.remove(),c&&(r.style.width=I(c)),!c&&!s||e._reszEvt||(H(W).on("resize.DT-"+e.sInstance,V.util.throttle(function(){e.bDestroying||nt(e)})),e._reszEvt=!0)}for(var x=t,S=x.aoColumns,w=0;w<S.length;w++){var T=ct(x,[w],!1,!1);S[w].colEl.css("width",T)}i=t.oScroll;""===i.sY&&""===i.sX||qt(t),G(t,null,"column-sizing",[t])}function at(t,e){t=it(t,"bVisible");return"number"==typeof t[e]?t[e]:null}function rt(t,e){t=it(t,"bVisible").indexOf(e);return-1!==t?t:null}function ot(t){var e=t.aoHeader,n=t.aoColumns,a=0;if(e.length)for(var r=0,o=e[0].length;r<o;r++)n[r].bVisible&&"none"!==H(e[0][r].cell).css("display")&&a++;return a}function it(t,n){var a=[];return t.aoColumns.map(function(t,e){t[n]&&a.push(e)}),a}function lt(t,e){return!0===e?t._name:e}function st(t){for(var e,n,a,r,o,i,l=t.aoColumns,s=t.aoData,u=V.ext.type.detect,c=0,d=l.length;c<d;c++){if(i=[],!(o=l[c]).sType&&o._sManualType)o.sType=o._sManualType;else if(!o.sType){if(!t.typeDetect)return;for(e=0,n=u.length;e<n;e++){var f=u[e],h=f.oneOf,p=f.allOf||f,g=f.init,v=!1,m=null;if(g&&(m=lt(f,g(t,o,c)))){o.sType=m;break}for(a=0,r=s.length;a<r;a++)if(s[a]){if(void 0===i[a]&&(i[a]=q(t,a,c,"type")),h&&!v&&(v=lt(f,h(i[a],t))),!(m=lt(f,p(i[a],t)))&&e!==u.length-3)break;if("html"===m&&!T(i[a]))break}if(h&&v&&m||!h&&m){o.sType=m;break}}o.sType||(o.sType="string")}var b=C.type.className[o.sType],b=(b&&(ut(t.aoHeader,c,b),ut(t.aoFooter,c,b)),C.type.render[o.sType]);if(b&&!o._render){o._render=V.util.get(b),y=w=S=x=D=void 0;for(var y,D=t,x=c,S=D.aoData,w=0;w<S.length;w++)S[w].nTr&&(y=q(D,w,x,"display"),S[w].displayData[x]=y,ht(S[w].anCells[x],y))}}}function ut(t,e,n){t.forEach(function(t){t[e]&&t[e].unique&&y(t[e].cell,n)})}function ct(t,e,n,a){Array.isArray(e)||(e=dt(e));for(var r,o=0,i=t.aoColumns,l=0,s=e.length;l<s;l++){var u=i[e[l]],c=n?u.sWidthOrig:u.sWidth;if(a||!1!==u.bVisible){if(null==c)return null;"number"==typeof c?(r="px",o+=c):(u=c.match(/([\d\.]+)([^\d]*)/))&&(o+=+u[1],r=3===u.length?u[2]:"px")}}return o+r}function dt(t){t=H(t).closest("[data-dt-column]").attr("data-dt-column");return t?t.split(",").map(function(t){return+t}):[]}function D(t,e,n,a){for(var r=t.aoData.length,o=H.extend(!0,{},V.models.oRow,{src:n?"dom":"data",idx:r}),i=(o._aData=e,t.aoData.push(o),t.aoColumns),l=0,s=i.length;l<s;l++)i[l].sType=null;t.aiDisplayMaster.push(r);e=t.rowIdFn(e);return void 0!==e&&(t.aIds[e]=o),!n&&t.oFeatures.bDeferRender||xt(t,r,n,a),r}function ft(n,t){var a;return(t=t instanceof H?t:H(t)).map(function(t,e){return a=yt(n,e),D(n,a.data,e,a.cells)})}function q(t,e,n,a){"search"===a?a="filter":"order"===a&&(a="sort");var r=t.aoData[e];if(r){var o=t.iDraw,i=t.aoColumns[n],r=r._aData,l=i.sDefaultContent,s=i.fnGetData(r,a,{settings:t,row:e,col:n});if(void 0===(s="display"!==a&&s&&"object"==typeof s&&s.nodeName?s.innerHTML:s))return t.iDrawError!=o&&null===l&&($(t,0,"Requested unknown parameter "+("function"==typeof i.mData?"{function}":"'"+i.mData+"'")+" for row "+e+", column "+n,4),t.iDrawError=o),l;if(s!==r&&null!==s||null===l||void 0===a){if("function"==typeof s)return s.call(r)}else s=l;return null===s&&"display"===a?"":s="filter"===a&&(e=V.ext.type.search)[i.sType]?e[i.sType](s):s}}function ht(t,e){e&&"object"==typeof e&&e.nodeName?H(t).empty().append(e):t.innerHTML=e}var pt=/\[.*?\]$/,p=/\(\)$/;function gt(t){return(t.match(/(\\.|[^.])+/g)||[""]).map(function(t){return t.replace(/\\\./g,".")})}var U=V.util.get,v=V.util.set;function vt(t){return m(t.aoData,"_aData")}function mt(t){t.aoData.length=0,t.aiDisplayMaster.length=0,t.aiDisplay.length=0,t.aIds={}}function bt(t,e,n,a){var r,o,i=t.aoData[e];if(i._aSortData=null,i._aFilterData=null,i.displayData=null,"dom"!==n&&(n&&"auto"!==n||"dom"!==i.src)){var l=i.anCells,s=Dt(t,e);if(l)if(void 0!==a)ht(l[a],s[a]);else for(r=0,o=l.length;r<o;r++)ht(l[r],s[r])}else i._aData=yt(t,i,a,void 0===a?void 0:i._aData).data;var u=t.aoColumns;if(void 0!==a)u[a].sType=null,u[a].maxLenString=null;else{for(r=0,o=u.length;r<o;r++)u[r].sType=null,u[r].maxLenString=null;St(t,i)}}function yt(t,e,n,a){function r(t,e){var n;"string"==typeof t&&-1!==(n=t.indexOf("@"))&&(n=t.substring(n+1),v(t)(a,e.getAttribute(n)))}function o(t){void 0!==n&&n!==d||(l=f[d],s=t.innerHTML.trim(),l&&l._bAttrSrc?(v(l.mData._)(a,s),r(l.mData.sort,t),r(l.mData.type,t),r(l.mData.filter,t)):h?(l._setter||(l._setter=v(l.mData)),l._setter(a,s)):a[d]=s),d++}var i,l,s,u=[],c=e.firstChild,d=0,f=t.aoColumns,h=t._rowReadObject;a=void 0!==a?a:h?{}:[];if(c)for(;c;)"TD"!=(i=c.nodeName.toUpperCase())&&"TH"!=i||(o(c),u.push(c)),c=c.nextSibling;else for(var p=0,g=(u=e.anCells).length;p<g;p++)o(u[p]);var e=e.firstChild?e:e.nTr;return e&&(e=e.getAttribute("id"))&&v(t.rowId)(a,e),{data:a,cells:u}}function Dt(t,e){var n=t.aoData[e],a=t.aoColumns;if(!n.displayData){n.displayData=[];for(var r=0,o=a.length;r<o;r++)n.displayData.push(q(t,e,r,"display"))}return n.displayData}function xt(t,e,n,a){var r,o,i,l,s,u,c=t.aoData[e],d=c._aData,f=[],h=t.oClasses.tbody.row;if(null===c.nTr){for(r=n||_.createElement("tr"),c.nTr=r,c.anCells=f,y(r,h),r._DT_RowIndex=e,St(t,c),l=0,s=t.aoColumns.length;l<s;l++){i=t.aoColumns[l],(o=(u=!n||!a[l])?_.createElement(i.sCellType):a[l])||$(t,0,"Incorrect column count",18),o._DT_CellIndex={row:e,column:l},f.push(o);var p=Dt(t,e);!u&&(!i.mRender&&i.mData===l||H.isPlainObject(i.mData)&&i.mData._===l+".display")||ht(o,p[l]),y(o,i.sClass),i.bVisible&&u?r.appendChild(o):i.bVisible||u||o.parentNode.removeChild(o),i.fnCreatedCell&&i.fnCreatedCell.call(t.oInstance,o,q(t,e,l),d,e,l)}G(t,"aoRowCreatedCallback","row-created",[r,d,e,f])}else y(c.nTr,h)}function St(t,e){var n=e.nTr,a=e._aData;n&&((t=t.rowIdFn(a))&&(n.id=t),a.DT_RowClass&&(t=a.DT_RowClass.split(" "),e.__rowc=e.__rowc?x(e.__rowc.concat(t)):t,H(n).removeClass(e.__rowc.join(" ")).addClass(a.DT_RowClass)),a.DT_RowAttr&&H(n).attr(a.DT_RowAttr),a.DT_RowData)&&H(n).data(a.DT_RowData)}function wt(t,e){var n,a=t.oClasses,r=t.aoColumns,o="header"===e?t.nTHead:t.nTFoot,i="header"===e?"sTitle":e;if(o){if(("header"===e||m(t.aoColumns,i).join(""))&&1===(n=(n=H("tr",o)).length?n:H("<tr/>").appendTo(o)).length)for(var l=H("td, th",n).length,s=r.length;l<s;l++)H("<th/>").html(r[l][i]||"").appendTo(n);var u=At(t,o,!0);"header"===e?t.aoHeader=u:t.aoFooter=u,H(o).children("tr").children("th, td").each(function(){ae(t,e)(t,H(this),a)})}}function Tt(t,e,n){var a,r,o,i,l,s=[],u=[],c=t.aoColumns,t=c.length;if(e){for(n=n||h(t).filter(function(t){return c[t].bVisible}),a=0;a<e.length;a++)s[a]=e[a].slice().filter(function(t,e){return n.includes(e)}),u.push([]);for(a=0;a<s.length;a++)for(r=0;r<s[a].length;r++)if(l=i=1,void 0===u[a][r]){for(o=s[a][r].cell;void 0!==s[a+i]&&s[a][r].cell==s[a+i][r].cell;)u[a+i][r]=null,i++;for(;void 0!==s[a][r+l]&&s[a][r].cell==s[a][r+l].cell;){for(var d=0;d<i;d++)u[a+d][r+l]=null;l++}var f=H("span.dt-column-title",o);u[a][r]={cell:o,colspan:l,rowspan:i,title:(f.length?f:H(o)).html()}}return u}}function _t(t,e){for(var n,a,r=Tt(t,e),o=0;o<e.length;o++){if(n=e[o].row)for(;a=n.firstChild;)n.removeChild(a);for(var i=0;i<r[o].length;i++){var l=r[o][i];l&&H(l.cell).appendTo(n).attr("rowspan",l.rowspan).attr("colspan",l.colspan)}}}function S(t,e){if(r="ssp"==J(s=t),void 0!==(i=s.iInitDisplayStart)&&-1!==i&&(s._iDisplayStart=!r&&i>=s.fnRecordsDisplay()?0:i,s.iInitDisplayStart=-1),-1!==G(t,"aoPreDrawCallback","preDraw",[t]).indexOf(!1))w(t,!1);else{var l,n=[],a=0,r="ssp"==J(t),o=t.aiDisplay,i=t._iDisplayStart,s=t.fnDisplayEnd(),u=t.aoColumns,c=H(t.nTBody);if(t.bDrawing=!0,t.deferLoading)t.deferLoading=!1,t.iDraw++,w(t,!1);else if(r){if(!t.bDestroying&&!e)return 0===t.iDraw&&c.empty().append(Ct(t)),(l=t).iDraw++,w(l,!0),void Ft(l,function(e){function n(t,e){return"function"==typeof a[t][e]?"function":a[t][e]}var a=e.aoColumns,t=e.oFeatures,r=e.oPreviousSearch,o=e.aoPreSearchCols;return{draw:e.iDraw,columns:a.map(function(e,t){return{data:n(t,"mData"),name:e.sName,searchable:e.bSearchable,orderable:e.bSortable,search:{value:o[t].search,regex:o[t].regex,fixed:Object.keys(e.searchFixed).map(function(t){return{name:t,term:e.searchFixed[t].toString()}})}}}),order:Gt(e).map(function(t){return{column:t.col,dir:t.dir,name:n(t.col,"sName")}}),start:e._iDisplayStart,length:t.bPaginate?e._iDisplayLength:-1,search:{value:r.search,regex:r.regex,fixed:Object.keys(e.searchFixed).map(function(t){return{name:t,term:e.searchFixed[t].toString()}})}}}(l),function(t){var e=l,n=Nt(e,t=t),a=jt(e,"draw",t),r=jt(e,"recordsTotal",t),t=jt(e,"recordsFiltered",t);if(void 0!==a){if(+a<e.iDraw)return;e.iDraw=+a}n=n||[],mt(e),e._iRecordsTotal=parseInt(r,10),e._iRecordsDisplay=parseInt(t,10);for(var o=0,i=n.length;o<i;o++)D(e,n[o]);e.aiDisplay=e.aiDisplayMaster.slice(),st(e),S(e,!0),Ht(e),w(e,!1)})}else t.iDraw++;if(0!==o.length)for(var d=r?t.aoData.length:s,f=r?0:i;f<d;f++){for(var h=o[f],p=t.aoData[h],g=(null===p.nTr&&xt(t,h),p.nTr),v=0;v<u.length;v++){var m=u[v],b=p.anCells[v];y(b,C.type.className[m.sType]),y(b,t.oClasses.tbody.cell)}G(t,"aoRowCallback",null,[g,p._aData,a,f,h]),n.push(g),a++}else n[0]=Ct(t);G(t,"aoHeaderCallback","header",[H(t.nTHead).children("tr")[0],vt(t),i,s,o]),G(t,"aoFooterCallback","footer",[H(t.nTFoot).children("tr")[0],vt(t),i,s,o]),c[0].replaceChildren?c[0].replaceChildren.apply(c[0],n):(c.children().detach(),c.append(H(n))),H(t.nTableWrapper).toggleClass("dt-empty-footer",0===H("tr",t.nTFoot).length),G(t,"aoDrawCallback","draw",[t],!0),t.bSorted=!1,t.bFiltered=!1,t.bDrawing=!1}}function d(t,e,n){var a=t.oFeatures,r=a.bSort,a=a.bFilter;void 0!==n&&!0!==n||(st(t),r&&Jt(t),a?Rt(t,t.oPreviousSearch):t.aiDisplay=t.aiDisplayMaster.slice()),!0!==e&&(t._iDisplayStart=0),t._drawHold=e,S(t),t._drawHold=!1}function Ct(t){var e=t.oLanguage,n=e.sZeroRecords,a=J(t);return t.iDraw<1&&"ssp"===a||t.iDraw<=1&&"ajax"===a?n=e.sLoadingRecords:e.sEmptyTable&&0===t.fnRecordsTotal()&&(n=e.sEmptyTable),H("<tr/>").append(H("<td />",{colSpan:ot(t),class:t.oClasses.empty.row}).html(n))[0]}function Lt(t,e,r){var o=[];H.each(e,function(t,e){var n,a;null!==e&&(n=(t=t.match(/^([a-z]+)([0-9]*)([A-Za-z]*)$/))[2]?+t[2]:0,a=t[3]?t[3].toLowerCase():"full",t[1]===r)&&function t(e,n,a){if(Array.isArray(a))for(var r=0;r<a.length;r++)t(e,n,a[r]);else{var o=e[n];H.isPlainObject(a)?a.features?(a.rowId&&(e.id=a.rowId),a.rowClass&&(e.className=a.rowClass),o.id=a.id,o.className=a.className,t(e,n,a.features)):Object.keys(a).map(function(t){o.contents.push({feature:t,opts:a[t]})}):o.contents.push(a)}}(function(t,e,n){for(var a,r=0;r<t.length;r++)if((a=t[r]).rowNum===e&&("full"===n&&a.full||("start"===n||"end"===n)&&(a.start||a.end)))return a[n]||(a[n]={contents:[]}),a;return(a={rowNum:e})[n]={contents:[]},t.push(a),a}(o,n,a),a,e)}),o.sort(function(t,e){var n=t.rowNum,a=e.rowNum;return n===a?(t=t.full&&!e.full?-1:1,"bottom"===r?-1*t:t):a-n}),"bottom"===r&&o.reverse();for(var n=0;n<o.length;n++)delete o[n].rowNum,!function(o,i){function l(t,e){return C.features[t]||$(o,0,"Unknown feature: "+t),C.features[t].apply(this,[o,e])}function t(t){if(i[t])for(var e,n=i[t].contents,a=0,r=n.length;a<r;a++)n[a]&&("string"==typeof n[a]?n[a]=l(n[a],null):H.isPlainObject(n[a])?n[a]=l(n[a].feature,n[a].opts):"function"==typeof n[a].node?n[a]=n[a].node(o):"function"==typeof n[a]&&(e=n[a](o),n[a]="function"==typeof e.node?e.node():e))}t("start"),t("end"),t("full")}(t,o[n]);return o}function It(e){var a,t=e.oClasses,n=H(e.nTable),r=H("<div/>").attr({id:e.sTableId+"_wrapper",class:t.container}).insertBefore(n);if(e.nTableWrapper=r[0],e.sDom)for(var o,i,l,s,u,c,d=e,t=e.sDom,f=r,h=t.match(/(".*?")|('.*?')|./g),p=0;p<h.length;p++)o=null,"<"==(i=h[p])?(l=H("<div/>"),"'"!=(s=h[p+1])[0]&&'"'!=s[0]||(s=s.replace(/['"]/g,""),u="",-1!=s.indexOf(".")?(c=s.split("."),u=c[0],c=c[1]):"#"==s[0]?u=s:c=s,l.attr("id",u.substring(1)).addClass(c),p++),f.append(l),f=l):">"==i?f=f.parent():"t"==i?o=Bt(d):V.ext.feature.forEach(function(t){i==t.cFeature&&(o=t.fnInit(d))}),o&&f.append(o);else{var n=Lt(e,e.layout,"top"),t=Lt(e,e.layout,"bottom"),g=ae(e,"layout");n.forEach(function(t){g(e,r,t)}),g(e,r,{full:{table:!0,contents:[Bt(e)]}}),t.forEach(function(t){g(e,r,t)})}var n=e,t=n.nTable,v=""!==n.oScroll.sX||""!==n.oScroll.sY;n.oFeatures.bProcessing&&(a=H("<div/>",{id:n.sTableId+"_processing",class:n.oClasses.processing.container,role:"status"}).html(n.oLanguage.sProcessing).append("<div><div></div><div></div><div></div><div></div></div>"),v?a.prependTo(H("div.dt-scroll",n.nTableWrapper)):a.insertBefore(t),H(t).on("processing.dt.DT",function(t,e,n){a.css("display",n?"block":"none")}))}function At(t,e,n){for(var a,r,o,i,l,s,u=t.aoColumns,c=H(e).children("tr"),d=e&&"thead"===e.nodeName.toLowerCase(),f=[],h=0,p=c.length;h<p;h++)f.push([]);for(h=0,p=c.length;h<p;h++)for(r=(a=c[h]).firstChild;r;){if("TD"==r.nodeName.toUpperCase()||"TH"==r.nodeName.toUpperCase()){var g,v,m,b,y,D=[];for(b=(b=+r.getAttribute("colspan"))&&0!=b&&1!=b?b:1,y=(y=+r.getAttribute("rowspan"))&&0!=y&&1!=y?y:1,l=function(t,e,n){for(var a=t[e];a[n];)n++;return n}(f,h,0),s=1==b,n&&(s&&(et(t,l,H(r).data()),g=u[l],v=r.getAttribute("width")||null,(m=r.style.width.match(/width:\s*(\d+[pxem%]+)/))&&(v=m[1]),g.sWidthOrig=g.sWidth||v,d?(null===g.sTitle||g.autoTitle||(r.innerHTML=g.sTitle),!g.sTitle&&s&&(g.sTitle=L(r.innerHTML),g.autoTitle=!0)):g.footer&&(r.innerHTML=g.footer),g.ariaTitle||(g.ariaTitle=H(r).attr("aria-label")||g.sTitle),g.className)&&H(r).addClass(g.className),0===H("span.dt-column-title",r).length&&H("<span>").addClass("dt-column-title").append(r.childNodes).appendTo(r),d)&&0===H("span.dt-column-order",r).length&&H("<span>").addClass("dt-column-order").appendTo(r),i=0;i<b;i++){for(o=0;o<y;o++)f[h+o][l+i]={cell:r,unique:s},f[h+o].row=a;D.push(l+i)}r.setAttribute("data-dt-column",x(D).join(","))}r=r.nextSibling}return f}function Ft(n,t,a){function e(t){var e=n.jqXHR?n.jqXHR.status:null;if((null===t||"number"==typeof e&&204==e)&&Nt(n,t={},[]),(e=t.error||t.sError)&&$(n,0,e),t.d&&"string"==typeof t.d)try{t=JSON.parse(t.d)}catch(t){}n.json=t,G(n,null,"xhr",[n,t,n.jqXHR],!0),a(t)}var r,o=n.ajax,i=n.oInstance,l=(H.isPlainObject(o)&&o.data&&(l="function"==typeof(r=o.data)?r(t,n):r,t="function"==typeof r&&l?l:H.extend(!0,t,l),delete o.data),{url:"string"==typeof o?o:"",data:t,success:e,dataType:"json",cache:!1,type:n.sServerMethod,error:function(t,e){-1===G(n,null,"xhr",[n,null,n.jqXHR],!0).indexOf(!0)&&("parsererror"==e?$(n,0,"Invalid JSON response",1):4===t.readyState&&$(n,0,"Ajax error",7)),w(n,!1)}});H.isPlainObject(o)&&H.extend(l,o),n.oAjaxData=t,G(n,null,"preXhr",[n,t,l],!0),"function"==typeof o?n.jqXHR=o.call(i,t,e,n):""===o.url?(i={},V.util.set(o.dataSrc)(i,[]),e(i)):n.jqXHR=H.ajax(l),r&&(o.data=r)}function Nt(t,e,n){var a="data";if(H.isPlainObject(t.ajax)&&void 0!==t.ajax.dataSrc&&("string"==typeof(t=t.ajax.dataSrc)||"function"==typeof t?a=t:void 0!==t.data&&(a=t.data)),!n)return"data"===a?e.aaData||e[a]:""!==a?U(a)(e):e;v(a)(e,n)}function jt(t,e,n){var t=H.isPlainObject(t.ajax)?t.ajax.dataSrc:null;return t&&t[e]?U(t[e])(n):(t="","draw"===e?t="sEcho":"recordsTotal"===e?t="iTotalRecords":"recordsFiltered"===e&&(t="iTotalDisplayRecords"),void 0!==n[t]?n[t]:n[e])}function Rt(n,t){var e=n.aoPreSearchCols;if("ssp"!=J(n)){for(var a,r,o,i,l,s=n,u=s.aoColumns,c=s.aoData,d=0;d<c.length;d++)if(c[d]&&!(l=c[d])._aFilterData){for(o=[],a=0,r=u.length;a<r;a++)u[a].bSearchable?"string"!=typeof(i=null===(i=q(s,d,a,"filter"))?"":i)&&i.toString&&(i=i.toString()):i="",i.indexOf&&-1!==i.indexOf("&")&&(Et.innerHTML=i,i=kt?Et.textContent:Et.innerText),i.replace&&(i=i.replace(/[\r\n\u2028]/g,"")),o.push(i);l._aFilterData=o,l._sFilterRow=o.join("  "),0}n.aiDisplay=n.aiDisplayMaster.slice(),Ot(n.aiDisplay,n,t.search,t),H.each(n.searchFixed,function(t,e){Ot(n.aiDisplay,n,e,{})});for(var f=0;f<e.length;f++){var h=e[f];Ot(n.aiDisplay,n,h.search,h,f),H.each(n.aoColumns[f].searchFixed,function(t,e){Ot(n.aiDisplay,n,e,{},f)})}for(var p,g,v=n,m=V.ext.search,b=v.aiDisplay,y=0,D=m.length;y<D;y++){for(var x=[],S=0,w=b.length;S<w;S++)g=b[S],p=v.aoData[g],m[y](v,p._aFilterData,g,p._aData,S)&&x.push(g);b.length=0,b.push.apply(b,x)}}n.bFiltered=!0,G(n,null,"search",[n])}function Ot(t,e,n,a,r){if(""!==n){for(var o=0,i=[],l="function"==typeof n?n:null,s=n instanceof RegExp?n:l?null:function(t,e){var a=[],e=H.extend({},{boundary:!1,caseInsensitive:!0,exact:!1,regex:!1,smart:!0},e);"string"!=typeof t&&(t=t.toString());if(t=k(t),e.exact)return new RegExp("^"+Pt(t)+"$",e.caseInsensitive?"i":"");{var n,r,o;t=e.regex?t:Pt(t),e.smart&&(n=(t.match(/!?["\u201C][^"\u201D]+["\u201D]|[^ ]+/g)||[""]).map(function(t){var e,n=!1;return"!"===t.charAt(0)&&(n=!0,t=t.substring(1)),'"'===t.charAt(0)?t=(e=t.match(/^"(.*)"$/))?e[1]:t:"“"===t.charAt(0)&&(t=(e=t.match(/^\u201C(.*)\u201D$/))?e[1]:t),n&&(1<t.length&&a.push("(?!"+t+")"),t=""),t.replace(/"/g,"")}),r=a.length?a.join(""):"",o=e.boundary?"\\b":"",t="^(?=.*?"+o+n.join(")(?=.*?"+o)+")("+r+".)*$")}return new RegExp(t,e.caseInsensitive?"i":"")}(n,a),o=0;o<t.length;o++){var u=e.aoData[t[o]],c=void 0===r?u._sFilterRow:u._aFilterData[r];(l&&l(c,u._aData,t[o],r)||s&&s.test(c))&&i.push(t[o])}for(t.length=i.length,o=0;o<i.length;o++)t[o]=i[o]}}var Pt=V.util.escapeRegex,Et=H("<div>")[0],kt=void 0!==Et.textContent;function Mt(i){var l,e,n,t,s=i.oInit,u=i.deferLoading,c=J(i);i.bInitialised?(wt(i,"header"),wt(i,"footer"),n=function(){_t(i,i.aoHeader),_t(i,i.aoFooter);var n=i.iInitDisplayStart;if(s.aaData)for(l=0;l<s.aaData.length;l++)D(i,s.aaData[l]);else!u&&"dom"!=c||ft(i,H(i.nTBody).children("tr"));i.aiDisplay=i.aiDisplayMaster.slice(),It(i);var t=i,e=t.nTHead,a=e.querySelectorAll("tr"),r=t.bSortCellsTop,o=':not([data-dt-order="disable"]):not([data-dt-order="icon-only"])';!0===r?e=a[0]:!1===r&&(e=a[a.length-1]),$t(t,e,e===t.nTHead?"tr"+o+" th"+o+", tr"+o+" td"+o:"th"+o+", td"+o),Yt(t,r=[],t.aaSorting),t.aaSorting=r,Ut(i),w(i,!0),G(i,null,"preInit",[i],!0),d(i),"ssp"==c&&!u||("ajax"==c?Ft(i,{},function(t){var e=Nt(i,t);for(l=0;l<e.length;l++)D(i,e[l]);i.iInitDisplayStart=n,d(i),w(i,!1),Ht(i)}):(Ht(i),w(i,!1)))},(e=i).oFeatures.bStateSave?void 0!==(t=e.fnStateLoadCallback.call(e.oInstance,e,function(t){Kt(e,t,n)}))&&Kt(e,t,n):n()):setTimeout(function(){Mt(i)},200)}function Ht(t){var e;t._bInitComplete||(e=[t,t.json],t._bInitComplete=!0,nt(t),G(t,null,"plugin-init",e,!0),G(t,"aoInitComplete","init",e,!0))}function Wt(t,e){e=parseInt(e,10);t._iDisplayLength=e,ne(t),G(t,null,"length",[t,e])}function Xt(t,e,n){var a=t._iDisplayStart,r=t._iDisplayLength,o=t.fnRecordsDisplay();if(0===o||-1===r)a=0;else if("number"==typeof e)o<(a=e*r)&&(a=0);else if("first"==e)a=0;else if("previous"==e)(a=0<=r?a-r:0)<0&&(a=0);else if("next"==e)a+r<o&&(a+=r);else if("last"==e)a=Math.floor((o-1)/r)*r;else{if("ellipsis"===e)return;$(t,0,"Unknown paging action: "+e,5)}o=t._iDisplayStart!==a;t._iDisplayStart=a,G(t,null,o?"page":"page-nc",[t]),o&&n&&S(t)}function w(t,e){t.bDrawing&&!1===e||G(t,null,"processing",[t,e])}function Vt(t,e,n){e?(w(t,!0),setTimeout(function(){n(),w(t,!1)},0)):n()}function Bt(t){var e,n,a,r,o,i,l,s,u,c,d,f,h,p=H(t.nTable),g=t.oScroll;return""===g.sX&&""===g.sY?t.nTable:(e=g.sX,n=g.sY,a=t.oClasses.scrolling,o=(r=t.captionNode)?r._captionSide:null,u=H(p[0].cloneNode(!1)),i=H(p[0].cloneNode(!1)),c=function(t){return t?I(t):null},(l=p.children("tfoot")).length||(l=null),u=H(s="<div/>",{class:a.container}).append(H(s,{class:a.header.self}).css({overflow:"hidden",position:"relative",border:0,width:e?c(e):"100%"}).append(H(s,{class:a.header.inner}).css({"box-sizing":"content-box",width:g.sXInner||"100%"}).append(u.removeAttr("id").css("margin-left",0).append("top"===o?r:null).append(p.children("thead"))))).append(H(s,{class:a.body}).css({position:"relative",overflow:"auto",width:c(e)}).append(p)),l&&u.append(H(s,{class:a.footer.self}).css({overflow:"hidden",border:0,width:e?c(e):"100%"}).append(H(s,{class:a.footer.inner}).append(i.removeAttr("id").css("margin-left",0).append("bottom"===o?r:null).append(p.children("tfoot"))))),c=u.children(),d=c[0],f=c[1],h=l?c[2]:null,H(f).on("scroll.DT",function(){var t=this.scrollLeft;d.scrollLeft=t,l&&(h.scrollLeft=t)}),H("th, td",d).on("focus",function(){var t=d.scrollLeft;f.scrollLeft=t,l&&(f.scrollLeft=t)}),H(f).css("max-height",n),g.bCollapse||H(f).css("height",n),t.nScrollHead=d,t.nScrollBody=f,t.nScrollFoot=h,t.aoDrawCallback.push(qt),u[0])}function qt(e){var t=e.oScroll.iBarWidth,n=H(e.nScrollHead).children("div"),a=n.children("table"),r=e.nScrollBody,o=H(r),i=H(e.nScrollFoot).children("div"),l=i.children("table"),s=H(e.nTHead),u=H(e.nTable),c=e.nTFoot&&H("th, td",e.nTFoot).length?H(e.nTFoot):null,d=e.oBrowser,f=r.scrollHeight>r.clientHeight;if(e.scrollBarVis!==f&&void 0!==e.scrollBarVis)e.scrollBarVis=f,nt(e);else{if(e.scrollBarVis=f,u.children("thead, tfoot").remove(),(f=s.clone().prependTo(u)).find("th, td").removeAttr("tabindex"),f.find("[id]").removeAttr("id"),c&&(b=c.clone().prependTo(u)).find("[id]").removeAttr("id"),e.aiDisplay.length){for(var h=null,p=e._iDisplayStart;p<e.aiDisplay.length;p++){var g=e.aiDisplay[p],g=e.aoData[g].nTr;if(g){h=g;break}}if(h)for(var v=H(h).children("th, td").map(function(t){return{idx:at(e,t),width:H(this).outerWidth()}}),p=0;p<v.length;p++){var m=e.aoColumns[v[p].idx].colEl[0];m.style.width.replace("px","")!==v[p].width&&(m.style.width=v[p].width+"px")}}a.find("colgroup").remove(),a.append(e.colgroup.clone()),c&&(l.find("colgroup").remove(),l.append(e.colgroup.clone())),H("th, td",f).each(function(){H(this.childNodes).wrapAll('<div class="dt-scroll-sizing">')}),c&&H("th, td",b).each(function(){H(this.childNodes).wrapAll('<div class="dt-scroll-sizing">')});var s=Math.floor(u.height())>r.clientHeight||"scroll"==o.css("overflow-y"),f="padding"+(d.bScrollbarLeft?"Left":"Right"),b=u.outerWidth();a.css("width",I(b)),n.css("width",I(b)).css(f,s?t+"px":"0px"),c&&(l.css("width",I(b)),i.css("width",I(b)).css(f,s?t+"px":"0px")),u.children("colgroup").prependTo(u),o.trigger("scroll"),!e.bSorted&&!e.bFiltered||e._drawHold||(r.scrollTop=0)}}function I(t){return null===t?"0px":"number"==typeof t?t<0?"0px":t+"px":t.match(/\d$/)?t+"px":t}function Ut(t){var e=t.aoColumns;for(t.colgroup.empty(),a=0;a<e.length;a++)e[a].bVisible&&t.colgroup.append(e[a].colEl)}function $t(o,t,e,i,l){ee(t,e,function(t){var e=!1,n=void 0===i?dt(t.target):[i];if(n.length){for(var a=0,r=n.length;a<r;a++)if(!1!==function(t,e,n,a){function r(t,e){var n=t._idx;return(n=void 0===n?s.indexOf(t[1]):n)+1<s.length?n+1:e?null:0}var o,i=t.aoColumns[e],l=t.aaSorting,s=i.asSorting;if(!i.bSortable)return!1;"number"==typeof l[0]&&(l=t.aaSorting=[l]);(a||n)&&t.oFeatures.bSortMulti?-1!==(i=m(l,"0").indexOf(e))?null===(o=null===(o=r(l[i],!0))&&1===l.length?0:o)?l.splice(i,1):(l[i][1]=s[o],l[i]._idx=o):(a?l.push([e,s[0],0]):l.push([e,l[0][1],0]),l[l.length-1]._idx=0):l.length&&l[0][0]==e?(o=r(l[0]),l.length=1,l[0][1]=s[o],l[0]._idx=o):(l.length=0,l.push([e,s[0]]),l[0]._idx=0)}(o,n[a],a,t.shiftKey)&&(e=!0),1===o.aaSorting.length&&""===o.aaSorting[0][1])break;e&&Vt(o,!0,function(){Jt(o),zt(o,o.aiDisplay),d(o,!1,!1),l&&l()})}})}function zt(t,e){if(!(e.length<2)){for(var n=t.aiDisplayMaster,a={},r={},o=0;o<n.length;o++)a[n[o]]=o;for(o=0;o<e.length;o++)r[e[o]]=a[e[o]];e.sort(function(t,e){return r[t]-r[e]})}}function Yt(n,a,t){function e(t){var e;H.isPlainObject(t)?void 0!==t.idx?a.push([t.idx,t.dir]):t.name&&-1!==(e=m(n.aoColumns,"sName").indexOf(t.name))&&a.push([e,t.dir]):a.push(t)}if(H.isPlainObject(t))e(t);else if(t.length&&"number"==typeof t[0])e(t);else if(t.length)for(var r=0;r<t.length;r++)e(t[r])}function Gt(t){var e,n,a,r,o,i,l,s=[],u=V.ext.type.order,c=t.aoColumns,d=t.aaSortingFixed,f=H.isPlainObject(d),h=[];if(t.oFeatures.bSort)for(Array.isArray(d)&&Yt(t,h,d),f&&d.pre&&Yt(t,h,d.pre),Yt(t,h,t.aaSorting),f&&d.post&&Yt(t,h,d.post),e=0;e<h.length;e++)if(c[l=h[e][0]])for(n=0,a=(r=c[l].aDataSort).length;n<a;n++)i=c[o=r[n]].sType||"string",void 0===h[e]._idx&&(h[e]._idx=c[o].asSorting.indexOf(h[e][1])),h[e][1]&&s.push({src:l,col:o,dir:h[e][1],index:h[e]._idx,type:i,formatter:u[i+"-pre"],sorter:u[i+"-"+h[e][1]]});return s}function Jt(t,e,n){var a,r,o,i,l,c,d=[],s=V.ext.type.order,f=t.aoData,u=t.aiDisplayMaster;for(void 0!==e?(l=t.aoColumns[e],c=[{src:e,col:e,dir:n,index:0,type:l.sType,formatter:s[l.sType+"-pre"],sorter:s[l.sType+"-"+n]}],u=u.slice()):c=Gt(t),a=0,r=c.length;a<r;a++){i=c[a],S=x=D=g=p=h=y=b=m=v=void 0;var h,p,g,v=t,m=i.col,b=v.aoColumns[m],y=V.ext.order[b.sSortDataType];y&&(h=y.call(v.oInstance,v,m,rt(v,m)));for(var D=V.ext.type.order[b.sType+"-pre"],x=v.aoData,S=0;S<x.length;S++)x[S]&&((p=x[S])._aSortData||(p._aSortData=[]),p._aSortData[m]&&!y||(g=y?h[S]:q(v,S,m,"sort"),p._aSortData[m]=D?D(g,v):g))}if("ssp"!=J(t)&&0!==c.length){for(a=0,o=u.length;a<o;a++)d[a]=a;c.length&&"desc"===c[0].dir&&t.orderDescReverse&&d.reverse(),u.sort(function(t,e){for(var n,a,r,o,i=c.length,l=f[t]._aSortData,s=f[e]._aSortData,u=0;u<i;u++)if(n=l[(o=c[u]).col],a=s[o.col],o.sorter){if(0!==(r=o.sorter(n,a)))return r}else if(0!==(r=n<a?-1:a<n?1:0))return"asc"===o.dir?r:-r;return(n=d[t])<(a=d[e])?-1:a<n?1:0})}else 0===c.length&&u.sort(function(t,e){return t<e?-1:e<t?1:0});return void 0===e&&(t.bSorted=!0,t.sortDetails=c,G(t,null,"order",[t,c])),u}function Zt(t){var e,n,a,r=t.aLastSort,o=t.oClasses.order.position,i=Gt(t),l=t.oFeatures;if(l.bSort&&l.bSortClasses){for(e=0,n=r.length;e<n;e++)a=r[e].src,H(m(t.aoData,"anCells",a)).removeClass(o+(e<2?e+1:3));for(e=0,n=i.length;e<n;e++)a=i[e].src,H(m(t.aoData,"anCells",a)).addClass(o+(e<2?e+1:3))}t.aLastSort=i}function Qt(n){var t;n._bLoadingState||(t={time:+new Date,start:n._iDisplayStart,length:n._iDisplayLength,order:H.extend(!0,[],n.aaSorting),search:H.extend({},n.oPreviousSearch),columns:n.aoColumns.map(function(t,e){return{visible:t.bVisible,search:H.extend({},n.aoPreSearchCols[e])}})},n.oSavedState=t,G(n,"aoStateSaveParams","stateSaveParams",[n,t]),n.oFeatures.bStateSave&&!n.bDestroying&&n.fnStateSaveCallback.call(n.oInstance,n,t))}function Kt(n,t,e){var a,r,o=n.aoColumns,i=(n._bLoadingState=!0,n._bInitComplete?new V.Api(n):null);if(t&&t.time){var l=n.iStateDuration;if(0<l&&t.time<+new Date-1e3*l)n._bLoadingState=!1;else if(-1!==G(n,"aoStateLoadParams","stateLoadParams",[n,t]).indexOf(!1))n._bLoadingState=!1;else if(t.columns&&o.length!==t.columns.length)n._bLoadingState=!1;else{if(n.oLoadedState=H.extend(!0,{},t),G(n,null,"stateLoadInit",[n,t],!0),void 0!==t.length&&(i?i.page.len(t.length):n._iDisplayLength=t.length),void 0!==t.start&&(null===i?(n._iDisplayStart=t.start,n.iInitDisplayStart=t.start):Xt(n,t.start/n._iDisplayLength)),void 0!==t.order&&(n.aaSorting=[],H.each(t.order,function(t,e){n.aaSorting.push(e[0]>=o.length?[0,e[1]]:e)})),void 0!==t.search&&H.extend(n.oPreviousSearch,t.search),t.columns){for(a=0,r=t.columns.length;a<r;a++){var s=t.columns[a];void 0!==s.visible&&(i?i.column(a).visible(s.visible,!1):o[a].bVisible=s.visible),void 0!==s.search&&H.extend(n.aoPreSearchCols[a],s.search)}i&&i.columns.adjust()}n._bLoadingState=!1,G(n,"aoStateLoaded","stateLoaded",[n,t])}}else n._bLoadingState=!1;e()}function $(t,e,n,a){if(n="DataTables warning: "+(t?"table id="+t.sTableId+" - ":"")+n,a&&(n+=". For more information about this error, please see https://datatables.net/tn/"+a),e)W.console&&console.log&&console.log(n);else{e=V.ext,e=e.sErrMode||e.errMode;if(t&&G(t,null,"dt-error",[t,a,n],!0),"alert"==e)alert(n);else{if("throw"==e)throw new Error(n);"function"==typeof e&&e(t,a,n)}}}function z(n,a,t,e){Array.isArray(t)?H.each(t,function(t,e){Array.isArray(e)?z(n,a,e[0],e[1]):z(n,a,e)}):(void 0===e&&(e=t),void 0!==a[t]&&(n[e]=a[t]))}function te(t,e,n){var a,r;for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&(a=e[r],H.isPlainObject(a)?(H.isPlainObject(t[r])||(t[r]={}),H.extend(!0,t[r],a)):n&&"data"!==r&&"aaData"!==r&&Array.isArray(a)?t[r]=a.slice():t[r]=a);return t}function ee(t,e,n){H(t).on("click.DT",e,function(t){n(t)}).on("keypress.DT",e,function(t){13===t.which&&(t.preventDefault(),n(t))}).on("selectstart.DT",e,function(){return!1})}function Y(t,e,n){n&&t[e].push(n)}function G(e,t,n,a,r){var o=[];return t&&(o=e[t].slice().reverse().map(function(t){return t.apply(e.oInstance,a)})),null!==n&&(t=H.Event(n+".dt"),n=H(e.nTable),t.dt=e.api,n[r?"trigger":"triggerHandler"](t,a),r&&0===n.parents("body").length&&H("body").trigger(t,a),o.push(t.result)),o}function ne(t){var e=t._iDisplayStart,n=t.fnDisplayEnd(),a=t._iDisplayLength;n<=e&&(e=n-a),e-=e%a,t._iDisplayStart=e=-1===a||e<0?0:e}function ae(t,e){var t=t.renderer,n=V.ext.renderer[e];return H.isPlainObject(t)&&t[e]?n[t[e]]||n._:"string"==typeof t&&n[t]||n._}function J(t){return t.oFeatures.bServerSide?"ssp":t.ajax?"ajax":"dom"}function re(t,e,n){var a=t.fnFormatNumber,r=t._iDisplayStart+1,o=t._iDisplayLength,i=t.fnRecordsDisplay(),l=t.fnRecordsTotal(),s=-1===o;return e.replace(/_START_/g,a.call(t,r)).replace(/_END_/g,a.call(t,t.fnDisplayEnd())).replace(/_MAX_/g,a.call(t,l)).replace(/_TOTAL_/g,a.call(t,i)).replace(/_PAGE_/g,a.call(t,s?1:Math.ceil(r/o))).replace(/_PAGES_/g,a.call(t,s?1:Math.ceil(i/o))).replace(/_ENTRIES_/g,t.api.i18n("entries","",n)).replace(/_ENTRIES-MAX_/g,t.api.i18n("entries","",l)).replace(/_ENTRIES-TOTAL_/g,t.api.i18n("entries","",i))}var oe=[],n=Array.prototype;X=function(t,e){if(!(this instanceof X))return new X(t,e);function n(t){t=t,e=V.settings,a=m(e,"nTable");var n,e,a,r=t?t.nTable&&t.oFeatures?[t]:t.nodeName&&"table"===t.nodeName.toLowerCase()?-1!==(r=a.indexOf(t))?[e[r]]:null:t&&"function"==typeof t.settings?t.settings().toArray():("string"==typeof t?n=H(t).get():t instanceof H&&(n=t.get()),n?e.filter(function(t,e){return n.includes(a[e])}):void 0):[];r&&o.push.apply(o,r)}var a,o=[];if(Array.isArray(t))for(a=0;a<t.length;a++)n(t[a]);else n(t);if(this.context=1<o.length?x(o):o,e)if(e.length<1e4)this.push.apply(this,e);else for(a=0;a<e.length;a++)this.push(e[a]);this.selector={rows:null,cols:null,opts:null},X.extend(this,this,oe)},V.Api=X,H.extend(X.prototype,{any:function(){return 0!==this.count()},context:[],count:function(){return this.flatten().length},each:function(t){for(var e=0,n=this.length;e<n;e++)t.call(this,this[e],e,this);return this},eq:function(t){var e=this.context;return e.length>t?new X(e[t],this[t]):null},filter:function(t){t=n.filter.call(this,t,this);return new X(this.context,t)},flatten:function(){var t=[];return new X(this.context,t.concat.apply(t,this.toArray()))},get:function(t){return this[t]},join:n.join,includes:function(t){return-1!==this.indexOf(t)},indexOf:n.indexOf,iterator:function(t,e,n,a){var r,o,i,l,s,u,c,d,f=[],h=this.context,p=this.selector;for("string"==typeof t&&(a=n,n=e,e=t,t=!1),o=0,i=h.length;o<i;o++){var g=new X(h[o]);if("table"===e)void 0!==(r=n.call(g,h[o],o))&&f.push(r);else if("columns"===e||"rows"===e)void 0!==(r=n.call(g,h[o],this[o],o))&&f.push(r);else if("every"===e||"column"===e||"column-rows"===e||"row"===e||"cell"===e)for(c=this[o],"column-rows"===e&&(u=ve(h[o],p.opts)),l=0,s=c.length;l<s;l++)d=c[l],void 0!==(r="cell"===e?n.call(g,h[o],d.row,d.column,o,l):n.call(g,h[o],d,o,l,u))&&f.push(r)}return f.length||a?((t=(a=new X(h,t?f.concat.apply([],f):f)).selector).rows=p.rows,t.cols=p.cols,t.opts=p.opts,a):this},lastIndexOf:n.lastIndexOf,length:0,map:function(t){t=n.map.call(this,t,this);return new X(this.context,t)},pluck:function(t){var e=V.util.get(t);return this.map(function(t){return e(t)})},pop:n.pop,push:n.push,reduce:n.reduce,reduceRight:n.reduceRight,reverse:n.reverse,selector:null,shift:n.shift,slice:function(){return new X(this.context,this)},sort:n.sort,splice:n.splice,toArray:function(){return n.slice.call(this)},to$:function(){return H(this)},toJQuery:function(){return H(this)},unique:function(){return new X(this.context,x(this.toArray()))},unshift:n.unshift}),W.__apiStruct=oe,X.extend=function(t,e,n){if(n.length&&e&&(e instanceof X||e.__dt_wrapper))for(var a,r=0,o=n.length;r<o;r++)"__proto__"!==(a=n[r]).name&&(e[a.name]="function"===a.type?function(e,n,a){return function(){var t=n.apply(e||this,arguments);return X.extend(t,t,a.methodExt),t}}(t,a.val,a):"object"===a.type?{}:a.val,e[a.name].__dt_wrapper=!0,X.extend(t,e[a.name],a.propExt))},X.register=e=function(t,e){if(Array.isArray(t))for(var n=0,a=t.length;n<a;n++)X.register(t[n],e);else for(var r=t.split("."),o=oe,i=0,l=r.length;i<l;i++){var s,u,c=function(t,e){for(var n=0,a=t.length;n<a;n++)if(t[n].name===e)return t[n];return null}(o,u=(s=-1!==r[i].indexOf("()"))?r[i].replace("()",""):r[i]);c||o.push(c={name:u,val:{},methodExt:[],propExt:[],type:"object"}),i===l-1?(c.val=e,c.type="function"==typeof e?"function":H.isPlainObject(e)?"object":"other"):o=s?c.methodExt:c.propExt}},X.registerPlural=t=function(t,e,n){X.register(t,n),X.register(e,function(){var t=n.apply(this,arguments);return t===this?this:t instanceof X?t.length?Array.isArray(t[0])?new X(t.context,t[0]):t[0]:void 0:t})};function ie(t,e){var n,a;return Array.isArray(t)?(n=[],t.forEach(function(t){t=ie(t,e);n.push.apply(n,t)}),n.filter(function(t){return t})):"number"==typeof t?[e[t]]:(a=e.map(function(t){return t.nTable}),H(a).filter(t).map(function(){var t=a.indexOf(this);return e[t]}).toArray())}function le(r,o,t){var e,n;t&&(e=new X(r)).one("draw",function(){t(e.ajax.json())}),"ssp"==J(r)?d(r,o):(w(r,!0),(n=r.jqXHR)&&4!==n.readyState&&n.abort(),Ft(r,{},function(t){mt(r);for(var e=Nt(r,t),n=0,a=e.length;n<a;n++)D(r,e[n]);d(r,o),Ht(r),w(r,!1)}))}function se(t,e,n,a,r){for(var o,i,l,s,u=[],c=typeof e,d=0,f=(e=e&&"string"!=c&&"function"!=c&&void 0!==e.length?e:[e]).length;d<f;d++)for(l=0,s=(i=e[d]&&e[d].split&&!e[d].match(/[[(:]/)?e[d].split(","):[e[d]]).length;l<s;l++)(o=(o=n("string"==typeof i[l]?i[l].trim():i[l])).filter(function(t){return null!=t}))&&o.length&&(u=u.concat(o));var h=C.selector[t];if(h.length)for(d=0,f=h.length;d<f;d++)u=h[d](a,r,u);return x(u)}function ue(t){return(t=t||{}).filter&&void 0===t.search&&(t.search=t.filter),H.extend({search:"none",order:"current",page:"all"},t)}function ce(t){var e=new X(t.context[0]);return t.length&&e.push(t[0]),e.selector=t.selector,e.length&&1<e[0].length&&e[0].splice(1),e}e("tables()",function(t){return null!=t?new X(ie(t,this.context)):this}),e("table()",function(t){var t=this.tables(t),e=t.context;return e.length?new X(e[0]):t}),[["nodes","node","nTable"],["body","body","nTBody"],["header","header","nTHead"],["footer","footer","nTFoot"]].forEach(function(e){t("tables()."+e[0]+"()","table()."+e[1]+"()",function(){return this.iterator("table",function(t){return t[e[2]]},1)})}),[["header","aoHeader"],["footer","aoFooter"]].forEach(function(n){e("table()."+n[0]+".structure()",function(t){var t=this.columns(t).indexes().flatten(),e=this.context[0];return Tt(e,e[n[1]],t)})}),t("tables().containers()","table().container()",function(){return this.iterator("table",function(t){return t.nTableWrapper},1)}),e("tables().every()",function(n){var a=this;return this.iterator("table",function(t,e){n.call(a.table(e),e)})}),e("caption()",function(r,o){var t,e=this.context;return void 0===r?(t=e[0].captionNode)&&e.length?t.innerHTML:null:this.iterator("table",function(t){var e=H(t.nTable),n=H(t.captionNode),a=H(t.nTableWrapper);n.length||(n=H("<caption/>").html(r),t.captionNode=n[0],o)||(e.prepend(n),o=n.css("caption-side")),n.html(r),o&&(n.css("caption-side",o),n[0]._captionSide=o),(a.find("div.dataTables_scroll").length?(t="top"===o?"Head":"Foot",a.find("div.dataTables_scroll"+t+" table")):e).prepend(n)},1)}),e("caption.node()",function(){var t=this.context;return t.length?t[0].captionNode:null}),e("draw()",function(e){return this.iterator("table",function(t){"page"===e?S(t):d(t,!1===(e="string"==typeof e?"full-hold"!==e:e))})}),e("page()",function(e){return void 0===e?this.page.info().page:this.iterator("table",function(t){Xt(t,e)})}),e("page.info()",function(){var t,e,n,a,r;if(0!==this.context.length)return e=(t=this.context[0])._iDisplayStart,n=t.oFeatures.bPaginate?t._iDisplayLength:-1,a=t.fnRecordsDisplay(),{page:(r=-1===n)?0:Math.floor(e/n),pages:r?1:Math.ceil(a/n),start:e,end:t.fnDisplayEnd(),length:n,recordsTotal:t.fnRecordsTotal(),recordsDisplay:a,serverSide:"ssp"===J(t)}}),e("page.len()",function(e){return void 0===e?0!==this.context.length?this.context[0]._iDisplayLength:void 0:this.iterator("table",function(t){Wt(t,e)})}),e("ajax.json()",function(){var t=this.context;if(0<t.length)return t[0].json}),e("ajax.params()",function(){var t=this.context;if(0<t.length)return t[0].oAjaxData}),e("ajax.reload()",function(e,n){return this.iterator("table",function(t){le(t,!1===n,e)})}),e("ajax.url()",function(e){var t=this.context;return void 0===e?0===t.length?void 0:(t=t[0],H.isPlainObject(t.ajax)?t.ajax.url:t.ajax):this.iterator("table",function(t){H.isPlainObject(t.ajax)?t.ajax.url=e:t.ajax=e})}),e("ajax.url().load()",function(e,n){return this.iterator("table",function(t){le(t,!1===n,e)})});function de(o,i,t,e){function l(t,e){var n;if(Array.isArray(t)||t instanceof H)for(var a=0,r=t.length;a<r;a++)l(t[a],e);else t.nodeName&&"tr"===t.nodeName.toLowerCase()?(t.setAttribute("data-dt-row",i.idx),s.push(t)):(n=H("<tr><td></td></tr>").attr("data-dt-row",i.idx).addClass(e),H("td",n).addClass(e).html(t)[0].colSpan=ot(o),s.push(n[0]))}var s=[];l(t,e),i._details&&i._details.detach(),i._details=H(s),i._detailsShow&&i._details.insertAfter(i.nTr)}function fe(t,e){var n=t.context;if(n.length&&t.length){var a=n[0].aoData[t[0]];if(a._details){(a._detailsShow=e)?(a._details.insertAfter(a.nTr),H(a.nTr).addClass("dt-hasChild")):(a._details.detach(),H(a.nTr).removeClass("dt-hasChild")),G(n[0],null,"childRow",[e,t.row(t[0])]);var i=n[0],r=new X(i),a=".dt.DT_details",e="draw"+a,t="column-sizing"+a,a="destroy"+a,l=i.aoData;if(r.off(e+" "+t+" "+a),m(l,"_details").length>0){r.on(e,function(t,e){if(i!==e)return;r.rows({page:"current"}).eq(0).each(function(t){var e=l[t];if(e._detailsShow)e._details.insertAfter(e.nTr)})});r.on(t,function(t,e){if(i!==e)return;var n,a=ot(e);for(var r=0,o=l.length;r<o;r++){n=l[r];if(n&&n._details)n._details.each(function(){var t=H(this).children("td");if(t.length==1)t.attr("colspan",a)})}});r.on(a,function(t,e){if(i!==e)return;for(var n=0,a=l.length;n<a;n++)if(l[n]&&l[n]._details)ye(r,n)})}be(n)}}}function he(t,e,n,a,r,o){for(var i=[],l=0,s=r.length;l<s;l++)i.push(q(t,r[l],e,o));return i}function pe(t,e,n){var a=t.aoHeader;return a[void 0!==n?n:t.bSortCellsTop?0:a.length-1][e].cell}function ge(e,n){return function(t){return T(t)||"string"!=typeof t||(t=t.replace(F," "),e&&(t=L(t)),n&&(t=k(t,!1))),t}}var ve=function(t,e){var n,a=[],r=t.aiDisplay,o=t.aiDisplayMaster,i=e.search,l=e.order,e=e.page;if("ssp"==J(t))return"removed"===i?[]:h(0,o.length);if("current"==e)for(u=t._iDisplayStart,c=t.fnDisplayEnd();u<c;u++)a.push(r[u]);else if("current"==l||"applied"==l){if("none"==i)a=o.slice();else if("applied"==i)a=r.slice();else if("removed"==i){for(var s={},u=0,c=r.length;u<c;u++)s[r[u]]=null;o.forEach(function(t){Object.prototype.hasOwnProperty.call(s,t)||a.push(t)})}}else if("index"==l||"original"==l)for(u=0,c=t.aoData.length;u<c;u++)t.aoData[u]&&("none"==i||-1===(n=r.indexOf(u))&&"removed"==i||0<=n&&"applied"==i)&&a.push(u);else if("number"==typeof l){var d=Jt(t,l,"asc");if("none"===i)a=d;else for(u=0;u<d.length;u++)(-1===(n=r.indexOf(d[u]))&&"removed"==i||0<=n&&"applied"==i)&&a.push(d[u])}return a},me=(e("rows()",function(n,a){void 0===n?n="":H.isPlainObject(n)&&(a=n,n=""),a=ue(a);var t=this.iterator("table",function(t){return e=se("row",e=n,function(n){var t=f(n),a=r.aoData;if(null!==t&&!o)return[t];if(i=i||ve(r,o),null!==t&&-1!==i.indexOf(t))return[t];if(null==n||""===n)return i;if("function"==typeof n)return i.map(function(t){var e=a[t];return n(t,e._aData,e.nTr)?t:null});if(n.nodeName)return t=n._DT_RowIndex,e=n._DT_CellIndex,void 0!==t?a[t]&&a[t].nTr===n?[t]:[]:e?a[e.row]&&a[e.row].nTr===n.parentNode?[e.row]:[]:(t=H(n).closest("*[data-dt-row]")).length?[t.data("dt-row")]:[];if("string"==typeof n&&"#"===n.charAt(0)){var e=r.aIds[n.replace(/^#/,"")];if(void 0!==e)return[e.idx]}t=A(b(r.aoData,i,"nTr"));return H(t).filter(n).map(function(){return this._DT_RowIndex}).toArray()},r=t,o=a),"current"!==o.order&&"applied"!==o.order||zt(r,e),e;var r,e,o,i},1);return t.selector.rows=n,t.selector.opts=a,t}),e("rows().nodes()",function(){return this.iterator("row",function(t,e){return t.aoData[e].nTr||void 0},1)}),e("rows().data()",function(){return this.iterator(!0,"rows",function(t,e){return b(t.aoData,e,"_aData")},1)}),t("rows().cache()","row().cache()",function(n){return this.iterator("row",function(t,e){t=t.aoData[e];return"search"===n?t._aFilterData:t._aSortData},1)}),t("rows().invalidate()","row().invalidate()",function(n){return this.iterator("row",function(t,e){bt(t,e,n)})}),t("rows().indexes()","row().index()",function(){return this.iterator("row",function(t,e){return e},1)}),t("rows().ids()","row().id()",function(t){for(var e=[],n=this.context,a=0,r=n.length;a<r;a++)for(var o=0,i=this[a].length;o<i;o++){var l=n[a].rowIdFn(n[a].aoData[this[a][o]]._aData);e.push((!0===t?"#":"")+l)}return new X(n,e)}),t("rows().remove()","row().remove()",function(){return this.iterator("row",function(t,e){var n=t.aoData,a=n[e],r=t.aiDisplayMaster.indexOf(e),r=(-1!==r&&t.aiDisplayMaster.splice(r,1),0<t._iRecordsDisplay&&t._iRecordsDisplay--,ne(t),t.rowIdFn(a._aData));void 0!==r&&delete t.aIds[r],n[e]=null}),this}),e("rows.add()",function(o){var t=this.iterator("table",function(t){for(var e,n=[],a=0,r=o.length;a<r;a++)(e=o[a]).nodeName&&"TR"===e.nodeName.toUpperCase()?n.push(ft(t,e)[0]):n.push(D(t,e));return n},1),e=this.rows(-1);return e.pop(),e.push.apply(e,t),e}),e("row()",function(t,e){return ce(this.rows(t,e))}),e("row().data()",function(t){var e,n=this.context;return void 0===t?n.length&&this.length&&this[0].length?n[0].aoData[this[0]]._aData:void 0:((e=n[0].aoData[this[0]])._aData=t,Array.isArray(t)&&e.nTr&&e.nTr.id&&v(n[0].rowId)(t,e.nTr.id),bt(n[0],this[0],"data"),this)}),e("row().node()",function(){var t=this.context;if(t.length&&this.length&&this[0].length){t=t[0].aoData[this[0]];if(t&&t.nTr)return t.nTr}return null}),e("row.add()",function(e){e instanceof H&&e.length&&(e=e[0]);var t=this.iterator("table",function(t){return e.nodeName&&"TR"===e.nodeName.toUpperCase()?ft(t,e)[0]:D(t,e)});return this.row(t[0])}),H(_).on("plugin-init.dt",function(t,e){var a=new X(e);a.on("stateSaveParams.DT",function(t,e,n){for(var a=e.rowIdFn,r=e.aiDisplayMaster,o=[],i=0;i<r.length;i++){var l=r[i],l=e.aoData[l];l._detailsShow&&o.push("#"+a(l._aData))}n.childRows=o}),a.on("stateLoaded.DT",function(t,e,n){me(a,n)}),me(a,a.state.loaded())}),function(t,e){e&&e.childRows&&t.rows(e.childRows.map(function(t){return t.replace(/([^:\\]*(?:\\.[^:\\]*)*):/g,"$1\\:")})).every(function(){G(t.settings()[0],null,"requestChild",[this])})}),be=V.util.throttle(function(t){Qt(t[0])},500),ye=function(t,e){var n=t.context;n.length&&(e=n[0].aoData[void 0!==e?e:t[0]])&&e._details&&(e._details.remove(),e._detailsShow=void 0,e._details=void 0,H(e.nTr).removeClass("dt-hasChild"),be(n))},De="row().child",xe=De+"()",Se=(e(xe,function(t,e){var n=this.context;return void 0===t?n.length&&this.length&&n[0].aoData[this[0]]?n[0].aoData[this[0]]._details:void 0:(!0===t?this.child.show():!1===t?ye(this):n.length&&this.length&&de(n[0],n[0].aoData[this[0]],t,e),this)}),e([De+".show()",xe+".show()"],function(){return fe(this,!0),this}),e([De+".hide()",xe+".hide()"],function(){return fe(this,!1),this}),e([De+".remove()",xe+".remove()"],function(){return ye(this),this}),e(De+".isShown()",function(){var t=this.context;return t.length&&this.length&&t[0].aoData[this[0]]&&t[0].aoData[this[0]]._detailsShow||!1}),/^([^:]+)?:(name|title|visIdx|visible)$/),xe=(e("columns()",function(n,a){void 0===n?n="":H.isPlainObject(n)&&(a=n,n=""),a=ue(a);var t=this.iterator("table",function(t){return e=n,l=a,s=(i=t).aoColumns,u=m(s,"sName"),c=m(s,"sTitle"),t=V.util.get("[].[].cell")(i.aoHeader),d=x(M([],t)),se("column",e,function(n){var a,t=f(n);if(""===n)return h(s.length);if(null!==t)return[0<=t?t:s.length+t];if("function"==typeof n)return a=ve(i,l),s.map(function(t,e){return n(e,he(i,e,0,0,a),pe(i,e))?e:null});var e,r,o="string"==typeof n?n.match(Se):"";if(o)switch(o[2]){case"visIdx":case"visible":return o[1]&&o[1].match(/^\d+$/)?(e=parseInt(o[1],10))<0?[(r=s.map(function(t,e){return t.bVisible?e:null}))[r.length+e]]:[at(i,e)]:s.map(function(t,e){return t.bVisible&&(!o[1]||0<H(d[e]).filter(o[1]).length)?e:null});case"name":return u.map(function(t,e){return t===o[1]?e:null});case"title":return c.map(function(t,e){return t===o[1]?e:null});default:return[]}return n.nodeName&&n._DT_CellIndex?[n._DT_CellIndex.column]:(t=H(d).filter(n).map(function(){return dt(this)}).toArray()).length||!n.nodeName?t:(t=H(n).closest("*[data-dt-column]")).length?[t.data("dt-column")]:[]},i,l);var i,e,l,s,u,c,d},1);return t.selector.cols=n,t.selector.opts=a,t}),t("columns().header()","column().header()",function(n){return this.iterator("column",function(t,e){return pe(t,e,n)},1)}),t("columns().footer()","column().footer()",function(n){return this.iterator("column",function(t,e){return t.aoFooter.length?t.aoFooter[void 0!==n?n:0][e].cell:null},1)}),t("columns().data()","column().data()",function(){return this.iterator("column-rows",he,1)}),t("columns().render()","column().render()",function(o){return this.iterator("column-rows",function(t,e,n,a,r){return he(t,e,0,0,r,o)},1)}),t("columns().dataSrc()","column().dataSrc()",function(){return this.iterator("column",function(t,e){return t.aoColumns[e].mData},1)}),t("columns().cache()","column().cache()",function(o){return this.iterator("column-rows",function(t,e,n,a,r){return b(t.aoData,r,"search"===o?"_aFilterData":"_aSortData",e)},1)}),t("columns().init()","column().init()",function(){return this.iterator("column",function(t,e){return t.aoColumns[e]},1)}),t("columns().nodes()","column().nodes()",function(){return this.iterator("column-rows",function(t,e,n,a,r){return b(t.aoData,r,"anCells",e)},1)}),t("columns().titles()","column().title()",function(n,a){return this.iterator("column",function(t,e){"number"==typeof n&&(a=n,n=void 0);e=H("span.dt-column-title",this.column(e).header(a));return void 0!==n?(e.html(n),this):e.html()},1)}),t("columns().types()","column().type()",function(){return this.iterator("column",function(t,e){e=t.aoColumns[e].sType;return e||st(t),e},1)}),t("columns().visible()","column().visible()",function(n,a){var e=this,r=[],t=this.iterator("column",function(t,e){if(void 0===n)return t.aoColumns[e].bVisible;!function(t,e,n){var a,r,o=t.aoColumns,i=o[e],l=t.aoData;if(void 0===n)return i.bVisible;if(i.bVisible===n)return!1;if(n)for(var s=m(o,"bVisible").indexOf(!0,e+1),u=0,c=l.length;u<c;u++)l[u]&&(r=l[u].nTr,a=l[u].anCells,r)&&r.insertBefore(a[e],a[s]||null);else H(m(t.aoData,"anCells",e)).detach();return i.bVisible=n,Ut(t),!0}(t,e,n)||r.push(e)});return void 0!==n&&this.iterator("table",function(t){_t(t,t.aoHeader),_t(t,t.aoFooter),t.aiDisplay.length||H(t.nTBody).find("td[colspan]").attr("colspan",ot(t)),Qt(t),e.iterator("column",function(t,e){r.includes(e)&&G(t,null,"column-visibility",[t,e,n,a])}),r.length&&(void 0===a||a)&&e.columns.adjust()}),t}),t("columns().widths()","column().width()",function(){var t=this.columns(":visible").count(),t=H("<tr>").html("<td>"+Array(t).join("</td><td>")+"</td>"),n=(H(this.table().body()).append(t),t.children().map(function(){return H(this).outerWidth()}));return t.remove(),this.iterator("column",function(t,e){t=rt(t,e);return null!==t?n[t]:0},1)}),t("columns().indexes()","column().index()",function(n){return this.iterator("column",function(t,e){return"visible"===n?rt(t,e):e},1)}),e("columns.adjust()",function(){return this.iterator("table",function(t){nt(t)},1)}),e("column.index()",function(t,e){var n;if(0!==this.context.length)return n=this.context[0],"fromVisible"===t||"toData"===t?at(n,e):"fromData"===t||"toVisible"===t?rt(n,e):void 0}),e("column()",function(t,e){return ce(this.columns(t,e))}),e("cells()",function(g,t,v){var a,r,o,i,l,s,e;return H.isPlainObject(g)&&(void 0===g.row?(v=g,g=null):(v=t,t=null)),H.isPlainObject(t)&&(v=t,t=null),null==t?this.iterator("table",function(t){return a=t,t=g,e=ue(v),d=a.aoData,f=ve(a,e),n=A(b(d,f,"anCells")),h=H(M([],n)),p=a.aoColumns.length,se("cell",t,function(t){var e,n="function"==typeof t;if(null==t||n){for(o=[],i=0,l=f.length;i<l;i++)for(r=f[i],s=0;s<p;s++)u={row:r,column:s},(!n||(c=d[r],t(u,q(a,r,s),c.anCells?c.anCells[s]:null)))&&o.push(u);return o}return H.isPlainObject(t)?void 0!==t.column&&void 0!==t.row&&-1!==f.indexOf(t.row)?[t]:[]:(e=h.filter(t).map(function(t,e){return{row:e._DT_CellIndex.row,column:e._DT_CellIndex.column}}).toArray()).length||!t.nodeName?e:(c=H(t).closest("*[data-dt-row]")).length?[{row:c.data("dt-row"),column:c.data("dt-column")}]:[]},a,e);var a,e,r,o,i,l,s,u,c,d,f,n,h,p}):(e=v?{page:v.page,order:v.order,search:v.search}:{},a=this.columns(t,e),r=this.rows(g,e),e=this.iterator("table",function(t,e){var n=[];for(o=0,i=r[e].length;o<i;o++)for(l=0,s=a[e].length;l<s;l++)n.push({row:r[e][o],column:a[e][l]});return n},1),e=v&&v.selected?this.cells(e,v):e,H.extend(e.selector,{cols:t,rows:g,opts:v}),e)}),t("cells().nodes()","cell().node()",function(){return this.iterator("cell",function(t,e,n){t=t.aoData[e];return t&&t.anCells?t.anCells[n]:void 0},1)}),e("cells().data()",function(){return this.iterator("cell",function(t,e,n){return q(t,e,n)},1)}),t("cells().cache()","cell().cache()",function(a){return a="search"===a?"_aFilterData":"_aSortData",this.iterator("cell",function(t,e,n){return t.aoData[e][a][n]},1)}),t("cells().render()","cell().render()",function(a){return this.iterator("cell",function(t,e,n){return q(t,e,n,a)},1)}),t("cells().indexes()","cell().index()",function(){return this.iterator("cell",function(t,e,n){return{row:e,column:n,columnVisible:rt(t,n)}},1)}),t("cells().invalidate()","cell().invalidate()",function(a){return this.iterator("cell",function(t,e,n){bt(t,e,a,n)})}),e("cell()",function(t,e,n){return ce(this.cells(t,e,n))}),e("cell().data()",function(t){var e,n,a,r,o,i=this.context,l=this[0];return void 0===t?i.length&&l.length?q(i[0],l[0].row,l[0].column):void 0:(e=i[0],n=l[0].row,a=l[0].column,r=e.aoColumns[a],o=e.aoData[n]._aData,r.fnSetData(o,t,{settings:e,row:n,col:a}),bt(i[0],l[0].row,"data",l[0].column),this)}),e("order()",function(e,t){var n=this.context,a=Array.prototype.slice.call(arguments);return void 0===e?0!==n.length?n[0].aaSorting:void 0:("number"==typeof e?e=[[e,t]]:1<a.length&&(e=a),this.iterator("table",function(t){t.aaSorting=Array.isArray(e)?e.slice():e}))}),e("order.listener()",function(e,n,a){return this.iterator("table",function(t){$t(t,e,{},n,a)})}),e("order.fixed()",function(e){var t;return e?this.iterator("table",function(t){t.aaSortingFixed=H.extend(!0,{},e)}):(t=(t=this.context).length?t[0].aaSortingFixed:void 0,Array.isArray(t)?{pre:t}:t)}),e(["columns().order()","column().order()"],function(n){var a=this;return n?this.iterator("table",function(t,e){t.aaSorting=a[e].map(function(t){return[t,n]})}):this.iterator("column",function(t,e){for(var n=Gt(t),a=0,r=n.length;a<r;a++)if(n[a].col===e)return n[a].dir;return null},1)}),t("columns().orderable()","column().orderable()",function(n){return this.iterator("column",function(t,e){t=t.aoColumns[e];return n?t.asSorting:t.bSortable},1)}),e("processing()",function(e){return this.iterator("table",function(t){w(t,e)})}),e("search()",function(e,n,a,r){var t=this.context;return void 0===e?0!==t.length?t[0].oPreviousSearch.search:void 0:this.iterator("table",function(t){t.oFeatures.bFilter&&Rt(t,"object"==typeof n?H.extend(t.oPreviousSearch,n,{search:e}):H.extend(t.oPreviousSearch,{search:e,regex:null!==n&&n,smart:null===a||a,caseInsensitive:null===r||r}))})}),e("search.fixed()",function(e,n){var t=this.iterator(!0,"table",function(t){t=t.searchFixed;return e?void 0===n?t[e]:(null===n?delete t[e]:t[e]=n,this):Object.keys(t)});return void 0!==e&&void 0===n?t[0]:t}),t("columns().search()","column().search()",function(a,r,o,i){return this.iterator("column",function(t,e){var n=t.aoPreSearchCols;if(void 0===a)return n[e].search;t.oFeatures.bFilter&&("object"==typeof r?H.extend(n[e],r,{search:a}):H.extend(n[e],{search:a,regex:null!==r&&r,smart:null===o||o,caseInsensitive:null===i||i}),Rt(t,t.oPreviousSearch))})}),e(["columns().search.fixed()","column().search.fixed()"],function(n,a){var t=this.iterator(!0,"column",function(t,e){t=t.aoColumns[e].searchFixed;return n?void 0===a?t[n]:(null===a?delete t[n]:t[n]=a,this):Object.keys(t)});return void 0!==n&&void 0===a?t[0]:t}),e("state()",function(t,e){var n;return t?(n=H.extend(!0,{},t),this.iterator("table",function(t){!1!==e&&(n.time=+new Date+100),Kt(t,n,function(){})})):this.context.length?this.context[0].oSavedState:null}),e("state.clear()",function(){return this.iterator("table",function(t){t.fnStateSaveCallback.call(t.oInstance,t,{})})}),e("state.loaded()",function(){return this.context.length?this.context[0].oLoadedState:null}),e("state.save()",function(){return this.iterator("table",function(t){Qt(t)})}),V.use=function(t,e){var n="string"==typeof t?e:t,e="string"==typeof e?e:t;if(void 0===n&&"string"==typeof e)switch(e){case"lib":case"jq":return H;case"win":return W;case"datetime":return V.DateTime;case"luxon":return o;case"moment":return i;default:return null}"lib"===e||"jq"===e||n&&n.fn&&n.fn.jquery?H=n:"win"==e||n&&n.document?_=(W=n).document:"datetime"===e||n&&"DateTime"===n.type?V.DateTime=n:"luxon"===e||n&&n.FixedOffsetZone?o=n:("moment"===e||n&&n.isMoment)&&(i=n)},V.factory=function(t,e){var n=!1;return t&&t.document&&(_=(W=t).document),e&&e.fn&&e.fn.jquery&&(H=e,n=!0),n},V.versionCheck=function(t,e){for(var n,a,r=(e||V.version).split("."),o=t.split("."),i=0,l=o.length;i<l;i++)if((n=parseInt(r[i],10)||0)!==(a=parseInt(o[i],10)||0))return a<n;return!0},V.isDataTable=function(t){var r=H(t).get(0),o=!1;return t instanceof V.Api||(H.each(V.settings,function(t,e){var n=e.nScrollHead?H("table",e.nScrollHead)[0]:null,a=e.nScrollFoot?H("table",e.nScrollFoot)[0]:null;e.nTable!==r&&n!==r&&a!==r||(o=!0)}),o)},V.tables=function(e){var t=!1,n=(H.isPlainObject(e)&&(t=e.api,e=e.visible),V.settings.filter(function(t){return!(e&&!H(t.nTable).is(":visible"))}).map(function(t){return t.nTable}));return t?new X(n):n},V.camelToHungarian=B,e("$()",function(t,e){e=this.rows(e).nodes(),e=H(e);return H([].concat(e.filter(t).toArray(),e.find(t).toArray()))}),H.each(["on","one","off"],function(t,n){e(n+"()",function(){var t=Array.prototype.slice.call(arguments),e=(t[0]=t[0].split(/\s/).map(function(t){return t.match(/\.dt\b/)?t:t+".dt"}).join(" "),H(this.tables().nodes()));return e[n].apply(e,t),this})}),e("clear()",function(){return this.iterator("table",function(t){mt(t)})}),e("error()",function(e){return this.iterator("table",function(t){$(t,0,e)})}),e("settings()",function(){return new X(this.context,this.context)}),e("init()",function(){var t=this.context;return t.length?t[0].oInit:null}),e("data()",function(){return this.iterator("table",function(t){return m(t.aoData,"_aData")}).flatten()}),e("trigger()",function(e,n,a){return this.iterator("table",function(t){return G(t,null,e,n,a)}).flatten()}),e("ready()",function(t){var e=this.context;return t?this.tables().every(function(){this.context[0]._bInitComplete?t.call(this):this.on("init.dt.DT",function(){t.call(this)})}):e.length?e[0]._bInitComplete||!1:null}),e("destroy()",function(c){return c=c||!1,this.iterator("table",function(t){var e=t.oClasses,n=t.nTable,a=t.nTBody,r=t.nTHead,o=t.nTFoot,i=H(n),a=H(a),l=H(t.nTableWrapper),s=t.aoData.map(function(t){return t?t.nTr:null}),u=e.order,o=(t.bDestroying=!0,G(t,"aoDestroyCallback","destroy",[t],!0),c||new X(t).columns().visible(!0),l.off(".DT").find(":not(tbody *)").off(".DT"),H(W).off(".DT-"+t.sInstance),n!=r.parentNode&&(i.children("thead").detach(),i.append(r)),o&&n!=o.parentNode&&(i.children("tfoot").detach(),i.append(o)),t.colgroup.remove(),t.aaSorting=[],t.aaSortingFixed=[],Zt(t),H("th, td",r).removeClass(u.canAsc+" "+u.canDesc+" "+u.isAsc+" "+u.isDesc).css("width",""),a.children().detach(),a.append(s),t.nTableWrapper.parentNode),r=t.nTableWrapper.nextSibling,u=c?"remove":"detach",a=(i[u](),l[u](),!c&&o&&(o.insertBefore(n,r),i.css("width",t.sDestroyWidth).removeClass(e.table)),V.settings.indexOf(t));-1!==a&&V.settings.splice(a,1)})}),H.each(["column","row","cell"],function(t,s){e(s+"s().every()",function(a){var r,o=this.selector.opts,i=this,l=0;return this.iterator("every",function(t,e,n){r=i[s](e,o),"cell"===s?a.call(r,r[0][0].row,r[0][0].column,n,l):a.call(r,e,n,l),l++})})}),e("i18n()",function(t,e,n){var a=this.context[0],t=U(t)(a.oLanguage);return"string"==typeof(t=H.isPlainObject(t=void 0===t?e:t)?void 0!==n&&void 0!==t[n]?t[n]:t._:t)?t.replace("%d",n):t}),V.version="2.1.8",V.settings=[],V.models={},V.models.oSearch={caseInsensitive:!0,search:"",regex:!1,smart:!0,return:!1},V.models.oRow={nTr:null,anCells:null,_aData:[],_aSortData:null,_aFilterData:null,_sFilterRow:null,src:null,idx:-1,displayData:null},V.models.oColumn={idx:null,aDataSort:null,asSorting:null,bSearchable:null,bSortable:null,bVisible:null,_sManualType:null,_bAttrSrc:!1,fnCreatedCell:null,fnGetData:null,fnSetData:null,mData:null,mRender:null,sClass:null,sContentPadding:null,sDefaultContent:null,sName:null,sSortDataType:"std",sSortingClass:null,sTitle:null,sType:null,sWidth:null,sWidthOrig:null,maxLenString:null,searchFixed:null},V.defaults={aaData:null,aaSorting:[[0,"asc"]],aaSortingFixed:[],ajax:null,aLengthMenu:[10,25,50,100],aoColumns:null,aoColumnDefs:null,aoSearchCols:[],bAutoWidth:!0,bDeferRender:!0,bDestroy:!1,bFilter:!0,bInfo:!0,bLengthChange:!0,bPaginate:!0,bProcessing:!1,bRetrieve:!1,bScrollCollapse:!1,bServerSide:!1,bSort:!0,bSortMulti:!0,bSortCellsTop:null,bSortClasses:!0,bStateSave:!1,fnCreatedRow:null,fnDrawCallback:null,fnFooterCallback:null,fnFormatNumber:function(t){return t.toString().replace(/\B(?=(\d{3})+(?!\d))/g,this.oLanguage.sThousands)},fnHeaderCallback:null,fnInfoCallback:null,fnInitComplete:null,fnPreDrawCallback:null,fnRowCallback:null,fnStateLoadCallback:function(t){try{return JSON.parse((-1===t.iStateDuration?sessionStorage:localStorage).getItem("DataTables_"+t.sInstance+"_"+location.pathname))}catch(t){return{}}},fnStateLoadParams:null,fnStateLoaded:null,fnStateSaveCallback:function(t,e){try{(-1===t.iStateDuration?sessionStorage:localStorage).setItem("DataTables_"+t.sInstance+"_"+location.pathname,JSON.stringify(e))}catch(t){}},fnStateSaveParams:null,iStateDuration:7200,iDisplayLength:10,iDisplayStart:0,iTabIndex:0,oClasses:{},oLanguage:{oAria:{orderable:": Activate to sort",orderableReverse:": Activate to invert sorting",orderableRemove:": Activate to remove sorting",paginate:{first:"First",last:"Last",next:"Next",previous:"Previous",number:""}},oPaginate:{sFirst:"«",sLast:"»",sNext:"›",sPrevious:"‹"},entries:{_:"entries",1:"entry"},sEmptyTable:"No data available in table",sInfo:"Showing _START_ to _END_ of _TOTAL_ _ENTRIES-TOTAL_",sInfoEmpty:"Showing 0 to 0 of 0 _ENTRIES-TOTAL_",sInfoFiltered:"(filtered from _MAX_ total _ENTRIES-MAX_)",sInfoPostFix:"",sDecimal:"",sThousands:",",sLengthMenu:"_MENU_ _ENTRIES_ per page",sLoadingRecords:"Loading...",sProcessing:"",sSearch:"Search:",sSearchPlaceholder:"",sUrl:"",sZeroRecords:"No matching records found"},orderDescReverse:!0,oSearch:H.extend({},V.models.oSearch),layout:{topStart:"pageLength",topEnd:"search",bottomStart:"info",bottomEnd:"paging"},sDom:null,searchDelay:null,sPaginationType:"",sScrollX:"",sScrollXInner:"",sScrollY:"",sServerMethod:"GET",renderer:null,rowId:"DT_RowId",caption:null,iDeferLoading:null},Z(V.defaults),V.defaults.column={aDataSort:null,iDataSort:-1,ariaTitle:"",asSorting:["asc","desc",""],bSearchable:!0,bSortable:!0,bVisible:!0,fnCreatedCell:null,mData:null,mRender:null,sCellType:"td",sClass:"",sContentPadding:"",sDefaultContent:null,sName:"",sSortDataType:"std",sTitle:null,sType:null,sWidth:null},Z(V.defaults.column),V.models.oSettings={oFeatures:{bAutoWidth:null,bDeferRender:null,bFilter:null,bInfo:!0,bLengthChange:!0,bPaginate:null,bProcessing:null,bServerSide:null,bSort:null,bSortMulti:null,bSortClasses:null,bStateSave:null},oScroll:{bCollapse:null,iBarWidth:0,sX:null,sXInner:null,sY:null},oLanguage:{fnInfoCallback:null},oBrowser:{bScrollbarLeft:!1,barWidth:0},ajax:null,aanFeatures:[],aoData:[],aiDisplay:[],aiDisplayMaster:[],aIds:{},aoColumns:[],aoHeader:[],aoFooter:[],oPreviousSearch:{},searchFixed:{},aoPreSearchCols:[],aaSorting:null,aaSortingFixed:[],sDestroyWidth:0,aoRowCallback:[],aoHeaderCallback:[],aoFooterCallback:[],aoDrawCallback:[],aoRowCreatedCallback:[],aoPreDrawCallback:[],aoInitComplete:[],aoStateSaveParams:[],aoStateLoadParams:[],aoStateLoaded:[],sTableId:"",nTable:null,nTHead:null,nTFoot:null,nTBody:null,nTableWrapper:null,bInitialised:!1,aoOpenRows:[],sDom:null,searchDelay:null,sPaginationType:"two_button",pagingControls:0,iStateDuration:0,aoStateSave:[],aoStateLoad:[],oSavedState:null,oLoadedState:null,bAjaxDataGet:!0,jqXHR:null,json:void 0,oAjaxData:void 0,sServerMethod:null,fnFormatNumber:null,aLengthMenu:null,iDraw:0,bDrawing:!1,iDrawError:-1,_iDisplayLength:10,_iDisplayStart:0,_iRecordsTotal:0,_iRecordsDisplay:0,oClasses:{},bFiltered:!1,bSorted:!1,bSortCellsTop:null,oInit:null,aoDestroyCallback:[],fnRecordsTotal:function(){return"ssp"==J(this)?+this._iRecordsTotal:this.aiDisplayMaster.length},fnRecordsDisplay:function(){return"ssp"==J(this)?+this._iRecordsDisplay:this.aiDisplay.length},fnDisplayEnd:function(){var t=this._iDisplayLength,e=this._iDisplayStart,n=e+t,a=this.aiDisplay.length,r=this.oFeatures,o=r.bPaginate;return r.bServerSide?!1===o||-1===t?e+a:Math.min(e+t,this._iRecordsDisplay):!o||a<n||-1===t?a:n},oInstance:null,sInstance:null,iTabIndex:0,nScrollHead:null,nScrollFoot:null,aLastSort:[],oPlugins:{},rowIdFn:null,rowId:null,caption:"",captionNode:null,colgroup:null,deferLoading:null,typeDetect:!0},V.ext.pager);H.extend(xe,{simple:function(){return["previous","next"]},full:function(){return["first","previous","next","last"]},numbers:function(){return["numbers"]},simple_numbers:function(){return["previous","numbers","next"]},full_numbers:function(){return["first","previous","numbers","next","last"]},first_last:function(){return["first","last"]},first_last_numbers:function(){return["first","numbers","last"]},_numbers:Ee,numbers_length:7}),H.extend(!0,V.ext.renderer,{pagingButton:{_:function(t,e,n,a,r){var t=t.oClasses.paging,o=[t.button];return a&&o.push(t.active),r&&o.push(t.disabled),{display:a="ellipsis"===e?H('<span class="ellipsis"></span>').html(n)[0]:H("<button>",{class:o.join(" "),role:"link",type:"button"}).html(n),clicker:a}}},pagingContainer:{_:function(t,e){return e}}});function we(t,e,n,a,r){return i?t[e](r):o?t[n](r):a?t[a](r):t}var o,i,Te=!1;function _e(t,e,n){var a;if(W.luxon&&!o&&(o=W.luxon),i=W.moment&&!i?W.moment:i){if(!(a=i.utc(t,e,n,!0)).isValid())return null}else if(o){if(!(a=e&&"string"==typeof t?o.DateTime.fromFormat(t,e):o.DateTime.fromISO(t)).isValid)return null;a.setLocale(n)}else e?(Te||alert("DataTables warning: Formatted date without Moment.js or Luxon - https://datatables.net/tn/17"),Te=!0):a=new Date(t);return a}function Ce(s){return function(a,r,o,i){0===arguments.length?(o="en",a=r=null):1===arguments.length?(o="en",r=a,a=null):2===arguments.length&&(o=r,r=a,a=null);var l="datetime"+(r?"-"+r:"");return V.ext.type.order[l+"-pre"]||V.type(l,{detect:function(t){return t===l&&l},order:{pre:function(t){return t.valueOf()}},className:"dt-right"}),function(t,e){var n;return null==t&&(t="--now"===i?(n=new Date,new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds()))):""),"type"===e?l:""===t?"sort"!==e?"":_e("0000-01-01 00:00:00",null,o):!(null===r||a!==r||"sort"===e||"type"===e||t instanceof Date)||null===(n=_e(t,a,o))?t:"sort"===e?n:(t=null===r?we(n,"toDate","toJSDate","")[s]():we(n,"format","toFormat","toISOString",r),"display"===e?u(t):t)}}}var Le=",",Ie=".";if(void 0!==W.Intl)try{for(var Ae=(new Intl.NumberFormat).formatToParts(100000.1),a=0;a<Ae.length;a++)"group"===Ae[a].type?Le=Ae[a].value:"decimal"===Ae[a].type&&(Ie=Ae[a].value)}catch(t){}V.datetime=function(n,a){var r="datetime-"+n;a=a||"en",V.ext.type.order[r]||V.type(r,{detect:function(t){var e=_e(t,n,a);return!(""!==t&&!e)&&r},order:{pre:function(t){return _e(t,n,a)||0}},className:"dt-right"})},V.render={date:Ce("toLocaleDateString"),datetime:Ce("toLocaleString"),time:Ce("toLocaleTimeString"),number:function(r,o,i,l,s){return null==r&&(r=Le),null==o&&(o=Ie),{display:function(t){if("number"!=typeof t&&"string"!=typeof t)return t;if(""===t||null===t)return t;var e=t<0?"-":"",n=parseFloat(t),a=Math.abs(n);if(1e11<=a||a<1e-4&&0!==a)return(a=n.toExponential(i).split(/e\+?/))[0]+" x 10<sup>"+a[1]+"</sup>";if(isNaN(n))return u(t);n=n.toFixed(i),t=Math.abs(n);a=parseInt(t,10),n=i?o+(t-a).toFixed(i).substring(2):"";return(e=0===a&&0===parseFloat(n)?"":e)+(l||"")+a.toString().replace(/\B(?=(\d{3})+(?!\d))/g,r)+n+(s||"")}}},text:function(){return{display:u,filter:u}}};function Fe(t,e){return t=null!=t?t.toString().toLowerCase():"",e=null!=e?e.toString().toLowerCase():"",t.localeCompare(e,navigator.languages[0]||navigator.language,{numeric:!0,ignorePunctuation:!0})}var l=V.ext.type,Ne=(V.type=function(n,t,e){if(!t)return{className:l.className[n],detect:l.detect.find(function(t){return t._name===n}),order:{pre:l.order[n+"-pre"],asc:l.order[n+"-asc"],desc:l.order[n+"-desc"]},render:l.render[n],search:l.search[n]};function a(t,e){l[t][n]=e}function r(t){Object.defineProperty(t,"_name",{value:n});var e=l.detect.findIndex(function(t){return t._name===n});-1===e?l.detect.unshift(t):l.detect.splice(e,1,t)}function o(t){l.order[n+"-pre"]=t.pre,l.order[n+"-asc"]=t.asc,l.order[n+"-desc"]=t.desc}void 0===e&&(e=t,t=null),"className"===t?a("className",e):"detect"===t?r(e):"order"===t?o(e):"render"===t?a("render",e):"search"===t?a("search",e):t||(e.className&&a("className",e.className),void 0!==e.detect&&r(e.detect),e.order&&o(e.order),void 0!==e.render&&a("render",e.render),void 0!==e.search&&a("search",e.search))},V.types=function(){return l.detect.map(function(t){return t._name})},V.type("string",{detect:function(){return"string"},order:{pre:function(t){return T(t)&&"boolean"!=typeof t?"":"string"==typeof t?t.toLowerCase():t.toString?t.toString():""}},search:ge(!1,!0)}),V.type("string-utf8",{detect:{allOf:function(t){return!0},oneOf:function(t){return!T(t)&&navigator.languages&&"string"==typeof t&&t.match(/[^\x00-\x7F]/)}},order:{asc:Fe,desc:function(t,e){return-1*Fe(t,e)}},search:ge(!1,!0)}),V.type("html",{detect:{allOf:function(t){return T(t)||"string"==typeof t&&-1!==t.indexOf("<")},oneOf:function(t){return!T(t)&&"string"==typeof t&&-1!==t.indexOf("<")}},order:{pre:function(t){return T(t)?"":t.replace?L(t).trim().toLowerCase():t+""}},search:ge(!0,!0)}),V.type("date",{className:"dt-type-date",detect:{allOf:function(t){var e;return!t||t instanceof Date||R.test(t)?null!==(e=Date.parse(t))&&!isNaN(e)||T(t):null},oneOf:function(t){return t instanceof Date||"string"==typeof t&&R.test(t)}},order:{pre:function(t){t=Date.parse(t);return isNaN(t)?-1/0:t}}}),V.type("html-num-fmt",{className:"dt-type-numeric",detect:{allOf:function(t,e){e=e.oLanguage.sDecimal;return c(t,e,!0,!1)},oneOf:function(t,e){e=e.oLanguage.sDecimal;return c(t,e,!0,!1)}},order:{pre:function(t,e){e=e.oLanguage.sDecimal;return Ne(t,e,N,P)}},search:ge(!0,!0)}),V.type("html-num",{className:"dt-type-numeric",detect:{allOf:function(t,e){e=e.oLanguage.sDecimal;return c(t,e,!1,!0)},oneOf:function(t,e){e=e.oLanguage.sDecimal;return c(t,e,!1,!1)}},order:{pre:function(t,e){e=e.oLanguage.sDecimal;return Ne(t,e,N)}},search:ge(!0,!0)}),V.type("num-fmt",{className:"dt-type-numeric",detect:{allOf:function(t,e){e=e.oLanguage.sDecimal;return s(t,e,!0,!0)},oneOf:function(t,e){e=e.oLanguage.sDecimal;return s(t,e,!0,!1)}},order:{pre:function(t,e){e=e.oLanguage.sDecimal;return Ne(t,e,P)}}}),V.type("num",{className:"dt-type-numeric",detect:{allOf:function(t,e){e=e.oLanguage.sDecimal;return s(t,e,!1,!0)},oneOf:function(t,e){e=e.oLanguage.sDecimal;return s(t,e,!1,!1)}},order:{pre:function(t,e){e=e.oLanguage.sDecimal;return Ne(t,e)}}}),function(t,e,n,a){var r;return 0===t||t&&"-"!==t?"number"==(r=typeof t)||"bigint"==r?t:+(t=(t=e?E(t,e):t).replace&&(n&&(t=t.replace(n,"")),a)?t.replace(a,""):t):-1/0});function je(t,e,n){n&&(t[e]=n)}H.extend(!0,V.ext.renderer,{footer:{_:function(t,e,n){e.addClass(n.tfoot.cell)}},header:{_:function(p,g,v){g.addClass(v.thead.cell),p.oFeatures.bSort||g.addClass(v.order.none);var t=p.bSortCellsTop,e=g.closest("thead").find("tr"),n=g.parent().index();"disable"===g.attr("data-dt-order")||"disable"===g.parent().attr("data-dt-order")||!0===t&&0!==n||!1===t&&n!==e.length-1||H(p.nTable).on("order.dt.DT column-visibility.dt.DT",function(t,e){if(p===e){var n=e.sortDetails;if(n){for(var a=v.order,r=e.api.columns(g),o=p.aoColumns[r.flatten()[0]],i=r.orderable().includes(!0),l="",s=r.indexes(),u=r.orderable(!0).flatten(),c=m(n,"col"),d=(g.removeClass(a.isAsc+" "+a.isDesc).toggleClass(a.none,!i).toggleClass(a.canAsc,i&&u.includes("asc")).toggleClass(a.canDesc,i&&u.includes("desc")),!0),f=0;f<s.length;f++)c.includes(s[f])||(d=!1);d&&(u=r.order(),g.addClass(u.includes("asc")?a.isAsc:""+u.includes("desc")?a.isDesc:""));var h=-1;for(f=0;f<c.length;f++)if(p.aoColumns[c[f]].bVisible){h=c[f];break}s[0]==h?(r=n[0],u=o.asSorting,g.attr("aria-sort","asc"===r.dir?"ascending":"descending"),l=u[r.index+1]?"Reverse":"Remove"):g.removeAttr("aria-sort"),g.attr("aria-label",i?o.ariaTitle+e.api.i18n("oAria.orderable"+l):o.ariaTitle),i&&(g.find(".dt-column-title").attr("role","button"),g.attr("tabindex",0))}}})}},layout:{_:function(t,e,n){var a=t.oClasses.layout,r=H("<div/>").attr("id",n.id||null).addClass(n.className||a.row).appendTo(e);H.each(n,function(t,e){var n;"id"!==t&&"className"!==t&&(n="",e.table&&(r.addClass(a.tableRow),n+=a.tableCell+" "),n+="start"===t?a.start:"end"===t?a.end:a.full,H("<div/>").attr({id:e.id||null,class:e.className||a.cell+" "+n}).append(e.contents).appendTo(r))})}}}),V.feature={},V.feature.register=function(t,e,n){V.ext.features[t]=e,n&&C.feature.push({cFeature:n,fnInit:e})},V.feature.register("div",function(t,e){var n=H("<div>")[0];return e&&(je(n,"className",e.className),je(n,"id",e.id),je(n,"innerHTML",e.html),je(n,"textContent",e.text)),n}),V.feature.register("info",function(t,s){var e,n,u;return t.oFeatures.bInfo?(e=t.oLanguage,n=t.sTableId,u=H("<div/>",{class:t.oClasses.info.container}),s=H.extend({callback:e.fnInfoCallback,empty:e.sInfoEmpty,postfix:e.sInfoPostFix,search:e.sInfoFiltered,text:e.sInfo},s),t.aoDrawCallback.push(function(t){var e=s,n=u,a=t._iDisplayStart+1,r=t.fnDisplayEnd(),o=t.fnRecordsTotal(),i=t.fnRecordsDisplay(),l=i?e.text:e.empty;i!==o&&(l+=" "+e.search),l+=e.postfix,l=re(t,l),e.callback&&(l=e.callback.call(t.oInstance,t,a,r,o,i,l)),n.html(l),G(t,null,"info",[t,n[0],l])}),t._infoEl||(u.attr({"aria-live":"polite",id:n+"_info",role:"status"}),H(t.nTable).attr("aria-describedby",n+"_info"),t._infoEl=u),u):null},"i");var Re=0;function Oe(t){var e=[];return t.numbers&&e.push("numbers"),t.previousNext&&(e.unshift("previous"),e.push("next")),t.firstLast&&(e.unshift("first"),e.push("last")),e}function Pe(t,e,n,a){var r=t.oLanguage.oPaginate,o={display:"",active:!1,disabled:!1};switch(e){case"ellipsis":o.display="&#x2026;",o.disabled=!0;break;case"first":o.display=r.sFirst,0===n&&(o.disabled=!0);break;case"previous":o.display=r.sPrevious,0===n&&(o.disabled=!0);break;case"next":o.display=r.sNext,0!==a&&n!==a-1||(o.disabled=!0);break;case"last":o.display=r.sLast,0!==a&&n!==a-1||(o.disabled=!0);break;default:"number"==typeof e&&(o.display=t.fnFormatNumber(e+1),n===e)&&(o.active=!0)}return o}function Ee(t,e,n,a){var r=[],o=Math.floor(n/2),i=a?2:1,l=a?1:0;return e<=n?r=h(0,e):1===n?r=[t]:3===n?t<=1?r=[0,1,"ellipsis"]:e-2<=t?(r=h(e-2,e)).unshift("ellipsis"):r=["ellipsis",t,"ellipsis"]:t<=o?((r=h(0,n-i)).push("ellipsis"),a&&r.push(e-1)):e-1-o<=t?((r=h(e-(n-i),e)).unshift("ellipsis"),a&&r.unshift(0)):((r=h(t-o+i,t+o-l)).push("ellipsis"),r.unshift("ellipsis"),a&&(r.push(e-1),r.unshift(0))),r}V.feature.register("search",function(n,a){var t,e,r,o,i,l,s,u,c,d;return n.oFeatures.bFilter?(t=n.oClasses.search,e=n.sTableId,c=n.oLanguage,r=n.oPreviousSearch,o='<input type="search" class="'+t.input+'"/>',-1===(a=H.extend({placeholder:c.sSearchPlaceholder,processing:!1,text:c.sSearch},a)).text.indexOf("_INPUT_")&&(a.text+="_INPUT_"),a.text=re(n,a.text),c=a.text.match(/_INPUT_$/),s=a.text.match(/^_INPUT_/),i=a.text.replace(/_INPUT_/,""),l="<label>"+a.text+"</label>",s?l="_INPUT_<label>"+i+"</label>":c&&(l="<label>"+i+"</label>_INPUT_"),(s=H("<div>").addClass(t.container).append(l.replace(/_INPUT_/,o))).find("label").attr("for","dt-search-"+Re),s.find("input").attr("id","dt-search-"+Re),Re++,u=function(t){var e=this.value;r.return&&"Enter"!==t.key||e!=r.search&&Vt(n,a.processing,function(){r.search=e,Rt(n,r),n._iDisplayStart=0,S(n)})},c=null!==n.searchDelay?n.searchDelay:0,d=H("input",s).val(r.search).attr("placeholder",a.placeholder).on("keyup.DT search.DT input.DT paste.DT cut.DT",c?V.util.debounce(u,c):u).on("mouseup.DT",function(t){setTimeout(function(){u.call(d[0],t)},10)}).on("keypress.DT",function(t){if(13==t.keyCode)return!1}).attr("aria-controls",e),H(n.nTable).on("search.dt.DT",function(t,e){n===e&&d[0]!==_.activeElement&&d.val("function"!=typeof r.search?r.search:"")}),s):null},"f"),V.feature.register("paging",function(t,e){if(!t.oFeatures.bPaginate)return null;e=H.extend({buttons:V.ext.pager.numbers_length,type:t.sPaginationType,boundaryNumbers:!0,firstLast:!0,previousNext:!0,numbers:!0},e);function n(){!function t(e,n,a){if(!e._bInitComplete)return;var r=a.type?V.ext.pager[a.type]:Oe,o=e.oLanguage.oAria.paginate||{},i=e._iDisplayStart,l=e._iDisplayLength,s=e.fnRecordsDisplay(),u=-1===l,c=u?0:Math.ceil(i/l),d=u?1:Math.ceil(s/l),f=[],h=[],i=r(a).map(function(t){return"numbers"===t?Ee(c,d,a.buttons,a.boundaryNumbers):t});f=f.concat.apply(f,i);for(var p=0;p<f.length;p++){var g=f[p],v=Pe(e,g,c,d),m=ae(e,"pagingButton")(e,g,v.display,v.active,v.disabled),b="string"==typeof g?o[g]:o.number?o.number+(g+1):null;H(m.clicker).attr({"aria-controls":e.sTableId,"aria-disabled":v.disabled?"true":null,"aria-current":v.active?"page":null,"aria-label":b,"data-dt-idx":g,tabIndex:v.disabled?-1:e.iTabIndex||null}),"number"!=typeof g&&H(m.clicker).addClass(g),ee(m.clicker,{action:g},function(t){t.preventDefault(),Xt(e,t.data.action,!0)}),h.push(m.display)}u=ae(e,"pagingContainer")(e,h);s=n.find(_.activeElement).data("dt-idx");n.empty().append(u);void 0!==s&&n.find("[data-dt-idx="+s+"]").trigger("focus");h.length&&1<a.buttons&&H(n).height()>=2*H(h[0]).outerHeight()-10&&t(e,n,H.extend({},a,{buttons:a.buttons-2}))}(t,a.children(),e)}var a=H("<div/>").addClass(t.oClasses.paging.container+(e.type?" paging_"+e.type:"")).append(H("<nav>").attr("aria-label","pagination").addClass(t.oClasses.paging.nav));return t.aoDrawCallback.push(n),H(t.nTable).on("column-sizing.dt.DT",n),a},"p");var ke=0;return V.feature.register("pageLength",function(a,t){var e=a.oFeatures;if(!e.bPaginate||!e.bLengthChange)return null;t=H.extend({menu:a.aLengthMenu,text:a.oLanguage.sLengthMenu},t);var e=a.oClasses.length,n=a.sTableId,r=t.menu,o=[],i=[];if(Array.isArray(r[0]))o=r[0],i=r[1];else for(p=0;p<r.length;p++)H.isPlainObject(r[p])?(o.push(r[p].value),i.push(r[p].label)):(o.push(r[p]),i.push(r[p]));for(var l=t.text.match(/_MENU_$/),s=t.text.match(/^_MENU_/),u=t.text.replace(/_MENU_/,""),t="<label>"+t.text+"</label>",s=(s?t="_MENU_<label>"+u+"</label>":l&&(t="<label>"+u+"</label>_MENU_"),"tmp-"+ +new Date),c=H("<div/>").addClass(e.container).append(t.replace("_MENU_",'<span id="'+s+'"></span>')),d=[],f=(Array.from(c.find("label")[0].childNodes).forEach(function(t){t.nodeType===Node.TEXT_NODE&&d.push({el:t,text:t.textContent})}),function(e){d.forEach(function(t){t.el.textContent=re(a,t.text,e)})}),h=H("<select/>",{name:n+"_length","aria-controls":n,class:e.select}),p=0;p<o.length;p++)h[0][p]=new Option("number"==typeof i[p]?a.fnFormatNumber(i[p]):i[p],o[p]);return c.find("label").attr("for","dt-length-"+ke),h.attr("id","dt-length-"+ke),ke++,c.find("#"+s).replaceWith(h),H("select",c).val(a._iDisplayLength).on("change.DT",function(){Wt(a,H(this).val()),S(a)}),H(a.nTable).on("length.dt.DT",function(t,e,n){a===e&&(H("select",c).val(n),f(n))}),f(a._iDisplayLength),c},"l"),((H.fn.dataTable=V).$=H).fn.dataTableSettings=V.settings,H.fn.dataTableExt=V.ext,H.fn.DataTable=function(t){return H(this).dataTable(t).api()},H.each(V,function(t,e){H.fn.DataTable[t]=e}),V});
 
-/*!
- HTML5 export buttons for Buttons and DataTables.
- 2016 SpryMedia Ltd - datatables.net/license
+/*! DataTables Bootstrap 5 integration
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net")(t,e)},"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),r(t,e),n(e,0,t.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(d,t,e){"use strict";var n=d.fn.dataTable;return d.extend(!0,n.defaults,{renderer:"bootstrap"}),d.extend(!0,n.ext.classes,{container:"dt-container dt-bootstrap5",search:{input:"form-control form-control-sm"},length:{select:"form-select form-select-sm"},processing:{container:"dt-processing card"},layout:{row:"row mt-2 justify-content-between",cell:"d-md-flex justify-content-between align-items-center",tableCell:"col-12",start:"dt-layout-start col-md-auto me-auto",end:"dt-layout-end col-md-auto ms-auto",full:"dt-layout-full col-md"}}),n.ext.renderer.pagingButton.bootstrap=function(t,e,n,o,r){var a=["dt-paging-button","page-item"],o=(o&&a.push("active"),r&&a.push("disabled"),d("<li>").addClass(a.join(" ")));return{display:o,clicker:d("<button>",{class:"page-link",role:"link",type:"button"}).html(n).appendTo(o)}},n.ext.renderer.pagingContainer.bootstrap=function(t,e){return d("<ul/>").addClass("pagination").append(e)},n});
 
- FileSaver.js (1.3.3) - MIT license
- Copyright © 2016 Eli Grey - http://eligrey.com
-*/
-(function(f){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(g){return f(g,window,document)}):"object"===typeof exports?module.exports=function(g,p,z,t){g||(g=window);p&&p.fn.dataTable||(p=require("datatables.net")(g,p).$);p.fn.dataTable.Buttons||require("datatables.net-buttons")(g,p);return f(p,g,g.document,z,t)}:f(jQuery,window,document)})(function(f,g,p,z,t,w){function A(a){for(var b="";0<=a;)b=String.fromCharCode(a%26+65)+b,a=Math.floor(a/
-26)-1;return b}function E(a,b){y===w&&(y=-1===C.serializeToString(f.parseXML(F["xl/worksheets/sheet1.xml"])).indexOf("xmlns:r"));f.each(b,function(b,c){if(f.isPlainObject(c))b=a.folder(b),E(b,c);else{if(y){var d=c.childNodes[0],e,h=[];for(e=d.attributes.length-1;0<=e;e--){var m=d.attributes[e].nodeName;var k=d.attributes[e].nodeValue;-1!==m.indexOf(":")&&(h.push({name:m,value:k}),d.removeAttribute(m))}e=0;for(m=h.length;e<m;e++)k=c.createAttribute(h[e].name.replace(":","_dt_b_namespace_token_")),
-k.value=h[e].value,d.setAttributeNode(k)}c=C.serializeToString(c);y&&(-1===c.indexOf("<?xml")&&(c='<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+c),c=c.replace(/_dt_b_namespace_token_/g,":"),c=c.replace(/xmlns:NS[\d]+="" NS[\d]+:/g,""));c=c.replace(/<([^<>]*?) xmlns=""([^<>]*?)>/g,"<$1 $2>");a.file(b,c)}})}function r(a,b,d){var c=a.createElement(b);d&&(d.attr&&f(c).attr(d.attr),d.children&&f.each(d.children,function(a,b){c.appendChild(b)}),null!==d.text&&d.text!==w&&c.appendChild(a.createTextNode(d.text)));
-return c}function L(a,b){var d=a.header[b].length;a.footer&&a.footer[b].length>d&&(d=a.footer[b].length);for(var c=0,f=a.body.length;c<f;c++){var e=a.body[c][b];e=null!==e&&e!==w?e.toString():"";-1!==e.indexOf("\n")?(e=e.split("\n"),e.sort(function(a,c){return c.length-a.length}),e=e[0].length):e=e.length;e>d&&(d=e);if(40<d)return 54}d*=1.35;return 6<d?d:6}var v=f.fn.dataTable;v.Buttons.pdfMake=function(a){if(!a)return t||g.pdfMake;t=m_ake};v.Buttons.jszip=function(a){if(!a)return z||g.JSZip;z=a};
-var B=function(a){if(!("undefined"===typeof a||"undefined"!==typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent))){var b=a.document.createElementNS("http://www.w3.org/1999/xhtml","a"),d="download"in b,c=/constructor/i.test(a.HTMLElement)||a.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),e=function(c){(a.setImmediate||a.setTimeout)(function(){throw c;},0)},h=function(c){setTimeout(function(){"string"===typeof c?(a.URL||a.webkitURL||a).revokeObjectURL(c):c.remove()},4E4)},m=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?
-new Blob([String.fromCharCode(65279),a],{type:a.type}):a},k=function(k,q,n){n||(k=m(k));var l=this,g="application/octet-stream"===k.type,D=function(){var a=["writestart","progress","write","writeend"];a=[].concat(a);for(var c=a.length;c--;){var b=l["on"+a[c]];if("function"===typeof b)try{b.call(l,l)}catch(M){e(M)}}};l.readyState=l.INIT;if(d){var u=(a.URL||a.webkitURL||a).createObjectURL(k);setTimeout(function(){b.href=u;b.download=q;var a=new MouseEvent("click");b.dispatchEvent(a);D();h(u);l.readyState=
-l.DONE})}else(function(){if((f||g&&c)&&a.FileReader){var b=new FileReader;b.onloadend=function(){var c=f?b.result:b.result.replace(/^data:[^;]*;/,"data:attachment/file;");a.open(c,"_blank")||(a.location.href=c);l.readyState=l.DONE;D()};b.readAsDataURL(k);l.readyState=l.INIT}else u||(u=(a.URL||a.webkitURL||a).createObjectURL(k)),g?a.location.href=u:a.open(u,"_blank")||(a.location.href=u),l.readyState=l.DONE,D(),h(u)})()},n=k.prototype;if("undefined"!==typeof navigator&&navigator.msSaveOrOpenBlob)return function(a,
-c,b){c=c||a.name||"download";b||(a=m(a));return navigator.msSaveOrOpenBlob(a,c)};n.abort=function(){};n.readyState=n.INIT=0;n.WRITING=1;n.DONE=2;n.error=n.onwritestart=n.onprogress=n.onwrite=n.onabort=n.onerror=n.onwriteend=null;return function(a,c,b){return new k(a,c||a.name||"download",b)}}}("undefined"!==typeof self&&self||"undefined"!==typeof g&&g||this.content);v.fileSave=B;var G=function(a){var b="Sheet1";a.sheetName&&(b=a.sheetName.replace(/[\[\]\*\/\\\?:]/g,""));return b},H=function(a){return a.newline?
-a.newline:navigator.userAgent.match(/Windows/)?"\r\n":"\n"},I=function(a,b){var d=H(b);a=a.buttons.exportData(b.exportOptions);var c=b.fieldBoundary,f=b.fieldSeparator,e=new RegExp(c,"g"),h=b.escapeChar!==w?b.escapeChar:"\\",m=function(a){for(var b="",d=0,m=a.length;d<m;d++)0<d&&(b+=f),b+=c?c+(""+a[d]).replace(e,h+c)+c:a[d];return b},k=b.header?m(a.header)+d:"";b=b.footer&&a.footer?d+m(a.footer):"";for(var n=[],g=0,q=a.body.length;g<q;g++)n.push(m(a.body[g]));return{str:k+n.join(d)+b,rows:n.length}},
-J=function(){if(-1===navigator.userAgent.indexOf("Safari")||-1!==navigator.userAgent.indexOf("Chrome")||-1!==navigator.userAgent.indexOf("Opera"))return!1;var a=navigator.userAgent.match(/AppleWebKit\/(\d+\.\d+)/);return a&&1<a.length&&603.1>1*a[1]?!0:!1};try{var C=new XMLSerializer,y}catch(a){}var F={"_rels/.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>',
-"xl/_rels/workbook.xml.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>',"[Content_Types].xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="application/xml" /><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="jpeg" ContentType="image/jpeg" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /></Types>',
-"xl/workbook.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="5" lowestEdited="5" rupBuild="24816"/><workbookPr showInkAnnotation="0" autoCompressPictures="0"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="25600" windowHeight="19020" tabRatio="500"/></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets><definedNames/></workbook>',
-"xl/worksheets/sheet1.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><sheetData/><mergeCells count="0"/></worksheet>',"xl/styles.xml":'<?xml version="1.0" encoding="UTF-8"?><styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><numFmts count="6"><numFmt numFmtId="164" formatCode="#,##0.00_- [$$-45C]"/><numFmt numFmtId="165" formatCode="&quot;£&quot;#,##0.00"/><numFmt numFmtId="166" formatCode="[$€-2] #,##0.00"/><numFmt numFmtId="167" formatCode="0.0%"/><numFmt numFmtId="168" formatCode="#,##0;(#,##0)"/><numFmt numFmtId="169" formatCode="#,##0.00;(#,##0.00)"/></numFmts><fonts count="5" x14ac:knownFonts="1"><font><sz val="11" /><name val="Calibri" /></font><font><sz val="11" /><name val="Calibri" /><color rgb="FFFFFFFF" /></font><font><sz val="11" /><name val="Calibri" /><b /></font><font><sz val="11" /><name val="Calibri" /><i /></font><font><sz val="11" /><name val="Calibri" /><u /></font></fonts><fills count="6"><fill><patternFill patternType="none" /></fill><fill><patternFill patternType="none" /></fill><fill><patternFill patternType="solid"><fgColor rgb="FFD9D9D9" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="FFD99795" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="ffc6efce" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="ffc6cfef" /><bgColor indexed="64" /></patternFill></fill></fills><borders count="2"><border><left /><right /><top /><bottom /><diagonal /></border><border diagonalUp="false" diagonalDown="false"><left style="thin"><color auto="1" /></left><right style="thin"><color auto="1" /></right><top style="thin"><color auto="1" /></top><bottom style="thin"><color auto="1" /></bottom><diagonal /></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" /></cellStyleXfs><cellXfs count="67"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="left"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="center"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="right"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="fill"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment textRotation="90"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment wrapText="1"/></xf><xf numFmtId="9"   fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="164" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="166" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="167" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="168" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="169" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="3" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="4" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="1" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="2" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0" /></cellStyles><dxfs count="0" /><tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4" /></styleSheet>'},
-K=[{match:/^\-?\d+\.\d%$/,style:60,fmt:function(a){return a/100}},{match:/^\-?\d+\.?\d*%$/,style:56,fmt:function(a){return a/100}},{match:/^\-?\$[\d,]+.?\d*$/,style:57},{match:/^\-?£[\d,]+.?\d*$/,style:58},{match:/^\-?€[\d,]+.?\d*$/,style:59},{match:/^\-?\d+$/,style:65},{match:/^\-?\d+\.\d{2}$/,style:66},{match:/^\([\d,]+\)$/,style:61,fmt:function(a){return-1*a.replace(/[\(\)]/g,"")}},{match:/^\([\d,]+\.\d{2}\)$/,style:62,fmt:function(a){return-1*a.replace(/[\(\)]/g,"")}},{match:/^\-?[\d,]+$/,style:63},
-{match:/^\-?[\d,]+\.\d{2}$/,style:64}];v.ext.buttons.copyHtml5={className:"buttons-copy buttons-html5",text:function(a){return a.i18n("buttons.copy","Copy")},action:function(a,b,d,c){this.processing(!0);var g=this;a=I(b,c);var e=b.buttons.exportInfo(c),h=H(c),m=a.str;d=f("<div/>").css({height:1,width:1,overflow:"hidden",position:"fixed",top:0,left:0});e.title&&(m=e.title+h+h+m);e.messageTop&&(m=e.messageTop+h+h+m);e.messageBottom&&(m=m+h+h+e.messageBottom);c.customize&&(m=c.customize(m,c,b));c=f("<textarea readonly/>").val(m).appendTo(d);
-if(p.queryCommandSupported("copy")){d.appendTo(b.table().container());c[0].focus();c[0].select();try{var k=p.execCommand("copy");d.remove();if(k){b.buttons.info(b.i18n("buttons.copyTitle","Copy to clipboard"),b.i18n("buttons.copySuccess",{1:"Copied one row to clipboard",_:"Copied %d rows to clipboard"},a.rows),2E3);this.processing(!1);return}}catch(q){}}k=f("<span>"+b.i18n("buttons.copyKeys","Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.")+
-"</span>").append(d);b.buttons.info(b.i18n("buttons.copyTitle","Copy to clipboard"),k,0);c[0].focus();c[0].select();var n=f(k).closest(".dt-button-info"),r=function(){n.off("click.buttons-copy");f(p).off(".buttons-copy");b.buttons.info(!1)};n.on("click.buttons-copy",r);f(p).on("keydown.buttons-copy",function(a){27===a.keyCode&&(r(),g.processing(!1))}).on("copy.buttons-copy cut.buttons-copy",function(){r();g.processing(!1)})},exportOptions:{},fieldSeparator:"\t",fieldBoundary:"",header:!0,footer:!1,
-title:"*",messageTop:"*",messageBottom:"*"};v.ext.buttons.csvHtml5={bom:!1,className:"buttons-csv buttons-html5",available:function(){return g.FileReader!==w&&g.Blob},text:function(a){return a.i18n("buttons.csv","CSV")},action:function(a,b,d,c){this.processing(!0);a=I(b,c).str;d=b.buttons.exportInfo(c);var f=c.charset;c.customize&&(a=c.customize(a,c,b));!1!==f?(f||(f=p.characterSet||p.charset),f&&(f=";charset="+f)):f="";c.bom&&(a=""+a);B(new Blob([a],{type:"text/csv"+f}),d.filename,!0);this.processing(!1)},
-filename:"*",extension:".csv",exportOptions:{},fieldSeparator:",",fieldBoundary:'"',escapeChar:'"',charset:null,header:!0,footer:!1};v.ext.buttons.excelHtml5={className:"buttons-excel buttons-html5",available:function(){return g.FileReader!==w&&(z||g.JSZip)!==w&&!J()&&C},text:function(a){return a.i18n("buttons.excel","Excel")},action:function(a,b,d,c){this.processing(!0);var p=this,e=0;a=function(a){return f.parseXML(F[a])};var h=a("xl/worksheets/sheet1.xml"),m=h.getElementsByTagName("sheetData")[0];
-a={_rels:{".rels":a("_rels/.rels")},xl:{_rels:{"workbook.xml.rels":a("xl/_rels/workbook.xml.rels")},"workbook.xml":a("xl/workbook.xml"),"styles.xml":a("xl/styles.xml"),worksheets:{"sheet1.xml":h}},"[Content_Types].xml":a("[Content_Types].xml")};var k=b.buttons.exportData(c.exportOptions),n,v,q=function(a){n=e+1;v=r(h,"row",{attr:{r:n}});for(var b=0,d=a.length;b<d;b++){var k=A(b)+""+n,g=null;if(null===a[b]||a[b]===w||""===a[b])if(!0===c.createEmptyCells)a[b]="";else continue;var l=a[b];a[b]=f.trim(a[b]);
-for(var q=0,p=K.length;q<p;q++){var u=K[q];if(a[b].match&&!a[b].match(/^0\d+/)&&a[b].match(u.match)){g=a[b].replace(/[^\d\.\-]/g,"");u.fmt&&(g=u.fmt(g));g=r(h,"c",{attr:{r:k,s:u.style},children:[r(h,"v",{text:g})]});break}}g||("number"===typeof a[b]||a[b].match&&a[b].match(/^-?\d+(\.\d+)?$/)&&!a[b].match(/^0\d+/)?g=r(h,"c",{attr:{t:"n",r:k},children:[r(h,"v",{text:a[b]})]}):(l=l.replace?l.replace(/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F-\x9F]/g,""):l,g=r(h,"c",{attr:{t:"inlineStr",r:k},children:{row:r(h,
-"is",{children:{row:r(h,"t",{text:l,attr:{"xml:space":"preserve"}})}})}})));v.appendChild(g)}m.appendChild(v);e++};c.customizeData&&c.customizeData(k);var x=function(a,b){var c=f("mergeCells",h);c[0].appendChild(r(h,"mergeCell",{attr:{ref:"A"+a+":"+A(b)+a}}));c.attr("count",parseFloat(c.attr("count"))+1);f("row:eq("+(a-1)+") c",h).attr("s","51")},l=b.buttons.exportInfo(c);l.title&&(q([l.title],e),x(e,k.header.length-1));l.messageTop&&(q([l.messageTop],e),x(e,k.header.length-1));c.header&&(q(k.header,
-e),f("row:last c",h).attr("s","2"));d=e;var t=0;for(var y=k.body.length;t<y;t++)q(k.body[t],e);t=e;c.footer&&k.footer&&(q(k.footer,e),f("row:last c",h).attr("s","2"));l.messageBottom&&(q([l.messageBottom],e),x(e,k.header.length-1));q=r(h,"cols");f("worksheet",h).prepend(q);x=0;for(y=k.header.length;x<y;x++)q.appendChild(r(h,"col",{attr:{min:x+1,max:x+1,width:L(k,x),customWidth:1}}));q=a.xl["workbook.xml"];f("sheets sheet",q).attr("name",G(c));c.autoFilter&&(f("mergeCells",h).before(r(h,"autoFilter",
-{attr:{ref:"A"+d+":"+A(k.header.length-1)+t}})),f("definedNames",q).append(r(q,"definedName",{attr:{name:"_xlnm._FilterDatabase",localSheetId:"0",hidden:1},text:G(c)+"!$A$"+d+":"+A(k.header.length-1)+t})));c.customize&&c.customize(a,c,b);0===f("mergeCells",h).children().length&&f("mergeCells",h).remove();b=new (z||g.JSZip);d={type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};E(b,a);b.generateAsync?b.generateAsync(d).then(function(a){B(a,l.filename);p.processing(!1)}):
-(B(b.generate(d),l.filename),this.processing(!1))},filename:"*",extension:".xlsx",exportOptions:{},header:!0,footer:!1,title:"*",messageTop:"*",messageBottom:"*",createEmptyCells:!1,autoFilter:!1,sheetName:""};v.ext.buttons.pdfHtml5={className:"buttons-pdf buttons-html5",available:function(){return g.FileReader!==w&&(t||g.pdfMake)},text:function(a){return a.i18n("buttons.pdf","PDF")},action:function(a,b,d,c){this.processing(!0);d=b.buttons.exportData(c.exportOptions);a=b.buttons.exportInfo(c);var p=
-[];c.header&&p.push(f.map(d.header,function(a){return{text:"string"===typeof a?a:a+"",style:"tableHeader"}}));for(var e=0,h=d.body.length;e<h;e++)p.push(f.map(d.body[e],function(a){if(null===a||a===w)a="";return{text:"string"===typeof a?a:a+"",style:e%2?"tableBodyEven":"tableBodyOdd"}}));c.footer&&d.footer&&p.push(f.map(d.footer,function(a){return{text:"string"===typeof a?a:a+"",style:"tableFooter"}}));d={pageSize:c.pageSize,pageOrientation:c.orientation,content:[{table:{headerRows:1,body:p},layout:"noBorders"}],
-styles:{tableHeader:{bold:!0,fontSize:11,color:"white",fillColor:"#2d4154",alignment:"center"},tableBodyEven:{},tableBodyOdd:{fillColor:"#f3f3f3"},tableFooter:{bold:!0,fontSize:11,color:"white",fillColor:"#2d4154"},title:{alignment:"center",fontSize:15},message:{}},defaultStyle:{fontSize:10}};a.messageTop&&d.content.unshift({text:a.messageTop,style:"message",margin:[0,0,0,12]});a.messageBottom&&d.content.push({text:a.messageBottom,style:"message",margin:[0,0,0,12]});a.title&&d.content.unshift({text:a.title,
-style:"title",margin:[0,0,0,12]});c.customize&&c.customize(d,c,b);b=(t||g.pdfMake).createPdf(d);"open"!==c.download||J()?b.download(a.filename):b.open();this.processing(!1)},title:"*",filename:"*",extension:".pdf",exportOptions:{},orientation:"portrait",pageSize:"A4",header:!0,footer:!1,messageTop:"*",messageBottom:"*",customize:null,download:"download"};return v.Buttons});
+/*! Buttons for DataTables 3.2.0
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(e){var o,i;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return e(t,window,document)}):"object"==typeof exports?(o=require("jquery"),i=function(t,n){n.fn.dataTable||require("datatables.net")(t,n)},"undefined"==typeof window?module.exports=function(t,n){return t=t||window,n=n||o(t),i(t,n),e(n,t,t.document)}:(i(window,o),module.exports=e(o,window,window.document))):e(jQuery,window,document)}(function(x,m,v){"use strict";var e=x.fn.dataTable,o=0,C=0,_=e.ext.buttons,i=null;function y(t,n,e){x.fn.animate?t.stop().fadeIn(n,e):(t.css("display","block"),e&&e.call(t))}function w(t,n,e){x.fn.animate?t.stop().fadeOut(n,e):(t.css("display","none"),e&&e.call(t))}function A(n,t){if(!e.versionCheck("2"))throw"Warning: Buttons requires DataTables 2 or newer";if(!(this instanceof A))return function(t){return new A(t,n).container()};!0===(t=void 0===t?{}:t)&&(t={}),Array.isArray(t)&&(t={buttons:t}),this.c=x.extend(!0,{},A.defaults,t),t.buttons&&(this.c.buttons=t.buttons),this.s={dt:new e.Api(n),buttons:[],listenKeys:"",namespace:"dtb"+o++},this.dom={container:x("<"+this.c.dom.container.tag+"/>").addClass(this.c.dom.container.className)},this._constructor()}x.extend(A.prototype,{action:function(t,n){t=this._nodeToButton(t);return void 0===n?t.conf.action:(t.conf.action=n,this)},active:function(t,n){var t=this._nodeToButton(t),e=this.c.dom.button.active,o=x(t.node);return t.inCollection&&this.c.dom.collection.button&&void 0!==this.c.dom.collection.button.active&&(e=this.c.dom.collection.button.active),void 0===n?o.hasClass(e):(o.toggleClass(e,void 0===n||n),this)},add:function(t,n,e){var o=this.s.buttons;if("string"==typeof n){for(var i=n.split("-"),s=this.s,r=0,a=i.length-1;r<a;r++)s=s.buttons[+i[r]];o=s.buttons,n=+i[i.length-1]}return this._expandButton(o,t,void 0!==t?t.split:void 0,(void 0===t||void 0===t.split||0===t.split.length)&&void 0!==s,!1,n),void 0!==e&&!0!==e||this._draw(),this},collectionRebuild:function(t,n){var e=this._nodeToButton(t);if(void 0!==n){for(var o=e.buttons.length-1;0<=o;o--)this.remove(e.buttons[o].node);for(e.conf.prefixButtons&&n.unshift.apply(n,e.conf.prefixButtons),e.conf.postfixButtons&&n.push.apply(n,e.conf.postfixButtons),o=0;o<n.length;o++){var i=n[o];this._expandButton(e.buttons,i,void 0!==i&&void 0!==i.config&&void 0!==i.config.split,!0,void 0!==i.parentConf&&void 0!==i.parentConf.split,null,i.parentConf)}}this._draw(e.collection,e.buttons)},container:function(){return this.dom.container},disable:function(t){t=this._nodeToButton(t);return(t.isSplit?x(t.node.childNodes[0]):x(t.node)).addClass(this.c.dom.button.disabled).prop("disabled",!0),t.disabled=!0,this._checkSplitEnable(),this},destroy:function(){x("body").off("keyup."+this.s.namespace);for(var t=this.s.buttons.slice(),n=0,e=t.length;n<e;n++)this.remove(t[n].node);this.dom.container.remove();var o=this.s.dt.settings()[0];for(n=0,e=o.length;n<e;n++)if(o.inst===this){o.splice(n,1);break}return this},enable:function(t,n){return!1===n?this.disable(t):(((n=this._nodeToButton(t)).isSplit?x(n.node.childNodes[0]):x(n.node)).removeClass(this.c.dom.button.disabled).prop("disabled",!1),n.disabled=!1,this._checkSplitEnable(),this)},index:function(t,n,e){n||(n="",e=this.s.buttons);for(var o=0,i=e.length;o<i;o++){var s=e[o].buttons;if(e[o].node===t)return n+o;if(s&&s.length){s=this.index(t,o+"-",s);if(null!==s)return s}}return null},name:function(){return this.c.name},node:function(t){return t?(t=this._nodeToButton(t),x(t.node)):this.dom.container},processing:function(t,n){var e=this.s.dt,o=this._nodeToButton(t);return void 0===n?x(o.node).hasClass("processing"):(x(o.node).toggleClass("processing",n),x(e.table().node()).triggerHandler("buttons-processing.dt",[n,e.button(t),e,x(t),o.conf]),this)},remove:function(t){var n=this._nodeToButton(t),e=this._nodeToHost(t),o=this.s.dt;if(n.buttons.length)for(var i=n.buttons.length-1;0<=i;i--)this.remove(n.buttons[i].node);n.conf.destroying=!0,n.conf.destroy&&n.conf.destroy.call(o.button(t),o,x(t),n.conf),this._removeKey(n.conf),x(n.node).remove();o=x.inArray(n,e);return e.splice(o,1),this},text:function(t,n){function e(t){return"function"==typeof t?t(i,s,o.conf):t}var o=this._nodeToButton(t),t=o.textNode,i=this.s.dt,s=x(o.node);return void 0===n?e(o.conf.text):(o.conf.text=n,t.html(e(n)),this)},_constructor:function(){var e=this,t=this.s.dt,o=t.settings()[0],n=this.c.buttons;o._buttons||(o._buttons=[]),o._buttons.push({inst:this,name:this.c.name});for(var i=0,s=n.length;i<s;i++)this.add(n[i]);t.on("destroy",function(t,n){n===o&&e.destroy()}),x("body").on("keyup."+this.s.namespace,function(t){var n;v.activeElement&&v.activeElement!==v.body||(n=String.fromCharCode(t.keyCode).toLowerCase(),-1!==e.s.listenKeys.toLowerCase().indexOf(n)&&e._keypress(n,t))})},_addKey:function(t){t.key&&(this.s.listenKeys+=(x.isPlainObject(t.key)?t.key:t).key)},_draw:function(t,n){t||(t=this.dom.container,n=this.s.buttons),t.children().detach();for(var e=0,o=n.length;e<o;e++)t.append(n[e].inserter),t.append(" "),n[e].buttons&&n[e].buttons.length&&this._draw(n[e].collection,n[e].buttons)},_expandButton:function(t,n,e,o,i,s,r){for(var a,l=this.s.dt,c=this.c.dom.collection,u=Array.isArray(n)?n:[n],d=0,f=(u=void 0===n?Array.isArray(e)?e:[e]:u).length;d<f;d++){var p=this._resolveExtends(u[d]);if(p)if(a=!(!p.config||!p.config.split),Array.isArray(p))this._expandButton(t,p,void 0!==h&&void 0!==h.conf?h.conf.split:void 0,o,void 0!==r&&void 0!==r.split,s,r);else{var h=this._buildButton(p,o,void 0!==p.split||void 0!==p.config&&void 0!==p.config.split,i);if(h){if(null!=s?(t.splice(s,0,h),s++):t.push(h),h.conf.dropIcon&&!h.conf.split&&x(h.node).addClass(this.c.dom.button.dropClass).append(this.c.dom.button.dropHtml),h.conf.buttons&&(h.collection=x("<"+c.container.content.tag+"/>"),h.conf._collection=h.collection,this._expandButton(h.buttons,h.conf.buttons,h.conf.split,!a,a,s,h.conf)),h.conf.split){h.collection=x("<"+c.container.tag+"/>"),h.conf._collection=h.collection;for(var b=0;b<h.conf.split.length;b++){var g=h.conf.split[b];"object"==typeof g&&(g.parent=r,void 0===g.collectionLayout&&(g.collectionLayout=h.conf.collectionLayout),void 0===g.dropup&&(g.dropup=h.conf.dropup),void 0===g.fade)&&(g.fade=h.conf.fade)}this._expandButton(h.buttons,h.conf.buttons,h.conf.split,!a,a,s,h.conf)}h.conf.parent=r,p.init&&p.init.call(l.button(h.node),l,x(h.node),p)}}}},_buildButton:function(n,t,e,o){function i(t){return"function"==typeof t?t(f,c,n):t}var s,r,a,l,c,u=this,d=this.c.dom,f=this.s.dt,p=x.extend(!0,{},d.button);if(t&&e&&d.collection.split?x.extend(!0,p,d.collection.split.action):o||t?x.extend(!0,p,d.collection.button):e&&x.extend(!0,p,d.split.button),n.spacer)return d=x("<"+p.spacer.tag+"/>").addClass("dt-button-spacer "+n.style+" "+p.spacer.className).html(i(n.text)),{conf:n,node:d,inserter:d,buttons:[],inCollection:t,isSplit:e,collection:null,textNode:d};if(n.available&&!n.available(f,n)&&!n.html)return!1;n.html?c=x(n.html):(r=function(t,n,e,o,i){o.action.call(n.button(e),t,n,e,o,i),x(n.table().node()).triggerHandler("buttons-action.dt",[n.button(e),n,e,o])},a=function(t,n,e,o){o.async?(u.processing(e[0],!0),setTimeout(function(){r(t,n,e,o,function(){u.processing(e[0],!1)})},o.async)):r(t,n,e,o,function(){})},d=n.tag||p.tag,l=void 0===n.clickBlurs||n.clickBlurs,c=x("<"+d+"/>").addClass(p.className).attr("tabindex",this.s.dt.settings()[0].iTabIndex).attr("aria-controls",this.s.dt.table().node().id).on("click.dtb",function(t){t.preventDefault(),!c.hasClass(p.disabled)&&n.action&&a(t,f,c,n),l&&c.trigger("blur")}).on("keypress.dtb",function(t){13===t.keyCode&&(t.preventDefault(),!c.hasClass(p.disabled))&&n.action&&a(t,f,c,n)}),"a"===d.toLowerCase()&&c.attr("href","#"),"button"===d.toLowerCase()&&c.attr("type","button"),s=p.liner.tag?(d=x("<"+p.liner.tag+"/>").html(i(n.text)).addClass(p.liner.className),"a"===p.liner.tag.toLowerCase()&&d.attr("href","#"),c.append(d),d):(c.html(i(n.text)),c),!1===n.enabled&&c.addClass(p.disabled),n.className&&c.addClass(n.className),n.titleAttr&&c.attr("title",i(n.titleAttr)),n.attr&&c.attr(n.attr),n.namespace||(n.namespace=".dt-button-"+C++),void 0!==n.config&&n.config.split&&(n.split=n.config.split));var h,b,g,m,v,y,d=this.c.dom.buttonContainer,d=d&&d.tag?x("<"+d.tag+"/>").addClass(d.className).append(c):c;return this._addKey(n),this.c.buttonCreated&&(d=this.c.buttonCreated(n,d)),e&&(b=(h=t?x.extend(!0,this.c.dom.split,this.c.dom.collection.split):this.c.dom.split).wrapper,g=x("<"+b.tag+"/>").addClass(b.className).append(c),m=x.extend(n,{autoClose:!0,align:h.dropdown.align,attr:{"aria-haspopup":"dialog","aria-expanded":!1},className:h.dropdown.className,closeButton:!1,splitAlignClass:h.dropdown.splitAlignClass,text:h.dropdown.text}),this._addKey(m),v=function(t,n,e,o){_.split.action.call(n.button(g),t,n,e,o),x(n.table().node()).triggerHandler("buttons-action.dt",[n.button(e),n,e,o]),e.attr("aria-expanded",!0)},y=x('<button class="'+h.dropdown.className+' dt-button"></button>').html(this.c.dom.button.dropHtml).addClass(this.c.dom.button.dropClass).on("click.dtb",function(t){t.preventDefault(),t.stopPropagation(),y.hasClass(p.disabled)||v(t,f,y,m),l&&y.trigger("blur")}).on("keypress.dtb",function(t){13===t.keyCode&&(t.preventDefault(),y.hasClass(p.disabled)||v(t,f,y,m))}),0===n.split.length&&y.addClass("dtb-hide-drop"),g.append(y).attr(m.attr)),{conf:n,node:(e?g:c).get(0),inserter:e?g:d,buttons:[],inCollection:t,isSplit:e,inSplit:o,collection:null,textNode:s}},_checkSplitEnable:function(t){t=t||this.s.buttons;for(var n=0;n<t.length;n++){var e,o=t[n];o.isSplit?(e=o.node.childNodes[1],(this._checkAnyEnabled(o.buttons)?x(e).removeClass(this.c.dom.button.disabled):x(e).addClass(this.c.dom.button.disabled)).prop("disabled",!1)):o.isCollection&&this._checkSplitEnable(o.buttons)}},_checkAnyEnabled:function(t){for(var n=0;n<t.length;n++)if(!t[n].disabled)return!0;return!1},_nodeToButton:function(t,n){for(var e=0,o=(n=n||this.s.buttons).length;e<o;e++){if(n[e].node===t||x(n[e].node).children().eq(0).get(0)===t)return n[e];if(n[e].buttons.length){var i=this._nodeToButton(t,n[e].buttons);if(i)return i}}},_nodeToHost:function(t,n){for(var e=0,o=(n=n||this.s.buttons).length;e<o;e++){if(n[e].node===t)return n;if(n[e].buttons.length){var i=this._nodeToHost(t,n[e].buttons);if(i)return i}}},_keypress:function(s,r){var a;r._buttonsHandled||(a=function(t){for(var n,e,o=0,i=t.length;o<i;o++)n=t[o].conf,e=t[o].node,!n.key||n.key!==s&&(!x.isPlainObject(n.key)||n.key.key!==s||n.key.shiftKey&&!r.shiftKey||n.key.altKey&&!r.altKey||n.key.ctrlKey&&!r.ctrlKey||n.key.metaKey&&!r.metaKey)||(r._buttonsHandled=!0,x(e).click()),t[o].buttons.length&&a(t[o].buttons)})(this.s.buttons)},_removeKey:function(t){var n;t.key&&(t=(x.isPlainObject(t.key)?t.key:t).key,n=this.s.listenKeys.split(""),t=x.inArray(t,n),n.splice(t,1),this.s.listenKeys=n.join(""))},_resolveExtends:function(e){function t(t){for(var n=0;!x.isPlainObject(t)&&!Array.isArray(t);){if(void 0===t)return;if("function"==typeof t){if(!(t=t.call(i,s,e)))return!1}else if("string"==typeof t){if(!_[t])return{html:t};t=_[t]}if(30<++n)throw"Buttons: Too many iterations"}return Array.isArray(t)?t:x.extend({},t)}var n,o,i=this,s=this.s.dt;for(e=t(e);e&&e.extend;){if(!_[e.extend])throw"Cannot extend unknown button type: "+e.extend;var r=t(_[e.extend]);if(Array.isArray(r))return r;if(!r)return!1;var a=r.className;void 0!==e.config&&void 0!==r.config&&(e.config=x.extend({},r.config,e.config)),e=x.extend({},r,e),a&&e.className!==a&&(e.className=a+" "+e.className),e.extend=r.extend}var l=e.postfixButtons;if(l)for(e.buttons||(e.buttons=[]),n=0,o=l.length;n<o;n++)e.buttons.push(l[n]);var c=e.prefixButtons;if(c)for(e.buttons||(e.buttons=[]),n=0,o=c.length;n<o;n++)e.buttons.splice(n,0,c[n]);return e},_popover:function(o,t,n){function i(){p=!0,w(x(b),h.fade,function(){x(this).detach()}),x(d.buttons('[aria-haspopup="dialog"][aria-expanded="true"]').nodes()).attr("aria-expanded","false"),x("div.dt-button-background").off("click.dtb-collection"),A.background(!1,h.backgroundClassName,h.fade,g),x(m).off("resize.resize.dtb-collection"),x("body").off(".dtb-collection"),d.off("buttons-action.b-internal"),d.off("destroy"),x("body").trigger("buttons-popover-hide.dt")}var e,s,r,a,l,c,u,d=t,f=this.c,p=!1,h=x.extend({align:"button-left",autoClose:!1,background:!0,backgroundClassName:"dt-button-background",closeButton:!0,containerClassName:f.dom.collection.container.className,contentClassName:f.dom.collection.container.content.className,collectionLayout:"",collectionTitle:"",dropup:!1,fade:400,popoverTitle:"",rightAlignClassName:"dt-button-right",tag:f.dom.collection.container.tag},n),b=h.tag+"."+h.containerClassName.replace(/ /g,"."),f=t.node(),g=h.collectionLayout.includes("fixed")?x("body"):t.node();!1===o?i():((n=x(d.buttons('[aria-haspopup="dialog"][aria-expanded="true"]').nodes())).length&&(g.closest(b).length&&(g=n.eq(0)),i()),h.sort&&((n=x("button",o).map(function(t,n){return{text:x(n).text(),el:n}}).toArray()).sort(function(t,n){return t.text.localeCompare(n.text)}),x(o).append(n.map(function(t){return t.el}))),n=x(".dt-button",o).length,a="",3===n?a="dtb-b3":2===n?a="dtb-b2":1===n&&(a="dtb-b1"),e=x("<"+h.tag+"/>").addClass(h.containerClassName).addClass(h.collectionLayout).addClass(h.splitAlignClass).addClass(a).css("display","none").attr({"aria-modal":!0,role:"dialog"}),o=x(o).addClass(h.contentClassName).attr("role","menu").appendTo(e),f.attr("aria-expanded","true"),g.parents("body")[0]!==v.body&&(g=v.body.lastChild),h.popoverTitle?e.prepend('<div class="dt-button-collection-title">'+h.popoverTitle+"</div>"):h.collectionTitle&&e.prepend('<div class="dt-button-collection-title">'+h.collectionTitle+"</div>"),h.closeButton&&e.prepend('<div class="dtb-popover-close">&times;</div>').addClass("dtb-collection-closeable"),y(e.insertAfter(g),h.fade),n=x(t.table().container()),a=e.css("position"),"container"!==h.span&&"dt-container"!==h.align||(g=g.parent(),e.css("width",n.width())),"absolute"===a?(f=x(g[0].offsetParent),t=g.position(),n=g.offset(),a=f.offset(),s=f.position(),r=m.getComputedStyle(f[0]),a.height=f.outerHeight(),a.width=f.width()+parseFloat(r.paddingLeft),a.right=a.left+a.width,a.bottom=a.top+a.height,a=t.top+g.outerHeight(),l=t.left,e.css({top:a,left:l}),r=m.getComputedStyle(e[0]),(c=e.offset()).height=e.outerHeight(),c.width=e.outerWidth(),c.right=c.left+c.width,c.bottom=c.top+c.height,c.marginTop=parseFloat(r.marginTop),c.marginBottom=parseFloat(r.marginBottom),h.dropup&&(a=t.top-c.height-c.marginTop-c.marginBottom),"button-right"!==h.align&&!e.hasClass(h.rightAlignClassName)||(l=t.left-c.width+g.outerWidth()),"dt-container"!==h.align&&"container"!==h.align||l<t.left&&(l=-t.left),s.left+l+c.width>x(m).width()&&(l=x(m).width()-c.width-s.left),n.left+l<0&&(l=-n.left),s.top+a+c.height>x(m).height()+x(m).scrollTop()&&(a=t.top-c.height-c.marginTop-c.marginBottom),f.offset().top+a<x(m).scrollTop()&&(a=t.top+g.outerHeight()),e.css({top:a,left:l})):((u=function(){var t=x(m).height()/2,n=e.height()/2;e.css("marginTop",-1*(n=t<n?t:n))})(),x(m).on("resize.dtb-collection",function(){u()})),h.background&&A.background(!0,h.backgroundClassName,h.fade,h.backgroundHost||g),x("div.dt-button-background").on("click.dtb-collection",function(){}),h.autoClose&&setTimeout(function(){d.on("buttons-action.b-internal",function(t,n,e,o){o[0]!==g[0]&&i()})},0),x(e).trigger("buttons-popover.dt"),d.on("destroy",i),setTimeout(function(){p=!1,x("body").on("click.dtb-collection",function(t){var n,e;!p&&(n=x.fn.addBack?"addBack":"andSelf",e=x(t.target).parent()[0],!x(t.target).parents()[n]().filter(o).length&&!x(e).hasClass("dt-buttons")||x(t.target).hasClass("dt-button-background"))&&i()}).on("keyup.dtb-collection",function(t){27===t.keyCode&&i()}).on("keydown.dtb-collection",function(t){var n=x("a, button",o),e=v.activeElement;9===t.keyCode&&(-1===n.index(e)?(n.first().focus(),t.preventDefault()):t.shiftKey?e===n[0]&&(n.last().focus(),t.preventDefault()):e===n.last()[0]&&(n.first().focus(),t.preventDefault()))})},0))}}),A.background=function(t,n,e,o){void 0===e&&(e=400),o=o||v.body,t?y(x("<div/>").addClass(n).css("display","none").insertAfter(o),e):w(x("div."+n),e,function(){x(this).removeClass(n).remove()})},A.instanceSelector=function(t,s){var r,a,l;return null==t?x.map(s,function(t){return t.inst}):(r=[],a=x.map(s,function(t){return t.name}),(l=function(t){var n;if(Array.isArray(t))for(var e=0,o=t.length;e<o;e++)l(t[e]);else if("string"==typeof t)-1!==t.indexOf(",")?l(t.split(",")):-1!==(n=x.inArray(t.trim(),a))&&r.push(s[n].inst);else if("number"==typeof t)r.push(s[t].inst);else if("object"==typeof t&&t.nodeName)for(var i=0;i<s.length;i++)s[i].inst.dom.container[0]===t&&r.push(s[i].inst);else"object"==typeof t&&r.push(t)})(t),r)},A.buttonSelector=function(t,n){for(var c=[],u=function(t,n,e){for(var o,i,s=0,r=n.length;s<r;s++)(o=n[s])&&(t.push({node:o.node,name:o.conf.name,idx:i=void 0!==e?e+s:s+""}),o.buttons)&&u(t,o.buttons,i+"-")},d=function(t,n){var e=[],o=(u(e,n.s.buttons),x.map(e,function(t){return t.node}));if(Array.isArray(t)||t instanceof x)for(s=0,r=t.length;s<r;s++)d(t[s],n);else if(null==t||"*"===t)for(s=0,r=e.length;s<r;s++)c.push({inst:n,node:e[s].node});else if("number"==typeof t)n.s.buttons[t]&&c.push({inst:n,node:n.s.buttons[t].node});else if("string"==typeof t)if(-1!==t.indexOf(","))for(var i=t.split(","),s=0,r=i.length;s<r;s++)d(i[s].trim(),n);else if(t.match(/^\d+(\-\d+)*$/)){var a=x.map(e,function(t){return t.idx});c.push({inst:n,node:e[x.inArray(t,a)].node})}else if(-1!==t.indexOf(":name")){var l=t.replace(":name","");for(s=0,r=e.length;s<r;s++)e[s].name===l&&c.push({inst:n,node:e[s].node})}else x(o).filter(t).each(function(){c.push({inst:n,node:this})});else"object"==typeof t&&t.nodeName&&-1!==(a=x.inArray(t,o))&&c.push({inst:n,node:o[a]})},e=0,o=t.length;e<o;e++){var i=t[e];d(n,i)}return c},A.stripData=function(t,n){return"string"==typeof t&&(t=A.stripHtmlScript(t),t=A.stripHtmlComments(t),n&&!n.stripHtml||(t=e.util.stripHtml(t)),n&&!n.trim||(t=t.trim()),n&&!n.stripNewlines||(t=t.replace(/\n/g," ")),n&&!n.decodeEntities||(t=i?i(t):(c.innerHTML=t,c.value)),!n||n.escapeExcelFormula)&&t.match(/^[=+\-@\t\r]/)&&(console.log("matching and updateing"),t="'"+t),t},A.entityDecoder=function(t){i=t},A.stripHtmlComments=function(t){for(var n;(t=(n=t).replace(/(<!--.*?--!?>)|(<!--[\S\s]+?--!?>)|(<!--[\S\s]*?$)/g,""))!==n;);return t},A.stripHtmlScript=function(t){for(var n;(t=(n=t).replace(/<script\b[^<]*(?:(?!<\/script[^>]*>)<[^<]*)*<\/script[^>]*>/gi,""))!==n;);return t},A.defaults={buttons:["copy","excel","csv","pdf","print"],name:"main",tabIndex:0,dom:{container:{tag:"div",className:"dt-buttons"},collection:{container:{className:"dt-button-collection",content:{className:"",tag:"div"},tag:"div"}},button:{tag:"button",className:"dt-button",active:"dt-button-active",disabled:"disabled",spacer:{className:"dt-button-spacer",tag:"span"},liner:{tag:"span",className:""},dropClass:"",dropHtml:'<span class="dt-button-down-arrow">&#x25BC;</span>'},split:{action:{className:"dt-button-split-drop-button dt-button",tag:"button"},dropdown:{align:"split-right",className:"dt-button-split-drop",splitAlignClass:"dt-button-split-left",tag:"button"},wrapper:{className:"dt-button-split",tag:"div"}}}},x.extend(_,{collection:{text:function(t){return t.i18n("buttons.collection","Collection")},className:"buttons-collection",closeButton:!(A.version="3.2.0"),dropIcon:!0,init:function(t,n){n.attr("aria-expanded",!1)},action:function(t,n,e,o){o._collection.parents("body").length?this.popover(!1,o):this.popover(o._collection,o),"keypress"===t.type&&x("a, button",o._collection).eq(0).focus()},attr:{"aria-haspopup":"dialog"}},split:{text:function(t){return t.i18n("buttons.split","Split")},className:"buttons-split",closeButton:!1,init:function(t,n){return n.attr("aria-expanded",!1)},action:function(t,n,e,o){this.popover(o._collection,o)},attr:{"aria-haspopup":"dialog"}},copy:function(){if(_.copyHtml5)return"copyHtml5"},csv:function(t,n){if(_.csvHtml5&&_.csvHtml5.available(t,n))return"csvHtml5"},excel:function(t,n){if(_.excelHtml5&&_.excelHtml5.available(t,n))return"excelHtml5"},pdf:function(t,n){if(_.pdfHtml5&&_.pdfHtml5.available(t,n))return"pdfHtml5"},pageLength:function(t){var n=t.settings()[0].aLengthMenu,e=[],o=[];if(Array.isArray(n[0]))e=n[0],o=n[1];else for(var i=0;i<n.length;i++){var s=n[i];x.isPlainObject(s)?(e.push(s.value),o.push(s.label)):(e.push(s),o.push(s))}return{extend:"collection",text:function(t){return t.i18n("buttons.pageLength",{"-1":"Show all rows",_:"Show %d rows"},t.page.len())},className:"buttons-page-length",autoClose:!0,buttons:x.map(e,function(s,t){return{text:o[t],className:"button-page-length",action:function(t,n){n.page.len(s).draw()},init:function(t,n,e){function o(){i.active(t.page.len()===s)}var i=this;t.on("length.dt"+e.namespace,o),o()},destroy:function(t,n,e){t.off("length.dt"+e.namespace)}}}),init:function(t,n,e){var o=this;t.on("length.dt"+e.namespace,function(){o.text(e.text)})},destroy:function(t,n,e){t.off("length.dt"+e.namespace)}}},spacer:{style:"empty",spacer:!0,text:function(t){return t.i18n("buttons.spacer","")}}}),e.Api.register("buttons()",function(n,e){void 0===e&&(e=n,n=void 0),this.selector.buttonGroup=n;var t=this.iterator(!0,"table",function(t){if(t._buttons)return A.buttonSelector(A.instanceSelector(n,t._buttons),e)},!0);return t._groupSelector=n,t}),e.Api.register("button()",function(t,n){t=this.buttons(t,n);return 1<t.length&&t.splice(1,t.length),t}),e.Api.registerPlural("buttons().active()","button().active()",function(n){return void 0===n?this.map(function(t){return t.inst.active(t.node)}):this.each(function(t){t.inst.active(t.node,n)})}),e.Api.registerPlural("buttons().action()","button().action()",function(n){return void 0===n?this.map(function(t){return t.inst.action(t.node)}):this.each(function(t){t.inst.action(t.node,n)})}),e.Api.registerPlural("buttons().collectionRebuild()","button().collectionRebuild()",function(e){return this.each(function(t){for(var n=0;n<e.length;n++)"object"==typeof e[n]&&(e[n].parentConf=t);t.inst.collectionRebuild(t.node,e)})}),e.Api.register(["buttons().enable()","button().enable()"],function(n){return this.each(function(t){t.inst.enable(t.node,n)})}),e.Api.register(["buttons().disable()","button().disable()"],function(){return this.each(function(t){t.inst.disable(t.node)})}),e.Api.register("button().index()",function(){var n=null;return this.each(function(t){t=t.inst.index(t.node);null!==t&&(n=t)}),n}),e.Api.registerPlural("buttons().nodes()","button().node()",function(){var n=x();return x(this.each(function(t){n=n.add(t.inst.node(t.node))})),n}),e.Api.registerPlural("buttons().processing()","button().processing()",function(n){return void 0===n?this.map(function(t){return t.inst.processing(t.node)}):this.each(function(t){t.inst.processing(t.node,n)})}),e.Api.registerPlural("buttons().text()","button().text()",function(n){return void 0===n?this.map(function(t){return t.inst.text(t.node)}):this.each(function(t){t.inst.text(t.node,n)})}),e.Api.registerPlural("buttons().trigger()","button().trigger()",function(){return this.each(function(t){t.inst.node(t.node).trigger("click")})}),e.Api.register("button().popover()",function(n,e){return this.map(function(t){return t.inst._popover(n,this.button(this[0].node),e)})}),e.Api.register("buttons().containers()",function(){var i=x(),s=this._groupSelector;return this.iterator(!0,"table",function(t){if(t._buttons)for(var n=A.instanceSelector(s,t._buttons),e=0,o=n.length;e<o;e++)i=i.add(n[e].container())}),i}),e.Api.register("buttons().container()",function(){return this.containers().eq(0)}),e.Api.register("button().add()",function(t,n,e){var o=this.context;return o.length&&(o=A.instanceSelector(this._groupSelector,o[0]._buttons)).length&&o[0].add(n,t,e),this.button(this._groupSelector,t)}),e.Api.register("buttons().destroy()",function(){return this.pluck("inst").unique().each(function(t){t.destroy()}),this}),e.Api.registerPlural("buttons().remove()","buttons().remove()",function(){return this.each(function(t){t.inst.remove(t.node)}),this}),e.Api.register("buttons.info()",function(t,n,e){var o=this;return!1===t?(this.off("destroy.btn-info"),w(x("#datatables_buttons_info"),400,function(){x(this).remove()}),clearTimeout(s),s=null):(s&&clearTimeout(s),x("#datatables_buttons_info").length&&x("#datatables_buttons_info").remove(),t=t?"<h2>"+t+"</h2>":"",y(x('<div id="datatables_buttons_info" class="dt-button-info"/>').html(t).append(x("<div/>")["string"==typeof n?"html":"append"](n)).css("display","none").appendTo("body")),void 0!==e&&0!==e&&(s=setTimeout(function(){o.buttons.info(!1)},e)),this.on("destroy.btn-info",function(){o.buttons.info(!1)})),this}),e.Api.register("buttons.exportData()",function(t){if(this.context.length)return u(new e.Api(this.context[0]),t)}),e.Api.register("buttons.exportInfo()",function(t){return{filename:n(t=t||{},this),title:a(t,this),messageTop:l(this,t,t.message||t.messageTop,"top"),messageBottom:l(this,t,t.messageBottom,"bottom")}});var s,n=function(t,n){var e;return null==(e="function"==typeof(e="*"===t.filename&&"*"!==t.title&&void 0!==t.title&&null!==t.title&&""!==t.title?t.title:t.filename)?e(t,n):e)?null:(e=(e=-1!==e.indexOf("*")?e.replace(/\*/g,x("head > title").text()).trim():e).replace(/[^a-zA-Z0-9_\u00A1-\uFFFF\.,\-_ !\(\)]/g,""))+(r(t.extension,t,n)||"")},r=function(t,n,e){return null==t?null:"function"==typeof t?t(n,e):t},a=function(t,n){t=r(t.title,t,n);return null===t?null:-1!==t.indexOf("*")?t.replace(/\*/g,x("head > title").text()||"Exported data"):t},l=function(t,n,e,o){e=r(e,n,t);return null===e?null:(n=x("caption",t.table().container()).eq(0),"*"===e?n.css("caption-side")!==o?null:n.length?n.text():"":e)},c=x("<textarea/>")[0],u=function(i,t){for(var s=x.extend(!0,{},{rows:null,columns:"",modifier:{search:"applied",order:"applied"},orthogonal:"display",stripHtml:!0,stripNewlines:!0,decodeEntities:!0,escapeExcelFormula:!1,trim:!0,format:{header:function(t){return A.stripData(t,s)},footer:function(t){return A.stripData(t,s)},body:function(t){return A.stripData(t,s)}},customizeData:null,customizeZip:null},t),t=i.columns(s.columns).indexes().map(function(t){var n=i.column(t);return s.format.header(n.title(),t,n.header())}).toArray(),n=i.table().footer()?i.columns(s.columns).indexes().map(function(t){var n,e=i.column(t).footer(),o="";return e&&(o=((n=x(".dt-column-title",e)).length?n:x(e)).html()),s.format.footer(o,t,e)}).toArray():null,e=x.extend({},s.modifier),o=(i.select&&"function"==typeof i.select.info&&void 0===e.selected&&i.rows(s.rows,x.extend({selected:!0},e)).any()&&x.extend(e,{selected:!0}),i.rows(s.rows,e).indexes().toArray()),o=i.cells(o,s.columns,{order:e.order}),r=o.render(s.orthogonal).toArray(),a=o.nodes().toArray(),l=o.indexes().toArray(),c=i.columns(s.columns).count(),u=[],d=0,f=0,p=0<c?r.length/c:0;f<p;f++){for(var h=[c],b=0;b<c;b++)h[b]=s.format.body(r[d],l[d].row,l[d].column,a[d]),d++;u[f]=h}e={header:t,headerStructure:g(s.format.header,i.table().header.structure(s.columns)),footer:n,footerStructure:g(s.format.footer,i.table().footer.structure(s.columns)),body:u};return s.customizeData&&s.customizeData(e),e};function g(t,n){for(var e=0;e<n.length;e++)for(var o=0;o<n[e].length;o++){var i=n[e][o];i&&(i.title=t(i.title,o,i.cell))}return n}function t(t,n){t=new e.Api(t),n=n||t.init().buttons||e.defaults.buttons;return new A(t,n).container()}return x.fn.dataTable.Buttons=A,x.fn.DataTable.Buttons=A,x(v).on("init.dt plugin-init.dt",function(t,n){"dt"===t.namespace&&(t=n.oInit.buttons||e.defaults.buttons)&&!n._buttons&&new A(n,t).container()}),e.ext.feature.push({fnInit:t,cFeature:"B"}),e.feature&&e.feature.register("buttons",t),e});
 
+/*! Bootstrap integration for DataTables' Buttons
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(e){var o,a;"function"==typeof define&&define.amd?define(["jquery","datatables.net-bs5","datatables.net-buttons"],function(t){return e(t,window,document)}):"object"==typeof exports?(o=require("jquery"),a=function(t,n){n.fn.dataTable||require("datatables.net-bs5")(t,n),n.fn.dataTable.Buttons||require("datatables.net-buttons")(t,n)},"undefined"==typeof window?module.exports=function(t,n){return t=t||window,n=n||o(t),a(t,n),e(n,0,t.document)}:(a(window,o),module.exports=e(o,window,window.document))):e(jQuery,window,document)}(function(e,t,n){"use strict";var o=e.fn.dataTable;return e.extend(!0,o.Buttons.defaults,{dom:{container:{className:"dt-buttons btn-group flex-wrap"},button:{className:"btn btn-secondary",active:"active",dropHtml:"",dropClass:"dropdown-toggle"},collection:{container:{tag:"div",className:"dropdown-menu dt-button-collection"},closeButton:!1,button:{tag:"a",className:"dt-button dropdown-item",active:"dt-button-active",disabled:"disabled",spacer:{className:"dropdown-divider",tag:"hr"}}},split:{action:{tag:"a",className:"btn btn-secondary dt-button-split-drop-button",closeButton:!1},dropdown:{tag:"button",className:"btn btn-secondary dt-button-split-drop dropdown-toggle-split",closeButton:!1,align:"split-left",splitAlignClass:"dt-button-split-left"},wrapper:{tag:"div",className:"dt-button-split btn-group",closeButton:!1}}},buttonCreated:function(t,n){return t.buttons?e('<div class="btn-group"/>').append(n):n}}),o.ext.buttons.collection.rightAlignClassName="dropdown-menu-right",o});
 
 /*!
- Print button for Buttons and DataTables.
- 2016 SpryMedia Ltd - datatables.net/license
-*/
-(function(c){"function"===typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(e){return c(e,window,document)}):"object"===typeof exports?module.exports=function(e,a){e||(e=window);a&&a.fn.dataTable||(a=require("datatables.net")(e,a).$);a.fn.dataTable.Buttons||require("datatables.net-buttons")(e,a);return c(a,e,e.document)}:c(jQuery,window,document)})(function(c,e,a,q){var k=c.fn.dataTable,d=a.createElement("a"),p=function(b){d.href=b;b=d.host;-1===b.indexOf("/")&&
-0!==d.pathname.indexOf("/")&&(b+="/");return d.protocol+"//"+b+d.pathname+d.search};k.ext.buttons.print={className:"buttons-print",text:function(b){return b.i18n("buttons.print","Print")},action:function(b,a,d,g){b=a.buttons.exportData(c.extend({decodeEntities:!1},g.exportOptions));d=a.buttons.exportInfo(g);var k=a.columns(g.exportOptions.columns).flatten().map(function(b){return a.settings()[0].aoColumns[a.column(b).index()].sClass}).toArray(),m=function(b,a){for(var d="<tr>",c=0,e=b.length;c<e;c++)d+=
-"<"+a+" "+(k[c]?'class="'+k[c]+'"':"")+">"+(null===b[c]||b[c]===q?"":b[c])+"</"+a+">";return d+"</tr>"},h='<table class="'+a.table().node().className+'">';g.header&&(h+="<thead>"+m(b.header,"th")+"</thead>");h+="<tbody>";for(var n=0,r=b.body.length;n<r;n++)h+=m(b.body[n],"td");h+="</tbody>";g.footer&&b.footer&&(h+="<tfoot>"+m(b.footer,"th")+"</tfoot>");h+="</table>";var f=e.open("","");f.document.close();var l="<title>"+d.title+"</title>";c("style, link").each(function(){var b=l,a=c(this).clone()[0];
-"link"===a.nodeName.toLowerCase()&&(a.href=p(a.href));l=b+a.outerHTML});try{f.document.head.innerHTML=l}catch(t){c(f.document.head).html(l)}f.document.body.innerHTML="<h1>"+d.title+"</h1><div>"+(d.messageTop||"")+"</div>"+h+"<div>"+(d.messageBottom||"")+"</div>";c(f.document.body).addClass("dt-print-view");c("img",f.document.body).each(function(b,a){a.setAttribute("src",p(a.getAttribute("src")))});g.customize&&g.customize(f,g,a);b=function(){g.autoPrint&&(f.print(),f.close())};navigator.userAgent.match(/Trident\/\d.\d/)?
-b():f.setTimeout(b,1E3)},title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!1,autoPrint:!0,customize:null};return k.Buttons});
-
+ * Column visibility buttons for Buttons and DataTables.
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(i){var o,e;"function"==typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(n){return i(n,window,document)}):"object"==typeof exports?(o=require("jquery"),e=function(n,t){t.fn.dataTable||require("datatables.net")(n,t),t.fn.dataTable.Buttons||require("datatables.net-buttons")(n,t)},"undefined"==typeof window?module.exports=function(n,t){return n=n||window,t=t||o(n),e(n,t),i(t,0,n.document)}:(e(window,o),module.exports=i(o,window,window.document))):i(jQuery,window,document)}(function(n,t,i){"use strict";var e=n.fn.dataTable;return n.extend(e.ext.buttons,{colvis:function(n,t){var i=null,o={extend:"collection",init:function(n,t){i=t},text:function(n){return n.i18n("buttons.colvis","Column visibility")},className:"buttons-colvis",closeButton:!1,buttons:[{extend:"columnsToggle",columns:t.columns,columnText:t.columnText}]};return n.on("column-reorder.dt"+t.namespace,function(){n.button(null,n.button(null,i).node()).collectionRebuild([{extend:"columnsToggle",columns:t.columns,columnText:t.columnText}])}),o},columnsToggle:function(n,t){return n.columns(t.columns).indexes().map(function(n){return{extend:"columnToggle",columns:n,columnText:t.columnText}}).toArray()},columnToggle:function(n,t){return{extend:"columnVisibility",columns:t.columns,columnText:t.columnText}},columnsVisibility:function(n,t){return n.columns(t.columns).indexes().map(function(n){return{extend:"columnVisibility",columns:n,visibility:t.visibility,columnText:t.columnText}}).toArray()},columnVisibility:{columns:void 0,text:function(n,t,i){return i._columnText(n,i)},className:"buttons-columnVisibility",action:function(n,t,i,o){var t=t.columns(o.columns),e=t.visible();t.visible(void 0!==o.visibility?o.visibility:!(e.length&&e[0]))},init:function(i,n,o){var e=this;n.attr("data-cv-idx",o.columns),i.on("column-visibility.dt"+o.namespace,function(n,t){t.bDestroying||t.nTable!=i.settings()[0].nTable||e.active(i.column(o.columns).visible())}).on("column-reorder.dt"+o.namespace,function(){o.destroying||1===i.columns(o.columns).count()&&(e.text(o._columnText(i,o)),e.active(i.column(o.columns).visible()))}),this.active(i.column(o.columns).visible())},destroy:function(n,t,i){n.off("column-visibility.dt"+i.namespace).off("column-reorder.dt"+i.namespace)},_columnText:function(n,t){var i,o;return"string"==typeof t.text?t.text:(o=n.column(t.columns).title(),i=n.column(t.columns).index(),o=o.replace(/\n/g," ").replace(/<br\s*\/?>/gi," ").replace(/<select(.*?)<\/select\s*>/gi,""),o=e.Buttons.stripHtmlComments(o),o=e.util.stripHtml(o).trim(),t.columnText?t.columnText(n,i,o):o)}},colvisRestore:{className:"buttons-colvisRestore",text:function(n){return n.i18n("buttons.colvisRestore","Restore visibility")},init:function(n,t,i){n.columns().every(function(){var n=this.init();void 0===n.__visOriginal&&(n.__visOriginal=this.visible())})},action:function(n,t,i,o){t.columns().every(function(n){var t=this.init();this.visible(t.__visOriginal)})}},colvisGroup:{className:"buttons-colvisGroup",action:function(n,t,i,o){t.columns(o.show).visible(!0,!1),t.columns(o.hide).visible(!1,!1),t.columns.adjust()},show:[],hide:[]}}),e});
 
 /*!
- FixedHeader 3.1.4
- ©2009-2018 SpryMedia Ltd - datatables.net/license
-*/
-(function(d){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(g){return d(g,window,document)}):"object"===typeof exports?module.exports=function(g,i){g||(g=window);if(!i||!i.fn.dataTable)i=require("datatables.net")(g,i).$;return d(i,g,g.document)}:d(jQuery,window,document)})(function(d,g,i,k){var j=d.fn.dataTable,l=0,h=function(a,b){if(!(this instanceof h))throw"FixedHeader must be initialised with the 'new' keyword.";!0===b&&(b={});a=new j.Api(a);this.c=d.extend(!0,
-{},h.defaults,b);this.s={dt:a,position:{theadTop:0,tbodyTop:0,tfootTop:0,tfootBottom:0,width:0,left:0,tfootHeight:0,theadHeight:0,windowHeight:d(g).height(),visible:!0},headerMode:null,footerMode:null,autoWidth:a.settings()[0].oFeatures.bAutoWidth,namespace:".dtfc"+l++,scrollLeft:{header:-1,footer:-1},enable:!0};this.dom={floatingHeader:null,thead:d(a.table().header()),tbody:d(a.table().body()),tfoot:d(a.table().footer()),header:{host:null,floating:null,placeholder:null},footer:{host:null,floating:null,
-placeholder:null}};this.dom.header.host=this.dom.thead.parent();this.dom.footer.host=this.dom.tfoot.parent();var e=a.settings()[0];if(e._fixedHeader)throw"FixedHeader already initialised on table "+e.nTable.id;e._fixedHeader=this;this._constructor()};d.extend(h.prototype,{enable:function(a){this.s.enable=a;this.c.header&&this._modeChange("in-place","header",!0);this.c.footer&&this.dom.tfoot.length&&this._modeChange("in-place","footer",!0);this.update()},headerOffset:function(a){a!==k&&(this.c.headerOffset=
-a,this.update());return this.c.headerOffset},footerOffset:function(a){a!==k&&(this.c.footerOffset=a,this.update());return this.c.footerOffset},update:function(){this._positions();this._scroll(!0)},_constructor:function(){var a=this,b=this.s.dt;d(g).on("scroll"+this.s.namespace,function(){a._scroll()}).on("resize"+this.s.namespace,j.util.throttle(function(){a.s.position.windowHeight=d(g).height();a.update()},50));var e=d(".fh-fixedHeader");!this.c.headerOffset&&e.length&&(this.c.headerOffset=e.outerHeight());
-e=d(".fh-fixedFooter");!this.c.footerOffset&&e.length&&(this.c.footerOffset=e.outerHeight());b.on("column-reorder.dt.dtfc column-visibility.dt.dtfc draw.dt.dtfc column-sizing.dt.dtfc responsive-display.dt.dtfc",function(){a.update()});b.on("destroy.dtfc",function(){a.c.header&&a._modeChange("in-place","header",true);a.c.footer&&a.dom.tfoot.length&&a._modeChange("in-place","footer",true);b.off(".dtfc");d(g).off(a.s.namespace)});this._positions();this._scroll()},_clone:function(a,b){var e=this.s.dt,
-c=this.dom[a],f="header"===a?this.dom.thead:this.dom.tfoot;!b&&c.floating?c.floating.removeClass("fixedHeader-floating fixedHeader-locked"):(c.floating&&(c.placeholder.remove(),this._unsize(a),c.floating.children().detach(),c.floating.remove()),c.floating=d(e.table().node().cloneNode(!1)).css("table-layout","fixed").attr("aria-hidden","true").removeAttr("id").append(f).appendTo("body"),c.placeholder=f.clone(!1),c.placeholder.find("*[id]").removeAttr("id"),c.host.prepend(c.placeholder),this._matchWidths(c.placeholder,
-c.floating))},_matchWidths:function(a,b){var e=function(b){return d(b,a).map(function(){return d(this).width()}).toArray()},c=function(a,c){d(a,b).each(function(a){d(this).css({width:c[a],minWidth:c[a]})})},f=e("th"),e=e("td");c("th",f);c("td",e)},_unsize:function(a){var b=this.dom[a].floating;b&&("footer"===a||"header"===a&&!this.s.autoWidth)?d("th, td",b).css({width:"",minWidth:""}):b&&"header"===a&&d("th, td",b).css("min-width","")},_horizontal:function(a,b){var e=this.dom[a],c=this.s.position,
-d=this.s.scrollLeft;e.floating&&d[a]!==b&&(e.floating.css("left",c.left-b),d[a]=b)},_modeChange:function(a,b,e){var c=this.dom[b],f=this.s.position,g=this.dom["footer"===b?"tfoot":"thead"],h=d.contains(g[0],i.activeElement)?i.activeElement:null;h&&h.blur();if("in-place"===a){if(c.placeholder&&(c.placeholder.remove(),c.placeholder=null),this._unsize(b),"header"===b?c.host.prepend(g):c.host.append(g),c.floating)c.floating.remove(),c.floating=null}else"in"===a?(this._clone(b,e),c.floating.addClass("fixedHeader-floating").css("header"===
-b?"top":"bottom",this.c[b+"Offset"]).css("left",f.left+"px").css("width",f.width+"px"),"footer"===b&&c.floating.css("top","")):"below"===a?(this._clone(b,e),c.floating.addClass("fixedHeader-locked").css("top",f.tfootTop-f.theadHeight).css("left",f.left+"px").css("width",f.width+"px")):"above"===a&&(this._clone(b,e),c.floating.addClass("fixedHeader-locked").css("top",f.tbodyTop).css("left",f.left+"px").css("width",f.width+"px"));h&&h!==i.activeElement&&setTimeout(function(){h.focus()},10);this.s.scrollLeft.header=
--1;this.s.scrollLeft.footer=-1;this.s[b+"Mode"]=a},_positions:function(){var a=this.s.dt.table(),b=this.s.position,e=this.dom,a=d(a.node()),c=a.children("thead"),f=a.children("tfoot"),e=e.tbody;b.visible=a.is(":visible");b.width=a.outerWidth();b.left=a.offset().left;b.theadTop=c.offset().top;b.tbodyTop=e.offset().top;b.theadHeight=b.tbodyTop-b.theadTop;f.length?(b.tfootTop=f.offset().top,b.tfootBottom=b.tfootTop+f.outerHeight(),b.tfootHeight=b.tfootBottom-b.tfootTop):(b.tfootTop=b.tbodyTop+e.outerHeight(),
-b.tfootBottom=b.tfootTop,b.tfootHeight=b.tfootTop)},_scroll:function(a){var b=d(i).scrollTop(),e=d(i).scrollLeft(),c=this.s.position,f;if(this.s.enable&&(this.c.header&&(f=!c.visible||b<=c.theadTop-this.c.headerOffset?"in-place":b<=c.tfootTop-c.theadHeight-this.c.headerOffset?"in":"below",(a||f!==this.s.headerMode)&&this._modeChange(f,"header",a),this._horizontal("header",e)),this.c.footer&&this.dom.tfoot.length))b=!c.visible||b+c.windowHeight>=c.tfootBottom+this.c.footerOffset?"in-place":c.windowHeight+
-b>c.tbodyTop+c.tfootHeight+this.c.footerOffset?"in":"above",(a||b!==this.s.footerMode)&&this._modeChange(b,"footer",a),this._horizontal("footer",e)}});h.version="3.1.4";h.defaults={header:!0,footer:!1,headerOffset:0,footerOffset:0};d.fn.dataTable.FixedHeader=h;d.fn.DataTable.FixedHeader=h;d(i).on("init.dt.dtfh",function(a,b){if("dt"===a.namespace){var e=b.oInit.fixedHeader,c=j.defaults.fixedHeader;if((e||c)&&!b._fixedHeader)c=d.extend({},c,e),!1!==e&&new h(b,c)}});j.Api.register("fixedHeader()",function(){});
-j.Api.register("fixedHeader.adjust()",function(){return this.iterator("table",function(a){(a=a._fixedHeader)&&a.update()})});j.Api.register("fixedHeader.enable()",function(a){return this.iterator("table",function(b){b=b._fixedHeader;a=a!==k?a:!0;b&&a!==b.s.enable&&b.enable(a)})});j.Api.register("fixedHeader.disable()",function(){return this.iterator("table",function(a){(a=a._fixedHeader)&&a.s.enable&&a.enable(!1)})});d.each(["header","footer"],function(a,b){j.Api.register("fixedHeader."+b+"Offset()",
-function(a){var c=this.context;return a===k?c.length&&c[0]._fixedHeader?c[0]._fixedHeader[b+"Offset"]():k:this.iterator("table",function(c){if(c=c._fixedHeader)c[b+"Offset"](a)})})});return h});
-
+ * HTML5 export buttons for Buttons and DataTables.
+ * © SpryMedia Ltd - datatables.net/license
+ *
+ * FileSaver.js (1.3.3) - MIT license
+ * Copyright © 2016 Eli Grey - http://eligrey.com
+ */
+!function(o){var l,n;"function"==typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(t){return o(t,window,document)}):"object"==typeof exports?(l=require("jquery"),n=function(t,e){e.fn.dataTable||require("datatables.net")(t,e),e.fn.dataTable.Buttons||require("datatables.net-buttons")(t,e)},"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||l(t),n(t,e),o(e,t,t.document)}:(n(window,l),module.exports=o(l,window,window.document))):o(jQuery,window,document)}(function(S,C,u){"use strict";var e,o,t=S.fn.dataTable;function T(){return e||C.JSZip}function s(){return o||C.pdfMake}t.Buttons.pdfMake=function(t){if(!t)return s();o=t},t.Buttons.jszip=function(t){if(!t)return T();e=t};function k(t){var e="Sheet1";return e=t.sheetName?t.sheetName.replace(/[\[\]\*\/\\\?\:]/g,""):e}function c(t,e){function o(t){for(var e="",o=0,l=t.length;o<l;o++)0<o&&(e+=a),e+=r?r+(""+t[o]).replace(d,p+r)+r:t[o];return e}var l=y(e),n=t.buttons.exportData(e.exportOptions),r=e.fieldBoundary,a=e.fieldSeparator,d=new RegExp(r,"g"),p=void 0!==e.escapeChar?e.escapeChar:"\\",t="",i="",f=[];e.header&&(t=n.headerStructure.map(function(t){return o(t.map(function(t){return t?t.title:""}))}).join(l)+l),e.footer&&n.footer&&(i=n.footerStructure.map(function(t){return o(t.map(function(t){return t?t.title:""}))}).join(l)+l);for(var s=0,m=n.body.length;s<m;s++)f.push(o(n.body[s]));return{str:t+f.join(l)+l+i,rows:f.length}}function m(){var t;return-1!==navigator.userAgent.indexOf("Safari")&&-1===navigator.userAgent.indexOf("Chrome")&&-1===navigator.userAgent.indexOf("Opera")&&!!((t=navigator.userAgent.match(/AppleWebKit\/(\d+\.\d+)/))&&1<t.length&&+t[1]<603.1)}var N=function(d){var p,i,f,s,m,u,e,c,y,l,t;if(!(void 0===d||"undefined"!=typeof navigator&&/MSIE [1-9]\./.test(navigator.userAgent)))return t=d.document,p=function(){return d.URL||d.webkitURL||d},i=t.createElementNS("http://www.w3.org/1999/xhtml","a"),f="download"in i,s=/constructor/i.test(d.HTMLElement)||d.safari,m=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(d.setImmediate||d.setTimeout)(function(){throw t},0)},e=4e4,c=function(t){setTimeout(function(){"string"==typeof t?p().revokeObjectURL(t):t.remove()},e)},y=function(t){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t},t=(l=function(t,o,e){e||(t=y(t));var l,n,r=this,e="application/octet-stream"===t.type,a=function(){for(var t=r,e="writestart progress write writeend".split(" "),o=void 0,l=(e=[].concat(e)).length;l--;){var n=t["on"+e[l]];if("function"==typeof n)try{n.call(t,o||t)}catch(t){u(t)}}};r.readyState=r.INIT,f?(l=p().createObjectURL(t),setTimeout(function(){var t,e;i.href=l,i.download=o,t=i,e=new MouseEvent("click"),t.dispatchEvent(e),a(),c(l),r.readyState=r.DONE})):(m||e&&s)&&d.FileReader?((n=new FileReader).onloadend=function(){var t=m?n.result:n.result.replace(/^data:[^;]*;/,"data:attachment/file;");d.open(t,"_blank")||(d.location.href=t),r.readyState=r.DONE,a()},n.readAsDataURL(t),r.readyState=r.INIT):(l=l||p().createObjectURL(t),!e&&d.open(l,"_blank")||(d.location.href=l),r.readyState=r.DONE,a(),c(l))}).prototype,"undefined"!=typeof navigator&&navigator.msSaveOrOpenBlob?function(t,e,o){return e=e||t.name||"download",o||(t=y(t)),navigator.msSaveOrOpenBlob(t,e)}:(t.abort=function(){},t.readyState=t.INIT=0,t.WRITING=1,t.DONE=2,t.error=t.onwritestart=t.onprogress=t.onwrite=t.onabort=t.onerror=t.onwriteend=null,function(t,e,o){return new l(t,e||t.name||"download",o)})}("undefined"!=typeof self&&self||void 0!==C&&C||this.content),y=(t.fileSave=N,function(t){return t.newline||(navigator.userAgent.match(/Windows/)?"\r\n":"\n")});function O(t){for(var e="A".charCodeAt(0),o="Z".charCodeAt(0)-e+1,l="";0<=t;)l=String.fromCharCode(t%o+e)+l,t=Math.floor(t/o)-1;return l}try{var z,E=new XMLSerializer}catch(t){}function A(t,e,o){var l=t.createElement(e);return o&&(o.attr&&S(l).attr(o.attr),o.children&&S.each(o.children,function(t,e){l.appendChild(e)}),null!==o.text)&&void 0!==o.text&&l.appendChild(t.createTextNode(o.text)),l}function D(t,e,o,l,n){var r=S("mergeCells",t);r[0].appendChild(A(t,"mergeCell",{attr:{ref:O(o)+e+":"+O(o+n-1)+(e+l-1)}})),r.attr("count",parseFloat(r.attr("count"))+1)}var R={"_rels/.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="xl/workbook.xml"/></Relationships>',"xl/_rels/workbook.xml.rels":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet" Target="worksheets/sheet1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>',"[Content_Types].xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="xml" ContentType="application/xml" /><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml" /><Default Extension="jpeg" ContentType="image/jpeg" /><Override PartName="/xl/workbook.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" /><Override PartName="/xl/worksheets/sheet1.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" /><Override PartName="/xl/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" /></Types>',"xl/workbook.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><fileVersion appName="xl" lastEdited="5" lowestEdited="5" rupBuild="24816"/><workbookPr showInkAnnotation="0" autoCompressPictures="0"/><bookViews><workbookView xWindow="0" yWindow="0" windowWidth="25600" windowHeight="19020" tabRatio="500"/></bookViews><sheets><sheet name="Sheet1" sheetId="1" r:id="rId1"/></sheets><definedNames/></workbook>',"xl/worksheets/sheet1.xml":'<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><sheetData/><mergeCells count="0"/></worksheet>',"xl/styles.xml":'<?xml version="1.0" encoding="UTF-8"?><styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"><numFmts count="6"><numFmt numFmtId="164" formatCode="[$$-409]#,##0.00;-[$$-409]#,##0.00"/><numFmt numFmtId="165" formatCode="&quot;£&quot;#,##0.00"/><numFmt numFmtId="166" formatCode="[$€-2] #,##0.00"/><numFmt numFmtId="167" formatCode="0.0%"/><numFmt numFmtId="168" formatCode="#,##0;(#,##0)"/><numFmt numFmtId="169" formatCode="#,##0.00;(#,##0.00)"/></numFmts><fonts count="5" x14ac:knownFonts="1"><font><sz val="11" /><name val="Calibri" /></font><font><sz val="11" /><name val="Calibri" /><color rgb="FFFFFFFF" /></font><font><sz val="11" /><name val="Calibri" /><b /></font><font><sz val="11" /><name val="Calibri" /><i /></font><font><sz val="11" /><name val="Calibri" /><u /></font></fonts><fills count="6"><fill><patternFill patternType="none" /></fill><fill><patternFill patternType="none" /></fill><fill><patternFill patternType="solid"><fgColor rgb="FFD9D9D9" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="FFD99795" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="ffc6efce" /><bgColor indexed="64" /></patternFill></fill><fill><patternFill patternType="solid"><fgColor rgb="ffc6cfef" /><bgColor indexed="64" /></patternFill></fill></fills><borders count="2"><border><left /><right /><top /><bottom /><diagonal /></border><border diagonalUp="false" diagonalDown="false"><left style="thin"><color auto="1" /></left><right style="thin"><color auto="1" /></right><top style="thin"><color auto="1" /></top><bottom style="thin"><color auto="1" /></bottom><diagonal /></border></borders><cellStyleXfs count="1"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" /></cellStyleXfs><cellXfs count="68"><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="2" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="3" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="4" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="5" borderId="0" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="0" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="2" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="3" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="4" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="1" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="2" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="3" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="4" fillId="5" borderId="1" applyFont="1" applyFill="1" applyBorder="1"/><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="left"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="center"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="right"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment horizontal="fill"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment textRotation="90"/></xf><xf numFmtId="0" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyAlignment="1"><alignment wrapText="1"/></xf><xf numFmtId="9"   fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="164" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="165" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="166" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="167" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="168" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="169" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="3" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="4" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="1" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="2" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/><xf numFmtId="14" fontId="0" fillId="0" borderId="0" applyFont="1" applyFill="1" applyBorder="1" xfId="0" applyNumberFormat="1"/></cellXfs><cellStyles count="1"><cellStyle name="Normal" xfId="0" builtinId="0" /></cellStyles><dxfs count="0" /><tableStyles count="0" defaultTableStyle="TableStyleMedium9" defaultPivotStyle="PivotStyleMedium4" /></styleSheet>'},_=[{match:/^\-?\d+\.\d%$/,style:60,fmt:function(t){return t/100}},{match:/^\-?\d+\.?\d*%$/,style:56,fmt:function(t){return t/100}},{match:/^\-?\$[\d,]+.?\d*$/,style:57},{match:/^\-?£[\d,]+.?\d*$/,style:58},{match:/^\-?€[\d,]+.?\d*$/,style:59},{match:/^\-?\d+$/,style:65},{match:/^\-?\d+\.\d{2}$/,style:66},{match:/^\([\d,]+\)$/,style:61,fmt:function(t){return-1*t.replace(/[\(\)]/g,"")}},{match:/^\([\d,]+\.\d{2}\)$/,style:62,fmt:function(t){return-1*t.replace(/[\(\)]/g,"")}},{match:/^\-?[\d,]+$/,style:63},{match:/^\-?[\d,]+\.\d{2}$/,style:64},{match:/^(19\d\d|[2-9]\d\d\d)\-(0\d|1[012])\-[0123][\d]$/,style:67,fmt:function(t){return Math.round(25569+Date.parse(t)/864e5)}}];return t.ext.buttons.copyHtml5={className:"buttons-copy buttons-html5",text:function(t){return t.i18n("buttons.copy","Copy")},action:function(t,e,o,l,n){var r=c(e,l),a=e.buttons.exportInfo(l),d=y(l),p=r.str,i=S("<div/>").css({height:1,width:1,overflow:"hidden",position:"fixed",top:0,left:0}),d=(a.title&&(p=a.title+d+d+p),a.messageTop&&(p=a.messageTop+d+d+p),a.messageBottom&&(p=p+d+d+a.messageBottom),l.customize&&(p=l.customize(p,l,e)),S("<textarea readonly/>").val(p).appendTo(i));if(u.queryCommandSupported("copy")){i.appendTo(e.table().container()),d[0].focus(),d[0].select();try{var f=u.execCommand("copy");if(i.remove(),f)return l.copySuccess&&e.buttons.info(e.i18n("buttons.copyTitle","Copy to clipboard"),e.i18n("buttons.copySuccess",{1:"Copied one row to clipboard",_:"Copied %d rows to clipboard"},r.rows),2e3),void n()}catch(t){}}function s(){m.off("click.buttons-copy"),S(u).off(".buttons-copy"),e.buttons.info(!1)}var a=S("<span>"+e.i18n("buttons.copyKeys","Press <i>ctrl</i> or <i>⌘</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>To cancel, click this message or press escape.")+"</span>").append(i),m=(e.buttons.info(e.i18n("buttons.copyTitle","Copy to clipboard"),a,0),d[0].focus(),d[0].select(),S(a).closest(".dt-button-info"));m.on("click.buttons-copy",function(){s(),n()}),S(u).on("keydown.buttons-copy",function(t){27===t.keyCode&&(s(),n())}).on("copy.buttons-copy cut.buttons-copy",function(){s(),n()})},async:100,copySuccess:!0,exportOptions:{},fieldSeparator:"\t",fieldBoundary:"",header:!0,footer:!0,title:"*",messageTop:"*",messageBottom:"*"},t.ext.buttons.csvHtml5={bom:!1,className:"buttons-csv buttons-html5",available:function(){return void 0!==C.FileReader&&C.Blob},text:function(t){return t.i18n("buttons.csv","CSV")},action:function(t,e,o,l,n){var r=c(e,l).str,a=e.buttons.exportInfo(l),d=l.charset;l.customize&&(r=l.customize(r,l,e)),d=!1!==d?(d=d||u.characterSet||u.charset)&&";charset="+d:"",l.bom&&(r=String.fromCharCode(65279)+r),N(new Blob([r],{type:"text/csv"+d}),a.filename,!0),n()},async:100,filename:"*",extension:".csv",exportOptions:{escapeExcelFormula:!0},fieldSeparator:",",fieldBoundary:'"',escapeChar:'"',charset:null,header:!0,footer:!0},t.ext.buttons.excelHtml5={className:"buttons-excel buttons-html5",available:function(){return void 0!==C.FileReader&&void 0!==T()&&!m()&&E},text:function(t){return t.i18n("buttons.excel","Excel")},action:function(t,e,o,f,l){function n(t){return t=R[t],S.parseXML(t)}function r(t){m=A(c,"row",{attr:{r:s=u+1}});for(var e=0,o=t.length;e<o;e++){var l=O(e)+""+s,n=null;if(null===t[e]||void 0===t[e]||""===t[e]){if(!0!==f.createEmptyCells)continue;t[e]=""}var r=t[e];t[e]="function"==typeof t[e].trim?t[e].trim():t[e];for(var a=0,d=_.length;a<d;a++){var p=_[a];if(t[e].match&&!t[e].match(/^0\d+/)&&t[e].match(p.match)){var i=t[e].replace(/[^\d\.\-]/g,"");p.fmt&&(i=p.fmt(i)),n=A(c,"c",{attr:{r:l,s:p.style},children:[A(c,"v",{text:i})]});break}}n=n||("number"==typeof t[e]||t[e].match&&t[e].match(/^-?\d+(\.\d+)?([eE]\-?\d+)?$/)&&!t[e].match(/^0\d+/)?A(c,"c",{attr:{t:"n",r:l},children:[A(c,"v",{text:t[e]})]}):(r=r.replace?r.replace(/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F-\x9F]/g,""):r,A(c,"c",{attr:{t:"inlineStr",r:l},children:{row:A(c,"is",{children:{row:A(c,"t",{text:r,attr:{"xml:space":"preserve"}})}})}}))),m.appendChild(n)}y.appendChild(m),u++}function a(t){t.forEach(function(t){r(t.map(function(t){return t?t.title:""})),S("row:last c",c).attr("s","2"),t.forEach(function(t,e){t&&(1<t.colSpan||1<t.rowSpan)&&D(c,u,e,t.rowSpan,t.colSpan)})})}var d,s,m,u=0,c=n("xl/worksheets/sheet1.xml"),y=c.getElementsByTagName("sheetData")[0],p={_rels:{".rels":n("_rels/.rels")},xl:{_rels:{"workbook.xml.rels":n("xl/_rels/workbook.xml.rels")},"workbook.xml":n("xl/workbook.xml"),"styles.xml":n("xl/styles.xml"),worksheets:{"sheet1.xml":c}},"[Content_Types].xml":n("[Content_Types].xml")},i=e.buttons.exportData(f.exportOptions),I=e.buttons.exportInfo(f);I.title&&(r([I.title]),D(c,u,0,1,i.header.length),S("row:last c",c).attr("s","51")),I.messageTop&&(r([I.messageTop]),D(c,u,0,1,i.header.length)),f.header&&a(i.headerStructure);for(var F=u,x=0,h=i.body.length;x<h;x++)r(i.body[x]);d=u,f.footer&&i.footer&&a(i.footerStructure),I.messageBottom&&(r([I.messageBottom]),D(c,u,0,1,i.header.length));var b=A(c,"cols");S("worksheet",c).prepend(b);for(var g=0,v=i.header.length;g<v;g++)b.appendChild(A(c,"col",{attr:{min:g+1,max:g+1,width:function(t,e){var o=t.header[e].length;t.footer&&t.footer[e]&&t.footer[e].length>o&&(o=t.footer[e].length);for(var l=0,n=t.body.length;l<n;l++){var r,a=t.body[l][e];if(40<(o=o<(r=(-1!==(a=null!=a?a.toString():"").indexOf("\n")?((r=a.split("\n")).sort(function(t,e){return e.length-t.length}),r[0]):a).length)?r:o))return 54}return 6<(o*=1.35)?o:6}(i,g),customWidth:1}}));var w=p.xl["workbook.xml"];S("sheets sheet",w).attr("name",k(f)),f.autoFilter&&(S("mergeCells",c).before(A(c,"autoFilter",{attr:{ref:"A"+F+":"+O(i.header.length-1)+d}})),S("definedNames",w).append(A(w,"definedName",{attr:{name:"_xlnm._FilterDatabase",localSheetId:"0",hidden:1},text:"'"+k(f).replace(/'/g,"''")+"'!$A$"+F+":"+O(i.header.length-1)+d}))),f.customize&&f.customize(p,f,e),0===S("mergeCells",c).children().length&&S("mergeCells",c).remove();var w=new(T()),F={compression:"DEFLATE",type:"blob",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},B=(!function f(s,t){void 0===z&&(z=-1===E.serializeToString((new C.DOMParser).parseFromString(R["xl/worksheets/sheet1.xml"],"text/xml")).indexOf("xmlns:r")),S.each(t,function(t,e){if(S.isPlainObject(e))f(s.folder(t),e);else{if(z){for(var o,l=e.childNodes[0],n=[],r=l.attributes.length-1;0<=r;r--){var a=l.attributes[r].nodeName,d=l.attributes[r].nodeValue;-1!==a.indexOf(":")&&(n.push({name:a,value:d}),l.removeAttribute(a))}for(r=0,o=n.length;r<o;r++){var p=e.createAttribute(n[r].name.replace(":","_dt_b_namespace_token_"));p.value=n[r].value,l.setAttributeNode(p)}}var i=E.serializeToString(e),i=(i=z?(i=(i=-1===i.indexOf("<?xml")?'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>'+i:i).replace(/_dt_b_namespace_token_/g,":")).replace(/xmlns:NS[\d]+="" NS[\d]+:/g,""):i).replace(/<([^<>]*?) xmlns=""([^<>]*?)>/g,"<$1 $2>");s.file(t,i)}})}(w,p),I.filename);175<B&&(B=B.substr(0,175)),f.customizeZip&&f.customizeZip(w,i,B),w.generateAsync?w.generateAsync(F).then(function(t){N(t,B),l()}):(N(w.generate(F),B),l())},async:100,filename:"*",extension:".xlsx",exportOptions:{},header:!0,footer:!0,title:"*",messageTop:"*",messageBottom:"*",createEmptyCells:!1,autoFilter:!1,sheetName:""},t.ext.buttons.pdfHtml5={className:"buttons-pdf buttons-html5",available:function(){return void 0!==C.FileReader&&s()},text:function(t){return t.i18n("buttons.pdf","PDF")},action:function(t,e,o,l,n){var r=e.buttons.exportData(l.exportOptions),a=e.buttons.exportInfo(l),d=[];l.header&&r.headerStructure.forEach(function(t){d.push(t.map(function(t){return t?{text:t.title,colSpan:t.colspan,rowSpan:t.rowspan,style:"tableHeader"}:{}}))});for(var p=0,i=r.body.length;p<i;p++)d.push(r.body[p].map(function(t){return{text:null==t?"":"string"==typeof t?t:t.toString()}}));l.footer&&r.footerStructure.forEach(function(t){d.push(t.map(function(t){return t?{text:t.title,colSpan:t.colspan,rowSpan:t.rowspan,style:"tableHeader"}:{}}))});var f={pageSize:l.pageSize,pageOrientation:l.orientation,content:[{style:"table",table:{headerRows:r.headerStructure.length,footerRows:r.footerStructure.length,body:d},layout:{hLineWidth:function(t,e){return 0===t||t===e.table.body.length?0:.5},vLineWidth:function(){return 0},hLineColor:function(t,e){return t===e.table.headerRows||t===e.table.body.length-e.table.footerRows?"#333":"#ddd"},fillColor:function(t){return t<r.headerStructure.length?"#fff":t%2==0?"#f3f3f3":null},paddingTop:function(){return 5},paddingBottom:function(){return 5}}}],styles:{tableHeader:{bold:!0,fontSize:11,alignment:"center"},tableFooter:{bold:!0,fontSize:11},table:{margin:[0,5,0,5]},title:{alignment:"center",fontSize:13},message:{}},defaultStyle:{fontSize:10}},e=(a.messageTop&&f.content.unshift({text:a.messageTop,style:"message",margin:[0,0,0,12]}),a.messageBottom&&f.content.push({text:a.messageBottom,style:"message",margin:[0,0,0,12]}),a.title&&f.content.unshift({text:a.title,style:"title",margin:[0,0,0,12]}),l.customize&&l.customize(f,l,e),s().createPdf(f));"open"!==l.download||m()?e.download(a.filename):e.open(),n()},async:100,title:"*",filename:"*",extension:".pdf",exportOptions:{},orientation:"portrait",pageSize:"en-US"===navigator.language||"en-CA"===navigator.language?"LETTER":"A4",header:!0,footer:!0,messageTop:"*",messageBottom:"*",customize:null,download:"download"},t});
 
 /*!
-   Copyright 2017-2018 SpryMedia Ltd.
-
- This source file is free software, available under the following license:
-   MIT license - http://datatables.net/license/mit
-
- This source file is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
+ * Print button for Buttons and DataTables.
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(n){var o,r;"function"==typeof define&&define.amd?define(["jquery","datatables.net","datatables.net-buttons"],function(t){return n(t,window,document)}):"object"==typeof exports?(o=require("jquery"),r=function(t,e){e.fn.dataTable||require("datatables.net")(t,e),e.fn.dataTable.Buttons||require("datatables.net-buttons")(t,e)},"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||o(t),r(t,e),n(e,t,t.document)}:(r(window,o),module.exports=n(o,window,window.document))):n(jQuery,window,document)}(function(f,m,t){"use strict";function b(t){return n.href=t,-1===(t=n.host).indexOf("/")&&0!==n.pathname.indexOf("/")&&(t+="/"),n.protocol+"//"+t+n.pathname+n.search}var e=f.fn.dataTable,n=t.createElement("a");return e.ext.buttons.print={className:"buttons-print",text:function(t){return t.i18n("buttons.print","Print")},action:function(t,e,n,o,r){var i=e.buttons.exportData(f.extend({decodeEntities:!1},o.exportOptions)),a=e.buttons.exportInfo(o),u=e.columns(o.exportOptions.columns).nodes().map(function(t){return t.className}).toArray(),s='<table class="'+e.table().node().className+'">';o.header&&(s+="<thead>"+i.headerStructure.map(function(t){return"<tr>"+t.map(function(t){return t?'<th colspan="'+t.colspan+'" rowspan="'+t.rowspan+'">'+t.title+"</th>":""}).join("")+"</tr>"}).join("")+"</thead>"),s+="<tbody>";for(var c=0,d=i.body.length;c<d;c++)s+=function(t,e){for(var n="<tr>",o=0,r=t.length;o<r;o++){var i=null===t[o]||void 0===t[o]?"":t[o];n+="<"+e+" "+(u[o]?'class="'+u[o]+'"':"")+">"+i+"</"+e+">"}return n+"</tr>"}(i.body[c],"td");s+="</tbody>",o.footer&&i.footer&&(s+="<tfoot>"+i.footerStructure.map(function(t){return"<tr>"+t.map(function(t){return t?'<th colspan="'+t.colspan+'" rowspan="'+t.rowspan+'">'+t.title+"</th>":""}).join("")+"</tr>"}).join("")+"</tfoot>"),s+="</table>";var l=m.open("","");if(l){l.document.close();var p="<title>"+a.title+"</title>";f("style, link").each(function(){p+=function(t){t=f(t).clone()[0];return"link"===t.nodeName.toLowerCase()&&(t.href=b(t.href)),t.outerHTML}(this)});try{l.document.head.innerHTML=p}catch(t){f(l.document.head).html(p)}o.customScripts&&o.customScripts.forEach(function(t){var e=l.document.createElement("script");e.src=t,l.document.getElementsByTagName("head")[0].appendChild(e)}),l.document.body.innerHTML="<h1>"+a.title+"</h1><div>"+(a.messageTop||"")+"</div>"+s+"<div>"+(a.messageBottom||"")+"</div>",f(l.document.body).addClass("dt-print-view"),f("img",l.document.body).each(function(t,e){e.setAttribute("src",b(e.getAttribute("src")))}),o.customize&&o.customize(l,o,e);l.setTimeout(function(){o.autoPrint&&(l.print(),l.close())},1e3),r()}else e.buttons.info(e.i18n("buttons.printErrorTitle","Unable to open print view"),e.i18n("buttons.printErrorMsg","Please allow popups in your browser for this site to be able to view the print view."),5e3)},async:100,title:"*",messageTop:"*",messageBottom:"*",exportOptions:{},header:!0,footer:!0,autoPrint:!0,customize:null},e});
 
- For details please refer to: http://www.datatables.net
- RowGroup 1.1.0
- ©2017-2018 SpryMedia Ltd - datatables.net/license
-*/
-var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.findInternal=function(a,d,c){a instanceof String&&(a=String(a));for(var e=a.length,f=0;f<e;f++){var h=a[f];if(d.call(c,h,f,a))return{i:f,v:h}}return{i:-1,v:void 0}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(a,d,c){a!=Array.prototype&&a!=Object.prototype&&(a[d]=c.value)};
-$jscomp.getGlobal=function(a){return"undefined"!=typeof window&&window===a?a:"undefined"!=typeof global&&null!=global?global:a};$jscomp.global=$jscomp.getGlobal(this);$jscomp.polyfill=function(a,d,c,e){if(d){c=$jscomp.global;a=a.split(".");for(e=0;e<a.length-1;e++){var f=a[e];f in c||(c[f]={});c=c[f]}a=a[a.length-1];e=c[a];d=d(e);d!=e&&null!=d&&$jscomp.defineProperty(c,a,{configurable:!0,writable:!0,value:d})}};
-$jscomp.polyfill("Array.prototype.find",function(a){return a?a:function(a,c){return $jscomp.findInternal(this,a,c).v}},"es6","es3");
-(function(a){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(d){return a(d,window,document)}):"object"===typeof exports?module.exports=function(d,c){d||(d=window);c&&c.fn.dataTable||(c=require("datatables.net")(d,c).$);return a(c,d,d.document)}:a(jQuery,window,document)})(function(a,d,c,e){var f=a.fn.dataTable,h=function(b,g){if(!f.versionCheck||!f.versionCheck("1.10.8"))throw"RowGroup requires DataTables 1.10.8 or newer";this.c=a.extend(!0,{},f.defaults.rowGroup,
-h.defaults,g);this.s={dt:new f.Api(b)};this.dom={};b=this.s.dt.settings()[0];if(g=b.rowGroup)return g;b.rowGroup=this;this._constructor()};a.extend(h.prototype,{dataSrc:function(b){if(b===e)return this.c.dataSrc;var g=this.s.dt;this.c.dataSrc=b;a(g.table().node()).triggerHandler("rowgroup-datasrc.dt",[g,b]);return this},disable:function(){this.c.enable=!1;return this},enable:function(b){if(!1===b)return this.disable();this.c.enable=!0;return this},_constructor:function(){var b=this,a=this.s.dt;a.on("draw.dtrg",
-function(){b.c.enable&&b._draw()});a.on("column-visibility.dt.dtrg responsive-resize.dt.dtrg",function(){b._adjustColspan()});a.on("destroy",function(){a.off(".dtrg")});a.on("responsive-resize.dt",function(){b._adjustColspan()})},_adjustColspan:function(){a("tr."+this.c.className,this.s.dt.table().body()).find("td").attr("colspan",this._colspan())},_colspan:function(){return this.s.dt.columns().visible().reduce(function(b,a){return b+a},0)},_draw:function(){var b=this._group(0,this.s.dt.rows({page:"current"}).indexes());
-this._groupDisplay(0,b)},_group:function(b,g){for(var c=a.isArray(this.c.dataSrc)?this.c.dataSrc:[this.c.dataSrc],d=f.ext.oApi._fnGetObjectDataFn(c[b]),h=this.s.dt,l,n,m=[],k=0,p=g.length;k<p;k++){var q=g[k];l=h.row(q).data();l=d(l);if(null===l||l===e)l=that.c.emptyDataGroup;if(n===e||l!==n)m.push({dataPoint:l,rows:[]}),n=l;m[m.length-1].rows.push(q)}if(c[b+1]!==e)for(k=0,p=m.length;k<p;k++)m[k].children=this._group(b+1,m[k].rows);return m},_groupDisplay:function(b,a){for(var c=this.s.dt,g,d=0,f=
-a.length;d<f;d++){var e=a[d],h=e.dataPoint,k=e.rows;this.c.startRender&&(g=this.c.startRender.call(this,c.rows(k),h,b),(g=this._rowWrap(g,this.c.startClassName,b))&&g.insertBefore(c.row(k[0]).node()));this.c.endRender&&(g=this.c.endRender.call(this,c.rows(k),h,b),(g=this._rowWrap(g,this.c.endClassName,b))&&g.insertAfter(c.row(k[k.length-1]).node()));e.children&&this._groupDisplay(b+1,e.children)}},_rowWrap:function(b,g,c){if(null===b||""===b)b=this.c.emptyDataGroup;return b===e?null:("object"===typeof b&&
-b.nodeName&&"tr"===b.nodeName.toLowerCase()?a(b):b instanceof a&&b.length&&"tr"===b[0].nodeName.toLowerCase()?b:a("<tr/>").append(a("<td/>").attr("colspan",this._colspan()).append(b))).addClass(this.c.className).addClass(g).addClass("dtrg-level-"+c)}});h.defaults={className:"dtrg-group",dataSrc:0,emptyDataGroup:"No group",enable:!0,endClassName:"dtrg-end",endRender:null,startClassName:"dtrg-start",startRender:function(a,c){return c}};h.version="1.1.0";a.fn.dataTable.RowGroup=h;a.fn.DataTable.RowGroup=
-h;f.Api.register("rowGroup()",function(){return this});f.Api.register("rowGroup().disable()",function(){return this.iterator("table",function(a){a.rowGroup&&a.rowGroup.enable(!1)})});f.Api.register("rowGroup().enable()",function(a){return this.iterator("table",function(b){b.rowGroup&&b.rowGroup.enable(a===e?!0:a)})});f.Api.register("rowGroup().dataSrc()",function(a){return a===e?this.context[0].rowGroup.dataSrc():this.iterator("table",function(b){b.rowGroup&&b.rowGroup.dataSrc(a)})});a(c).on("preInit.dt.dtrg",
-function(b,c,d){"dt"===b.namespace&&(b=c.oInit.rowGroup,d=f.defaults.rowGroup,b||d)&&(d=a.extend({},d,b),!1!==b&&new h(c,d))});return h});
+/*! FixedHeader 4.0.1
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(o){var i,s;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return o(t,window,document)}):"object"==typeof exports?(i=require("jquery"),s=function(t,e){e.fn.dataTable||require("datatables.net")(t,e)},"undefined"==typeof window?module.exports=function(t,e){return t=t||window,e=e||i(t),s(t,e),o(e,t,t.document)}:(s(window,i),module.exports=o(i,window,window.document))):o(jQuery,window,document)}(function(b,m,v){"use strict";function s(t,e){if(!d.versionCheck("2"))throw"Warning: FixedHeader requires DataTables 2 or newer";if(!(this instanceof s))throw"FixedHeader must be initialised with the 'new' keyword.";if(!0===e&&(e={}),t=new d.Api(t),this.c=b.extend(!0,{},s.defaults,e),this.s={dt:t,position:{theadTop:0,tbodyTop:0,tfootTop:0,tfootBottom:0,width:0,left:0,tfootHeight:0,theadHeight:0,windowHeight:b(m).height(),visible:!0},headerMode:null,footerMode:null,autoWidth:t.settings()[0].oFeatures.bAutoWidth,namespace:".dtfc"+o++,scrollLeft:{header:-1,footer:-1},enable:!0,autoDisable:!1},this.dom={floatingHeader:null,thead:b(t.table().header()),tbody:b(t.table().body()),tfoot:b(t.table().footer()),header:{host:null,floating:null,floatingParent:b('<div class="dtfh-floatingparent"><div></div></div>'),placeholder:null},footer:{host:null,floating:null,floatingParent:b('<div class="dtfh-floatingparent"><div></div></div>'),placeholder:null}},this.dom.header.host=this.dom.thead.parent(),this.dom.footer.host=this.dom.tfoot.parent(),(e=t.settings()[0])._fixedHeader)throw"FixedHeader already initialised on table "+e.nTable.id;(e._fixedHeader=this)._constructor()}var d=b.fn.dataTable,o=0;return b.extend(s.prototype,{destroy:function(){var t=this.dom;this.s.dt.off(".dtfc"),b(m).off(this.s.namespace),t.header.rightBlocker&&t.header.rightBlocker.remove(),t.header.leftBlocker&&t.header.leftBlocker.remove(),t.footer.rightBlocker&&t.footer.rightBlocker.remove(),t.footer.leftBlocker&&t.footer.leftBlocker.remove(),this.c.header&&this._modeChange("in-place","header",!0),this.c.footer&&t.tfoot.length&&this._modeChange("in-place","footer",!0)},enable:function(t,e,o){this.s.enable=t,this.s.enableType=o,!e&&void 0!==e||(this._positions(),this._scroll(!0))},enabled:function(){return this.s.enable},headerOffset:function(t){return void 0!==t&&(this.c.headerOffset=t,this.update()),this.c.headerOffset},footerOffset:function(t){return void 0!==t&&(this.c.footerOffset=t,this.update()),this.c.footerOffset},update:function(t){var e=this.s.dt.table().node();(this.s.enable||this.s.autoDisable)&&(b(e).is(":visible")?(this.s.autoDisable=!1,this.enable(!0,!1)):(this.s.autoDisable=!0,this.enable(!1,!1)),0!==b(e).children("thead").length)&&(this._positions(),this._scroll(void 0===t||t),this._widths(this.dom.header),this._widths(this.dom.footer))},_constructor:function(){var o=this,i=this.s.dt,t=(b(m).on("scroll"+this.s.namespace,function(){o._scroll()}).on("resize"+this.s.namespace,d.util.throttle(function(){o.s.position.windowHeight=b(m).height(),o.update()},50)),b(".fh-fixedHeader")),t=(!this.c.headerOffset&&t.length&&(this.c.headerOffset=t.outerHeight()),b(".fh-fixedFooter"));!this.c.footerOffset&&t.length&&(this.c.footerOffset=t.outerHeight()),i.on("column-reorder.dt.dtfc column-visibility.dt.dtfc column-sizing.dt.dtfc responsive-display.dt.dtfc",function(t,e){o.update()}).on("draw.dt.dtfc",function(t,e){o.update(e!==i.settings()[0])}),i.on("destroy.dtfc",function(){o.destroy()}),this._positions(),this._scroll()},_clone:function(t,e){var o,i,s=this,d=this.s.dt,n=this.dom[t],r="header"===t?this.dom.thead:this.dom.tfoot;"footer"===t&&this._scrollEnabled()||(!e&&n.floating?n.floating.removeClass("fixedHeader-floating fixedHeader-locked"):(n.floating&&(null!==n.placeholder&&n.placeholder.remove(),n.floating.children().detach(),n.floating.remove()),e=b(d.table().node()),o=b(e.parent()),i=this._scrollEnabled(),n.floating=b(d.table().node().cloneNode(!1)).attr("aria-hidden","true").css({top:0,left:0}).removeAttr("id"),n.floatingParent.css({width:o[0].offsetWidth,overflow:"hidden",height:"fit-content",position:"fixed",left:i?e.offset().left+o.scrollLeft():0}).css("header"===t?{top:this.c.headerOffset,bottom:""}:{top:"",bottom:this.c.footerOffset}).addClass("footer"===t?"dtfh-floatingparent-foot":"dtfh-floatingparent-head").appendTo("body").children().eq(0).append(n.floating),this._stickyPosition(n.floating,"-"),(i=function(){var t=o.scrollLeft();s.s.scrollLeft={footer:t,header:t},n.floatingParent.scrollLeft(s.s.scrollLeft.header)})(),o.off("scroll.dtfh").on("scroll.dtfh",i),n.floatingParent.children().css({width:"fit-content",paddingRight:s.s.dt.settings()[0].oBrowser.barWidth}),(e=b("footer"===t?"div.dtfc-bottom-blocker":"div.dtfc-top-blocker",d.table().container())).length&&e.clone().appendTo(n.floatingParent).css({position:"fixed",right:e.width()}),n.placeholder=r.clone(!1),n.placeholder.find("*[id]").removeAttr("id"),n.host.prepend(n.placeholder),n.floating.append(r),this._widths(n)))},_stickyPosition:function(t,e){var i;this._scrollEnabled()&&(i="rtl"===b(this.s.dt.table().node()).css("direction"),t.find("th").each(function(){var t,e,o;"sticky"===b(this).css("position")&&(t=b(this).css("right"),e=b(this).css("left"),"auto"===t||i?"auto"!==e&&i&&(o=+e.replace(/px/g,""),b(this).css("left",0<o?o:0)):(o=+t.replace(/px/g,""),b(this).css("right",0<o?o:0)))}))},_horizontal:function(t,e){var o,i=this.dom[t],s=this.s.scrollLeft;i.floating&&s[t]!==e&&(this._scrollEnabled()&&(o=b(b(this.s.dt.table().node()).parent()).scrollLeft(),i.floating.scrollLeft(o),i.floatingParent.scrollLeft(o)),s[t]=e)},_modeChange:function(t,e,o){var i,s,d,n,r,a,f,h=this.dom[e],l=this.s.position,c=this._scrollEnabled();"footer"===e&&c||(i=function(t){h.floating[0].style.setProperty("width",t+"px","important"),c||h.floatingParent[0].style.setProperty("width",t+"px","important")},n=this.dom["footer"===e?"tfoot":"thead"],s=b.contains(n[0],v.activeElement)?v.activeElement:null,r=b(b(this.s.dt.table().node()).parent()),"in-place"===t?(h.placeholder&&(h.placeholder.remove(),h.placeholder=null),"header"===e?h.host.prepend(n):h.host.append(n),h.floating&&(h.floating.remove(),h.floating=null,this._stickyPosition(h.host,"+")),h.floatingParent&&(h.floatingParent.find("div.dtfc-top-blocker").remove(),h.floatingParent.remove()),b(b(h.host.parent()).parent()).scrollLeft(r.scrollLeft())):"in"===t?(this._clone(e,o),n=r.offset(),f=(d=b(v).scrollTop())+b(m).height(),a=c?n.top:l.tbodyTop,n=c?n.top+r.outerHeight():l.tfootTop,r="footer"===e?f<a?l.tfootHeight:a+l.tfootHeight-f:d+this.c.headerOffset+l.theadHeight-n,a="header"===e?"top":"bottom",f=this.c[e+"Offset"]-(0<r?r:0),h.floating.addClass("fixedHeader-floating"),h.floatingParent.css(a,f).css({left:l.left,"z-index":3}),i(l.width),"footer"===e&&h.floating.css("top","")):"below"===t?(this._clone(e,o),h.floating.addClass("fixedHeader-locked"),h.floatingParent.css({position:"absolute",top:l.tfootTop-l.theadHeight,left:l.left+"px"}),i(l.width)):"above"===t&&(this._clone(e,o),h.floating.addClass("fixedHeader-locked"),h.floatingParent.css({position:"absolute",top:l.tbodyTop,left:l.left+"px"}),i(l.width)),s&&s!==v.activeElement&&setTimeout(function(){s.focus()},10),this.s.scrollLeft.header=-1,this.s.scrollLeft.footer=-1,this.s[e+"Mode"]=t)},_positions:function(){var t=this.s.dt,e=t.table(),o=this.s.position,i=this.dom,e=b(e.node()),s=this._scrollEnabled(),d=b(t.table().header()),t=b(t.table().footer()),i=i.tbody,n=e.parent();o.visible=e.is(":visible"),o.width=e.outerWidth(),o.left=e.offset().left,o.theadTop=d.offset().top,o.tbodyTop=(s?n:i).offset().top,o.tbodyHeight=(s?n:i).outerHeight(),o.theadHeight=d.outerHeight(),o.theadBottom=o.theadTop+o.theadHeight,o.tfootTop=o.tbodyTop+o.tbodyHeight,t.length?(o.tfootBottom=o.tfootTop+t.outerHeight(),o.tfootHeight=t.outerHeight()):(o.tfootBottom=o.tfootTop,o.tfootHeight=0)},_scroll:function(t){var e,o,i,s,d,n,r,a,f,h,l,c,p,g,u;this.s.dt.settings()[0].bDestroying||(e=this._scrollEnabled(),i=(o=b(this.s.dt.table().node()).parent()).offset(),h=o.outerHeight(),s=b(v).scrollLeft(),d=b(v).scrollTop(),n=b(m).height()+d,l=this.s.position,c=e?i.top:l.tbodyTop,a=(e?i:l).left,h=e?i.top+h:l.tfootTop,f=e?o.outerWidth():l.tbodyWidth,this.c.header&&(!this.s.enable||!l.visible||d+this.c.headerOffset+l.theadHeight<=c?r="in-place":d+this.c.headerOffset+l.theadHeight>c&&d+this.c.headerOffset+l.theadHeight<h?(r="in",d+this.c.headerOffset+l.theadHeight>h||void 0===this.dom.header.floatingParent?t=!0:this.dom.header.floatingParent.css({top:this.c.headerOffset,position:"fixed"}).children().eq(0).append(this.dom.header.floating)):r="below",!t&&r===this.s.headerMode||this._modeChange(r,"header",t),this._horizontal("header",s)),p={offset:{top:0,left:0},height:0},g={offset:{top:0,left:0},height:0},this.c.footer&&this.dom.tfoot.length&&this.dom.tfoot.find("th, td").length&&(!this.s.enable||!l.visible||l.tfootBottom+this.c.footerOffset<=n?u="in-place":h+l.tfootHeight+this.c.footerOffset>n&&c+this.c.footerOffset<n?(u="in",t=!0):u="above",!t&&u===this.s.footerMode||this._modeChange(u,"footer",t),this._horizontal("footer",s),h=function(t){return{offset:t.offset(),height:t.outerHeight()}},p=this.dom.header.floating?h(this.dom.header.floating):h(this.dom.thead),g=this.dom.footer.floating?h(this.dom.footer.floating):h(this.dom.tfoot),e)&&g.offset.top>d&&(c=n+((l=d-i.top)>-p.height?l:0)-(p.offset.top+(l<-p.height?p.height:0)+g.height),o.outerHeight(c=c<0?0:c),Math.round(o.outerHeight())>=Math.round(c)?b(this.dom.tfoot.parent()).addClass("fixedHeader-floating"):b(this.dom.tfoot.parent()).removeClass("fixedHeader-floating")),this.dom.header.floating&&this.dom.header.floatingParent.css("left",a-s),this.dom.footer.floating&&this.dom.footer.floatingParent.css("left",a-s),void 0!==this.s.dt.settings()[0]._fixedColumns&&(this.dom.header.rightBlocker=(u=function(t,e,o){var i;return null!==(o=void 0===o?0===(i=b("div.dtfc-"+t+"-"+e+"-blocker")).length?null:i.clone().css("z-index",1):o)&&("in"===r||"below"===r?o.appendTo("body").css({top:("top"===e?p:g).offset.top,left:"right"===t?a+f-o.width():a}):o.detach()),o})("right","top",this.dom.header.rightBlocker),this.dom.header.leftBlocker=u("left","top",this.dom.header.leftBlocker),this.dom.footer.rightBlocker=u("right","bottom",this.dom.footer.rightBlocker),this.dom.footer.leftBlocker=u("left","bottom",this.dom.footer.leftBlocker)))},_scrollEnabled:function(){var t=this.s.dt.settings()[0].oScroll;return""!==t.sY||""!==t.sX},_widths:function(t){if(t&&t.placeholder)for(var e=b(this.s.dt.table().node()),o=b(e.parent()),i=(t.floatingParent.css("width",o[0].offsetWidth),t.floating.css("width",e[0].offsetWidth),b("colgroup",t.floating).remove(),t.placeholder.parent().find("colgroup").clone().appendTo(t.floating).find("col")),s=this.s.dt.columns(":visible").widths(),d=0;d<s.length;d++)i.eq(d).css("width",s[d])}}),s.version="4.0.1",s.defaults={header:!0,footer:!1,headerOffset:0,footerOffset:0},b.fn.dataTable.FixedHeader=s,b.fn.DataTable.FixedHeader=s,b(v).on("init.dt.dtfh",function(t,e,o){var i;"dt"===t.namespace&&(t=e.oInit.fixedHeader,i=d.defaults.fixedHeader,t||i)&&!e._fixedHeader&&(i=b.extend({},i,t),!1!==t)&&new s(e,i)}),d.Api.register("fixedHeader()",function(){}),d.Api.register("fixedHeader.adjust()",function(){return this.iterator("table",function(t){t=t._fixedHeader;t&&t.update()})}),d.Api.register("fixedHeader.enable()",function(e){return this.iterator("table",function(t){t=t._fixedHeader;e=void 0===e||e,t&&e!==t.enabled()&&t.enable(e)})}),d.Api.register("fixedHeader.enabled()",function(){if(this.context.length){var t=this.context[0]._fixedHeader;if(t)return t.enabled()}return!1}),d.Api.register("fixedHeader.disable()",function(){return this.iterator("table",function(t){t=t._fixedHeader;t&&t.enabled()&&t.enable(!1)})}),b.each(["header","footer"],function(t,o){d.Api.register("fixedHeader."+o+"Offset()",function(e){var t=this.context;return void 0===e?t.length&&t[0]._fixedHeader?t[0]._fixedHeader[o+"Offset"]():void 0:this.iterator("table",function(t){t=t._fixedHeader;t&&t[o+"Offset"](e)})})}),d});
 
+/*! RowGroup 1.5.1
+ * © SpryMedia Ltd - datatables.net/license
+ */
+!function(e){var n,o;"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(t){return e(t,window,document)}):"object"==typeof exports?(n=require("jquery"),o=function(t,r){r.fn.dataTable||require("datatables.net")(t,r)},"undefined"==typeof window?module.exports=function(t,r){return t=t||window,r=r||n(t),o(t,r),e(r,0,t.document)}:(o(window,n),module.exports=e(n,window,window.document))):e(jQuery,window,document)}(function(i,t,r){"use strict";function a(t,r){if(!l.versionCheck||!l.versionCheck("1.11"))throw"RowGroup requires DataTables 1.11 or newer";if(this.c=i.extend(!0,{},l.defaults.rowGroup,a.defaults,r),this.s={dt:new l.Api(t)},this.dom={},r=this.s.dt.settings()[0],t=r.rowGroup)return t;(r.rowGroup=this)._constructor()}var l=i.fn.dataTable;return i.extend(a.prototype,{dataSrc:function(t){var r;return void 0===t?this.c.dataSrc:(r=this.s.dt,this.c.dataSrc=t,i(r.table().node()).triggerHandler("rowgroup-datasrc.dt",[r,t]),this)},disable:function(){return this.c.enable=!1,this},enable:function(t){return!1===t?this.disable():(this.c.enable=!0,this)},enabled:function(){return this.c.enable},_constructor:function(){var e=this,t=this.s.dt,n=t.settings()[0];t.on("draw.dtrg",function(t,r){e.c.enable&&n===r&&e._draw()}),t.on("column-visibility.dt.dtrg responsive-resize.dt.dtrg",function(){e._adjustColspan()}),t.on("destroy",function(){t.off(".dtrg")})},_adjustColspan:function(){i("tr."+this.c.className,this.s.dt.table().body()).find("th:visible, td:visible").attr("colspan",this._colspan())},_colspan:function(){return this.s.dt.columns().visible().reduce(function(t,r){return t+r},0)},_draw:function(){var t=this.s.dt,t=this._group(0,t.rows({page:"current"}).indexes());this._groupDisplay(0,t)},_group:function(t,r){for(var e,n=Array.isArray(this.c.dataSrc)?this.c.dataSrc:[this.c.dataSrc],o=l.util.get(n[t]),i=this.s.dt,a=[],s=0,d=r.length;s<d;s++){var u,c=r[s];null==(u=o(i.row(c).data(),t))&&(u=this.c.emptyDataGroup),void 0!==e&&u===e||(a.push({dataPoint:u,rows:[]}),e=u),a[a.length-1].rows.push(c)}if(void 0!==n[t+1])for(s=0,d=a.length;s<d;s++)a[s].children=this._group(t+1,a[s].rows);return a},_groupDisplay:function(t,r){for(var e,n=this.s.dt,o=0,i=r.length;o<i;o++){var a,s=r[o],d=s.dataPoint,u=s.rows;this.c.startRender&&(e=this.c.startRender.call(this,n.rows(u),d,t),a=this._rowWrap(e,this.c.startClassName,t))&&a.insertBefore(n.row(u[0]).node()),this.c.endRender&&(e=this.c.endRender.call(this,n.rows(u),d,t),a=this._rowWrap(e,this.c.endClassName,t))&&a.insertAfter(n.row(u[u.length-1]).node()),s.children&&this._groupDisplay(t+1,s.children)}},_rowWrap:function(t,r,e){return null==(t=null!==t&&""!==t?t:this.c.emptyDataGroup)?null:("object"==typeof t&&t.nodeName&&"tr"===t.nodeName.toLowerCase()?i(t):t instanceof i&&t.length&&"tr"===t[0].nodeName.toLowerCase()?t:i("<tr/>").append(i("<th/>").attr("colspan",this._colspan()).attr("scope","row").append(t))).addClass(this.c.className).addClass(r).addClass("dtrg-level-"+e)}}),a.defaults={className:"dtrg-group",dataSrc:0,emptyDataGroup:"No group",enable:!0,endClassName:"dtrg-end",endRender:null,startClassName:"dtrg-start",startRender:function(t,r){return r}},a.version="1.5.1",i.fn.dataTable.RowGroup=a,i.fn.DataTable.RowGroup=a,l.Api.register("rowGroup()",function(){return this}),l.Api.register("rowGroup().disable()",function(){return this.iterator("table",function(t){t.rowGroup&&t.rowGroup.enable(!1)})}),l.Api.register("rowGroup().enable()",function(r){return this.iterator("table",function(t){t.rowGroup&&t.rowGroup.enable(void 0===r||r)})}),l.Api.register("rowGroup().enabled()",function(){var t=this.context;return!(!t.length||!t[0].rowGroup)&&t[0].rowGroup.enabled()}),l.Api.register("rowGroup().dataSrc()",function(r){return void 0===r?this.context[0].rowGroup.dataSrc():this.iterator("table",function(t){t.rowGroup&&t.rowGroup.dataSrc(r)})}),i(r).on("preInit.dt.dtrg",function(t,r,e){var n,o;"dt"===t.namespace&&(t=r.oInit.rowGroup,n=l.defaults.rowGroup,t||n)&&(o=i.extend({},n,t),!1!==t)&&new a(r,o)}),l});
 
diff --git a/src/backoffice/static/vendor/datatables/pdfmake.min.js.map b/src/backoffice/static/vendor/datatables/pdfmake.min.js.map
new file mode 100644
index 0000000000000000000000000000000000000000..b687e9ade15c1d459e1cb60b724032cd249524ae
--- /dev/null
+++ b/src/backoffice/static/vendor/datatables/pdfmake.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"pdfmake.min.js","mappings":"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,UAAY,WACZ,UAAY,WACZ,UAAY,OACZ,UAAY,EACZ,UAAY,MACZ,UAAY,WACZ,UAAY,QAEhB,CACI,EAAK,IACL,QAAU,EACV,QAAU,SACV,QAAU,MACV,QAAU,MACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,QAAU,SACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,MACV,SAAU,EACV,SAAU,IACV,OAAS,SACT,QAAU,SACV,QAAU,EACV,QAAU,SACV,QAAU,SACV,QAAU,MACV,QAAU,MACV,QAAU,IACV,QAAU,EACV,QAAU,IACV,SAAU,SACV,SAAU,MACV,SAAU,MACV,SAAU,SACV,SAAU,SACV,SAAU,SACV,SAAW,SACX,SAAW,MACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,EACX,SAAW,MACX,SAAW,SACX,SAAW,IACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,MACX,SAAW,SACX,SAAW,SACX,SAAW,SACX,SAAW,EACX,SAAW,OAEf,CACI,EAAK,WACL,MAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,QACT,OAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,KACT,OAAS,KACT,OAAS,WACT,MAAQ,WACR,MAAS,GACT,OAAS,WACT,OAAS,WACT,OAAS,QACT,OAAS,WACT,OAAS,EACT,OAAS,WACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,KACT,OAAS,WACT,OAAS,QACT,OAAS,QACT,QAAS,WACT,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,EACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,WACV,QAAU,QACV,QAAU,WACV,QAAU,QACV,QAAU,GACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,EACV,QAAU,QACV,QAAU,QACV,QAAU,WACV,QAAU,WACV,QAAU,GACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,WACV,QAAU,KACV,QAAU,WACV,QAAU,QACV,QAAU,SAEd,CACI,EAAK,IACL,KAAQ,SACR,KAAQ,OACR,MAAQ,UACR,MAAQ,UACR,MAAQ,SACR,MAAQ,UACR,MAAQ,OACR,MAAQ,SACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,EACR,MAAQ,SACR,MAAQ,UACR,KAAO,SACP,KAAQ,UACR,MAAQ,IACR,MAAQ,SACR,MAAQ,OACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,UACR,MAAQ,EACR,MAAQ,UACR,MAAQ,SACR,MAAQ,UACR,MAAQ,UACR,MAAQ,SACR,MAAQ,OACR,MAAS,OACT,MAAS,IACT,MAAS,UACT,MAAS,UACT,MAAS,SACT,MAAS,UACT,MAAS,UACT,MAAS,SACT,MAAS,UACT,OAAS,UACT,OAAS,SACT,OAAS,UACT,OAAS,OACT,OAAS,UACT,OAAS,EACT,OAAS,SACT,MAAS,UACT,MAAS,SACT,MAAS,SACT,MAAS,UACT,MAAS,UACT,MAAS,SACT,MAAS,IACT,MAAS,UACT,OAAS,OACT,OAAS,UACT,OAAS,EACT,OAAS,UACT,OAAS,SACT,OAAS,OACT,OAAS,UACT,OAAS,WAEb,CACI,EAAK,UACL,IAAO,KACP,IAAO,UACP,IAAO,UACP,KAAO,UACP,KAAO,QACP,KAAO,QACP,KAAO,UACP,KAAO,EACP,KAAO,UACP,KAAO,QACP,KAAO,EACP,KAAO,UACP,KAAO,QACP,KAAO,KACP,KAAO,UACP,IAAM,UACN,IAAO,UACP,IAAO,EACP,IAAO,QACP,KAAO,QACP,KAAO,UACP,KAAO,UACP,KAAO,KACP,KAAO,QACP,KAAO,KACP,KAAO,UACP,KAAO,UACP,KAAO,EACP,KAAO,UACP,KAAO,QACP,KAAO,UACP,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,KACR,KAAQ,QACR,KAAQ,UACR,KAAQ,UACR,KAAQ,QACR,KAAQ,QACR,KAAQ,EACR,KAAQ,EACR,KAAQ,UACR,KAAQ,KACR,KAAQ,UACR,KAAQ,UACR,KAAQ,QACR,KAAQ,EACR,KAAQ,QACR,KAAQ,QACR,KAAQ,UACR,KAAQ,UACR,KAAQ,KACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,UACR,KAAQ,KACR,KAAQ,QACR,KAAQ,QACR,KAAQ,EACR,KAAQ,UACR,KAAQ,WAEZ,CACI,EAAK,QACL,GAAM,SACN,GAAM,KACN,GAAM,QACN,GAAM,SACN,GAAM,EACN,GAAM,EACN,IAAM,SACN,IAAM,SACN,IAAM,QACN,IAAM,SACN,IAAM,SACN,IAAM,SACN,IAAM,KACN,IAAM,QACN,IAAM,SACN,EAAK,SACL,GAAM,EACN,GAAM,SACN,GAAM,SACN,GAAM,QACN,GAAM,SACN,IAAM,SACN,IAAM,KACN,IAAM,QACN,IAAM,SACN,IAAM,SACN,IAAM,QACN,IAAM,KACN,IAAM,SACN,IAAM,EACN,IAAM,QACN,IAAO,SACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,QACP,IAAO,EACP,IAAO,EACP,IAAO,SACP,IAAO,SACP,IAAO,KACP,IAAO,QACP,IAAO,SACP,IAAO,SACP,IAAO,EACP,IAAO,SACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,SACP,IAAO,SACP,IAAO,EACP,IAAO,SACP,IAAO,QACP,IAAO,KACP,IAAO,SACP,IAAO,SAEX,CACI,EAAK,UACL,EAAK,OACL,EAAK,UACL,EAAK,GACL,EAAK,OACL,EAAK,UACL,EAAK,UACL,EAAK,KACL,EAAK,UACL,EAAK,UACL,GAAK,OACL,GAAK,UACL,GAAK,KACL,GAAK,EACL,GAAK,UACL,GAAK,OACL,WAAY,KACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,OACZ,WAAY,OACZ,WAAY,GACZ,WAAY,UACZ,WAAY,KACZ,WAAY,OACZ,WAAY,UACZ,WAAY,EACZ,WAAY,UACZ,WAAY,UACZ,WAAY,OACZ,GAAM,OACN,GAAM,UACN,GAAM,GACN,GAAM,KACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,OACN,GAAM,EACN,GAAM,OACN,GAAM,UACN,GAAM,UACN,GAAM,UACN,GAAM,OACN,GAAM,KACN,GAAM,UACN,WAAY,OACZ,WAAY,KACZ,WAAY,UACZ,WAAY,OACZ,WAAY,GACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,UACZ,WAAY,EACZ,WAAY,OACZ,WAAY,KACZ,WAAY,OACZ,WAAY,YAKhBC,EAAY,CACZ,WAAY,UAAY,SAAY,QACpC,OAAY,KAAY,IAAY,YAMpCC,EAAMjf,EAAOif,IAAMnf,EAAYuB,OAAO,CACtCC,SAAU,SAAS,WAOf,IALA,IACIG,EADM/6B,KAAKmD,KACI63B,MAGfwd,EAAU,GACL14C,EAAI,EAAGA,EAAI,GAAIA,IAAK,CACzB,IAAI24C,EAAYP,EAAIp4C,GAAK,EACzB04C,EAAQ14C,GAAMi7B,EAAS0d,IAAc,KAAQ,GAAKA,EAAY,GAAO,CACzE,CAIA,IADA,IAAIC,EAAU14C,KAAK24C,SAAW,GACrBC,EAAU,EAAGA,EAAU,GAAIA,IAAW,CAE3C,IAAIC,EAASH,EAAQE,GAAW,GAG5BE,EAAWV,EAAWQ,GAG1B,IAAS94C,EAAI,EAAGA,EAAI,GAAIA,IAEpB+4C,EAAQ/4C,EAAI,EAAK,IAAM04C,GAAUL,EAAIr4C,GAAK,EAAKg5C,GAAY,KAAQ,GAAKh5C,EAAI,EAG5E+4C,EAAO,GAAM/4C,EAAI,EAAK,KAAO04C,EAAQ,IAAQL,EAAIr4C,EAAI,IAAM,EAAKg5C,GAAY,KAAS,GAAKh5C,EAAI,EAOlG,IADA+4C,EAAO,GAAMA,EAAO,IAAM,EAAMA,EAAO,KAAO,GACrC/4C,EAAI,EAAGA,EAAI,EAAGA,IACnB+4C,EAAO/4C,GAAK+4C,EAAO/4C,KAAkB,GAATA,EAAI,GAAS,EAE7C+4C,EAAO,GAAMA,EAAO,IAAM,EAAMA,EAAO,KAAO,EAClD,CAGA,IAAIE,EAAa/4C,KAAKg5C,YAAc,GACpC,IAASl5C,EAAI,EAAGA,EAAI,GAAIA,IACpBi5C,EAAWj5C,GAAK44C,EAAQ,GAAK54C,EAErC,EAEA47B,aAAc,SAAS,aAACC,EAAGlmB,GACvBzV,KAAK47B,cAAcD,EAAGlmB,EAAQzV,KAAK24C,SACvC,EAEA9c,aAAc,SAAS,aAACF,EAAGlmB,GACvBzV,KAAK47B,cAAcD,EAAGlmB,EAAQzV,KAAKg5C,YACvC,EAEApd,cAAe,SAAS,cAACD,EAAGlmB,EAAQijC,GAEhC14C,KAAKi5C,QAAUtd,EAAElmB,GACjBzV,KAAKk5C,QAAUvd,EAAElmB,EAAS,GAG1B0jC,WAAW3zC,KAAKxF,KAAM,EAAI,WAC1Bm5C,WAAW3zC,KAAKxF,KAAM,GAAI,OAC1Bo5C,WAAW5zC,KAAKxF,KAAM,EAAI,WAC1Bo5C,WAAW5zC,KAAKxF,KAAM,EAAI,UAC1Bm5C,WAAW3zC,KAAKxF,KAAM,EAAI,YAG1B,IAAK,IAAIm8B,EAAQ,EAAGA,EAAQ,GAAIA,IAAS,CAQrC,IANA,IAAI0c,EAASH,EAAQvc,GACjBkd,EAASr5C,KAAKi5C,QACdK,EAASt5C,KAAKk5C,QAGdpmC,EAAI,EACChT,EAAI,EAAGA,EAAI,EAAGA,IACnBgT,GAAKulC,EAAOv4C,KAAKw5C,EAAST,EAAO/4C,IAAMw4C,EAAUx4C,MAAQ,GAE7DE,KAAKi5C,QAAUK,EACft5C,KAAKk5C,QAAUG,EAASvmC,CAC5B,CAGA,IAAI0nB,EAAIx6B,KAAKi5C,QACbj5C,KAAKi5C,QAAUj5C,KAAKk5C,QACpBl5C,KAAKk5C,QAAU1e,EAGf2e,WAAW3zC,KAAKxF,KAAM,EAAI,YAC1Bo5C,WAAW5zC,KAAKxF,KAAM,EAAI,UAC1Bo5C,WAAW5zC,KAAKxF,KAAM,EAAI,WAC1Bm5C,WAAW3zC,KAAKxF,KAAM,GAAI,OAC1Bm5C,WAAW3zC,KAAKxF,KAAM,EAAI,WAG1B27B,EAAElmB,GAAUzV,KAAKi5C,QACjBtd,EAAElmB,EAAS,GAAKzV,KAAKk5C,OACzB,EAEAje,QAAS,EAET+C,OAAQ,EAERU,UAAW,IAIf,SAASya,WAAW1jC,EAAQ8jC,GACxB,IAAI/e,GAAMx6B,KAAKi5C,UAAYxjC,EAAUzV,KAAKk5C,SAAWK,EACrDv5C,KAAKk5C,SAAW1e,EAChBx6B,KAAKi5C,SAAWze,GAAK/kB,CACzB,CAEA,SAAS2jC,WAAW3jC,EAAQ8jC,GACxB,IAAI/e,GAAMx6B,KAAKk5C,UAAYzjC,EAAUzV,KAAKi5C,SAAWM,EACrDv5C,KAAKi5C,SAAWze,EAChBx6B,KAAKk5C,SAAW1e,GAAK/kB,CACzB,CAUA2e,EAAEmkB,IAAMnf,EAAYoD,cAAc+b,GAKlC,IAAIiB,EAAYlgB,EAAOkgB,UAAYpgB,EAAYuB,OAAO,CAClDC,SAAU,SAAS,WAEf,IACIG,EADM/6B,KAAKmD,KACI63B,MAEnB,GAAwB,IAApBD,EAAS/3B,QAAoC,IAApB+3B,EAAS/3B,QAAgB+3B,EAAS/3B,OAAS,EACpE,MAAM,IAAIb,MAAM,iFAIpB,IAAI0V,EAAOkjB,EAAS7yB,MAAM,EAAG,GACzB6P,EAAOgjB,EAAS/3B,OAAS,EAAI+3B,EAAS7yB,MAAM,EAAG,GAAK6yB,EAAS7yB,MAAM,EAAG,GACtEuxC,EAAO1e,EAAS/3B,OAAS,EAAI+3B,EAAS7yB,MAAM,EAAG,GAAK6yB,EAAS7yB,MAAM,EAAG,GAG1ElI,KAAK05C,MAAQnB,EAAIpb,gBAAgBR,EAAU/yB,OAAOiO,IAClD7X,KAAK25C,MAAQpB,EAAIpb,gBAAgBR,EAAU/yB,OAAOmO,IAClD/X,KAAK45C,MAAQrB,EAAIpb,gBAAgBR,EAAU/yB,OAAO6vC,GACtD,EAEA/d,aAAc,SAAS,aAACC,EAAGlmB,GACvBzV,KAAK05C,MAAMhe,aAAaC,EAAGlmB,GAC3BzV,KAAK25C,MAAM9d,aAAaF,EAAGlmB,GAC3BzV,KAAK45C,MAAMle,aAAaC,EAAGlmB,EAC/B,EAEAomB,aAAc,SAAS,aAACF,EAAGlmB,GACvBzV,KAAK45C,MAAM/d,aAAaF,EAAGlmB,GAC3BzV,KAAK25C,MAAMje,aAAaC,EAAGlmB,GAC3BzV,KAAK05C,MAAM7d,aAAaF,EAAGlmB,EAC/B,EAEAwlB,QAAS,EAET+C,OAAQ,EAERU,UAAW,IAWftK,EAAEolB,UAAYpgB,EAAYoD,cAAcgd,EAC3C,CAtvBA,GAyvBMrgB,EAASqgB,U,oCCxwBf,IAagBrgB,E,QAVhBz5B,EAAOD,SAUS05B,EAVmBzc,EAAQ,KAY3C,SAAUjZ,GAEP,IAAI2wB,EAAI+E,EACJuD,EAAQtI,EAAEiF,IACVrpB,EAAO0sB,EAAM1sB,KACb6pC,EAAend,EAAMC,UAKrBkX,EAAQzf,EAAE8c,IAAM,CAAC,EAKP2C,EAAM1C,KAAOnhC,EAAK2qB,OAAO,CAWnC4C,KAAM,SAAS,KAAC6U,EAAMC,GAClBryC,KAAKoyC,KAAOA,EACZpyC,KAAKqyC,IAAMA,CACf,IA8KewB,EAAMlX,UAAY3sB,EAAK2qB,OAAO,CAqB7C4C,KAAM,SAAS,KAACvC,EAAOE,GACnBF,EAAQh7B,KAAKg7B,MAAQA,GAAS,GAG1Bh7B,KAAKk7B,SADLA,GAAYz3B,EACIy3B,EAEe,EAAfF,EAAMh4B,MAE9B,EAWAg1C,MAAO,SAAS,QAOZ,IALA,IAAI8B,EAAW95C,KAAKg7B,MAChB+e,EAAiBD,EAAS92C,OAG1Bg3C,EAAW,GACNl6C,EAAI,EAAGA,EAAIi6C,EAAgBj6C,IAAK,CACrC,IAAIm6C,EAAUH,EAASh6C,GACvBk6C,EAAS10C,KAAK20C,EAAQ7H,MACtB4H,EAAS10C,KAAK20C,EAAQ5H,IAC1B,CAEA,OAAOwH,EAAajwC,OAAOowC,EAAUh6C,KAAKk7B,SAC9C,EAWA0H,MAAO,SAAS,QAQZ,IAPA,IAAIA,MAAQ5yB,EAAK4yB,MAAMp9B,KAAKxF,MAGxBg7B,EAAQ4H,MAAM5H,MAAQh7B,KAAKg7B,MAAM9yB,MAAM,GAGvCgyC,EAAclf,EAAMh4B,OACflD,EAAI,EAAGA,EAAIo6C,EAAap6C,IAC7Bk7B,EAAMl7B,GAAKk7B,EAAMl7B,GAAG8iC,QAGxB,OAAOA,KACX,GAEP,CA3RA,GA8RMzJ,E,4lRC7SR,IAOqBghB,EAAN,WACb95C,SAAAA,aAAY+5C,G,KACLC,WAAaD,EAAIC,W,KACjBC,UAAYF,EAAIE,U,KAChBC,KAAOH,EAAIG,I,uCAOlBC,MAAAA,SAAAA,MAAM5vC,GAAK,MACL7K,EAAOC,K,aAEPG,OAAOC,UAAT,2JACM0xC,EAtBU,EAuBV2I,EAAW,KACXC,EAAgB,KAChBC,EAAY,KAEPpwC,EAAI,EAAb,YAAgBA,EAAIK,EAAI5H,QAAxB,iBAIE,GAHI4gB,EAAIhZ,EAAIL,GAEZowC,EAAY7I,EA7BH,KA8BTA,EAAQ/xC,EAAKs6C,WAAWvI,GAAOluB,IAE/B,sBAEkB,MAAZ62B,GAAqC,MAAjBC,GAAyBA,GAAiBD,GAAlE,iB,OAAA,UACQ,CAACA,EAAUC,EAAe36C,EAAKw6C,KAAKI,IAA1C,QAIF7I,EAAQ/xC,EAAKs6C,WAxCH,GAwC6Bz2B,GACvC62B,EAAW,KAAX,QAxCO,IA4CL3I,GAAoC,MAAZ2I,IAC1BA,EAAWlwC,GAITxK,EAAKu6C,UAAUxI,KACjB4I,EAAgBnwC,GAlDT,IAsDLunC,IACFA,EAxDU,G,QA2BkBvnC,IAAhC,4BAkCgB,MAAZkwC,GAAqC,MAAjBC,GAAyBA,GAAiBD,GAAlE,iB,OAAA,UACQ,CAACA,EAAUC,EAAe36C,EAAKw6C,KAAKzI,IAA1C,kD,IAWR1uC,MAAAA,SAAAA,MAAMwH,EAAKgwC,G,QACT,E,kCAA+B56C,KAAKw6C,MAAM5vC,MAA1C,a,IAAgD,IAC9C,EAD8C,UAAtCsG,EAAD,KAAQxE,EAAR,K,kCAAA,QACP,aAAsB,KAAbmuC,EAAT,QAC8B,mBAAjBD,EAAQC,IACjBD,EAAQC,GAAK3pC,EAAOxE,EAAK9B,EAAI1C,MAAMgJ,EAAOxE,EAAM,G,gBAtE3C,G,oGCaf,IAAMouC,EAAKp+B,EAAQ,MACbq+B,EAAOr+B,EAAQ,MAErBhd,EAAOD,QAAO,WAaZ,aAAYwkB,GACV,IAAInkB,EASJ,IARAE,KAAKikB,KAAOA,EACZjkB,KAAKgI,IAAM,EAEXhI,KAAKg7C,QAAU,GACfh7C,KAAKi7C,QAAU,GACfj7C,KAAKk7C,aAAe,CAAC,EACrBl7C,KAAKm7C,KAAO,CAAC,IAEA,CACX,IAAMC,EAAYp7C,KAAKq7C,aACnBC,EAAU,GACd,IAAKx7C,EAAI,EAAGA,EAAI,EAAGA,IACjBw7C,GAAW9sC,OAAO2b,aAAanqB,KAAKikB,KAAKjkB,KAAKgI,QAGhD,OAAQszC,GACN,IAAK,OAEHt7C,KAAKu7C,MAAQv7C,KAAKq7C,aAClBr7C,KAAKw7C,OAASx7C,KAAKq7C,aACnBr7C,KAAKy7C,KAAOz7C,KAAKikB,KAAKjkB,KAAKgI,OAC3BhI,KAAK07C,UAAY17C,KAAKikB,KAAKjkB,KAAKgI,OAChChI,KAAK27C,kBAAoB37C,KAAKikB,KAAKjkB,KAAKgI,OACxChI,KAAK47C,aAAe57C,KAAKikB,KAAKjkB,KAAKgI,OACnChI,KAAK67C,gBAAkB77C,KAAKikB,KAAKjkB,KAAKgI,OACtC,MAEF,IAAK,OACHhI,KAAKg7C,QAAUh7C,KAAKooB,KAAKgzB,GACzB,MAEF,IAAK,OACH,IAAKt7C,EAAI,EAAGA,EAAIs7C,EAAWt7C,IACzBE,KAAKi7C,QAAQ31C,KAAKtF,KAAKikB,KAAKjkB,KAAKgI,QAEnC,MAEF,IAAK,OAIH,OADAhI,KAAKk7C,aAAe,CAAC,EACbl7C,KAAK07C,WACX,KAAK,EAKH17C,KAAKk7C,aAAaY,QAAU97C,KAAKooB,KAAKgzB,GACtC,IAAIW,EAAQ,IAAM/7C,KAAKk7C,aAAaY,QAAQ94C,OAC5C,GAAI+4C,EAAQ,EACV,IAAKj8C,EAAI,EAAGA,EAAIi8C,EAAOj8C,IACrBE,KAAKk7C,aAAaY,QAAQx2C,KAAK,KAGnC,MACF,KAAK,EAGHtF,KAAKk7C,aAAac,UAAYh8C,KAAKooB,KAAKgzB,GAAW,GACnD,MACF,KAAK,EAEHp7C,KAAKk7C,aAAae,IAAMj8C,KAAKooB,KAAKgzB,GAGtC,MAEF,IAAK,OACH,IAAID,EAAOn7C,KAAKooB,KAAKgzB,GACjBx6B,EAAQu6B,EAAKlzC,QAAQ,GACrBlD,EAAMyJ,OAAO2b,aAAa/mB,MAAMoL,OAAQ2sC,EAAKjzC,MAAM,EAAG0Y,IAC1D5gB,KAAKm7C,KAAKp2C,GAAOyJ,OAAO2b,aAAa/mB,MACnCoL,OACA2sC,EAAKjzC,MAAM0Y,EAAQ,IAErB,MAEF,IAAK,OAEH,OAAQ5gB,KAAK07C,WACX,KAAK,EACL,KAAK,EACL,KAAK,EACH17C,KAAKk8C,OAAS,EACd,MACF,KAAK,EACL,KAAK,EACHl8C,KAAKk8C,OAAS,EAIlBl8C,KAAKm8C,gBAAkB,CAAC,EAAG,GAAGlrC,SAASjR,KAAK07C,WAC5C,IAAIQ,EAASl8C,KAAKk8C,QAAUl8C,KAAKm8C,gBAAkB,EAAI,GAGvD,OAFAn8C,KAAKo8C,eAAiBp8C,KAAKy7C,KAAOS,EAE1Bl8C,KAAKk8C,QACX,KAAK,EACHl8C,KAAKq8C,WAAa,aAClB,MACF,KAAK,EACHr8C,KAAKq8C,WAAa,YAKtB,YADAr8C,KAAKi7C,QAAU,IAAI9+B,EAAOnc,KAAKi7C,UAIjC,QAEEj7C,KAAKgI,KAAOozC,EAKhB,GAFAp7C,KAAKgI,KAAO,EAERhI,KAAKgI,IAAMhI,KAAKikB,KAAKjhB,OACvB,MAAM,IAAIb,MAAM,iCAEpB,CACF,CAtIY,IACL4a,OAAP,gBAAcu/B,EAAMj6C,GAClB,OAAOy4C,EAAGyB,SAASD,GAAM,SAAS75C,EAAK+5C,GAErC,OADY,IAAIC,IAAID,GACTz/B,QAAO,SAAA2/B,GAAM,OAAIr6C,EAAGq6C,EAAO,GACxC,GACF,EAAC,IAEMC,KAAP,cAAYL,GAEV,OAAO,IAAIG,IADE3B,EAAG8B,aAAaN,GAE/B,EA2HC,oBAmPA,OAnPA,EAEDl0B,KAAA,SAAAA,KAAKxI,GAEH,IADA,IAAM3Y,EAAS,IAAI/D,MAAM0c,GAChB9f,EAAI,EAAGA,EAAI8f,EAAO9f,IACzBmH,EAAOnH,GAAKE,KAAKikB,KAAKjkB,KAAKgI,OAE7B,OAAOf,CACT,EAAC,EAEDo0C,WAAA,SAAAA,aAKE,OAJWr7C,KAAKikB,KAAKjkB,KAAKgI,QAAU,GACzBhI,KAAKikB,KAAKjkB,KAAKgI,QAAU,GACzBhI,KAAKikB,KAAKjkB,KAAKgI,QAAU,EACzBhI,KAAKikB,KAAKjkB,KAAKgI,MAE5B,EAAC,EAED60C,WAAA,SAAAA,aAGE,OAFW78C,KAAKikB,KAAKjkB,KAAKgI,QAAU,EACzBhI,KAAKikB,KAAKjkB,KAAKgI,MAE5B,EAAC,EAED80C,aAAA,SAAAA,aAAaz6C,GAAI,WACf,OAAO04C,EAAKgC,QAAQ/8C,KAAKi7C,SAAS,SAACx4C,EAAKwhB,GACtC,GAAIxhB,EACF,MAAMA,EAGR,IAAQ84C,EAAkB,EAAlBA,MAAOC,EAAW,EAAXA,OACTwB,EAAa,EAAKZ,eAAiB,EAEnCM,EAAS,IAAIvgC,EAAOo/B,EAAQC,EAASwB,GACnCh6C,EAAWihB,EAAXjhB,OACJgF,EAAM,EAEV,SAASi1C,KAAKC,EAAIC,EAAIC,EAAIC,EAAIC,QAAU,IAAVA,IAAAA,GAAa,GAOzC,IANA,IAAMC,EAAIjwC,KAAKg2B,MAAMiY,EAAQ2B,GAAME,GAC7B3M,EAAInjC,KAAKg2B,MAAMkY,EAAS2B,GAAME,GAC9BG,EAAiBR,EAAaO,EAC9BjoC,EAASgoC,EAAaZ,EAAS,IAAIvgC,EAAOqhC,EAAiB/M,GAC7DgN,EAAM,EACN75B,EAAI,EACD65B,EAAMhN,GAAKzoC,EAAMhF,GAAQ,CAC9B,IAAIsb,EAAMo/B,EAAK59C,EAAG69C,EAAMC,EACxB,OAAQ35B,EAAKjc,MACX,KAAK,EACH,IAAKlI,EAAI,EAAGA,EAAI09C,EAAgB19C,IAC9BwV,EAAOsO,KAAOK,EAAKjc,KAErB,MAEF,KAAK,EACH,IAAKlI,EAAI,EAAGA,EAAI09C,EAAgB19C,IAC9Bwe,EAAO2F,EAAKjc,KACZ21C,EAAO79C,EAAIk9C,EAAa,EAAI1nC,EAAOsO,EAAIo5B,GACvC1nC,EAAOsO,MAAQtF,EAAOq/B,GAAQ,IAEhC,MAEF,KAAK,EACH,IAAK79C,EAAI,EAAGA,EAAI09C,EAAgB19C,IAC9Bwe,EAAO2F,EAAKjc,KACZ01C,GAAO59C,EAAKA,EAAIk9C,GAAeA,EAC/BY,EACEH,GACAnoC,GACGmoC,EAAM,GAAKD,EACVE,EAAMV,EACLl9C,EAAIk9C,GAEX1nC,EAAOsO,MAAQg6B,EAAQt/B,GAAQ,IAEjC,MAEF,KAAK,EACH,IAAKxe,EAAI,EAAGA,EAAI09C,EAAgB19C,IAC9Bwe,EAAO2F,EAAKjc,KACZ01C,GAAO59C,EAAKA,EAAIk9C,GAAeA,EAC/BW,EAAO79C,EAAIk9C,EAAa,EAAI1nC,EAAOsO,EAAIo5B,GACvCY,EACEH,GACAnoC,GACGmoC,EAAM,GAAKD,EACVE,EAAMV,EACLl9C,EAAIk9C,GAEX1nC,EAAOsO,MAAQtF,EAAOhR,KAAKC,OAAOowC,EAAOC,GAAS,IAAM,IAE1D,MAEF,KAAK,EACH,IAAK99C,EAAI,EAAGA,EAAI09C,EAAgB19C,IAAK,CACnC,IAAI+9C,EAAOC,EACXx/B,EAAO2F,EAAKjc,KACZ01C,GAAO59C,EAAKA,EAAIk9C,GAAeA,EAC/BW,EAAO79C,EAAIk9C,EAAa,EAAI1nC,EAAOsO,EAAIo5B,GAE3B,IAARS,EACFG,EAAQE,EAAY,GAEpBF,EACEtoC,GACGmoC,EAAM,GAAKD,EACVE,EAAMV,EACLl9C,EAAIk9C,GAEXc,EACEJ,GACApoC,GACGmoC,EAAM,GAAKD,GACTE,EAAM,GAAKV,EACXl9C,EAAIk9C,IAIb,IAAMzyC,EAAIozC,EAAOC,EAAQE,EACnBC,GAAKzwC,KAAKwjB,IAAIvmB,EAAIozC,GAClBK,GAAK1wC,KAAKwjB,IAAIvmB,EAAIqzC,GAClBK,GAAK3wC,KAAKwjB,IAAIvmB,EAAIuzC,GAGtBD,EADEE,IAAMC,IAAMD,IAAME,GACZN,EACCK,IAAMC,GACPL,EAEAE,EAGVxoC,EAAOsO,MAAQtF,EAAOu/B,GAAS,GACjC,CACA,MAEF,QACE,MAAM,IAAI17C,MAAM,6BAA6B8hB,EAAKjc,EAAM,IAG5D,IAAKs1C,EAAY,CACf,IAAIY,KAAcf,EAAKM,EAAMJ,GAAM9B,EAAQ2B,GAAMF,EAC7CmB,GAAYV,EAAMD,EACtB,IAAK19C,EAAI,EAAGA,EAAIy9C,EAAGz9C,IAAK,CACtB,IAAK,IAAIyoB,GAAI,EAAGA,GAAIy0B,EAAYz0B,KAC9Bm0B,EAAOwB,MAAe5oC,EAAO6oC,MAC/BD,KAAcd,EAAK,GAAKJ,CAC1B,CACF,CAEAS,GACF,CACF,CAwBA,OAtB6B,IAAzB,EAAK5B,iBAWPoB,KAAK,EAAG,EAAG,EAAG,GACdA,KAAK,EAAG,EAAG,EAAG,GACdA,KAAK,EAAG,EAAG,EAAG,GACdA,KAAK,EAAG,EAAG,EAAG,GACdA,KAAK,EAAG,EAAG,EAAG,GACdA,KAAK,EAAG,EAAG,EAAG,GACdA,KAAK,EAAG,EAAG,EAAG,IAEdA,KAAK,EAAG,EAAG,EAAG,GAAG,GAGZ56C,EAAGq6C,EACZ,GACF,EAAC,EAED0B,cAAA,SAAAA,gBAQE,IAPA,IAAQpD,EAAYh7C,KAAZg7C,QACAh4C,EAAWg4C,EAAXh4C,OACFk4C,EAAel7C,KAAKk7C,aAAaY,SAAW,GAC5Cj8B,EAAM,IAAI1D,EAAO++B,EAAal4C,OAASA,GACzCgF,EAAM,EACN4b,EAAI,EAEC9jB,EAAI,EAAGA,EAAIkD,EAAQlD,GAAK,EAAG,CAClC,IAAI69C,EACJ99B,EAAI7X,KAASgzC,EAAQl7C,GACrB+f,EAAI7X,KAASgzC,EAAQl7C,EAAI,GACzB+f,EAAI7X,KAASgzC,EAAQl7C,EAAI,GACzB+f,EAAI7X,KAAuC,OAA7B21C,EAAOzC,EAAat3B,MAAgB+5B,EAAO,GAC3D,CAEA,OAAO99B,CACT,EAAC,EAEDw+B,gBAAA,SAAAA,gBAAgBC,EAAW5B,GACzB,IAAIn0B,EAAGlS,EACD6lC,EAAWl8C,KAAXk8C,OACFlB,EAAU,KACVuD,EAAQv+C,KAAKm8C,gBAEbn8C,KAAKg7C,QAAQh4C,SACfg4C,EACEh7C,KAAKw+C,kBAAoBx+C,KAAKw+C,gBAAkBx+C,KAAKo+C,iBACvDlC,EAAS,EACTqC,GAAQ,GAGV,IAAMt6B,EAAOq6B,EAAUr6B,MAAQq6B,EACvBt7C,EAAWihB,EAAXjhB,OACFsO,EAAQ0pC,GAAW0B,EACrB58C,EAAKyoB,EAAI,EAEb,GAAe,IAAX2zB,EACF,KAAOp8C,EAAIkD,GAAQ,CACjBqT,EAAI2kC,EAA0B,EAAhB0B,EAAO58C,EAAI,GAASyoB,EAClC,IAAMk2B,EAAIntC,EAAM+E,KAChB4N,EAAKnkB,KAAO2+C,EACZx6B,EAAKnkB,KAAO2+C,EACZx6B,EAAKnkB,KAAO2+C,EACZx6B,EAAKnkB,KAAOy+C,EAAQjtC,EAAM+E,KAAO,IACjCkS,EAAIlS,CACN,MAEA,KAAOvW,EAAIkD,GACTqT,EAAI2kC,EAA0B,EAAhB0B,EAAO58C,EAAI,GAASyoB,EAClCtE,EAAKnkB,KAAOwR,EAAM+E,KAClB4N,EAAKnkB,KAAOwR,EAAM+E,KAClB4N,EAAKnkB,KAAOwR,EAAM+E,KAClB4N,EAAKnkB,KAAOy+C,EAAQjtC,EAAM+E,KAAO,IACjCkS,EAAIlS,CAGV,EAAC,EAED0G,OAAA,SAAAA,OAAO1a,GAAI,WACHwd,EAAM,IAAI1D,EAAOnc,KAAKu7C,MAAQv7C,KAAKw7C,OAAS,GAClD,OAAOx7C,KAAK88C,cAAa,SAAAJ,GAEvB,OADA,EAAK2B,gBAAgBx+B,EAAK68B,GACnBr6C,EAAGwd,EACZ,GACF,EAAC,IAzXW,E,kDCrBF,+NAEZ,IAKI9a,EALAuQ,EAASoH,EAAQ,MACjBP,EAAS7G,EAAO6G,OAEhBuiC,EAAQ,CAAC,EAIb,IAAK35C,KAAOuQ,EACLA,EAAOvC,eAAehO,IACf,eAARA,GAAgC,WAARA,IAC5B25C,EAAM35C,GAAOuQ,EAAOvQ,IAGtB,IAAI45C,EAAQD,EAAMviC,OAAS,CAAC,EAC5B,IAAKpX,KAAOoX,EACLA,EAAOpJ,eAAehO,IACf,gBAARA,GAAiC,oBAARA,IAC7B45C,EAAM55C,GAAOoX,EAAOpX,IAqCtB,GAlCA25C,EAAMviC,OAAO7b,UAAY6b,EAAO7b,UAE3Bq+C,EAAMtgC,MAAQsgC,EAAMtgC,OAAShJ,WAAWgJ,OAC3CsgC,EAAMtgC,KAAO,SAAU9b,EAAOojB,EAAkB3iB,GAC9C,GAAqB,iBAAVT,EACT,MAAM,IAAIsC,UAAU,yEAA2EtC,GAEjG,GAAIA,QAAiC,IAAjBA,EAAMS,OACxB,MAAM,IAAI6B,UAAU,yHAA2HtC,GAEjJ,OAAO4Z,EAAO5Z,EAAOojB,EAAkB3iB,EACzC,GAGG27C,EAAM5+B,QACT4+B,EAAM5+B,MAAQ,SAAUnK,EAAM8K,EAAMtC,GAClC,GAAoB,iBAATxI,EACT,MAAM,IAAI/Q,UAAU,oEAAsE+Q,GAE5F,GAAIA,EAAO,GAAKA,GAAQ,GAAK,GAAK,IAChC,MAAM,IAAIvE,WAAW,cAAgBuE,EAAO,kCAE9C,IAAIoI,EAAM7B,EAAOvG,GAQjB,OAPK8K,GAAwB,IAAhBA,EAAK1d,OAEa,iBAAbob,EAChBJ,EAAI0C,KAAKA,EAAMtC,GAEfJ,EAAI0C,KAAKA,GAJT1C,EAAI0C,KAAK,GAMJ1C,CACT,IAGG0gC,EAAME,iBACT,IACEF,EAAME,iBAAmBj7C,EAAQk7C,QAAQ,UAAUD,gBAGnD,CAFA,MAAOl5C,GAEP,CAICg5C,EAAMI,YACTJ,EAAMI,UAAY,CAChBC,WAAYL,EAAMt0B,YAEhBs0B,EAAME,mBACRF,EAAMI,UAAUE,kBAAoBN,EAAME,mBAI9Cl/C,EAAOD,QAAUi/C,C,oCC1EjB,SAASjvC,QAAQoV,EAAQo6B,GAAkB,IAAIz6C,EAAOlD,OAAOkD,KAAKqgB,GAAS,GAAIvjB,OAAOoO,sBAAuB,CAAE,IAAIwvC,EAAU59C,OAAOoO,sBAAsBmV,GAAao6B,IAAgBC,EAAUA,EAAQvvC,QAAO,SAAUC,GAAO,OAAOtO,OAAOuO,yBAAyBgV,EAAQjV,GAAKtH,UAAY,KAAI9D,EAAKc,KAAKlC,MAAMoB,EAAM06C,EAAU,CAAE,OAAO16C,CAAM,CAIpV,SAAS4D,gBAAgBlI,EAAK6E,EAAKxC,GAAiK,OAApJwC,KAAO7E,EAAOoB,OAAO+G,eAAenI,EAAK6E,EAAK,CAAExC,MAAOA,EAAO+F,YAAY,EAAMC,cAAc,EAAMC,UAAU,IAAkBtI,EAAI6E,GAAOxC,EAAgBrC,CAAK,CAIhN,SAASuI,kBAAkBC,EAAQC,GAAS,IAAK,IAAI7I,EAAI,EAAGA,EAAI6I,EAAM3F,OAAQlD,IAAK,CAAE,IAAI8I,EAAaD,EAAM7I,GAAI8I,EAAWN,WAAaM,EAAWN,aAAc,EAAOM,EAAWL,cAAe,EAAU,UAAWK,IAAYA,EAAWJ,UAAW,GAAMlH,OAAO+G,eAAeK,EAAQE,EAAW7D,IAAK6D,EAAa,CAAE,CAV/S,gEAcb,IACIuT,EADWO,EAAQ,MACDP,OAGlBlb,EADYyb,EAAQ,MACAzb,QAEpBoO,EAASpO,GAAWA,EAAQoO,QAAU,UAM1C3P,EAAOD,QAEP,WACE,SAAS0/C,cArBX,SAASz6C,gBAAgBC,EAAUC,GAAe,KAAMD,aAAoBC,GAAgB,MAAM,IAAIC,UAAU,oCAAwC,CAsBpJH,CAAgB1E,KAAMm/C,YAEtBn/C,KAAKo/C,KAAO,KACZp/C,KAAKq/C,KAAO,KACZr/C,KAAKgD,OAAS,CAChB,CA6KA,OApMF,SAASkM,aAAatK,EAAauK,EAAYC,GAAmJ,OAAhID,GAAY1G,kBAAkB7D,EAAYtE,UAAW6O,GAAiBC,GAAa3G,kBAAkB7D,EAAawK,GAAqBxK,CAAa,CAyBpNsK,CAAaiwC,WAAY,CAAC,CACxBp6C,IAAK,OACLxC,MAAO,SAAS+C,KAAKm5C,GACnB,IAAIa,EAAQ,CACVr7B,KAAMw6B,EACNxsC,KAAM,MAEJjS,KAAKgD,OAAS,EAAGhD,KAAKq/C,KAAKptC,KAAOqtC,EAAWt/C,KAAKo/C,KAAOE,EAC7Dt/C,KAAKq/C,KAAOC,IACVt/C,KAAKgD,MACT,GACC,CACD+B,IAAK,UACLxC,MAAO,SAASg9C,QAAQd,GACtB,IAAIa,EAAQ,CACVr7B,KAAMw6B,EACNxsC,KAAMjS,KAAKo/C,MAEO,IAAhBp/C,KAAKgD,SAAchD,KAAKq/C,KAAOC,GACnCt/C,KAAKo/C,KAAOE,IACVt/C,KAAKgD,MACT,GACC,CACD+B,IAAK,QACLxC,MAAO,SAASuF,QACd,GAAoB,IAAhB9H,KAAKgD,OAAT,CACA,IAAI6c,EAAM7f,KAAKo/C,KAAKn7B,KAGpB,OAFoB,IAAhBjkB,KAAKgD,OAAchD,KAAKo/C,KAAOp/C,KAAKq/C,KAAO,KAAUr/C,KAAKo/C,KAAOp/C,KAAKo/C,KAAKntC,OAC7EjS,KAAKgD,OACA6c,CAJsB,CAK/B,GACC,CACD9a,IAAK,QACLxC,MAAO,SAASi9C,QACdx/C,KAAKo/C,KAAOp/C,KAAKq/C,KAAO,KACxBr/C,KAAKgD,OAAS,CAChB,GACC,CACD+B,IAAK,OACLxC,MAAO,SAAS4F,KAAKyhC,GACnB,GAAoB,IAAhB5pC,KAAKgD,OAAc,MAAO,GAI9B,IAHA,IAAIuH,EAAIvK,KAAKo/C,KACTv/B,EAAM,GAAKtV,EAAE0Z,KAEV1Z,EAAIA,EAAE0H,MACX4N,GAAO+pB,EAAIr/B,EAAE0Z,KAGf,OAAOpE,CACT,GACC,CACD9a,IAAK,SACLxC,MAAO,SAASc,OAAOskB,GACrB,GAAoB,IAAhB3nB,KAAKgD,OAAc,OAAOmZ,EAAO4D,MAAM,GAK3C,IAJA,IArEcoR,EAAKzoB,EAAQ+M,EAqEvBoK,EAAM1D,EAAOyJ,YAAY+B,IAAM,GAC/Bpd,EAAIvK,KAAKo/C,KACTt/C,EAAI,EAEDyK,GAzEO4mB,EA0ED5mB,EAAE0Z,KA1EIvb,EA0EEmX,EA1EMpK,EA0ED3V,EAzE9Bqc,EAAO7b,UAAU+lB,KAAK7gB,KAAK2rB,EAAKzoB,EAAQ+M,GA0ElC3V,GAAKyK,EAAE0Z,KAAKjhB,OACZuH,EAAIA,EAAE0H,KAGR,OAAO4N,CACT,GAEC,CACD9a,IAAK,UACLxC,MAAO,SAASk9C,QAAQ93B,EAAG+3B,GACzB,IAAI7/B,EAcJ,OAZI8H,EAAI3nB,KAAKo/C,KAAKn7B,KAAKjhB,QAErB6c,EAAM7f,KAAKo/C,KAAKn7B,KAAK/b,MAAM,EAAGyf,GAC9B3nB,KAAKo/C,KAAKn7B,KAAOjkB,KAAKo/C,KAAKn7B,KAAK/b,MAAMyf,IAGtC9H,EAFS8H,IAAM3nB,KAAKo/C,KAAKn7B,KAAKjhB,OAExBhD,KAAK8H,QAGL43C,EAAa1/C,KAAK2/C,WAAWh4B,GAAK3nB,KAAK4/C,WAAWj4B,GAGnD9H,CACT,GACC,CACD9a,IAAK,QACLxC,MAAO,SAASgrB,QACd,OAAOvtB,KAAKo/C,KAAKn7B,IACnB,GAEC,CACDlf,IAAK,aACLxC,MAAO,SAASo9C,WAAWh4B,GACzB,IAAIpd,EAAIvK,KAAKo/C,KACTx7B,EAAI,EACJ/D,EAAMtV,EAAE0Z,KAGZ,IAFA0D,GAAK9H,EAAI7c,OAEFuH,EAAIA,EAAE0H,MAAM,CACjB,IAAIrH,EAAML,EAAE0Z,KACR47B,EAAKl4B,EAAI/c,EAAI5H,OAAS4H,EAAI5H,OAAS2kB,EAIvC,GAHIk4B,IAAOj1C,EAAI5H,OAAQ6c,GAAOjV,EAASiV,GAAOjV,EAAI1C,MAAM,EAAGyf,GAGjD,KAFVA,GAAKk4B,GAEQ,CACPA,IAAOj1C,EAAI5H,UACX4gB,EACErZ,EAAE0H,KAAMjS,KAAKo/C,KAAO70C,EAAE0H,KAAUjS,KAAKo/C,KAAOp/C,KAAKq/C,KAAO,OAE5Dr/C,KAAKo/C,KAAO70C,EACZA,EAAE0Z,KAAOrZ,EAAI1C,MAAM23C,IAGrB,KACF,GAEEj8B,CACJ,CAGA,OADA5jB,KAAKgD,QAAU4gB,EACR/D,CACT,GAEC,CACD9a,IAAK,aACLxC,MAAO,SAASq9C,WAAWj4B,GACzB,IAAI9H,EAAM1D,EAAOyJ,YAAY+B,GACzBpd,EAAIvK,KAAKo/C,KACTx7B,EAAI,EAIR,IAHArZ,EAAE0Z,KAAKoC,KAAKxG,GACZ8H,GAAKpd,EAAE0Z,KAAKjhB,OAELuH,EAAIA,EAAE0H,MAAM,CACjB,IAAI+L,EAAMzT,EAAE0Z,KACR47B,EAAKl4B,EAAI3J,EAAIhb,OAASgb,EAAIhb,OAAS2kB,EAIvC,GAHA3J,EAAIqI,KAAKxG,EAAKA,EAAI7c,OAAS2kB,EAAG,EAAGk4B,GAGvB,KAFVl4B,GAAKk4B,GAEQ,CACPA,IAAO7hC,EAAIhb,UACX4gB,EACErZ,EAAE0H,KAAMjS,KAAKo/C,KAAO70C,EAAE0H,KAAUjS,KAAKo/C,KAAOp/C,KAAKq/C,KAAO,OAE5Dr/C,KAAKo/C,KAAO70C,EACZA,EAAE0Z,KAAOjG,EAAI9V,MAAM23C,IAGrB,KACF,GAEEj8B,CACJ,CAGA,OADA5jB,KAAKgD,QAAU4gB,EACR/D,CACT,GAEC,CACD9a,IAAKsK,EACL9M,MAAO,SAASA,MAAMu9C,EAAGzxC,GACvB,OAAOpN,EAAQjB,KAnMrB,SAASwP,cAAc9G,GAAU,IAAK,IAAI5I,EAAI,EAAGA,EAAIiD,UAAUC,OAAQlD,IAAK,CAAE,IAAI2L,EAAyB,MAAhB1I,UAAUjD,GAAaiD,UAAUjD,GAAK,CAAC,EAAOA,EAAI,EAAK2P,QAAQnO,OAAOmK,IAAS,GAAM3G,SAAQ,SAAUC,GAAOqD,gBAAgBM,EAAQ3D,EAAK0G,EAAO1G,GAAO,IAAezD,OAAOy+C,0BAA6Bz+C,OAAO6b,iBAAiBzU,EAAQpH,OAAOy+C,0BAA0Bt0C,IAAmBgE,QAAQnO,OAAOmK,IAAS3G,SAAQ,SAAUC,GAAOzD,OAAO+G,eAAeK,EAAQ3D,EAAKzD,OAAOuO,yBAAyBpE,EAAQ1G,GAAO,GAAM,CAAE,OAAO2D,CAAQ,CAmM1f8G,CAAc,CAAC,EAAGnB,EAAS,CAE9CvC,MAAO,EAEPD,eAAe,IAEnB,KAGKszC,UACT,CArLA,E,0nLCxBMa,EAAAA,W,qKAEI,IAAI79C,MAAM,oC,0BAFd69C,GCEAC,EAAAA,W,uBACQ5xC,EAAc,uDAAJ,CAAC,E,mCAChB6xC,OAAS,CAAC,E,KAEVC,OACuB,kBAAnB9xC,EAAQ8xC,QAAuB9xC,EAAQ8xC,M,4DAG9Cp7C,EAAK4G,G,OACC3L,KAAKkgD,OAAOn7C,GAAO4G,C,iCAGzB5G,G,OACK/E,KAAKkgD,OAAOn7C,E,wDAKbq7C,EAAa9+C,OAAOkD,KAAKxE,KAAKkgD,QAAQG,MAAK,SAACxgD,EAAGqF,G,OACnDT,EAAK67C,aAAazgD,EAAGqF,E,IAGjBumB,EAAM,CAAC,M,GACTzrB,KAAKmgD,QAAUC,EAAWp9C,OAAS,EAAG,C,IAClCuqB,EAAQ6yB,EAAW,GACvB5yB,EAAO4yB,EAAWA,EAAWp9C,OAAS,GACxCyoB,EAAInmB,KAAJ,oBACei7C,EAAUC,QAAQ,CAACxgD,KAAKygD,YAAYlzB,GAAQvtB,KAAKygD,YAAYjzB,M,CAG9E/B,EAAInmB,KAAJ,aAAetF,KAAK0gD,YAApB,O,mCACgBN,G,+BAAY,C,IAAnBr7C,EAAmB,QAC1B0mB,EAAInmB,KAAJ,cACSi7C,EAAUC,QAAQxgD,KAAKygD,YAAY17C,IAD5C,YACqDw7C,EAAUC,QAC3DxgD,KAAKkgD,OAAOn7C,K,uCAIlB0mB,EAAInmB,KAAK,KACTmmB,EAAInmB,KAAK,MACFmmB,EAAItjB,KAAK,K,2DAIV,IAAIhG,MAAM,oC,qDAIV,IAAIA,MAAM,oC,yDAIV,IAAIA,MAAM,oC,aApDd89C,GCEAxgB,EAAM,SAANA,IAAO70B,EAAK5H,G,OAAYE,MAAMF,EAAS,GAAGmF,KAAK,KAAOyC,GAAK1C,OAAOlF,E,EAElE29C,EAAc,oBACdC,EAAY,C,KACV,M,KACA,M,KACA,M,KACA,M,KACA,M,KACA,O,IACD,M,IACA,OAIDC,EAAY,SAAZA,UAAqBC,G,IACnBC,EAAID,EAAK99C,O,GACP,EAAJ+9C,E,MACI,IAAI5+C,MAAM,8B,IAEX,IAAIrC,EAAI,EAAG4M,EAAMq0C,EAAI,EAAGjhD,EAAI4M,EAAK5M,GAAK,EAAG,C,IACtCD,EAAIihD,EAAKhhD,GACfghD,EAAKhhD,GAAKghD,EAAKhhD,EAAI,GACnBghD,EAAKhhD,EAAI,GAAKD,C,QAIXihD,C,EAGHP,EAAAA,W,+HACW17B,G,IAAQm8B,EAAkB,uDAAN,K,GAEX,iBAAXn8B,E,iBACEA,GAGN,GAAIA,aAAkBrW,OAAQ,C,QAY/ByyC,EAXA5gC,EAASwE,EAETq8B,GAAY,EACPphD,EAAI,EAAG4M,EAAM2T,EAAOrd,OAAQlD,EAAI4M,EAAK5M,I,GACxCugB,EAAOpM,WAAWnU,GAAK,IAAM,CAC/BohD,GAAY,E,aAQdD,EADEC,EACaL,EAAU1kC,EAAOkC,KAAP,gBAAqBgC,GAAU,YAEzClE,EAAOkC,KAAKgC,EAAOpK,UAAW,SAW/CoK,GANEA,EADE2gC,EACOA,EAAUC,GAAc53C,SAAS,UAEjC43C,EAAa53C,SAAS,WAIjB0H,QAAQ4vC,GAAa,SAAA/8B,G,OAAKg9B,EAAUh9B,E,eAEzCvD,EAAX,I,CAGK,GAAIlE,EAAOuK,SAAS7B,G,iBACdA,EAAOxb,SAAS,OAA3B,KACK,GACLwb,aAAkBm7B,GAClBn7B,aAAkBo7B,E,OAEXp7B,EAAOxb,WACT,GAAIwb,aAAkB1a,KAAM,C,IAC7BkW,EACF,YAAKof,EAAI5a,EAAOs8B,iBAAkB,IAClC1hB,EAAI5a,EAAOu8B,cAAgB,EAAG,GAC9B3hB,EAAI5a,EAAOw8B,aAAc,GACzB5hB,EAAI5a,EAAOy8B,cAAe,GAC1B7hB,EAAI5a,EAAO08B,gBAAiB,GAC5B9hB,EAAI5a,EAAO28B,gBAAiB,GAC5B,I,OAGER,IAIF3gC,GAHAA,EAAS2gC,EAAU7kC,EAAOkC,KAAKgC,EAAQ,UAAUhX,SAAS,WAG1C0H,QAAQ4vC,GAAa,SAAA/8B,G,OAAKg9B,EAAUh9B,E,gBAG3CvD,EAAX,I,CACK,GAAInd,MAAMuN,QAAQoU,GAAS,C,IAC1B9D,EAAQ8D,EAAOlU,KAAI,SAAAjL,G,OAAK66C,UAAUC,QAAQ96C,EAAGs7C,E,IAAY74C,KAAK,K,iBACzD4Y,EAAX,I,CACK,GAAiC,oBAA7B,CAAC,EAAE1X,SAAS7D,KAAKqf,GAA+B,C,IACnD4G,EAAM,CAAC,M,IACR,IAAI1mB,KAAO8f,EAAQ,C,IAChBlZ,EAAMkZ,EAAO9f,GACnB0mB,EAAInmB,KAAJ,WAAaP,EAAb,YAAoBw7C,UAAUC,QAAQ70C,EAAKq1C,I,QAG7Cv1B,EAAInmB,KAAK,MACFmmB,EAAItjB,KAAK,K,CACX,MAAsB,iBAAX0c,EACT07B,UAAUzpB,OAAOjS,G,UAEdA,E,uCAIA8C,G,GACRA,GAAK,MAAQA,EAAI,K,OACZra,KAAK6uB,MAAU,IAAJxU,GAAW,I,MAGzB,IAAIxlB,MAAJ,8BAAiCwlB,G,eAzFrC44B,GC7BAkB,EAAAA,SAAAA,G,iFACQC,EAAUC,G,MAAI19B,EAAW,uDAAJ,CAAC,E,2DAE3By9B,SAAWA,E,EACXC,GAAKA,E,EACL19B,KAAOA,E,EACP29B,IAAM,E,EACNC,SAAWp9C,EAAKi9C,SAASG,WAAap9C,EAAKwf,KAAK69B,O,EAChDC,mBAAqB,E,EACrBzsC,OAAS,G,sEAGV0sC,G,GACC7lC,EAAOuK,SAASs7B,KACnBA,EAAQ7lC,EAAOkC,KAAK2jC,EAAQ,KAAM,W,KAG/BD,oBAAsBC,EAAMh/C,OACT,MAApBhD,KAAKikB,KAAKg+B,S,KACPh+B,KAAKg+B,OAAS,G,KAEhB3sC,OAAOhQ,KAAK08C,G,KACZ/9B,KAAKg+B,QAAUD,EAAMh/C,OACtBhD,KAAK6hD,S,OACC7hD,KAAKikB,KAAK69B,OAAS,a,iCAI3BE,G,OACEA,G,KACGj8B,MAAMi8B,GAENhiD,KAAK89B,U,kDAIProB,OAASzV,KAAK0hD,SAASQ,Q,IAEtBlB,EAAYhhD,KAAK0hD,SAASS,UAC5BniD,KAAK0hD,SAASS,UAAUC,aAAapiD,KAAK2hD,GAAI3hD,KAAK4hD,KACnD,KAEA5hD,KAAKsV,OAAOtS,S,KACTsS,OAAS6G,EAAO9Y,OAAOrD,KAAKsV,QAC7BtV,KAAK6hD,W,KACFvsC,OAASylC,EAAAA,QAAKsH,YAAYriD,KAAKsV,SAGlC0rC,I,KACG1rC,OAAS0rC,EAAUhhD,KAAKsV,S,KAG1B2O,KAAKg+B,OAASjiD,KAAKsV,OAAOtS,Q,KAG5B0+C,SAASY,OAAd,UAAwBtiD,KAAK2hD,GAA7B,YAAmC3hD,KAAK4hD,IAAxC,S,KACKF,SAASY,OAAO/B,EAAUC,QAAQxgD,KAAKikB,KAAM+8B,IAE9ChhD,KAAKsV,OAAOtS,S,KACT0+C,SAASY,OAAO,U,KAChBZ,SAASY,OAAOtiD,KAAKsV,Q,KAErBA,OAAS,G,KACTosC,SAASY,OAAO,gB,KAGlBZ,SAASY,OAAO,U,KAChBZ,SAASa,QAAQviD,K,6DAGZA,KAAK2hD,GAAf,YAAqB3hD,KAAK4hD,IAA1B,K,kBAtEEH,CAAqBzB,GCJrBwC,EAAkB,CACtBC,IAAK,GACL9E,KAAM,GACN+E,OAAQ,GACRC,MAAO,IAGHC,EAAQ,C,MACL,CAAC,QAAS,S,MACV,CAAC,QAAS,SACjBC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdxpC,GAAI,CAAC,QAAS,SACdypC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,IAAK,CAAC,OAAQ,SACdC,IAAK,CAAC,QAAS,QACfC,IAAK,CAAC,OAAQ,SACdC,IAAK,CAAC,OAAQ,QACdC,IAAK,CAAC,OAAQ,QACdC,KAAM,CAAC,QAAS,SAChBC,KAAM,CAAC,QAAS,SAChBC,KAAM,CAAC,QAAS,SAChBC,KAAM,CAAC,OAAQ,SACfC,KAAM,CAAC,MAAO,QACdC,UAAW,CAAC,OAAQ,KACpBC,MAAO,CAAC,IAAO,KACfC,MAAO,CAAC,IAAO,MACfC,OAAQ,CAAC,IAAO,KAChBC,QAAS,CAAC,IAAO,OAGbC,EAAAA,W,iBACQlE,G,IAAUrzC,EAAc,uDAAJ,CAAC,E,mCAC1BqzC,SAAWA,E,KACX9rC,KAAOvH,EAAQuH,MAAQ,S,KACvBiwC,OAASx3C,EAAQw3C,QAAU,WAGF,iBAAnBx3C,EAAQy3C,O,KACZC,QAAU,CACbtD,IAAKp0C,EAAQy3C,OACbnI,KAAMtvC,EAAQy3C,OACdpD,OAAQr0C,EAAQy3C,OAChBnD,MAAOt0C,EAAQy3C,Q,KAKZC,QAAU13C,EAAQ03C,SAAWvD,E,IAI9BwD,EAAa9iD,MAAMuN,QAAQzQ,KAAK4V,MAClC5V,KAAK4V,KACLgtC,EAAM5iD,KAAK4V,KAAKqwC,e,KACf1K,MAAQyK,EAA2B,aAAhBhmD,KAAK6lD,OAAwB,EAAI,G,KACpDrK,OAASwK,EAA2B,aAAhBhmD,KAAK6lD,OAAwB,EAAI,G,KAErDK,QAAUlmD,KAAK0hD,SAASyE,M,KAGxBC,UAAYpmD,KAAK0hD,SAASyE,IAAI,CACjCE,QAAS,CAAC,MAAO,OAAQ,SAAU,SAAU,Y,KAI1CC,WAAatmD,KAAK0hD,SAASyE,IAAI,CAClCI,KAAM,OACNn8C,OAAQpK,KAAK0hD,SAAS8E,MAAMviC,KAAKwiC,MACjCC,SAAU,CAAC,EAAG,EAAG1mD,KAAKu7C,MAAOv7C,KAAKw7C,QAClCmL,SAAU3mD,KAAKkmD,QACfU,UAAW5mD,KAAKomD,Y,KAGbS,SAAW,E,uEA0CT7mD,KAAKw7C,OAASx7C,KAAK+lD,QAAQrD,M,qCAG9BV,G,OACGhiD,KAAKkmD,QAAQngC,MAAMi8B,E,+CAIrBsE,WAAW55C,M,KACX05C,UAAU15C,MACR1M,KAAKkmD,QAAQx5C,K,uCA/CduX,EAAOjkB,KAAKomD,UAAUniC,K,OACR,MAAbA,EAAK6iC,KAAe7iC,EAAK6iC,KAAQ7iC,EAAK6iC,KAAO,CAAC,C,0CAI/C7iC,EAAOjkB,KAAKomD,UAAUniC,K,OACL,MAAhBA,EAAK8iC,QAAkB9iC,EAAK8iC,QAAW9iC,EAAK8iC,QAAU,CAAC,C,6CAIxD9iC,EAAOjkB,KAAKomD,UAAUniC,K,OACH,MAAlBA,EAAK+iC,UAAoB/iC,EAAK+iC,UAAa/iC,EAAK+iC,UAAY,CAAC,C,0CAI9D/iC,EAAOjkB,KAAKomD,UAAUniC,K,OACL,MAAhBA,EAAKgjC,QAAkBhjC,EAAKgjC,QAAWhjC,EAAKgjC,QAAU,CAAC,C,6CAIxDhjC,EAAOjkB,KAAKomD,UAAUniC,K,OACrBA,EAAKijC,aAAejjC,EAAKijC,WAAa,CAAC,E,6CAIxCjjC,EAAOjkB,KAAKsmD,WAAWriC,K,OACP,MAAfA,EAAKkjC,OAAiBljC,EAAKkjC,OAAUljC,EAAKkjC,OAAS,E,qDAIpDljC,EAAOjkB,KAAKsmD,WAAWriC,K,OACA,MAAtBA,EAAKmjC,cACRnjC,EAAKmjC,cACJnjC,EAAKmjC,cAAgBpnD,KAAK0hD,SAAS2F,+B,aAjFtCzB,GC3DA0B,EAAAA,SAAAA,G,kOACSznD,EAAGqF,G,OACPrF,EAAE0nD,cAAcriD,E,qDAIhB,O,iDAGGmR,G,OACH,IAAI7H,OAAO6H,E,iBAVhBixC,CAAoBrH,GCA1B,SAASuH,QAAQjlD,EAAOklD,G,GAClBllD,EAAQklD,EAAW,GAAI,OAAO,E,QAC9BC,EAAa,EACbC,EAAWF,EAAWzkD,OAAS,EAC5B0kD,GAAcC,GAAU,C,IACvBC,EAAct6C,KAAKC,OAAOm6C,EAAaC,GAAY,GAGnDE,EAA2B,EAAdD,E,GAIjBrlD,GAASklD,EAAWI,IACpBtlD,GAASklD,EAAWI,EAAa,G,OAE1B,EAGLtlD,EAAQklD,EAAWI,EAAa,GAElCH,EAAaE,EAAc,EAG3BD,EAAWC,EAAc,C,QAGtB,C,CCzBT,IAAME,EAAyB,CAC7B,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAIIC,EAAwB,SAAxBA,sBAAwBC,G,OAC5BR,QAAQQ,EAAWF,E,EAOfG,EAA6B,CACjC,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAYIC,GAA6B,CACjC,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,OAQIC,GAAgC,CAKpC,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,OACA,QAGIC,GAA2B,CAK/B,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,SAMIC,GAAwB,CAK5B,EACA,GACA,IACA,IAMA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KAMA,MACA,MAMA,MACA,MAMA,MACA,MAMA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MAMA,OACA,OACA,OACA,OAOA,OACA,QACA,QACA,SAIIC,GAAwB,SAAxBA,sBAAwBN,G,OAC5BR,QAAQQ,EAAWE,KACnBV,QAAQQ,EAAWK,KACnBb,QAAQQ,EAAWG,KACnBX,QAAQQ,EAAWI,G,EAOfG,GAAqB,CACzB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAIIC,GAAqB,SAArBA,mBAAqBR,G,OAAaR,QAAQQ,EAAWO,G,EAOrDE,GAAkB,CACtB,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,KACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,SAIIC,GAAmB,SAAnBA,iBAAmBV,G,OAAaR,QAAQQ,EAAWS,G,EC/2DnDE,GDo4B2B,SAA3BC,yBAA2BZ,G,OAC/BR,QAAQQ,EAAWE,G,EC/3BfW,GDg1B4B,SAA5BC,0BAA4Bd,G,OAChCR,QAAQQ,EAAWC,E,EC90Bfc,GAAe,SAAfA,aAAef,G,OAAaA,EAAUgB,YAAY,E,EAClDz7B,GAAQ,SAARA,MAAQ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AG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAG7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAE5C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC9C,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE3D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAC5D,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5D,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAE5D,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7C,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAG/C5V,EAAQowG,cAAgB,IAAIt8E,YAAY,CAEtC,KAAM,KAE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AAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,IAAK,EAAG,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,GAAI,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,IAAK,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,IAAK,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,IAAK,EAAG,EAAG,GAAI,IAKtnyCC,UAJc,EAAC,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAO,GAAO,GAAO,GAAO,GAAM,GAAM,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAO,GAAO,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAM,GAAM,GAAM,GAAO,GAAM,GAAM,GAAO,GAAM,GAAM,GAKn0HC,KAJS,CAAC,GAAI,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,CAAC,sBAAuB,GAAI,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,GAAI,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,GAAI,GAAI,GAAI,GAAI,GAAI,CAAC,qBAAsB,kBAAmB,CAAC,qBAAsB,kBAAmB,GAAI,CAAC,sBAAuB,GAAI,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,sBAAuB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,kBAAmB,GAAI,CAAC,kBAAmB,CAAC,kBAAmB,CAAC,sBAAuB,GAAI,CAAC,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AAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,G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AC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,EAAG,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,MACpD,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,MACrD,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,MACrD,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,MACrD,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,MACrD,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,GAAI,MACzD,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,MAC1D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,MAC1D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,MAC1D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,MAC1D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,MAC1D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,MAC1D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,MAC/D,CAAC,CAAC,GAAI,GAAI,GAAI,IAAK,CAAC,GAAI,GAAI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","sources":["webpack://pdfmake/webpack/universalModuleDefinition","webpack://pdfmake/./node_modules/assert/build/assert.js","webpack://pdfmake/./node_modules/assert/build/internal/assert/assertion_error.js","webpack://pdfmake/./node_modules/assert/build/internal/errors.js","webpack://pdfmake/./node_modules/assert/build/internal/util/comparisons.js","webpack://pdfmake/./node_modules/@foliojs-fork/linebreak/src/classes.js","webpack://pdfmake/./node_modules/@foliojs-fork/linebreak/src/pairs.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/index.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Array.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Bitfield.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Boolean.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Buffer.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/DecodeStream.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/EncodeStream.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Enum.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/LazyArray.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Number.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Optional.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Pointer.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Reserved.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/String.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/Struct.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/VersionedStruct.js","webpack://pdfmake/./node_modules/@foliojs-fork/restructure/src/utils.js","webpack://pdfmake/./node_modules/buffer/index.js","webpack://pdfmake/./node_modules/core-js/internals/array-buffer-native.js","webpack://pdfmake/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://pdfmake/./node_modules/core-js/internals/array-buffer.js","webpack://pdfmake/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://pdfmake/./node_modules/crypto-js/aes.js","webpack://pdfmake/./node_modules/crypto-js/cipher-core.js","webpack://pdfmake/./node_modules/crypto-js/core.js","webpack://pdfmake/./node_modules/crypto-js/enc-base64.js","webpack://pdfmake/./node_modules/crypto-js/enc-base64url.js","webpack://pdfmake/./node_modules/crypto-js/enc-utf16.js","webpack://pdfmake/./node_modules/crypto-js/evpkdf.js","webpack://pdfmake/./node_modules/crypto-js/format-hex.js","webpack://pdfmake/./node_modules/crypto-js/hmac.js","webpack://pdfmake/./node_modules/crypto-js/index.js","webpack://pdfmake/./node_modules/crypto-js/lib-typedarrays.js","webpack://pdfmake/./node_modules/crypto-js/md5.js","webpack://pdfmake/./node_modules/crypto-js/mode-cfb.js","webpack://pdfmake/./node_modules/crypto-js/mode-ctr-gladman.js","webpack://pdfmake/./node_modules/crypto-js/mode-ctr.js","webpack://pdfmake/./node_modules/crypto-js/mode-ecb.js","webpack://pdfmake/./node_modules/crypto-js/mode-ofb.js","webpack://pdfmake/./node_modules/crypto-js/pad-ansix923.js","webpack://pdfmake/./node_modules/crypto-js/pad-iso10126.js","webpack://pdfmake/./node_modules/crypto-js/pad-iso97971.js","webpack://pdfmake/./node_modules/crypto-js/pad-nopadding.js","webpack://pdfmake/./node_modules/crypto-js/pad-zeropadding.js","webpack://pdfmake/./node_modules/crypto-js/pbkdf2.js","webpack://pdfmake/./node_modules/crypto-js/rabbit-legacy.js","webpack://pdfmake/./node_modules/crypto-js/rabbit.js","webpack://pdfmake/./node_modules/crypto-js/rc4.js","webpack://pdfmake/./node_modules/crypto-js/ripemd160.js","webpack://pdfmake/./node_modules/crypto-js/sha1.js","webpack://pdfmake/./node_modules/crypto-js/sha224.js","webpack://pdfmake/./node_modules/crypto-js/sha256.js","webpack://pdfmake/./node_modules/crypto-js/sha3.js","webpack://pdfmake/./node_modules/crypto-js/sha384.js","webpack://pdfmake/./node_modules/crypto-js/sha512.js","webpack://pdfmake/./node_modules/crypto-js/tripledes.js","webpack://pdfmake/./node_modules/crypto-js/x64-core.js","webpack://pdfmake/src/StateMachine.js","webpack://pdfmake/./node_modules/png-js/png-node.js","webpack://pdfmake/./node_modules/safer-buffer/safer.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/buffer_list.js","webpack://pdfmake/../lib/abstract_reference.js","webpack://pdfmake/../lib/tree.js","webpack://pdfmake/../lib/object.js","webpack://pdfmake/../lib/reference.js","webpack://pdfmake/../lib/page.js","webpack://pdfmake/../lib/name_tree.js","webpack://pdfmake/../lib/saslprep/lib/util.js","webpack://pdfmake/../lib/saslprep/lib/code-points.js","webpack://pdfmake/../lib/saslprep/index.js","webpack://pdfmake/../lib/security.js","webpack://pdfmake/../lib/path.js","webpack://pdfmake/../lib/gradient.js","webpack://pdfmake/../lib/pattern.js","webpack://pdfmake/../lib/mixins/color.js","webpack://pdfmake/../lib/mixins/vector.js","webpack://pdfmake/../lib/font/afm.js","webpack://pdfmake/../lib/font.js","webpack://pdfmake/../lib/font/standard.js","webpack://pdfmake/../lib/font/embedded.js","webpack://pdfmake/../lib/font_factory.js","webpack://pdfmake/../lib/mixins/fonts.js","webpack://pdfmake/../lib/line_wrapper.js","webpack://pdfmake/../lib/mixins/text.js","webpack://pdfmake/../lib/image/jpeg.js","webpack://pdfmake/../lib/image/png.js","webpack://pdfmake/../lib/image.js","webpack://pdfmake/../lib/mixins/images.js","webpack://pdfmake/../lib/mixins/annotations.js","webpack://pdfmake/../lib/outline.js","webpack://pdfmake/../lib/mixins/outline.js","webpack://pdfmake/../lib/structure_content.js","webpack://pdfmake/../lib/structure_element.js","webpack://pdfmake/../lib/number_tree.js","webpack://pdfmake/../lib/mixins/markings.js","webpack://pdfmake/../lib/mixins/acroform.js","webpack://pdfmake/../lib/mixins/attachments.js","webpack://pdfmake/../lib/document.js","webpack://pdfmake/./node_modules/string_decoder/node_modules/safe-buffer/index.js","webpack://pdfmake/./node_modules/unicode-trie/index.js","webpack://pdfmake/./node_modules/unicode-trie/swap.js","webpack://pdfmake/./src/3rd-party/svg-to-pdfkit.js","webpack://pdfmake/./src/3rd-party/svg-to-pdfkit/source.js","webpack://pdfmake/./node_modules/base64-js/index.js","webpack://pdfmake/./node_modules/brotli/dec/bit_reader.js","webpack://pdfmake/./node_modules/brotli/dec/context.js","webpack://pdfmake/./node_modules/brotli/dec/decode.js","webpack://pdfmake/./node_modules/brotli/dec/dictionary-browser.js","webpack://pdfmake/./node_modules/brotli/dec/dictionary.bin.js","webpack://pdfmake/./node_modules/brotli/dec/dictionary.js","webpack://pdfmake/./node_modules/brotli/dec/huffman.js","webpack://pdfmake/./node_modules/brotli/dec/prefix.js","webpack://pdfmake/./node_modules/brotli/dec/streams.js","webpack://pdfmake/./node_modules/brotli/dec/transform.js","webpack://pdfmake/./node_modules/brotli/decompress.js","webpack://pdfmake/./node_modules/browserify-zlib/lib/binding.js","webpack://pdfmake/./node_modules/browserify-zlib/lib/index.js","webpack://pdfmake/./node_modules/call-bind/callBound.js","webpack://pdfmake/./node_modules/call-bind/index.js","webpack://pdfmake/./node_modules/clone/clone.js","webpack://pdfmake/./node_modules/core-js/es/object/values.js","webpack://pdfmake/./node_modules/core-js/es/promise/index.js","webpack://pdfmake/./node_modules/core-js/features/promise/index.js","webpack://pdfmake/./node_modules/core-js/internals/a-callable.js","webpack://pdfmake/./node_modules/core-js/internals/a-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/a-possible-prototype.js","webpack://pdfmake/./node_modules/core-js/internals/add-to-unscopables.js","webpack://pdfmake/./node_modules/core-js/internals/advance-string-index.js","webpack://pdfmake/./node_modules/core-js/internals/an-instance.js","webpack://pdfmake/./node_modules/core-js/internals/an-object.js","webpack://pdfmake/./node_modules/core-js/internals/array-copy-within.js","webpack://pdfmake/./node_modules/core-js/internals/array-fill.js","webpack://pdfmake/./node_modules/core-js/internals/array-for-each.js","webpack://pdfmake/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://pdfmake/./node_modules/core-js/internals/array-from.js","webpack://pdfmake/./node_modules/core-js/internals/array-includes.js","webpack://pdfmake/./node_modules/core-js/internals/array-iteration.js","webpack://pdfmake/./node_modules/core-js/internals/array-last-index-of.js","webpack://pdfmake/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://pdfmake/./node_modules/core-js/internals/array-method-is-strict.js","webpack://pdfmake/./node_modules/core-js/internals/array-reduce.js","webpack://pdfmake/./node_modules/core-js/internals/array-slice.js","webpack://pdfmake/./node_modules/core-js/internals/array-sort.js","webpack://pdfmake/./node_modules/core-js/internals/array-species-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/array-species-create.js","webpack://pdfmake/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://pdfmake/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://pdfmake/./node_modules/core-js/internals/classof-raw.js","webpack://pdfmake/./node_modules/core-js/internals/classof.js","webpack://pdfmake/./node_modules/core-js/internals/clear-error-stack.js","webpack://pdfmake/./node_modules/core-js/internals/collection-strong.js","webpack://pdfmake/./node_modules/core-js/internals/collection.js","webpack://pdfmake/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://pdfmake/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://pdfmake/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://pdfmake/./node_modules/core-js/internals/create-html.js","webpack://pdfmake/./node_modules/core-js/internals/create-iterator-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://pdfmake/./node_modules/core-js/internals/create-property-descriptor.js","webpack://pdfmake/./node_modules/core-js/internals/create-property.js","webpack://pdfmake/./node_modules/core-js/internals/date-to-primitive.js","webpack://pdfmake/./node_modules/core-js/internals/define-iterator.js","webpack://pdfmake/./node_modules/core-js/internals/define-well-known-symbol.js","webpack://pdfmake/./node_modules/core-js/internals/descriptors.js","webpack://pdfmake/./node_modules/core-js/internals/document-create-element.js","webpack://pdfmake/./node_modules/core-js/internals/dom-iterables.js","webpack://pdfmake/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://pdfmake/./node_modules/core-js/internals/engine-ff-version.js","webpack://pdfmake/./node_modules/core-js/internals/engine-is-browser.js","webpack://pdfmake/./node_modules/core-js/internals/engine-is-ie-or-edge.js","webpack://pdfmake/./node_modules/core-js/internals/engine-is-ios-pebble.js","webpack://pdfmake/./node_modules/core-js/internals/engine-is-ios.js","webpack://pdfmake/./node_modules/core-js/internals/engine-is-node.js","webpack://pdfmake/./node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://pdfmake/./node_modules/core-js/internals/engine-user-agent.js","webpack://pdfmake/./node_modules/core-js/internals/engine-v8-version.js","webpack://pdfmake/./node_modules/core-js/internals/engine-webkit-version.js","webpack://pdfmake/./node_modules/core-js/internals/enum-bug-keys.js","webpack://pdfmake/./node_modules/core-js/internals/error-stack-installable.js","webpack://pdfmake/./node_modules/core-js/internals/export.js","webpack://pdfmake/./node_modules/core-js/internals/fails.js","webpack://pdfmake/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://pdfmake/./node_modules/core-js/internals/freezing.js","webpack://pdfmake/./node_modules/core-js/internals/function-apply.js","webpack://pdfmake/./node_modules/core-js/internals/function-bind-context.js","webpack://pdfmake/./node_modules/core-js/internals/function-bind.js","webpack://pdfmake/./node_modules/core-js/internals/function-call.js","webpack://pdfmake/./node_modules/core-js/internals/function-name.js","webpack://pdfmake/./node_modules/core-js/internals/function-uncurry-this.js","webpack://pdfmake/./node_modules/core-js/internals/get-built-in.js","webpack://pdfmake/./node_modules/core-js/internals/get-iterator-method.js","webpack://pdfmake/./node_modules/core-js/internals/get-iterator.js","webpack://pdfmake/./node_modules/core-js/internals/get-method.js","webpack://pdfmake/./node_modules/core-js/internals/get-substitution.js","webpack://pdfmake/./node_modules/core-js/internals/global.js","webpack://pdfmake/./node_modules/core-js/internals/has-own-property.js","webpack://pdfmake/./node_modules/core-js/internals/hidden-keys.js","webpack://pdfmake/./node_modules/core-js/internals/host-report-errors.js","webpack://pdfmake/./node_modules/core-js/internals/html.js","webpack://pdfmake/./node_modules/core-js/internals/ie8-dom-define.js","webpack://pdfmake/./node_modules/core-js/internals/ieee754.js","webpack://pdfmake/./node_modules/core-js/internals/indexed-object.js","webpack://pdfmake/./node_modules/core-js/internals/inherit-if-required.js","webpack://pdfmake/./node_modules/core-js/internals/inspect-source.js","webpack://pdfmake/./node_modules/core-js/internals/install-error-cause.js","webpack://pdfmake/./node_modules/core-js/internals/internal-metadata.js","webpack://pdfmake/./node_modules/core-js/internals/internal-state.js","webpack://pdfmake/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://pdfmake/./node_modules/core-js/internals/is-array.js","webpack://pdfmake/./node_modules/core-js/internals/is-callable.js","webpack://pdfmake/./node_modules/core-js/internals/is-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/is-forced.js","webpack://pdfmake/./node_modules/core-js/internals/is-integral-number.js","webpack://pdfmake/./node_modules/core-js/internals/is-object.js","webpack://pdfmake/./node_modules/core-js/internals/is-pure.js","webpack://pdfmake/./node_modules/core-js/internals/is-regexp.js","webpack://pdfmake/./node_modules/core-js/internals/is-symbol.js","webpack://pdfmake/./node_modules/core-js/internals/iterate.js","webpack://pdfmake/./node_modules/core-js/internals/iterator-close.js","webpack://pdfmake/./node_modules/core-js/internals/iterators-core.js","webpack://pdfmake/./node_modules/core-js/internals/iterators.js","webpack://pdfmake/./node_modules/core-js/internals/length-of-array-like.js","webpack://pdfmake/./node_modules/core-js/internals/microtask.js","webpack://pdfmake/./node_modules/core-js/internals/native-promise-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/native-symbol.js","webpack://pdfmake/./node_modules/core-js/internals/native-weak-map.js","webpack://pdfmake/./node_modules/core-js/internals/new-promise-capability.js","webpack://pdfmake/./node_modules/core-js/internals/normalize-string-argument.js","webpack://pdfmake/./node_modules/core-js/internals/not-a-regexp.js","webpack://pdfmake/./node_modules/core-js/internals/number-is-finite.js","webpack://pdfmake/./node_modules/core-js/internals/object-assign.js","webpack://pdfmake/./node_modules/core-js/internals/object-create.js","webpack://pdfmake/./node_modules/core-js/internals/object-define-properties.js","webpack://pdfmake/./node_modules/core-js/internals/object-define-property.js","webpack://pdfmake/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://pdfmake/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://pdfmake/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://pdfmake/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://pdfmake/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://pdfmake/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://pdfmake/./node_modules/core-js/internals/object-keys-internal.js","webpack://pdfmake/./node_modules/core-js/internals/object-keys.js","webpack://pdfmake/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://pdfmake/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://pdfmake/./node_modules/core-js/internals/object-to-array.js","webpack://pdfmake/./node_modules/core-js/internals/object-to-string.js","webpack://pdfmake/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://pdfmake/./node_modules/core-js/internals/own-keys.js","webpack://pdfmake/./node_modules/core-js/internals/path.js","webpack://pdfmake/./node_modules/core-js/internals/perform.js","webpack://pdfmake/./node_modules/core-js/internals/promise-resolve.js","webpack://pdfmake/./node_modules/core-js/internals/redefine-all.js","webpack://pdfmake/./node_modules/core-js/internals/redefine.js","webpack://pdfmake/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://pdfmake/./node_modules/core-js/internals/regexp-exec.js","webpack://pdfmake/./node_modules/core-js/internals/regexp-flags.js","webpack://pdfmake/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://pdfmake/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://pdfmake/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://pdfmake/./node_modules/core-js/internals/require-object-coercible.js","webpack://pdfmake/./node_modules/core-js/internals/set-global.js","webpack://pdfmake/./node_modules/core-js/internals/set-species.js","webpack://pdfmake/./node_modules/core-js/internals/set-to-string-tag.js","webpack://pdfmake/./node_modules/core-js/internals/shared-key.js","webpack://pdfmake/./node_modules/core-js/internals/shared-store.js","webpack://pdfmake/./node_modules/core-js/internals/shared.js","webpack://pdfmake/./node_modules/core-js/internals/species-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/string-html-forced.js","webpack://pdfmake/./node_modules/core-js/internals/string-multibyte.js","webpack://pdfmake/./node_modules/core-js/internals/string-repeat.js","webpack://pdfmake/./node_modules/core-js/internals/string-trim-forced.js","webpack://pdfmake/./node_modules/core-js/internals/string-trim.js","webpack://pdfmake/./node_modules/core-js/internals/task.js","webpack://pdfmake/./node_modules/core-js/internals/this-number-value.js","webpack://pdfmake/./node_modules/core-js/internals/to-absolute-index.js","webpack://pdfmake/./node_modules/core-js/internals/to-index.js","webpack://pdfmake/./node_modules/core-js/internals/to-indexed-object.js","webpack://pdfmake/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://pdfmake/./node_modules/core-js/internals/to-length.js","webpack://pdfmake/./node_modules/core-js/internals/to-object.js","webpack://pdfmake/./node_modules/core-js/internals/to-offset.js","webpack://pdfmake/./node_modules/core-js/internals/to-positive-integer.js","webpack://pdfmake/./node_modules/core-js/internals/to-primitive.js","webpack://pdfmake/./node_modules/core-js/internals/to-property-key.js","webpack://pdfmake/./node_modules/core-js/internals/to-string-tag-support.js","webpack://pdfmake/./node_modules/core-js/internals/to-string.js","webpack://pdfmake/./node_modules/core-js/internals/try-to-string.js","webpack://pdfmake/./node_modules/core-js/internals/typed-array-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://pdfmake/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://pdfmake/./node_modules/core-js/internals/typed-array-from.js","webpack://pdfmake/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://pdfmake/./node_modules/core-js/internals/uid.js","webpack://pdfmake/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://pdfmake/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://pdfmake/./node_modules/core-js/internals/well-known-symbol.js","webpack://pdfmake/./node_modules/core-js/internals/whitespaces.js","webpack://pdfmake/./node_modules/core-js/modules/es.aggregate-error.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.concat.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.copy-within.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.fill.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.filter.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.from.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.includes.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.iterator.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.join.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.map.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.slice.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.sort.js","webpack://pdfmake/./node_modules/core-js/modules/es.array.splice.js","webpack://pdfmake/./node_modules/core-js/modules/es.date.to-primitive.js","webpack://pdfmake/./node_modules/core-js/modules/es.function.name.js","webpack://pdfmake/./node_modules/core-js/modules/es.global-this.js","webpack://pdfmake/./node_modules/core-js/modules/es.json.to-string-tag.js","webpack://pdfmake/./node_modules/core-js/modules/es.map.js","webpack://pdfmake/./node_modules/core-js/modules/es.math.to-string-tag.js","webpack://pdfmake/./node_modules/core-js/modules/es.number.constructor.js","webpack://pdfmake/./node_modules/core-js/modules/es.number.epsilon.js","webpack://pdfmake/./node_modules/core-js/modules/es.number.is-finite.js","webpack://pdfmake/./node_modules/core-js/modules/es.number.is-integer.js","webpack://pdfmake/./node_modules/core-js/modules/es.number.to-fixed.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.assign.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.freeze.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.keys.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.to-string.js","webpack://pdfmake/./node_modules/core-js/modules/es.object.values.js","webpack://pdfmake/./node_modules/core-js/modules/es.promise.all-settled.js","webpack://pdfmake/./node_modules/core-js/modules/es.promise.any.js","webpack://pdfmake/./node_modules/core-js/modules/es.promise.finally.js","webpack://pdfmake/./node_modules/core-js/modules/es.promise.js","webpack://pdfmake/./node_modules/core-js/modules/es.reflect.construct.js","webpack://pdfmake/./node_modules/core-js/modules/es.regexp.exec.js","webpack://pdfmake/./node_modules/core-js/modules/es.regexp.flags.js","webpack://pdfmake/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://pdfmake/./node_modules/core-js/modules/es.set.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.code-point-at.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.includes.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.italics.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.iterator.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.link.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.match-all.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.match.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.repeat.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.replace.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.split.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.strike.js","webpack://pdfmake/./node_modules/core-js/modules/es.string.trim.js","webpack://pdfmake/./node_modules/core-js/modules/es.symbol.async-iterator.js","webpack://pdfmake/./node_modules/core-js/modules/es.symbol.description.js","webpack://pdfmake/./node_modules/core-js/modules/es.symbol.iterator.js","webpack://pdfmake/./node_modules/core-js/modules/es.symbol.js","webpack://pdfmake/./node_modules/core-js/modules/es.symbol.to-primitive.js","webpack://pdfmake/./node_modules/core-js/modules/es.symbol.to-string-tag.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.every.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.find.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.float32-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.float64-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.from.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.int16-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.int32-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.int8-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.join.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.map.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.set.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.some.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.uint16-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.uint32-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://pdfmake/./node_modules/core-js/modules/es.typed-array.uint8-clamped-array.js","webpack://pdfmake/./node_modules/core-js/modules/esnext.aggregate-error.js","webpack://pdfmake/./node_modules/core-js/modules/esnext.global-this.js","webpack://pdfmake/./node_modules/core-js/modules/esnext.promise.all-settled.js","webpack://pdfmake/./node_modules/core-js/modules/esnext.promise.any.js","webpack://pdfmake/./node_modules/core-js/modules/esnext.promise.try.js","webpack://pdfmake/./node_modules/core-js/modules/esnext.string.match-all.js","webpack://pdfmake/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://pdfmake/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://pdfmake/./node_modules/core-js/modules/web.url.to-json.js","webpack://pdfmake/./node_modules/core-js/stable/promise/index.js","webpack://pdfmake/./node_modules/deep-equal/index.js","webpack://pdfmake/./node_modules/define-properties/index.js","webpack://pdfmake/./node_modules/es6-object-assign/index.js","webpack://pdfmake/./node_modules/events/events.js","webpack://pdfmake/./src/browser-extensions/pdfMake-exposed.js","webpack://pdfmake/./node_modules/expose-loader/dist/runtime/getGlobalThis.js","webpack://pdfmake/./node_modules/for-each/index.js","webpack://pdfmake/./node_modules/function-bind/implementation.js","webpack://pdfmake/./node_modules/function-bind/index.js","webpack://pdfmake/./node_modules/functions-have-names/index.js","webpack://pdfmake/./node_modules/get-intrinsic/index.js","webpack://pdfmake/./node_modules/gopd/index.js","webpack://pdfmake/./node_modules/has-property-descriptors/index.js","webpack://pdfmake/./node_modules/has-symbols/index.js","webpack://pdfmake/./node_modules/has-symbols/shams.js","webpack://pdfmake/./node_modules/has-tostringtag/shams.js","webpack://pdfmake/./node_modules/has/src/index.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/dbcs-codec.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/dbcs-data.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/index.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/internal.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/sbcs-codec.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/sbcs-data-generated.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/sbcs-data.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/utf16.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/utf32.js","webpack://pdfmake/./node_modules/iconv-lite/encodings/utf7.js","webpack://pdfmake/./node_modules/iconv-lite/lib/bom-handling.js","webpack://pdfmake/./node_modules/iconv-lite/lib/index.js","webpack://pdfmake/./node_modules/iconv-lite/lib/streams.js","webpack://pdfmake/./node_modules/ieee754/index.js","webpack://pdfmake/./node_modules/inherits/inherits_browser.js","webpack://pdfmake/./node_modules/is-arguments/index.js","webpack://pdfmake/./node_modules/is-callable/index.js","webpack://pdfmake/./node_modules/is-date-object/index.js","webpack://pdfmake/./node_modules/is-generator-function/index.js","webpack://pdfmake/./node_modules/is-nan/implementation.js","webpack://pdfmake/./node_modules/is-nan/index.js","webpack://pdfmake/./node_modules/is-nan/polyfill.js","webpack://pdfmake/./node_modules/is-nan/shim.js","webpack://pdfmake/./node_modules/is-regex/index.js","webpack://pdfmake/./node_modules/is-typed-array/index.js","webpack://pdfmake/./node_modules/object-is/implementation.js","webpack://pdfmake/./node_modules/object-is/index.js","webpack://pdfmake/./node_modules/object-is/polyfill.js","webpack://pdfmake/./node_modules/object-is/shim.js","webpack://pdfmake/./node_modules/object-keys/implementation.js","webpack://pdfmake/./node_modules/object-keys/index.js","webpack://pdfmake/./node_modules/object-keys/isArguments.js","webpack://pdfmake/./node_modules/pako/lib/utils/common.js","webpack://pdfmake/./node_modules/pako/lib/zlib/adler32.js","webpack://pdfmake/./node_modules/pako/lib/zlib/constants.js","webpack://pdfmake/./node_modules/pako/lib/zlib/crc32.js","webpack://pdfmake/./node_modules/pako/lib/zlib/deflate.js","webpack://pdfmake/./node_modules/pako/lib/zlib/inffast.js","webpack://pdfmake/./node_modules/pako/lib/zlib/inflate.js","webpack://pdfmake/./node_modules/pako/lib/zlib/inftrees.js","webpack://pdfmake/./node_modules/pako/lib/zlib/messages.js","webpack://pdfmake/./node_modules/pako/lib/zlib/trees.js","webpack://pdfmake/./node_modules/pako/lib/zlib/zstream.js","webpack://pdfmake/./node_modules/process/browser.js","webpack://pdfmake/./node_modules/regexp.prototype.flags/implementation.js","webpack://pdfmake/./node_modules/regexp.prototype.flags/index.js","webpack://pdfmake/./node_modules/regexp.prototype.flags/polyfill.js","webpack://pdfmake/./node_modules/regexp.prototype.flags/shim.js","webpack://pdfmake/./node_modules/sax/lib/sax.js","webpack://pdfmake/./node_modules/stream-browserify/index.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/errors-browser.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_duplex.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_passthrough.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_readable.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_transform.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/_stream_writable.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/async_iterator.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/destroy.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/end-of-stream.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/from-browser.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/pipeline.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/state.js","webpack://pdfmake/./node_modules/stream-browserify/node_modules/readable-stream/lib/internal/streams/stream-browser.js","webpack://pdfmake/./node_modules/file-saver/dist/FileSaver.min.js","webpack://pdfmake/./node_modules/string_decoder/lib/string_decoder.js","webpack://pdfmake/./node_modules/tiny-inflate/index.js","webpack://pdfmake/./node_modules/@foliojs-fork/fontkit/index.js","webpack://pdfmake/./node_modules/@foliojs-fork/linebreak/src/linebreaker.js","webpack://pdfmake/./node_modules/util-deprecate/browser.js","webpack://pdfmake/./node_modules/util/support/isBufferBrowser.js","webpack://pdfmake/./node_modules/util/support/types.js","webpack://pdfmake/./node_modules/util/util.js","webpack://pdfmake/./node_modules/which-typed-array/index.js","webpack://pdfmake/./node_modules/xmldoc/index.js","webpack://pdfmake/./node_modules/xmldoc/lib/xmldoc.js","webpack://pdfmake/./src/browser-extensions/URLBrowserResolver.js","webpack://pdfmake/./src/browser-extensions/pdfMake.js","webpack://pdfmake/./src/browser-extensions/virtual-fs.js","webpack://pdfmake/./src/columnCalculator.js","webpack://pdfmake/./src/docMeasure.js","webpack://pdfmake/./src/docPreprocessor.js","webpack://pdfmake/./src/documentContext.js","webpack://pdfmake/./src/elementWriter.js","webpack://pdfmake/./src/fontProvider.js","webpack://pdfmake/./src/helpers.js","webpack://pdfmake/./src/imageMeasure.js","webpack://pdfmake/./src/layoutBuilder.js","webpack://pdfmake/./src/line.js","webpack://pdfmake/./src/pageElementWriter.js","webpack://pdfmake/./src/pdfKitEngine.js","webpack://pdfmake/./src/printer.js","webpack://pdfmake/./src/qrEnc.js","webpack://pdfmake/./src/standardPageSizes.js","webpack://pdfmake/./src/styleContextStack.js","webpack://pdfmake/./src/svgMeasure.js","webpack://pdfmake/./src/tableProcessor.js","webpack://pdfmake/./src/textDecorator.js","webpack://pdfmake/./src/textTools.js","webpack://pdfmake/./src/traversalTracker.js","webpack://pdfmake/./node_modules/available-typed-arrays/index.js","webpack://pdfmake/./node_modules/unicode-properties/dist/main.cjs","webpack://pdfmake/webpack/bootstrap","webpack://pdfmake/webpack/runtime/global","webpack://pdfmake/webpack/runtime/node module decorator","webpack://pdfmake/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn ","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n    _require$codes = _require.codes,\n    ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n    ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n    ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n    ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n    ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n    inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n    isPromise = _require$types.isPromise,\n    isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n  var comparison = require('./internal/util/comparisons');\n\n  isDeepEqual = comparison.isDeepEqual;\n  isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n  return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n  if (obj.message instanceof Error) throw obj.message;\n  throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n  var argsLen = arguments.length;\n  var internalMessage;\n\n  if (argsLen === 0) {\n    internalMessage = 'Failed';\n  } else if (argsLen === 1) {\n    message = actual;\n    actual = undefined;\n  } else {\n    if (warned === false) {\n      warned = true;\n      var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n      warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n    }\n\n    if (argsLen === 2) operator = '!=';\n  }\n\n  if (message instanceof Error) throw message;\n  var errArgs = {\n    actual: actual,\n    expected: expected,\n    operator: operator === undefined ? 'fail' : operator,\n    stackStartFn: stackStartFn || fail\n  };\n\n  if (message !== undefined) {\n    errArgs.message = message;\n  }\n\n  var err = new AssertionError(errArgs);\n\n  if (internalMessage) {\n    err.message = internalMessage;\n    err.generatedMessage = true;\n  }\n\n  throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n  if (!value) {\n    var generatedMessage = false;\n\n    if (argLen === 0) {\n      generatedMessage = true;\n      message = 'No value argument passed to `assert.ok()`';\n    } else if (message instanceof Error) {\n      throw message;\n    }\n\n    var err = new AssertionError({\n      actual: value,\n      expected: true,\n      message: message,\n      operator: '==',\n      stackStartFn: fn\n    });\n    err.generatedMessage = generatedMessage;\n    throw err;\n  }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  } // eslint-disable-next-line eqeqeq\n\n\n  if (actual != expected) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: '==',\n      stackStartFn: equal\n    });\n  }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  } // eslint-disable-next-line eqeqeq\n\n\n  if (actual == expected) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: '!=',\n      stackStartFn: notEqual\n    });\n  }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n\n  if (isDeepEqual === undefined) lazyLoadComparison();\n\n  if (!isDeepEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'deepEqual',\n      stackStartFn: deepEqual\n    });\n  }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n\n  if (isDeepEqual === undefined) lazyLoadComparison();\n\n  if (isDeepEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'notDeepEqual',\n      stackStartFn: notDeepEqual\n    });\n  }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n\n  if (isDeepEqual === undefined) lazyLoadComparison();\n\n  if (!isDeepStrictEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'deepStrictEqual',\n      stackStartFn: deepStrictEqual\n    });\n  }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n\n  if (isDeepEqual === undefined) lazyLoadComparison();\n\n  if (isDeepStrictEqual(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'notDeepStrictEqual',\n      stackStartFn: notDeepStrictEqual\n    });\n  }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n\n  if (!objectIs(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'strictEqual',\n      stackStartFn: strictEqual\n    });\n  }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n  if (arguments.length < 2) {\n    throw new ERR_MISSING_ARGS('actual', 'expected');\n  }\n\n  if (objectIs(actual, expected)) {\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: 'notStrictEqual',\n      stackStartFn: notStrictEqual\n    });\n  }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n  var _this = this;\n\n  _classCallCheck(this, Comparison);\n\n  keys.forEach(function (key) {\n    if (key in obj) {\n      if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n        _this[key] = actual[key];\n      } else {\n        _this[key] = obj[key];\n      }\n    }\n  });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n  if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n    if (!message) {\n      // Create placeholder objects to create a nice output.\n      var a = new Comparison(actual, keys);\n      var b = new Comparison(expected, keys, actual);\n      var err = new AssertionError({\n        actual: a,\n        expected: b,\n        operator: 'deepStrictEqual',\n        stackStartFn: fn\n      });\n      err.actual = actual;\n      err.expected = expected;\n      err.operator = fn.name;\n      throw err;\n    }\n\n    innerFail({\n      actual: actual,\n      expected: expected,\n      message: message,\n      operator: fn.name,\n      stackStartFn: fn\n    });\n  }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n  if (typeof expected !== 'function') {\n    if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n    if (arguments.length === 2) {\n      throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n    } // Handle primitives properly.\n\n\n    if (_typeof(actual) !== 'object' || actual === null) {\n      var err = new AssertionError({\n        actual: actual,\n        expected: expected,\n        message: msg,\n        operator: 'deepStrictEqual',\n        stackStartFn: fn\n      });\n      err.operator = fn.name;\n      throw err;\n    }\n\n    var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n    // as well.\n\n    if (expected instanceof Error) {\n      keys.push('name', 'message');\n    } else if (keys.length === 0) {\n      throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n    }\n\n    if (isDeepEqual === undefined) lazyLoadComparison();\n    keys.forEach(function (key) {\n      if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n        return;\n      }\n\n      compareExceptionKey(actual, expected, key, msg, keys, fn);\n    });\n    return true;\n  } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n  if (expected.prototype !== undefined && actual instanceof expected) {\n    return true;\n  }\n\n  if (Error.isPrototypeOf(expected)) {\n    return false;\n  }\n\n  return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n  if (typeof fn !== 'function') {\n    throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n  }\n\n  try {\n    fn();\n  } catch (e) {\n    return e;\n  }\n\n  return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n  // Accept native ES6 promises and promises that are implemented in a similar\n  // way. Do not accept thenables that use a function as `obj` and that have no\n  // `catch` handler.\n  // TODO: thenables are checked up until they have the correct methods,\n  // but according to documentation, the `then` method should receive\n  // the `fulfill` and `reject` arguments as well or it may be never resolved.\n  return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n  return Promise.resolve().then(function () {\n    var resultPromise;\n\n    if (typeof promiseFn === 'function') {\n      // Return a rejected promise if `promiseFn` throws synchronously.\n      resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n      if (!checkIsPromise(resultPromise)) {\n        throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n      }\n    } else if (checkIsPromise(promiseFn)) {\n      resultPromise = promiseFn;\n    } else {\n      throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n    }\n\n    return Promise.resolve().then(function () {\n      return resultPromise;\n    }).then(function () {\n      return NO_EXCEPTION_SENTINEL;\n    }).catch(function (e) {\n      return e;\n    });\n  });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n  if (typeof error === 'string') {\n    if (arguments.length === 4) {\n      throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n    }\n\n    if (_typeof(actual) === 'object' && actual !== null) {\n      if (actual.message === error) {\n        throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n      }\n    } else if (actual === error) {\n      throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n    }\n\n    message = error;\n    error = undefined;\n  } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n    throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n  }\n\n  if (actual === NO_EXCEPTION_SENTINEL) {\n    var details = '';\n\n    if (error && error.name) {\n      details += \" (\".concat(error.name, \")\");\n    }\n\n    details += message ? \": \".concat(message) : '.';\n    var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n    innerFail({\n      actual: undefined,\n      expected: error,\n      operator: stackStartFn.name,\n      message: \"Missing expected \".concat(fnType).concat(details),\n      stackStartFn: stackStartFn\n    });\n  }\n\n  if (error && !expectedException(actual, error, message, stackStartFn)) {\n    throw actual;\n  }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n  if (actual === NO_EXCEPTION_SENTINEL) return;\n\n  if (typeof error === 'string') {\n    message = error;\n    error = undefined;\n  }\n\n  if (!error || expectedException(actual, error)) {\n    var details = message ? \": \".concat(message) : '.';\n    var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n    innerFail({\n      actual: actual,\n      expected: error,\n      operator: stackStartFn.name,\n      message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n      stackStartFn: stackStartFn\n    });\n  }\n\n  throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n    args[_key2 - 1] = arguments[_key2];\n  }\n\n  expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n  for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n    args[_key3 - 1] = arguments[_key3];\n  }\n\n  return waitForActual(promiseFn).then(function (result) {\n    return expectsError.apply(void 0, [rejects, result].concat(args));\n  });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n    args[_key4 - 1] = arguments[_key4];\n  }\n\n  expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n  for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n    args[_key5 - 1] = arguments[_key5];\n  }\n\n  return waitForActual(fn).then(function (result) {\n    return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n  });\n};\n\nassert.ifError = function ifError(err) {\n  if (err !== null && err !== undefined) {\n    var message = 'ifError got unwanted exception: ';\n\n    if (_typeof(err) === 'object' && typeof err.message === 'string') {\n      if (err.message.length === 0 && err.constructor) {\n        message += err.constructor.name;\n      } else {\n        message += err.message;\n      }\n    } else {\n      message += inspect(err);\n    }\n\n    var newErr = new AssertionError({\n      actual: err,\n      expected: null,\n      operator: 'ifError',\n      message: message,\n      stackStartFn: ifError\n    }); // Make sure we actually have a stack trace!\n\n    var origStack = err.stack;\n\n    if (typeof origStack === 'string') {\n      // This will remove any duplicated frames from the error frames taken\n      // from within `ifError` and add the original error frames to the newly\n      // created ones.\n      var tmp2 = origStack.split('\\n');\n      tmp2.shift(); // Filter all frames existing in err.stack.\n\n      var tmp1 = newErr.stack.split('\\n');\n\n      for (var i = 0; i < tmp2.length; i++) {\n        // Find the first occurrence of the frame.\n        var pos = tmp1.indexOf(tmp2[i]);\n\n        if (pos !== -1) {\n          // Only keep new frames.\n          tmp1 = tmp1.slice(0, pos);\n          break;\n        }\n      }\n\n      newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n    }\n\n    throw newErr;\n  }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n  for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n    args[_key6] = arguments[_key6];\n  }\n\n  innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n  equal: assert.strictEqual,\n  deepEqual: assert.deepStrictEqual,\n  notEqual: assert.notStrictEqual,\n  notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n    inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n    ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n  if (this_len === undefined || this_len > str.length) {\n    this_len = str.length;\n  }\n\n  return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n  count = Math.floor(count);\n  if (str.length == 0 || count == 0) return '';\n  var maxCount = str.length * count;\n  count = Math.floor(Math.log(count) / Math.log(2));\n\n  while (count) {\n    str += str;\n    count--;\n  }\n\n  str += str.substring(0, maxCount - str.length);\n  return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n  deepStrictEqual: 'Expected values to be strictly deep-equal:',\n  strictEqual: 'Expected values to be strictly equal:',\n  strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n  deepEqual: 'Expected values to be loosely deep-equal:',\n  equal: 'Expected values to be loosely equal:',\n  notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n  notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n  notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n  notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n  notEqual: 'Expected \"actual\" to be loosely unequal to:',\n  notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n  var keys = Object.keys(source);\n  var target = Object.create(Object.getPrototypeOf(source));\n  keys.forEach(function (key) {\n    target[key] = source[key];\n  });\n  Object.defineProperty(target, 'message', {\n    value: source.message\n  });\n  return target;\n}\n\nfunction inspectValue(val) {\n  // The util.inspect default values could be changed. This makes sure the\n  // error messages contain the necessary information nevertheless.\n  return inspect(val, {\n    compact: false,\n    customInspect: false,\n    depth: 1000,\n    maxArrayLength: Infinity,\n    // Assert compares only enumerable properties (with a few exceptions).\n    showHidden: false,\n    // Having a long line as error is better than wrapping the line for\n    // comparison for now.\n    // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n    // have meta information about the inspected properties (i.e., know where\n    // in what line the property starts and ends).\n    breakLength: Infinity,\n    // Assert does not detect proxies currently.\n    showProxy: false,\n    sorted: true,\n    // Inspect getters as we also check them when comparing entries.\n    getters: true\n  });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n  var other = '';\n  var res = '';\n  var lastPos = 0;\n  var end = '';\n  var skipped = false;\n  var actualInspected = inspectValue(actual);\n  var actualLines = actualInspected.split('\\n');\n  var expectedLines = inspectValue(expected).split('\\n');\n  var i = 0;\n  var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n  // for the `strictEqual` operator.\n\n  if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n    operator = 'strictEqualObject';\n  } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n  // equal, check further special handling.\n\n\n  if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n    var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n    // kMaxShortLength and if neither is an object and at least one of them is\n    // not `zero`, use the strict equal comparison to visualize the output.\n\n    if (inputLength <= kMaxShortLength) {\n      if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n        // -0 === +0\n        return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n      }\n    } else if (operator !== 'strictEqualObject') {\n      // If the stderr is a tty and the input length is lower than the current\n      // columns per line, add a mismatch indicator below the output. If it is\n      // not a tty, use a default value of 80 characters.\n      var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n      if (inputLength < maxLength) {\n        while (actualLines[0][i] === expectedLines[0][i]) {\n          i++;\n        } // Ignore the first characters.\n\n\n        if (i > 2) {\n          // Add position indicator for the first mismatch in case it is a\n          // single line and the input length is less than the column length.\n          indicator = \"\\n  \".concat(repeat(' ', i), \"^\");\n          i = 0;\n        }\n      }\n    }\n  } // Remove all ending lines that match (this optimizes the output for\n  // readability by reducing the number of total changed lines).\n\n\n  var a = actualLines[actualLines.length - 1];\n  var b = expectedLines[expectedLines.length - 1];\n\n  while (a === b) {\n    if (i++ < 2) {\n      end = \"\\n  \".concat(a).concat(end);\n    } else {\n      other = a;\n    }\n\n    actualLines.pop();\n    expectedLines.pop();\n    if (actualLines.length === 0 || expectedLines.length === 0) break;\n    a = actualLines[actualLines.length - 1];\n    b = expectedLines[expectedLines.length - 1];\n  }\n\n  var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n  // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n  if (maxLines === 0) {\n    // We have to get the result again. The lines were all removed before.\n    var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n    // TODO: Accept env to always show the full error.\n\n\n    if (_actualLines.length > 30) {\n      _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n      while (_actualLines.length > 27) {\n        _actualLines.pop();\n      }\n    }\n\n    return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n  }\n\n  if (i > 3) {\n    end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n    skipped = true;\n  }\n\n  if (other !== '') {\n    end = \"\\n  \".concat(other).concat(end);\n    other = '';\n  }\n\n  var printedLines = 0;\n  var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n  var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n  for (i = 0; i < maxLines; i++) {\n    // Only extra expected lines exist\n    var cur = i - lastPos;\n\n    if (actualLines.length < i + 1) {\n      // If the last diverging line is more than one line above and the\n      // current line is at least line three, add some of the former lines and\n      // also add dots to indicate skipped entries.\n      if (cur > 1 && i > 2) {\n        if (cur > 4) {\n          res += \"\\n\".concat(blue, \"...\").concat(white);\n          skipped = true;\n        } else if (cur > 3) {\n          res += \"\\n  \".concat(expectedLines[i - 2]);\n          printedLines++;\n        }\n\n        res += \"\\n  \".concat(expectedLines[i - 1]);\n        printedLines++;\n      } // Mark the current line as the last diverging one.\n\n\n      lastPos = i; // Add the expected line to the cache.\n\n      other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n      printedLines++; // Only extra actual lines exist\n    } else if (expectedLines.length < i + 1) {\n      // If the last diverging line is more than one line above and the\n      // current line is at least line three, add some of the former lines and\n      // also add dots to indicate skipped entries.\n      if (cur > 1 && i > 2) {\n        if (cur > 4) {\n          res += \"\\n\".concat(blue, \"...\").concat(white);\n          skipped = true;\n        } else if (cur > 3) {\n          res += \"\\n  \".concat(actualLines[i - 2]);\n          printedLines++;\n        }\n\n        res += \"\\n  \".concat(actualLines[i - 1]);\n        printedLines++;\n      } // Mark the current line as the last diverging one.\n\n\n      lastPos = i; // Add the actual line to the result.\n\n      res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n      printedLines++; // Lines diverge\n    } else {\n      var expectedLine = expectedLines[i];\n      var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n      // a trailing comma. In that case it is actually identical and we should\n      // mark it as such.\n\n      var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n      // add a comma at the end of the actual line. Otherwise the output could\n      // look weird as in:\n      //\n      //   [\n      //     1         // No comma at the end!\n      // +   2\n      //   ]\n      //\n\n      if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n        divergingLines = false;\n        actualLine += ',';\n      }\n\n      if (divergingLines) {\n        // If the last diverging line is more than one line above and the\n        // current line is at least line three, add some of the former lines and\n        // also add dots to indicate skipped entries.\n        if (cur > 1 && i > 2) {\n          if (cur > 4) {\n            res += \"\\n\".concat(blue, \"...\").concat(white);\n            skipped = true;\n          } else if (cur > 3) {\n            res += \"\\n  \".concat(actualLines[i - 2]);\n            printedLines++;\n          }\n\n          res += \"\\n  \".concat(actualLines[i - 1]);\n          printedLines++;\n        } // Mark the current line as the last diverging one.\n\n\n        lastPos = i; // Add the actual line to the result and cache the expected diverging\n        // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n        res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n        other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n        printedLines += 2; // Lines are identical\n      } else {\n        // Add all cached information to the result before adding other things\n        // and reset the cache.\n        res += other;\n        other = ''; // If the last diverging line is exactly one line above or if it is the\n        // very first line, add the line to the result.\n\n        if (cur === 1 || i === 0) {\n          res += \"\\n  \".concat(actualLine);\n          printedLines++;\n        }\n      }\n    } // Inspected object to big (Show ~20 rows max)\n\n\n    if (printedLines > 20 && i < maxLines - 2) {\n      return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n    }\n  }\n\n  return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n  _inherits(AssertionError, _Error);\n\n  function AssertionError(options) {\n    var _this;\n\n    _classCallCheck(this, AssertionError);\n\n    if (_typeof(options) !== 'object' || options === null) {\n      throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n    }\n\n    var message = options.message,\n        operator = options.operator,\n        stackStartFn = options.stackStartFn;\n    var actual = options.actual,\n        expected = options.expected;\n    var limit = Error.stackTraceLimit;\n    Error.stackTraceLimit = 0;\n\n    if (message != null) {\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n    } else {\n      if (process.stderr && process.stderr.isTTY) {\n        // Reset on each call to make sure we handle dynamically set environment\n        // variables correct.\n        if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n          blue = \"\\x1B[34m\";\n          green = \"\\x1B[32m\";\n          white = \"\\x1B[39m\";\n          red = \"\\x1B[31m\";\n        } else {\n          blue = '';\n          green = '';\n          white = '';\n          red = '';\n        }\n      } // Prevent the error stack from being visible by duplicating the error\n      // in a very close way to the original in case both sides are actually\n      // instances of Error.\n\n\n      if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n        actual = copyError(actual);\n        expected = copyError(expected);\n      }\n\n      if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n        _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n      } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n        // In case the objects are equal but the operator requires unequal, show\n        // the first object and say A equals B\n        var base = kReadableOperator[operator];\n        var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n        if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n          base = kReadableOperator.notStrictEqualObject;\n        } // Only remove lines in case it makes sense to collapse those.\n        // TODO: Accept env to always show the full error.\n\n\n        if (res.length > 30) {\n          res[26] = \"\".concat(blue, \"...\").concat(white);\n\n          while (res.length > 27) {\n            res.pop();\n          }\n        } // Only print a single input.\n\n\n        if (res.length === 1) {\n          _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n        } else {\n          _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n        }\n      } else {\n        var _res = inspectValue(actual);\n\n        var other = '';\n        var knownOperators = kReadableOperator[operator];\n\n        if (operator === 'notDeepEqual' || operator === 'notEqual') {\n          _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n          if (_res.length > 1024) {\n            _res = \"\".concat(_res.slice(0, 1021), \"...\");\n          }\n        } else {\n          other = \"\".concat(inspectValue(expected));\n\n          if (_res.length > 512) {\n            _res = \"\".concat(_res.slice(0, 509), \"...\");\n          }\n\n          if (other.length > 512) {\n            other = \"\".concat(other.slice(0, 509), \"...\");\n          }\n\n          if (operator === 'deepEqual' || operator === 'equal') {\n            _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n          } else {\n            other = \" \".concat(operator, \" \").concat(other);\n          }\n        }\n\n        _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n      }\n    }\n\n    Error.stackTraceLimit = limit;\n    _this.generatedMessage = !message;\n    Object.defineProperty(_assertThisInitialized(_this), 'name', {\n      value: 'AssertionError [ERR_ASSERTION]',\n      enumerable: false,\n      writable: true,\n      configurable: true\n    });\n    _this.code = 'ERR_ASSERTION';\n    _this.actual = actual;\n    _this.expected = expected;\n    _this.operator = operator;\n\n    if (Error.captureStackTrace) {\n      // eslint-disable-next-line no-restricted-syntax\n      Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n    } // Create error message including the error code in the name.\n\n\n    _this.stack; // Reset the name.\n\n    _this.name = 'AssertionError';\n    return _possibleConstructorReturn(_this);\n  }\n\n  _createClass(AssertionError, [{\n    key: \"toString\",\n    value: function toString() {\n      return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n    }\n  }, {\n    key: inspect.custom,\n    value: function value(recurseTimes, ctx) {\n      // This limits the `actual` and `expected` property default inspection to\n      // the minimum depth. Otherwise those values would be too verbose compared\n      // to the actual error message which contains a combined view of these two\n      // input values.\n      return inspect(this, _objectSpread({}, ctx, {\n        customInspect: false,\n        depth: 0\n      }));\n    }\n  }]);\n\n  return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n  if (!Base) {\n    Base = Error;\n  }\n\n  function getMessage(arg1, arg2, arg3) {\n    if (typeof message === 'string') {\n      return message;\n    } else {\n      return message(arg1, arg2, arg3);\n    }\n  }\n\n  var NodeError =\n  /*#__PURE__*/\n  function (_Base) {\n    _inherits(NodeError, _Base);\n\n    function NodeError(arg1, arg2, arg3) {\n      var _this;\n\n      _classCallCheck(this, NodeError);\n\n      _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n      _this.code = code;\n      return _this;\n    }\n\n    return NodeError;\n  }(Base);\n\n  codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n  if (Array.isArray(expected)) {\n    var len = expected.length;\n    expected = expected.map(function (i) {\n      return String(i);\n    });\n\n    if (len > 2) {\n      return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n    } else if (len === 2) {\n      return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n    } else {\n      return \"of \".concat(thing, \" \").concat(expected[0]);\n    }\n  } else {\n    return \"of \".concat(thing, \" \").concat(String(expected));\n  }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n  return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n  if (this_len === undefined || this_len > str.length) {\n    this_len = str.length;\n  }\n\n  return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n  if (typeof start !== 'number') {\n    start = 0;\n  }\n\n  if (start + search.length > str.length) {\n    return false;\n  } else {\n    return str.indexOf(search, start) !== -1;\n  }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n  if (assert === undefined) assert = require('../assert');\n  assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n  var determiner;\n\n  if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n    determiner = 'must not be';\n    expected = expected.replace(/^not /, '');\n  } else {\n    determiner = 'must be';\n  }\n\n  var msg;\n\n  if (endsWith(name, ' argument')) {\n    // For cases like 'first argument'\n    msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  } else {\n    var type = includes(name, '.') ? 'property' : 'argument';\n    msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n  msg += \". Received type \".concat(_typeof(actual));\n  return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n  var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n  if (util === undefined) util = require('util/');\n  var inspected = util.inspect(value);\n\n  if (inspected.length > 128) {\n    inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n  }\n\n  return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n  var type;\n\n  if (value && value.constructor && value.constructor.name) {\n    type = \"instance of \".concat(value.constructor.name);\n  } else {\n    type = \"type \".concat(_typeof(value));\n  }\n\n  return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  if (assert === undefined) assert = require('../assert');\n  assert(args.length > 0, 'At least one arg needs to be specified');\n  var msg = 'The ';\n  var len = args.length;\n  args = args.map(function (a) {\n    return \"\\\"\".concat(a, \"\\\"\");\n  });\n\n  switch (len) {\n    case 1:\n      msg += \"\".concat(args[0], \" argument\");\n      break;\n\n    case 2:\n      msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n      break;\n\n    default:\n      msg += args.slice(0, len - 1).join(', ');\n      msg += \", and \".concat(args[len - 1], \" arguments\");\n      break;\n  }\n\n  return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n  var array = [];\n  set.forEach(function (value) {\n    return array.push(value);\n  });\n  return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n  var array = [];\n  map.forEach(function (value, key) {\n    return array.push([key, value]);\n  });\n  return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n  return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n  return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n    isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n    isArrayBufferView = _require$types.isArrayBufferView,\n    isDate = _require$types.isDate,\n    isMap = _require$types.isMap,\n    isRegExp = _require$types.isRegExp,\n    isSet = _require$types.isSet,\n    isNativeError = _require$types.isNativeError,\n    isBoxedPrimitive = _require$types.isBoxedPrimitive,\n    isNumberObject = _require$types.isNumberObject,\n    isStringObject = _require$types.isStringObject,\n    isBooleanObject = _require$types.isBooleanObject,\n    isBigIntObject = _require$types.isBigIntObject,\n    isSymbolObject = _require$types.isSymbolObject,\n    isFloat32Array = _require$types.isFloat32Array,\n    isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n  if (key.length === 0 || key.length > 10) return true;\n\n  for (var i = 0; i < key.length; i++) {\n    var code = key.charCodeAt(i);\n    if (code < 48 || code > 57) return true;\n  } // The maximum size for an array is 2 ** 32 -1.\n\n\n  return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n  return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license  MIT\n */\n\n\nfunction compare(a, b) {\n  if (a === b) {\n    return 0;\n  }\n\n  var x = a.length;\n  var y = b.length;\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i];\n      y = b[i];\n      break;\n    }\n  }\n\n  if (x < y) {\n    return -1;\n  }\n\n  if (y < x) {\n    return 1;\n  }\n\n  return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n  return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n  if (a.byteLength !== b.byteLength) {\n    return false;\n  }\n\n  for (var offset = 0; offset < a.byteLength; offset++) {\n    if (a[offset] !== b[offset]) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n  if (a.byteLength !== b.byteLength) {\n    return false;\n  }\n\n  return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n  return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n  if (isNumberObject(val1)) {\n    return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n  }\n\n  if (isStringObject(val1)) {\n    return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n  }\n\n  if (isBooleanObject(val1)) {\n    return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n  }\n\n  if (isBigIntObject(val1)) {\n    return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n  }\n\n  return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n  // All identical values are equivalent, as determined by ===.\n  if (val1 === val2) {\n    if (val1 !== 0) return true;\n    return strict ? objectIs(val1, val2) : true;\n  } // Check more closely if val1 and val2 are equal.\n\n\n  if (strict) {\n    if (_typeof(val1) !== 'object') {\n      return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n    }\n\n    if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n      return false;\n    }\n\n    if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n      return false;\n    }\n  } else {\n    if (val1 === null || _typeof(val1) !== 'object') {\n      if (val2 === null || _typeof(val2) !== 'object') {\n        // eslint-disable-next-line eqeqeq\n        return val1 == val2;\n      }\n\n      return false;\n    }\n\n    if (val2 === null || _typeof(val2) !== 'object') {\n      return false;\n    }\n  }\n\n  var val1Tag = objectToString(val1);\n  var val2Tag = objectToString(val2);\n\n  if (val1Tag !== val2Tag) {\n    return false;\n  }\n\n  if (Array.isArray(val1)) {\n    // Check for sparse arrays and general fast path\n    if (val1.length !== val2.length) {\n      return false;\n    }\n\n    var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n    var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n    if (keys1.length !== keys2.length) {\n      return false;\n    }\n\n    return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n  } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n  // wan't to early return out of the rest of the checks. However we can check\n  // if the second value is one of these values and the first isn't.\n\n\n  if (val1Tag === '[object Object]') {\n    // return keyCheck(val1, val2, strict, memos, kNoIterator);\n    if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n      return false;\n    }\n  }\n\n  if (isDate(val1)) {\n    if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n      return false;\n    }\n  } else if (isRegExp(val1)) {\n    if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n      return false;\n    }\n  } else if (isNativeError(val1) || val1 instanceof Error) {\n    // Do not compare the stack as it might differ even though the error itself\n    // is otherwise identical.\n    if (val1.message !== val2.message || val1.name !== val2.name) {\n      return false;\n    }\n  } else if (isArrayBufferView(val1)) {\n    if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n      if (!areSimilarFloatArrays(val1, val2)) {\n        return false;\n      }\n    } else if (!areSimilarTypedArrays(val1, val2)) {\n      return false;\n    } // Buffer.compare returns true, so val1.length === val2.length. If they both\n    // only contain numeric keys, we don't need to exam further than checking\n    // the symbols.\n\n\n    var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n    var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n    if (_keys.length !== _keys2.length) {\n      return false;\n    }\n\n    return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n  } else if (isSet(val1)) {\n    if (!isSet(val2) || val1.size !== val2.size) {\n      return false;\n    }\n\n    return keyCheck(val1, val2, strict, memos, kIsSet);\n  } else if (isMap(val1)) {\n    if (!isMap(val2) || val1.size !== val2.size) {\n      return false;\n    }\n\n    return keyCheck(val1, val2, strict, memos, kIsMap);\n  } else if (isAnyArrayBuffer(val1)) {\n    if (!areEqualArrayBuffers(val1, val2)) {\n      return false;\n    }\n  } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n    return false;\n  }\n\n  return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n  return keys.filter(function (k) {\n    return propertyIsEnumerable(val, k);\n  });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n  // For all remaining Object pairs, including Array, objects and Maps,\n  // equivalence is determined by having:\n  // a) The same number of owned enumerable properties\n  // b) The same set of keys/indexes (although not necessarily the same order)\n  // c) Equivalent values for every corresponding key/index\n  // d) For Sets and Maps, equal contents\n  // Note: this accounts for both named and indexed properties on Arrays.\n  if (arguments.length === 5) {\n    aKeys = Object.keys(val1);\n    var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n    if (aKeys.length !== bKeys.length) {\n      return false;\n    }\n  } // Cheap key test\n\n\n  var i = 0;\n\n  for (; i < aKeys.length; i++) {\n    if (!hasOwnProperty(val2, aKeys[i])) {\n      return false;\n    }\n  }\n\n  if (strict && arguments.length === 5) {\n    var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n    if (symbolKeysA.length !== 0) {\n      var count = 0;\n\n      for (i = 0; i < symbolKeysA.length; i++) {\n        var key = symbolKeysA[i];\n\n        if (propertyIsEnumerable(val1, key)) {\n          if (!propertyIsEnumerable(val2, key)) {\n            return false;\n          }\n\n          aKeys.push(key);\n          count++;\n        } else if (propertyIsEnumerable(val2, key)) {\n          return false;\n        }\n      }\n\n      var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n      if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n        return false;\n      }\n    } else {\n      var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n      if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n        return false;\n      }\n    }\n  }\n\n  if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n    return true;\n  } // Use memos to handle cycles.\n\n\n  if (memos === undefined) {\n    memos = {\n      val1: new Map(),\n      val2: new Map(),\n      position: 0\n    };\n  } else {\n    // We prevent up to two map.has(x) calls by directly retrieving the value\n    // and checking for undefined. The map can only contain numbers, so it is\n    // safe to check for undefined only.\n    var val2MemoA = memos.val1.get(val1);\n\n    if (val2MemoA !== undefined) {\n      var val2MemoB = memos.val2.get(val2);\n\n      if (val2MemoB !== undefined) {\n        return val2MemoA === val2MemoB;\n      }\n    }\n\n    memos.position++;\n  }\n\n  memos.val1.set(val1, memos.position);\n  memos.val2.set(val2, memos.position);\n  var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n  memos.val1.delete(val1);\n  memos.val2.delete(val2);\n  return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n  // Go looking.\n  var setValues = arrayFromSet(set);\n\n  for (var i = 0; i < setValues.length; i++) {\n    var val2 = setValues[i];\n\n    if (innerDeepEqual(val1, val2, strict, memo)) {\n      // Remove the matching element to make sure we do not check that again.\n      set.delete(val2);\n      return true;\n    }\n  }\n\n  return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n  switch (_typeof(prim)) {\n    case 'undefined':\n      return null;\n\n    case 'object':\n      // Only pass in null as object!\n      return undefined;\n\n    case 'symbol':\n      return false;\n\n    case 'string':\n      prim = +prim;\n    // Loose equal entries exist only if the string is possible to convert to\n    // a regular number and not NaN.\n    // Fall through\n\n    case 'number':\n      if (numberIsNaN(prim)) {\n        return false;\n      }\n\n  }\n\n  return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n  var altValue = findLooseMatchingPrimitives(prim);\n  if (altValue != null) return altValue;\n  return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n  var altValue = findLooseMatchingPrimitives(prim);\n\n  if (altValue != null) {\n    return altValue;\n  }\n\n  var curB = b.get(altValue);\n\n  if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n    return false;\n  }\n\n  return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n  // This is a lazily initiated Set of entries which have to be compared\n  // pairwise.\n  var set = null;\n  var aValues = arrayFromSet(a);\n\n  for (var i = 0; i < aValues.length; i++) {\n    var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n    // heavy sets but it is a minor slow down for primitives. As they are fast\n    // to check this improves the worst case scenario instead.\n\n    if (_typeof(val) === 'object' && val !== null) {\n      if (set === null) {\n        set = new Set();\n      } // If the specified value doesn't exist in the second set its an not null\n      // object (or non strict only: a not matching primitive) we'll need to go\n      // hunting for something thats deep-(strict-)equal to it. To make this\n      // O(n log n) complexity we have to copy these values in a new set first.\n\n\n      set.add(val);\n    } else if (!b.has(val)) {\n      if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n      if (!setMightHaveLoosePrim(a, b, val)) {\n        return false;\n      }\n\n      if (set === null) {\n        set = new Set();\n      }\n\n      set.add(val);\n    }\n  }\n\n  if (set !== null) {\n    var bValues = arrayFromSet(b);\n\n    for (var _i = 0; _i < bValues.length; _i++) {\n      var _val = bValues[_i]; // We have to check if a primitive value is already\n      // matching and only if it's not, go hunting for it.\n\n      if (_typeof(_val) === 'object' && _val !== null) {\n        if (!setHasEqualElement(set, _val, strict, memo)) return false;\n      } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n        return false;\n      }\n    }\n\n    return set.size === 0;\n  }\n\n  return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n  // To be able to handle cases like:\n  //   Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n  // ... we need to consider *all* matching keys, not just the first we find.\n  var setValues = arrayFromSet(set);\n\n  for (var i = 0; i < setValues.length; i++) {\n    var key2 = setValues[i];\n\n    if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n      set.delete(key2);\n      return true;\n    }\n  }\n\n  return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n  var set = null;\n  var aEntries = arrayFromMap(a);\n\n  for (var i = 0; i < aEntries.length; i++) {\n    var _aEntries$i = _slicedToArray(aEntries[i], 2),\n        key = _aEntries$i[0],\n        item1 = _aEntries$i[1];\n\n    if (_typeof(key) === 'object' && key !== null) {\n      if (set === null) {\n        set = new Set();\n      }\n\n      set.add(key);\n    } else {\n      // By directly retrieving the value we prevent another b.has(key) check in\n      // almost all possible cases.\n      var item2 = b.get(key);\n\n      if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n        if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n        // keys.\n\n        if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n        if (set === null) {\n          set = new Set();\n        }\n\n        set.add(key);\n      }\n    }\n  }\n\n  if (set !== null) {\n    var bEntries = arrayFromMap(b);\n\n    for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n      var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n          key = _bEntries$_i[0],\n          item = _bEntries$_i[1];\n\n      if (_typeof(key) === 'object' && key !== null) {\n        if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n      } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n        return false;\n      }\n    }\n\n    return set.size === 0;\n  }\n\n  return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n  // Sets and maps don't have their entries accessible via normal object\n  // properties.\n  var i = 0;\n\n  if (iterationType === kIsSet) {\n    if (!setEquiv(a, b, strict, memos)) {\n      return false;\n    }\n  } else if (iterationType === kIsMap) {\n    if (!mapEquiv(a, b, strict, memos)) {\n      return false;\n    }\n  } else if (iterationType === kIsArray) {\n    for (; i < a.length; i++) {\n      if (hasOwnProperty(a, i)) {\n        if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n          return false;\n        }\n      } else if (hasOwnProperty(b, i)) {\n        return false;\n      } else {\n        // Array is sparse.\n        var keysA = Object.keys(a);\n\n        for (; i < keysA.length; i++) {\n          var key = keysA[i];\n\n          if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n            return false;\n          }\n        }\n\n        if (keysA.length !== Object.keys(b).length) {\n          return false;\n        }\n\n        return true;\n      }\n    }\n  } // The pair must have equivalent values for every corresponding key.\n  // Possibly expensive deep test:\n\n\n  for (i = 0; i < keys.length; i++) {\n    var _key = keys[i];\n\n    if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n  return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n  return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n  isDeepEqual: isDeepEqual,\n  isDeepStrictEqual: isDeepStrictEqual\n};","// The following break classes are handled by the pair table\r\nexports.OP = 0;   // Opening punctuation\r\nexports.CL = 1;   // Closing punctuation\r\nexports.CP = 2;   // Closing parenthesis\r\nexports.QU = 3;   // Ambiguous quotation\r\nexports.GL = 4;   // Glue\r\nexports.NS = 5;   // Non-starters\r\nexports.EX = 6;   // Exclamation/Interrogation\r\nexports.SY = 7;   // Symbols allowing break after\r\nexports.IS = 8;   // Infix separator\r\nexports.PR = 9;   // Prefix\r\nexports.PO = 10;  // Postfix\r\nexports.NU = 11;  // Numeric\r\nexports.AL = 12;  // Alphabetic\r\nexports.HL = 13;  // Hebrew Letter\r\nexports.ID = 14;  // Ideographic\r\nexports.IN = 15;  // Inseparable characters\r\nexports.HY = 16;  // Hyphen\r\nexports.BA = 17;  // Break after\r\nexports.BB = 18;  // Break before\r\nexports.B2 = 19;  // Break on either side (but not pair)\r\nexports.ZW = 20;  // Zero-width space\r\nexports.CM = 21;  // Combining marks\r\nexports.WJ = 22;  // Word joiner\r\nexports.H2 = 23;  // Hangul LV\r\nexports.H3 = 24;  // Hangul LVT\r\nexports.JL = 25;  // Hangul L Jamo\r\nexports.JV = 26;  // Hangul V Jamo\r\nexports.JT = 27;  // Hangul T Jamo\r\nexports.RI = 28;  // Regional Indicator\r\nexports.EB = 29;  // Emoji Base\r\nexports.EM = 30;  // Emoji Modifier\r\nexports.ZWJ = 31; // Zero Width Joiner\r\nexports.CB = 32;  // Contingent break\r\n\r\n// The following break classes are not handled by the pair table\r\nexports.AI = 33;  // Ambiguous (Alphabetic or Ideograph)\r\nexports.BK = 34;  // Break (mandatory)\r\nexports.CJ = 35;  // Conditional Japanese Starter\r\nexports.CR = 36;  // Carriage return\r\nexports.LF = 37;  // Line feed\r\nexports.NL = 38;  // Next line\r\nexports.SA = 39;  // South-East Asian\r\nexports.SG = 40;  // Surrogates\r\nexports.SP = 41;  // Space\r\nexports.XX = 42;  // Unknown\r\n","let CI_BRK, CP_BRK, DI_BRK, IN_BRK, PR_BRK;\r\nexports.DI_BRK = (DI_BRK = 0); // Direct break opportunity\r\nexports.IN_BRK = (IN_BRK = 1); // Indirect break opportunity\r\nexports.CI_BRK = (CI_BRK = 2); // Indirect break opportunity for combining marks\r\nexports.CP_BRK = (CP_BRK = 3); // Prohibited break for combining marks\r\nexports.PR_BRK = (PR_BRK = 4); // Prohibited break\r\n\r\n// Based on example pair table from https://www.unicode.org/reports/tr14/tr14-37.html#Table2\r\n// - ZWJ special processing for LB8a of Revision 41\r\n// - CB manually added as per Rule LB20\r\n// - CL, CP, NS, SY, IS, PR, PO, HY, BA, B2 and RI manually adjusted as per LB22 of Revision 45\r\nexports.pairTable = [\r\n  //OP   , CL    , CP    , QU    , GL    , NS    , EX    , SY    , IS    , PR    , PO    , NU    , AL    , HL    , ID    , IN    , HY    , BA    , BB    , B2    , ZW    , CM    , WJ    , H2    , H3    , JL    , JV    , JT    , RI    , EB    , EM    , ZWJ   , CB\r\n  [PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, CP_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK], // OP\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // CL\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // CP\r\n  [PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], // QU\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], // GL\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // NS\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // EX\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // SY\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // IS\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK], // PR\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // PO\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // NU\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // AL\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // HL\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // ID\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // IN\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, DI_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // HY\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, DI_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // BA\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK], // BB\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, PR_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // B2\r\n  [DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK], // ZW\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // CM\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK], // WJ\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // H2\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // H3\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // JL\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // JV\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // JT\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // RI\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, DI_BRK], // EB\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, IN_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // EM\r\n  [IN_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, PR_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, IN_BRK, IN_BRK, IN_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK], // ZWJ\r\n  [DI_BRK, PR_BRK, PR_BRK, IN_BRK, IN_BRK, DI_BRK, PR_BRK, PR_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, PR_BRK, CI_BRK, PR_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, DI_BRK, IN_BRK, DI_BRK]  // CB\r\n];","exports.EncodeStream    = require('./src/EncodeStream');\r\nexports.DecodeStream    = require('./src/DecodeStream');\r\nexports.Array           = require('./src/Array');\r\nexports.LazyArray       = require('./src/LazyArray');\r\nexports.Bitfield        = require('./src/Bitfield');\r\nexports.Boolean         = require('./src/Boolean');\r\nexports.Buffer          = require('./src/Buffer');\r\nexports.Enum            = require('./src/Enum');\r\nexports.Optional        = require('./src/Optional');\r\nexports.Reserved        = require('./src/Reserved');\r\nexports.String          = require('./src/String');\r\nexports.Struct          = require('./src/Struct');\r\nexports.VersionedStruct = require('./src/VersionedStruct');\r\n\r\nconst utils             = require('./src/utils');\r\nconst NumberT           = require('./src/Number');\r\nconst Pointer           = require('./src/Pointer');\r\n\r\nObject.assign(exports, utils, NumberT, Pointer);\r\n","const {Number:NumberT} = require('./Number');\r\nconst utils = require('./utils');\r\n\r\nclass ArrayT {\r\n  constructor(type, length, lengthType = 'count') {\r\n    this.type = type;\r\n    this.length = length;\r\n    this.lengthType = lengthType;\r\n  }\r\n\r\n  decode(stream, parent) {\r\n    let length;\r\n    const { pos } = stream;\r\n\r\n    const res = [];\r\n    let ctx = parent;\r\n\r\n    if (this.length != null) {\r\n      length = utils.resolveLength(this.length, stream, parent);\r\n    }\r\n\r\n    if (this.length instanceof NumberT) {\r\n      // define hidden properties\r\n      Object.defineProperties(res, {\r\n        parent:         { value: parent },\r\n        _startOffset:   { value: pos },\r\n        _currentOffset: { value: 0, writable: true },\r\n        _length:        { value: length }\r\n      });\r\n\r\n      ctx = res;\r\n    }\r\n\r\n    if ((length == null) || (this.lengthType === 'bytes')) {\r\n      const target = (length != null) ?\r\n        stream.pos + length\r\n      : (parent != null ? parent._length : undefined) ?\r\n        parent._startOffset + parent._length\r\n      :\r\n        stream.length;\r\n\r\n      while (stream.pos < target) {\r\n        res.push(this.type.decode(stream, ctx));\r\n      }\r\n\r\n    } else {\r\n      for (let i = 0, end = length; i < end; i++) {\r\n        res.push(this.type.decode(stream, ctx));\r\n      }\r\n    }\r\n\r\n    return res;\r\n  }\r\n\r\n  size(array, ctx) {\r\n    if (!array) {\r\n      return this.type.size(null, ctx) * utils.resolveLength(this.length, null, ctx);\r\n    }\r\n\r\n    let size = 0;\r\n    if (this.length instanceof NumberT) {\r\n      size += this.length.size();\r\n      ctx = {parent: ctx};\r\n    }\r\n\r\n    for (let item of array) {\r\n      size += this.type.size(item, ctx);\r\n    }\r\n\r\n    return size;\r\n  }\r\n\r\n  encode(stream, array, parent) {\r\n    let ctx = parent;\r\n    if (this.length instanceof NumberT) {\r\n      ctx = {\r\n        pointers: [],\r\n        startOffset: stream.pos,\r\n        parent\r\n      };\r\n\r\n      ctx.pointerOffset = stream.pos + this.size(array, ctx);\r\n      this.length.encode(stream, array.length);\r\n    }\r\n\r\n    for (let item of array) {\r\n      this.type.encode(stream, item, ctx);\r\n    }\r\n\r\n    if (this.length instanceof NumberT) {\r\n      let i = 0;\r\n      while (i < ctx.pointers.length) {\r\n        const ptr = ctx.pointers[i++];\r\n        ptr.type.encode(stream, ptr.val);\r\n      }\r\n    }\r\n\r\n  }\r\n}\r\n\r\nmodule.exports = ArrayT;\r\n","class Bitfield {\r\n  constructor(type, flags = []) {\r\n    this.type = type;\r\n    this.flags = flags;\r\n  }\r\n  decode(stream) {\r\n    const val = this.type.decode(stream);\r\n\r\n    const res = {};\r\n    for (let i = 0; i < this.flags.length; i++) {\r\n      const flag = this.flags[i];\r\n      if (flag != null) {\r\n        res[flag] = !!(val & (1 << i));\r\n      }\r\n    }\r\n\r\n    return res;\r\n  }\r\n\r\n  size() {\r\n    return this.type.size();\r\n  }\r\n\r\n  encode(stream, keys) {\r\n    let val = 0;\r\n    for (let i = 0; i < this.flags.length; i++) {\r\n      const flag = this.flags[i];\r\n      if (flag != null) {\r\n        if (keys[flag]) { val |= (1 << i); }\r\n      }\r\n    }\r\n\r\n    return this.type.encode(stream, val);\r\n  }\r\n}\r\n\r\nmodule.exports = Bitfield;\r\n","class BooleanT {\r\n  constructor(type) {\r\n    this.type = type;\r\n  }\r\n\r\n  decode(stream, parent) {\r\n    return !!this.type.decode(stream, parent);\r\n  }\r\n\r\n  size(val, parent) {\r\n    return this.type.size(val, parent);\r\n  }\r\n\r\n  encode(stream, val, parent) {\r\n    return this.type.encode(stream, +val, parent);\r\n  }\r\n}\r\n\r\nmodule.exports = BooleanT;\r\n","const utils = require('./utils');\r\nconst {Number:NumberT} = require('./Number');\r\n\r\nclass BufferT {\r\n  constructor(length) {\r\n    this.length = length;\r\n  }\r\n  decode(stream, parent) {\r\n    const length = utils.resolveLength(this.length, stream, parent);\r\n    return stream.readBuffer(length);\r\n  }\r\n\r\n  size(val, parent) {\r\n    if (!val) {\r\n      return utils.resolveLength(this.length, null, parent);\r\n    }\r\n\r\n    return val.length;\r\n  }\r\n\r\n  encode(stream, buf, parent) {\r\n    if (this.length instanceof NumberT) {\r\n      this.length.encode(stream, buf.length);\r\n    }\r\n\r\n    return stream.writeBuffer(buf);\r\n  }\r\n}\r\n\r\nmodule.exports = BufferT;\r\n","let iconv;\r\ntry { iconv = require('iconv-lite'); } catch (error) {}\r\n\r\nclass DecodeStream {\r\n  constructor(buffer) {\r\n    this.buffer = buffer;\r\n    this.pos = 0;\r\n    this.length = this.buffer.length;\r\n  }\r\n\r\n  readString(length, encoding = 'ascii') {\r\n    switch (encoding) {\r\n      case 'utf16le': case 'ucs2': case 'utf8': case 'ascii':\r\n        return this.buffer.toString(encoding, this.pos, (this.pos += length));\r\n\r\n      case 'utf16be':\r\n        var buf = Buffer.from(this.readBuffer(length));\r\n\r\n        // swap the bytes\r\n        for (let i = 0, end = buf.length - 1; i < end; i += 2) {\r\n          const byte = buf[i];\r\n          buf[i] = buf[i + 1];\r\n          buf[i + 1] = byte;\r\n        }\r\n\r\n        return buf.toString('utf16le');\r\n\r\n      default:\r\n        buf = this.readBuffer(length);\r\n        if (iconv) {\r\n          try {\r\n            return iconv.decode(buf, encoding);\r\n          } catch (error1) {}\r\n        }\r\n\r\n        return buf;\r\n    }\r\n  }\r\n\r\n  readBuffer(length) {\r\n    return this.buffer.slice(this.pos, (this.pos += length));\r\n  }\r\n\r\n  readUInt24BE() {\r\n    return (this.readUInt16BE() << 8) + this.readUInt8();\r\n  }\r\n\r\n  readUInt24LE() {\r\n    return this.readUInt16LE() + (this.readUInt8() << 16);\r\n  }\r\n\r\n  readInt24BE() {\r\n    return (this.readInt16BE() << 8) + this.readUInt8();\r\n  }\r\n\r\n  readInt24LE() {\r\n    return this.readUInt16LE() + (this.readInt8() << 16);\r\n  }\r\n}\r\n\r\nDecodeStream.TYPES = {\r\n  UInt8: 1,\r\n  UInt16: 2,\r\n  UInt24: 3,\r\n  UInt32: 4,\r\n  Int8: 1,\r\n  Int16: 2,\r\n  Int24: 3,\r\n  Int32: 4,\r\n  Float: 4,\r\n  Double: 8\r\n};\r\n\r\nfor (let key in Buffer.prototype) {\r\n  if (key.slice(0, 4) === 'read') {\r\n    const bytes = DecodeStream.TYPES[key.replace(/read|[BL]E/g, '')];\r\n    DecodeStream.prototype[key] = function() {\r\n      const ret = this.buffer[key](this.pos);\r\n      this.pos += bytes;\r\n      return ret;\r\n    };\r\n  }\r\n}\r\n\r\nmodule.exports = DecodeStream;\r\n","let iconv;\r\nconst stream = require('stream');\r\nconst DecodeStream = require('./DecodeStream');\r\ntry { iconv = require('iconv-lite'); } catch (error) {}\r\n\r\nclass EncodeStream extends stream.Readable {\r\n  constructor(bufferSize =  65536) {\r\n    super(...arguments);\r\n    this.buffer = Buffer.alloc(bufferSize);\r\n    this.bufferOffset = 0;\r\n    this.pos = 0;\r\n  }\r\n\r\n  // do nothing, required by node\r\n  _read() {}\r\n\r\n  ensure(bytes) {\r\n    if ((this.bufferOffset + bytes) > this.buffer.length) {\r\n      return this.flush();\r\n    }\r\n  }\r\n\r\n  flush() {\r\n    if (this.bufferOffset > 0) {\r\n      this.push(Buffer.from(this.buffer.slice(0, this.bufferOffset)));\r\n      return this.bufferOffset = 0;\r\n    }\r\n  }\r\n\r\n  writeBuffer(buffer) {\r\n    this.flush();\r\n    this.push(buffer);\r\n    return this.pos += buffer.length;\r\n  }\r\n\r\n  writeString(string, encoding = 'ascii') {\r\n    switch (encoding) {\r\n      case 'utf16le': case 'ucs2': case 'utf8': case 'ascii':\r\n        return this.writeBuffer(Buffer.from(string, encoding));\r\n\r\n      case 'utf16be':\r\n        var buf = Buffer.from(string, 'utf16le');\r\n\r\n        // swap the bytes\r\n        for (let i = 0, end = buf.length - 1; i < end; i += 2) {\r\n          const byte = buf[i];\r\n          buf[i] = buf[i + 1];\r\n          buf[i + 1] = byte;\r\n        }\r\n\r\n        return this.writeBuffer(buf);\r\n\r\n      default:\r\n        if (iconv) {\r\n          return this.writeBuffer(iconv.encode(string, encoding));\r\n        } else {\r\n          throw new Error('Install iconv-lite to enable additional string encodings.');\r\n        }\r\n    }\r\n  }\r\n\r\n  writeUInt24BE(val) {\r\n    this.ensure(3);\r\n    this.buffer[this.bufferOffset++] = (val >>> 16) & 0xff;\r\n    this.buffer[this.bufferOffset++] = (val >>> 8)  & 0xff;\r\n    this.buffer[this.bufferOffset++] = val & 0xff;\r\n    return this.pos += 3;\r\n  }\r\n\r\n  writeUInt24LE(val) {\r\n    this.ensure(3);\r\n    this.buffer[this.bufferOffset++] = val & 0xff;\r\n    this.buffer[this.bufferOffset++] = (val >>> 8) & 0xff;\r\n    this.buffer[this.bufferOffset++] = (val >>> 16) & 0xff;\r\n    return this.pos += 3;\r\n  }\r\n\r\n  writeInt24BE(val) {\r\n    if (val >= 0) {\r\n      return this.writeUInt24BE(val);\r\n    } else {\r\n      return this.writeUInt24BE(val + 0xffffff + 1);\r\n    }\r\n  }\r\n\r\n  writeInt24LE(val) {\r\n    if (val >= 0) {\r\n      return this.writeUInt24LE(val);\r\n    } else {\r\n      return this.writeUInt24LE(val + 0xffffff + 1);\r\n    }\r\n  }\r\n\r\n  fill(val, length) {\r\n    if (length < this.buffer.length) {\r\n      this.ensure(length);\r\n      this.buffer.fill(val, this.bufferOffset, this.bufferOffset + length);\r\n      this.bufferOffset += length;\r\n      return this.pos += length;\r\n    } else {\r\n      const buf = Buffer.alloc(length);\r\n      buf.fill(val);\r\n      return this.writeBuffer(buf);\r\n    }\r\n  }\r\n\r\n  end() {\r\n    this.flush();\r\n    return this.push(null);\r\n  }\r\n}\r\n\r\nfor (let key in Buffer.prototype) {\r\n  if (key.slice(0, 5) === 'write') {\r\n    const bytes = +DecodeStream.TYPES[key.replace(/write|[BL]E/g, '')];\r\n    EncodeStream.prototype[key] = function(value) {\r\n      this.ensure(bytes);\r\n      this.buffer[key](value, this.bufferOffset);\r\n      this.bufferOffset += bytes;\r\n      return this.pos += bytes;\r\n    };\r\n  }\r\n}\r\n\r\nmodule.exports = EncodeStream;\r\n","class Enum {\r\n  constructor(type, options = []) {\r\n    this.type = type;\r\n    this.options = options;\r\n  }\r\n  decode(stream) {\r\n    const index = this.type.decode(stream);\r\n    return this.options[index] || index;\r\n  }\r\n\r\n  size() {\r\n    return this.type.size();\r\n  }\r\n\r\n  encode(stream, val) {\r\n    const index = this.options.indexOf(val);\r\n    if (index === -1) {\r\n      throw new Error(`Unknown option in enum: ${val}`);\r\n    }\r\n\r\n    return this.type.encode(stream, index);\r\n  }\r\n}\r\n\r\nmodule.exports = Enum;\r\n","const ArrayT = require('./Array');\r\nconst {Number:NumberT} = require('./Number');\r\nconst utils = require('./utils');\r\nconst {inspect} = require('util');\r\n\r\nclass LazyArrayT extends ArrayT {\r\n  decode(stream, parent) {\r\n    const { pos } = stream;\r\n    const length = utils.resolveLength(this.length, stream, parent);\r\n\r\n    if (this.length instanceof NumberT) {\r\n      parent = {\r\n        parent,\r\n        _startOffset: pos,\r\n        _currentOffset: 0,\r\n        _length: length\r\n      };\r\n    }\r\n\r\n    const res = new LazyArray(this.type, length, stream, parent);\r\n\r\n    stream.pos += length * this.type.size(null, parent);\r\n    return res;\r\n  }\r\n\r\n  size(val, ctx) {\r\n    if (val instanceof LazyArray) {\r\n      val = val.toArray();\r\n    }\r\n\r\n    return super.size(val, ctx);\r\n  }\r\n\r\n  encode(stream, val, ctx) {\r\n    if (val instanceof LazyArray) {\r\n      val = val.toArray();\r\n    }\r\n\r\n    return super.encode(stream, val, ctx);\r\n  }\r\n}\r\n\r\nclass LazyArray {\r\n  constructor(type, length, stream, ctx) {\r\n    this.type = type;\r\n    this.length = length;\r\n    this.stream = stream;\r\n    this.ctx = ctx;\r\n    this.base = this.stream.pos;\r\n    this.items = [];\r\n  }\r\n\r\n  get(index) {\r\n    if ((index < 0) || (index >= this.length)) {\r\n      return undefined;\r\n    }\r\n\r\n    if (this.items[index] == null) {\r\n      const { pos } = this.stream;\r\n      this.stream.pos = this.base + (this.type.size(null, this.ctx) * index);\r\n      this.items[index] = this.type.decode(this.stream, this.ctx);\r\n      this.stream.pos = pos;\r\n    }\r\n\r\n    return this.items[index];\r\n  }\r\n\r\n  toArray() {\r\n    const result = [];\r\n    for (let i = 0, end = this.length; i < end; i++) {\r\n      result.push(this.get(i));\r\n    }\r\n    return result;\r\n  }\r\n\r\n  inspect() {\r\n    return inspect(this.toArray());\r\n  }\r\n}\r\n\r\nmodule.exports = LazyArrayT;\r\n","const DecodeStream = require('./DecodeStream');\r\n\r\nclass NumberT {\r\n  constructor(type, endian = 'BE') {\r\n    this.type = type;\r\n    this.endian = endian;\r\n    this.fn = this.type;\r\n    if (this.type[this.type.length - 1] !== '8') {\r\n      this.fn += this.endian;\r\n    }\r\n  }\r\n\r\n  size() {\r\n    return DecodeStream.TYPES[this.type];\r\n  }\r\n\r\n  decode(stream) {\r\n    return stream[`read${this.fn}`]();\r\n  }\r\n\r\n  encode(stream, val) {\r\n    return stream[`write${this.fn}`](val);\r\n  }\r\n}\r\n\r\nexports.Number = NumberT;\r\nexports.uint8 = new NumberT('UInt8');\r\nexports.uint16be = (exports.uint16 = new NumberT('UInt16', 'BE'));\r\nexports.uint16le = new NumberT('UInt16', 'LE');\r\nexports.uint24be = (exports.uint24 = new NumberT('UInt24', 'BE'));\r\nexports.uint24le = new NumberT('UInt24', 'LE');\r\nexports.uint32be = (exports.uint32 = new NumberT('UInt32', 'BE'));\r\nexports.uint32le = new NumberT('UInt32', 'LE');\r\nexports.int8 = new NumberT('Int8');\r\nexports.int16be = (exports.int16 = new NumberT('Int16', 'BE'));\r\nexports.int16le = new NumberT('Int16', 'LE');\r\nexports.int24be = (exports.int24 = new NumberT('Int24', 'BE'));\r\nexports.int24le = new NumberT('Int24', 'LE');\r\nexports.int32be = (exports.int32 = new NumberT('Int32', 'BE'));\r\nexports.int32le = new NumberT('Int32', 'LE');\r\nexports.floatbe = (exports.float = new NumberT('Float', 'BE'));\r\nexports.floatle = new NumberT('Float', 'LE');\r\nexports.doublebe = (exports.double = new NumberT('Double', 'BE'));\r\nexports.doublele = new NumberT('Double', 'LE');\r\n\r\nclass Fixed extends NumberT {\r\n  constructor(size, endian, fracBits = size >> 1) {\r\n    super(`Int${size}`, endian);\r\n    this._point = 1 << fracBits;\r\n  }\r\n\r\n  decode(stream) {\r\n    return super.decode(stream) / this._point;\r\n  }\r\n\r\n  encode(stream, val) {\r\n    return super.encode(stream, (val * this._point) | 0);\r\n  }\r\n}\r\n\r\nexports.Fixed = Fixed;\r\nexports.fixed16be = (exports.fixed16 = new Fixed(16, 'BE'));\r\nexports.fixed16le = new Fixed(16, 'LE');\r\nexports.fixed32be = (exports.fixed32 =new Fixed(32, 'BE'));\r\nexports.fixed32le = new Fixed(32, 'LE');\r\n","class Optional {\r\n  constructor(type, condition = true) {\r\n    this.type = type;\r\n    this.condition = condition;\r\n  }\r\n\r\n  decode(stream, parent) {\r\n    let { condition } = this;\r\n    if (typeof condition === 'function') {\r\n      condition = condition.call(parent, parent);\r\n    }\r\n\r\n    if (condition) {\r\n      return this.type.decode(stream, parent);\r\n    }\r\n  }\r\n\r\n  size(val, parent) {\r\n    let { condition } = this;\r\n    if (typeof condition === 'function') {\r\n      condition = condition.call(parent, parent);\r\n    }\r\n\r\n    if (condition) {\r\n      return this.type.size(val, parent);\r\n    } else {\r\n      return 0;\r\n    }\r\n  }\r\n\r\n  encode(stream, val, parent) {\r\n    let { condition } = this;\r\n    if (typeof condition === 'function') {\r\n      condition = condition.call(parent, parent);\r\n    }\r\n\r\n    if (condition) {\r\n      return this.type.encode(stream, val, parent);\r\n    }\r\n  }\r\n}\r\n\r\nmodule.exports = Optional;\r\n","const utils = require('./utils');\r\n\r\nclass Pointer {\r\n  constructor(offsetType, type, options = {}) {\r\n    this.offsetType = offsetType;\r\n    this.type = type;\r\n    this.options = options;\r\n    if (this.type === 'void') { this.type = null; }\r\n    if (this.options.type == null) { this.options.type = 'local'; }\r\n    if (this.options.allowNull == null) { this.options.allowNull = true; }\r\n    if (this.options.nullValue == null) { this.options.nullValue = 0; }\r\n    if (this.options.lazy == null) { this.options.lazy = false; }\r\n    if (this.options.relativeTo) {\r\n      if (typeof this.options.relativeTo !== 'function') {\r\n        throw new Error('relativeTo option must be a function');\r\n      }\r\n      this.relativeToGetter = options.relativeTo;\r\n    }\r\n  }\r\n\r\n  decode(stream, ctx) {\r\n    const offset = this.offsetType.decode(stream, ctx);\r\n\r\n    // handle NULL pointers\r\n    if ((offset === this.options.nullValue) && this.options.allowNull) {\r\n      return null;\r\n    }\r\n\r\n    let relative;\r\n    switch (this.options.type) {\r\n      case 'local':     relative = ctx._startOffset; break;\r\n      case 'immediate': relative = stream.pos - this.offsetType.size(); break;\r\n      case 'parent':    relative = ctx.parent._startOffset; break;\r\n      default:\r\n        var c = ctx;\r\n        while (c.parent) {\r\n          c = c.parent;\r\n        }\r\n\r\n        relative = c._startOffset || 0;\r\n    }\r\n\r\n    if (this.options.relativeTo) {\r\n      relative += this.relativeToGetter(ctx);\r\n    }\r\n\r\n    const ptr = offset + relative;\r\n\r\n    if (this.type != null) {\r\n      let val = null;\r\n      const decodeValue = () => {\r\n        if (val != null) { return val; }\r\n\r\n        const { pos } = stream;\r\n        stream.pos = ptr;\r\n        val = this.type.decode(stream, ctx);\r\n        stream.pos = pos;\r\n        return val;\r\n      };\r\n\r\n      // If this is a lazy pointer, define a getter to decode only when needed.\r\n      // This obviously only works when the pointer is contained by a Struct.\r\n      if (this.options.lazy) {\r\n        return new utils.PropertyDescriptor({\r\n          get: decodeValue});\r\n      }\r\n\r\n      return decodeValue();\r\n    } else {\r\n      return ptr;\r\n    }\r\n  }\r\n\r\n  size(val, ctx) {\r\n    const parent = ctx;\r\n    switch (this.options.type) {\r\n      case 'local': case 'immediate':\r\n        break;\r\n      case 'parent':\r\n        ctx = ctx.parent;\r\n        break;\r\n      default: // global\r\n        while (ctx.parent) {\r\n          ctx = ctx.parent;\r\n        }\r\n    }\r\n\r\n    let { type } = this;\r\n    if (type == null) {\r\n      if (!(val instanceof VoidPointer)) {\r\n        throw new Error(\"Must be a VoidPointer\");\r\n      }\r\n\r\n      ({ type } = val);\r\n      val = val.value;\r\n    }\r\n\r\n    if (val && ctx) {\r\n      ctx.pointerSize += type.size(val, parent);\r\n    }\r\n\r\n    return this.offsetType.size();\r\n  }\r\n\r\n  encode(stream, val, ctx) {\r\n    let relative;\r\n    const parent = ctx;\r\n    if ((val == null)) {\r\n      this.offsetType.encode(stream, this.options.nullValue);\r\n      return;\r\n    }\r\n\r\n    switch (this.options.type) {\r\n      case 'local':\r\n        relative = ctx.startOffset;\r\n        break;\r\n      case 'immediate':\r\n        relative = stream.pos + this.offsetType.size(val, parent);\r\n        break;\r\n      case 'parent':\r\n        ctx = ctx.parent;\r\n        relative = ctx.startOffset;\r\n        break;\r\n      default: // global\r\n        relative = 0;\r\n        while (ctx.parent) {\r\n          ctx = ctx.parent;\r\n        }\r\n    }\r\n\r\n    if (this.options.relativeTo) {\r\n      relative += this.relativeToGetter(parent.val);\r\n    }\r\n\r\n    this.offsetType.encode(stream, ctx.pointerOffset - relative);\r\n\r\n    let { type } = this;\r\n    if (type == null) {\r\n      if (!(val instanceof VoidPointer)) {\r\n        throw new Error(\"Must be a VoidPointer\");\r\n      }\r\n\r\n      ({ type } = val);\r\n      val = val.value;\r\n    }\r\n\r\n    ctx.pointers.push({\r\n      type,\r\n      val,\r\n      parent\r\n    });\r\n\r\n    return ctx.pointerOffset += type.size(val, parent);\r\n  }\r\n}\r\n\r\n// A pointer whose type is determined at decode time\r\nclass VoidPointer {\r\n  constructor(type, value) {\r\n    this.type = type;\r\n    this.value = value;\r\n  }\r\n}\r\n\r\nexports.Pointer = Pointer;\r\nexports.VoidPointer = VoidPointer;\r\n","const utils = require('./utils');\r\n\r\nclass Reserved {\r\n  constructor(type, count = 1) {\r\n    this.type = type;\r\n    this.count = count;\r\n  }\r\n  decode(stream, parent) {\r\n    stream.pos += this.size(null, parent);\r\n    return undefined;\r\n  }\r\n\r\n  size(data, parent) {\r\n    const count = utils.resolveLength(this.count, null, parent);\r\n    return this.type.size() * count;\r\n  }\r\n\r\n  encode(stream, val, parent) {\r\n    return stream.fill(0, this.size(val, parent));\r\n  }\r\n}\r\n\r\nmodule.exports = Reserved;\r\n","const {Number:NumberT} = require('./Number');\r\nconst utils = require('./utils');\r\n\r\nclass StringT {\r\n  constructor(length, encoding = 'ascii') {\r\n    this.length = length;\r\n    this.encoding = encoding;\r\n  }\r\n\r\n  decode(stream, parent) {\r\n    let length, pos;\r\n\r\n    if (this.length != null) {\r\n      length = utils.resolveLength(this.length, stream, parent);\r\n    } else {\r\n      let buffer;\r\n      ({buffer, length, pos} = stream);\r\n\r\n      while ((pos < length) && (buffer[pos] !== 0x00)) {\r\n        ++pos;\r\n      }\r\n\r\n      length = pos - stream.pos;\r\n    }\r\n\r\n    let { encoding } = this;\r\n    if (typeof encoding === 'function') {\r\n      encoding = encoding.call(parent, parent) || 'ascii';\r\n    }\r\n\r\n    const string = stream.readString(length, encoding);\r\n\r\n    if ((this.length == null) && (stream.pos < stream.length)) {\r\n      stream.pos++;\r\n    }\r\n\r\n    return string;\r\n  }\r\n\r\n  size(val, parent) {\r\n    // Use the defined value if no value was given\r\n    if (!val) {\r\n      return utils.resolveLength(this.length, null, parent);\r\n    }\r\n\r\n    let { encoding } = this;\r\n    if (typeof encoding === 'function') {\r\n      encoding = encoding.call(parent != null ? parent.val : undefined, parent != null ? parent.val : undefined) || 'ascii';\r\n    }\r\n\r\n    if (encoding === 'utf16be') {\r\n      encoding = 'utf16le';\r\n    }\r\n\r\n    let size = Buffer.byteLength(val, encoding);\r\n    if (this.length instanceof NumberT) {\r\n      size += this.length.size();\r\n    }\r\n\r\n    if ((this.length == null)) {\r\n      size++;\r\n    }\r\n\r\n    return size;\r\n  }\r\n\r\n  encode(stream, val, parent) {\r\n    let { encoding } = this;\r\n    if (typeof encoding === 'function') {\r\n      encoding = encoding.call(parent != null ? parent.val : undefined, parent != null ? parent.val : undefined) || 'ascii';\r\n    }\r\n\r\n    if (this.length instanceof NumberT) {\r\n      this.length.encode(stream, Buffer.byteLength(val, encoding));\r\n    }\r\n\r\n    stream.writeString(val, encoding);\r\n\r\n    if ((this.length == null)) {\r\n      return stream.writeUInt8(0x00);\r\n    }\r\n  }\r\n}\r\n\r\nmodule.exports = StringT;\r\n","const utils = require('./utils');\r\n\r\nclass Struct {\r\n  constructor(fields = {}) {\r\n    this.fields = fields;\r\n  }\r\n\r\n  decode(stream, parent, length = 0) {\r\n    const res = this._setup(stream, parent, length);\r\n    this._parseFields(stream, res, this.fields);\r\n\r\n    if (this.process != null) {\r\n      this.process.call(res, stream);\r\n    }\r\n    return res;\r\n  }\r\n\r\n  _setup(stream, parent, length) {\r\n    const res = {};\r\n\r\n    // define hidden properties\r\n    Object.defineProperties(res, {\r\n      parent:         { value: parent },\r\n      _startOffset:   { value: stream.pos },\r\n      _currentOffset: { value: 0, writable: true },\r\n      _length:        { value: length }\r\n    });\r\n\r\n    return res;\r\n  }\r\n\r\n  _parseFields(stream, res, fields) {\r\n    for (let key in fields) {\r\n      var val;\r\n      const type = fields[key];\r\n      if (typeof type === 'function') {\r\n        val = type.call(res, res);\r\n      } else {\r\n        val = type.decode(stream, res);\r\n      }\r\n\r\n      if (val !== undefined) {\r\n        if (val instanceof utils.PropertyDescriptor) {\r\n          Object.defineProperty(res, key, val);\r\n        } else {\r\n          res[key] = val;\r\n        }\r\n      }\r\n\r\n      res._currentOffset = stream.pos - res._startOffset;\r\n    }\r\n\r\n  }\r\n\r\n  size(val, parent, includePointers) {\r\n    if (val == null) { val = {}; }\r\n    if (includePointers == null) { includePointers = true; }\r\n    const ctx = {\r\n      parent,\r\n      val,\r\n      pointerSize: 0\r\n    };\r\n\r\n    let size = 0;\r\n    for (let key in this.fields) {\r\n      const type = this.fields[key];\r\n      if (type.size != null) {\r\n        size += type.size(val[key], ctx);\r\n      }\r\n    }\r\n\r\n    if (includePointers) {\r\n      size += ctx.pointerSize;\r\n    }\r\n\r\n    return size;\r\n  }\r\n\r\n  encode(stream, val, parent) {\r\n    let type;\r\n    if (this.preEncode != null) {\r\n      this.preEncode.call(val, stream);\r\n    }\r\n\r\n    const ctx = {\r\n      pointers: [],\r\n      startOffset: stream.pos,\r\n      parent,\r\n      val,\r\n      pointerSize: 0\r\n    };\r\n\r\n    ctx.pointerOffset = stream.pos + this.size(val, ctx, false);\r\n\r\n    for (let key in this.fields) {\r\n      type = this.fields[key];\r\n      if (type.encode != null) {\r\n        type.encode(stream, val[key], ctx);\r\n      }\r\n    }\r\n\r\n    let i = 0;\r\n    while (i < ctx.pointers.length) {\r\n      const ptr = ctx.pointers[i++];\r\n      ptr.type.encode(stream, ptr.val, ptr.parent);\r\n    }\r\n\r\n  }\r\n}\r\n\r\nmodule.exports = Struct;\r\n","const Struct = require('./Struct');\r\n\r\nconst getPath = (object, pathArray) => {\r\n  return pathArray.reduce((prevObj, key) => prevObj && prevObj[key], object);\r\n};\r\n\r\nclass VersionedStruct extends Struct {\r\n  constructor(type, versions = {}) {\r\n    super();\r\n    this.type = type;\r\n    this.versions = versions;\r\n    if (typeof type === 'string') {\r\n      this.versionPath = type.split('.');\r\n    }\r\n  }\r\n\r\n  decode(stream, parent, length = 0) {\r\n    const res = this._setup(stream, parent, length);\r\n\r\n    if (typeof this.type === 'string') {\r\n      res.version = getPath(parent, this.versionPath);\r\n    } else {\r\n      res.version = this.type.decode(stream);\r\n    }\r\n\r\n    if (this.versions.header) {\r\n      this._parseFields(stream, res, this.versions.header);\r\n    }\r\n\r\n    const fields = this.versions[res.version];\r\n    if ((fields == null)) {\r\n      throw new Error(`Unknown version ${res.version}`);\r\n    }\r\n\r\n    if (fields instanceof VersionedStruct) {\r\n      return fields.decode(stream, parent);\r\n    }\r\n\r\n    this._parseFields(stream, res, fields);\r\n\r\n    if (this.process != null) {\r\n      this.process.call(res, stream);\r\n    }\r\n    return res;\r\n  }\r\n\r\n  size(val, parent, includePointers = true) {\r\n    let key, type;\r\n    if (!val) {\r\n      throw new Error('Not a fixed size');\r\n    }\r\n\r\n    const ctx = {\r\n      parent,\r\n      val,\r\n      pointerSize: 0\r\n    };\r\n\r\n    let size = 0;\r\n    if (typeof this.type !== 'string') {\r\n      size += this.type.size(val.version, ctx);\r\n    }\r\n\r\n    if (this.versions.header) {\r\n      for (key in this.versions.header) {\r\n        type = this.versions.header[key];\r\n        if (type.size != null) {\r\n          size += type.size(val[key], ctx);\r\n        }\r\n      }\r\n    }\r\n\r\n    const fields = this.versions[val.version];\r\n    if ((fields == null)) {\r\n      throw new Error(`Unknown version ${val.version}`);\r\n    }\r\n\r\n    for (key in fields) {\r\n      type = fields[key];\r\n      if (type.size != null) {\r\n        size += type.size(val[key], ctx);\r\n      }\r\n    }\r\n\r\n    if (includePointers) {\r\n      size += ctx.pointerSize;\r\n    }\r\n\r\n    return size;\r\n  }\r\n\r\n  encode(stream, val, parent) {\r\n    let key, type;\r\n    if (this.preEncode != null) {\r\n      this.preEncode.call(val, stream);\r\n    }\r\n\r\n    const ctx = {\r\n      pointers: [],\r\n      startOffset: stream.pos,\r\n      parent,\r\n      val,\r\n      pointerSize: 0\r\n    };\r\n\r\n    ctx.pointerOffset = stream.pos + this.size(val, ctx, false);\r\n\r\n    if (typeof this.type !== 'string') {\r\n      this.type.encode(stream, val.version);\r\n    }\r\n\r\n    if (this.versions.header) {\r\n      for (key in this.versions.header) {\r\n        type = this.versions.header[key];\r\n        if (type.encode != null) {\r\n          type.encode(stream, val[key], ctx);\r\n        }\r\n      }\r\n    }\r\n\r\n    const fields = this.versions[val.version];\r\n    for (key in fields) {\r\n      type = fields[key];\r\n      if (type.encode != null) {\r\n        type.encode(stream, val[key], ctx);\r\n      }\r\n    }\r\n\r\n    let i = 0;\r\n    while (i < ctx.pointers.length) {\r\n      const ptr = ctx.pointers[i++];\r\n      ptr.type.encode(stream, ptr.val, ptr.parent);\r\n    }\r\n\r\n  }\r\n}\r\n\r\nmodule.exports = VersionedStruct;\r\n","const {Number:NumberT} = require('./Number');\r\n\r\nexports.resolveLength = function(length, stream, parent) {\r\n  let res;\r\n  if (typeof length === 'number') {\r\n    res = length;\r\n\r\n  } else if (typeof length === 'function') {\r\n    res = length.call(parent, parent);\r\n\r\n  } else if (parent && (typeof length === 'string')) {\r\n    res = parent[length];\r\n\r\n  } else if (stream && length instanceof NumberT) {\r\n    res = length.decode(stream);\r\n  }\r\n\r\n  if (isNaN(res)) {\r\n    throw new Error('Not a fixed size');\r\n  }\r\n\r\n  return res;\r\n};\r\n\r\nclass PropertyDescriptor {\r\n  constructor(opts = {}) {\r\n    this.enumerable = true;\r\n    this.configurable = true;\r\n\r\n    for (let key in opts) {\r\n      const val = opts[key];\r\n      this[key] = val;\r\n    }\r\n  }\r\n}\r\n\r\nexports.PropertyDescriptor = PropertyDescriptor;\r\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <https://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n  (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n    ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n    : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Print warning and recommend using `buffer` v4.x which has an Object\n *               implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n    typeof console.error === 'function') {\n  console.error(\n    'This browser lacks typed array (Uint8Array) support which is required by ' +\n    '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n  )\n}\n\nfunction typedArraySupport () {\n  // Can typed array instances can be augmented?\n  try {\n    const arr = new Uint8Array(1)\n    const proto = { foo: function () { return 42 } }\n    Object.setPrototypeOf(proto, Uint8Array.prototype)\n    Object.setPrototypeOf(arr, proto)\n    return arr.foo() === 42\n  } catch (e) {\n    return false\n  }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.buffer\n  }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n  enumerable: true,\n  get: function () {\n    if (!Buffer.isBuffer(this)) return undefined\n    return this.byteOffset\n  }\n})\n\nfunction createBuffer (length) {\n  if (length > K_MAX_LENGTH) {\n    throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n  }\n  // Return an augmented `Uint8Array` instance\n  const buf = new Uint8Array(length)\n  Object.setPrototypeOf(buf, Buffer.prototype)\n  return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new TypeError(\n        'The \"string\" argument must be of type string. Received type number'\n      )\n    }\n    return allocUnsafe(arg)\n  }\n  return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n  if (typeof value === 'string') {\n    return fromString(value, encodingOrOffset)\n  }\n\n  if (ArrayBuffer.isView(value)) {\n    return fromArrayView(value)\n  }\n\n  if (value == null) {\n    throw new TypeError(\n      'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n      'or Array-like Object. Received type ' + (typeof value)\n    )\n  }\n\n  if (isInstance(value, ArrayBuffer) ||\n      (value && isInstance(value.buffer, ArrayBuffer))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof SharedArrayBuffer !== 'undefined' &&\n      (isInstance(value, SharedArrayBuffer) ||\n      (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n    return fromArrayBuffer(value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'number') {\n    throw new TypeError(\n      'The \"value\" argument must not be of type number. Received type number'\n    )\n  }\n\n  const valueOf = value.valueOf && value.valueOf()\n  if (valueOf != null && valueOf !== value) {\n    return Buffer.from(valueOf, encodingOrOffset, length)\n  }\n\n  const b = fromObject(value)\n  if (b) return b\n\n  if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n      typeof value[Symbol.toPrimitive] === 'function') {\n    return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n  }\n\n  throw new TypeError(\n    'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n    'or Array-like Object. Received type ' + (typeof value)\n  )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be of type number')\n  } else if (size < 0) {\n    throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n  }\n}\n\nfunction alloc (size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpreted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(size).fill(fill, encoding)\n      : createBuffer(size).fill(fill)\n  }\n  return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n  assertSize(size)\n  return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('Unknown encoding: ' + encoding)\n  }\n\n  const length = byteLength(string, encoding) | 0\n  let buf = createBuffer(length)\n\n  const actual = buf.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    buf = buf.slice(0, actual)\n  }\n\n  return buf\n}\n\nfunction fromArrayLike (array) {\n  const length = array.length < 0 ? 0 : checked(array.length) | 0\n  const buf = createBuffer(length)\n  for (let i = 0; i < length; i += 1) {\n    buf[i] = array[i] & 255\n  }\n  return buf\n}\n\nfunction fromArrayView (arrayView) {\n  if (isInstance(arrayView, Uint8Array)) {\n    const copy = new Uint8Array(arrayView)\n    return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n  }\n  return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\"offset\" is outside of buffer bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\"length\" is outside of buffer bounds')\n  }\n\n  let buf\n  if (byteOffset === undefined && length === undefined) {\n    buf = new Uint8Array(array)\n  } else if (length === undefined) {\n    buf = new Uint8Array(array, byteOffset)\n  } else {\n    buf = new Uint8Array(array, byteOffset, length)\n  }\n\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(buf, Buffer.prototype)\n\n  return buf\n}\n\nfunction fromObject (obj) {\n  if (Buffer.isBuffer(obj)) {\n    const len = checked(obj.length) | 0\n    const buf = createBuffer(len)\n\n    if (buf.length === 0) {\n      return buf\n    }\n\n    obj.copy(buf, 0, 0, len)\n    return buf\n  }\n\n  if (obj.length !== undefined) {\n    if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n      return createBuffer(0)\n    }\n    return fromArrayLike(obj)\n  }\n\n  if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n    return fromArrayLike(obj.data)\n  }\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= K_MAX_LENGTH) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return b != null && b._isBuffer === true &&\n    b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n  if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n  if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError(\n      'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n    )\n  }\n\n  if (a === b) return 0\n\n  let x = a.length\n  let y = b.length\n\n  for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!Array.isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  let i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  const buffer = Buffer.allocUnsafe(length)\n  let pos = 0\n  for (i = 0; i < list.length; ++i) {\n    let buf = list[i]\n    if (isInstance(buf, Uint8Array)) {\n      if (pos + buf.length > buffer.length) {\n        if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n        buf.copy(buffer, pos)\n      } else {\n        Uint8Array.prototype.set.call(\n          buffer,\n          buf,\n          pos\n        )\n      }\n    } else if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    } else {\n      buf.copy(buffer, pos)\n    }\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    throw new TypeError(\n      'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n      'Received type ' + typeof string\n    )\n  }\n\n  const len = string.length\n  const mustMatch = (arguments.length > 2 && arguments[2] === true)\n  if (!mustMatch && len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  let loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) {\n          return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n        }\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  let loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  const i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  const len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (let i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  const len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (let i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  const len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (let i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  const length = this.length\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  let str = ''\n  const max = exports.INSPECT_MAX_BYTES\n  str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n  if (this.length > max) str += ' ... '\n  return '<Buffer ' + str + '>'\n}\nif (customInspectSymbol) {\n  Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (isInstance(target, Uint8Array)) {\n    target = Buffer.from(target, target.offset, target.byteLength)\n  }\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError(\n      'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n      'Received type ' + (typeof target)\n    )\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  let x = thisEnd - thisStart\n  let y = end - start\n  const len = Math.min(x, y)\n\n  const thisCopy = this.slice(thisStart, thisEnd)\n  const targetCopy = target.slice(start, end)\n\n  for (let i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset // Coerce to Number.\n  if (numberIsNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  let indexSize = 1\n  let arrLength = arr.length\n  let valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  let i\n  if (dir) {\n    let foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      let found = true\n      for (let j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  const remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  const strLen = string.length\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  let i\n  for (i = 0; i < length; ++i) {\n    const parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (numberIsNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset >>> 0\n    if (isFinite(length)) {\n      length = length >>> 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  const remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  let loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return asciiWrite(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  const res = []\n\n  let i = start\n  while (i < end) {\n    const firstByte = buf[i]\n    let codePoint = null\n    let bytesPerSequence = (firstByte > 0xEF)\n      ? 4\n      : (firstByte > 0xDF)\n          ? 3\n          : (firstByte > 0xBF)\n              ? 2\n              : 1\n\n    if (i + bytesPerSequence <= end) {\n      let secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  const len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  let res = ''\n  let i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  let ret = ''\n  end = Math.min(buf.length, end)\n\n  for (let i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  let ret = ''\n  end = Math.min(buf.length, end)\n\n  for (let i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  const len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  let out = ''\n  for (let i = start; i < end; ++i) {\n    out += hexSliceLookupTable[buf[i]]\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  const bytes = buf.slice(start, end)\n  let res = ''\n  // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n  for (let i = 0; i < bytes.length - 1; i += 2) {\n    res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  const len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  const newBuf = this.subarray(start, end)\n  // Return an augmented `Uint8Array` instance\n  Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  let val = this[offset]\n  let mul = 1\n  let i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  let val = this[offset + --byteLength]\n  let mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n  offset = offset >>> 0\n  validateNumber(offset, 'offset')\n  const first = this[offset]\n  const last = this[offset + 7]\n  if (first === undefined || last === undefined) {\n    boundsError(offset, this.length - 8)\n  }\n\n  const lo = first +\n    this[++offset] * 2 ** 8 +\n    this[++offset] * 2 ** 16 +\n    this[++offset] * 2 ** 24\n\n  const hi = this[++offset] +\n    this[++offset] * 2 ** 8 +\n    this[++offset] * 2 ** 16 +\n    last * 2 ** 24\n\n  return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n  offset = offset >>> 0\n  validateNumber(offset, 'offset')\n  const first = this[offset]\n  const last = this[offset + 7]\n  if (first === undefined || last === undefined) {\n    boundsError(offset, this.length - 8)\n  }\n\n  const hi = first * 2 ** 24 +\n    this[++offset] * 2 ** 16 +\n    this[++offset] * 2 ** 8 +\n    this[++offset]\n\n  const lo = this[++offset] * 2 ** 24 +\n    this[++offset] * 2 ** 16 +\n    this[++offset] * 2 ** 8 +\n    last\n\n  return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  let val = this[offset]\n  let mul = 1\n  let i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  let i = byteLength\n  let mul = 1\n  let val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  const val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  const val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n  offset = offset >>> 0\n  validateNumber(offset, 'offset')\n  const first = this[offset]\n  const last = this[offset + 7]\n  if (first === undefined || last === undefined) {\n    boundsError(offset, this.length - 8)\n  }\n\n  const val = this[offset + 4] +\n    this[offset + 5] * 2 ** 8 +\n    this[offset + 6] * 2 ** 16 +\n    (last << 24) // Overflow\n\n  return (BigInt(val) << BigInt(32)) +\n    BigInt(first +\n    this[++offset] * 2 ** 8 +\n    this[++offset] * 2 ** 16 +\n    this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n  offset = offset >>> 0\n  validateNumber(offset, 'offset')\n  const first = this[offset]\n  const last = this[offset + 7]\n  if (first === undefined || last === undefined) {\n    boundsError(offset, this.length - 8)\n  }\n\n  const val = (first << 24) + // Overflow\n    this[++offset] * 2 ** 16 +\n    this[++offset] * 2 ** 8 +\n    this[++offset]\n\n  return (BigInt(val) << BigInt(32)) +\n    BigInt(this[++offset] * 2 ** 24 +\n    this[++offset] * 2 ** 16 +\n    this[++offset] * 2 ** 8 +\n    last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  offset = offset >>> 0\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    const maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  let mul = 1\n  let i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  byteLength = byteLength >>> 0\n  if (!noAssert) {\n    const maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  let i = byteLength - 1\n  let mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset + 3] = (value >>> 24)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 1] = (value >>> 8)\n  this[offset] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n  checkIntBI(value, min, max, buf, offset, 7)\n\n  let lo = Number(value & BigInt(0xffffffff))\n  buf[offset++] = lo\n  lo = lo >> 8\n  buf[offset++] = lo\n  lo = lo >> 8\n  buf[offset++] = lo\n  lo = lo >> 8\n  buf[offset++] = lo\n  let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n  buf[offset++] = hi\n  hi = hi >> 8\n  buf[offset++] = hi\n  hi = hi >> 8\n  buf[offset++] = hi\n  hi = hi >> 8\n  buf[offset++] = hi\n  return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n  checkIntBI(value, min, max, buf, offset, 7)\n\n  let lo = Number(value & BigInt(0xffffffff))\n  buf[offset + 7] = lo\n  lo = lo >> 8\n  buf[offset + 6] = lo\n  lo = lo >> 8\n  buf[offset + 5] = lo\n  lo = lo >> 8\n  buf[offset + 4] = lo\n  let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n  buf[offset + 3] = hi\n  hi = hi >> 8\n  buf[offset + 2] = hi\n  hi = hi >> 8\n  buf[offset + 1] = hi\n  hi = hi >> 8\n  buf[offset] = hi\n  return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n  return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n  return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    const limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  let i = 0\n  let mul = 1\n  let sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    const limit = Math.pow(2, (8 * byteLength) - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  let i = byteLength - 1\n  let mul = 1\n  let sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  this[offset] = (value >>> 8)\n  this[offset + 1] = (value & 0xff)\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  this[offset] = (value & 0xff)\n  this[offset + 1] = (value >>> 8)\n  this[offset + 2] = (value >>> 16)\n  this[offset + 3] = (value >>> 24)\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  this[offset] = (value >>> 24)\n  this[offset + 1] = (value >>> 16)\n  this[offset + 2] = (value >>> 8)\n  this[offset + 3] = (value & 0xff)\n  return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n  return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n  return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  value = +value\n  offset = offset >>> 0\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  const len = end - start\n\n  if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n    // Use built-in when available, missing from IE11\n    this.copyWithin(targetStart, start, end)\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, end),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n    if (val.length === 1) {\n      const code = val.charCodeAt(0)\n      if ((encoding === 'utf8' && code < 128) ||\n          encoding === 'latin1') {\n        // Fast path: If `val` fits into a single byte, use that numeric value.\n        val = code\n      }\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  } else if (typeof val === 'boolean') {\n    val = Number(val)\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  let i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    const bytes = Buffer.isBuffer(val)\n      ? val\n      : Buffer.from(val, encoding)\n    const len = bytes.length\n    if (len === 0) {\n      throw new TypeError('The value \"' + val +\n        '\" is invalid for argument \"value\"')\n    }\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n  errors[sym] = class NodeError extends Base {\n    constructor () {\n      super()\n\n      Object.defineProperty(this, 'message', {\n        value: getMessage.apply(this, arguments),\n        writable: true,\n        configurable: true\n      })\n\n      // Add the error code to the name to include it in the stack trace.\n      this.name = `${this.name} [${sym}]`\n      // Access the stack to generate the error message including the error code\n      // from the name.\n      this.stack // eslint-disable-line no-unused-expressions\n      // Reset the name to the actual name.\n      delete this.name\n    }\n\n    get code () {\n      return sym\n    }\n\n    set code (value) {\n      Object.defineProperty(this, 'code', {\n        configurable: true,\n        enumerable: true,\n        value,\n        writable: true\n      })\n    }\n\n    toString () {\n      return `${this.name} [${sym}]: ${this.message}`\n    }\n  }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n  function (name) {\n    if (name) {\n      return `${name} is outside of buffer bounds`\n    }\n\n    return 'Attempt to access memory outside buffer bounds'\n  }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n  function (name, actual) {\n    return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n  }, TypeError)\nE('ERR_OUT_OF_RANGE',\n  function (str, range, input) {\n    let msg = `The value of \"${str}\" is out of range.`\n    let received = input\n    if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n      received = addNumericalSeparator(String(input))\n    } else if (typeof input === 'bigint') {\n      received = String(input)\n      if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n        received = addNumericalSeparator(received)\n      }\n      received += 'n'\n    }\n    msg += ` It must be ${range}. Received ${received}`\n    return msg\n  }, RangeError)\n\nfunction addNumericalSeparator (val) {\n  let res = ''\n  let i = val.length\n  const start = val[0] === '-' ? 1 : 0\n  for (; i >= start + 4; i -= 3) {\n    res = `_${val.slice(i - 3, i)}${res}`\n  }\n  return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n  validateNumber(offset, 'offset')\n  if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n    boundsError(offset, buf.length - (byteLength + 1))\n  }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n  if (value > max || value < min) {\n    const n = typeof min === 'bigint' ? 'n' : ''\n    let range\n    if (byteLength > 3) {\n      if (min === 0 || min === BigInt(0)) {\n        range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n      } else {\n        range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n                `${(byteLength + 1) * 8 - 1}${n}`\n      }\n    } else {\n      range = `>= ${min}${n} and <= ${max}${n}`\n    }\n    throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n  }\n  checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n  if (typeof value !== 'number') {\n    throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n  }\n}\n\nfunction boundsError (value, length, type) {\n  if (Math.floor(value) !== value) {\n    validateNumber(value, type)\n    throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n  }\n\n  if (length < 0) {\n    throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n  }\n\n  throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n                                    `>= ${type ? 1 : 0} and <= ${length}`,\n                                    value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node takes equal signs as end of the Base64 encoding\n  str = str.split('=')[0]\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = str.trim().replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  let codePoint\n  const length = string.length\n  let leadSurrogate = null\n  const bytes = []\n\n  for (let i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  const byteArray = []\n  for (let i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  let c, hi, lo\n  const byteArray = []\n  for (let i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  let i\n  for (i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n  return obj instanceof type ||\n    (obj != null && obj.constructor != null && obj.constructor.name != null &&\n      obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n  // For IE11 support\n  return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n  const alphabet = '0123456789abcdef'\n  const table = new Array(256)\n  for (let i = 0; i < 16; ++i) {\n    const i16 = i * 16\n    for (let j = 0; j < 16; ++j) {\n      table[i16 + j] = alphabet[i] + alphabet[j]\n    }\n  }\n  return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n  return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n  throw new Error('BigInt not supported')\n}\n","// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar defineProperty = require('../internals/object-define-property').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\n\nvar Int8Array = global.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = global.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = global.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n  Int8Array: 1,\n  Uint8Array: 1,\n  Uint8ClampedArray: 1,\n  Int16Array: 2,\n  Uint16Array: 2,\n  Int32Array: 4,\n  Uint32Array: 4,\n  Float32Array: 4,\n  Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n  BigInt64Array: 8,\n  BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n  if (!isObject(it)) return false;\n  var klass = classof(it);\n  return klass === 'DataView'\n    || hasOwn(TypedArrayConstructorsList, klass)\n    || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar isTypedArray = function (it) {\n  if (!isObject(it)) return false;\n  var klass = classof(it);\n  return hasOwn(TypedArrayConstructorsList, klass)\n    || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n  if (isTypedArray(it)) return it;\n  throw TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n  if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n  throw TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced) {\n  if (!DESCRIPTORS) return;\n  if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n    var TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n      delete TypedArrayConstructor.prototype[KEY];\n    } catch (error) { /* empty */ }\n  }\n  if (!TypedArrayPrototype[KEY] || forced) {\n    redefine(TypedArrayPrototype, KEY, forced ? property\n      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);\n  }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n  var ARRAY, TypedArrayConstructor;\n  if (!DESCRIPTORS) return;\n  if (setPrototypeOf) {\n    if (forced) for (ARRAY in TypedArrayConstructorsList) {\n      TypedArrayConstructor = global[ARRAY];\n      if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n        delete TypedArrayConstructor[KEY];\n      } catch (error) { /* empty */ }\n    }\n    if (!TypedArray[KEY] || forced) {\n      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n      try {\n        return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n      } catch (error) { /* empty */ }\n    } else return;\n  }\n  for (ARRAY in TypedArrayConstructorsList) {\n    TypedArrayConstructor = global[ARRAY];\n    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n      redefine(TypedArrayConstructor, KEY, property);\n    }\n  }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n  Constructor = global[NAME];\n  Prototype = Constructor && Constructor.prototype;\n  if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n  else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n  Constructor = global[NAME];\n  Prototype = Constructor && Constructor.prototype;\n  if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n  // eslint-disable-next-line no-shadow -- safe\n  TypedArray = function TypedArray() {\n    throw TypeError('Incorrect invocation');\n  };\n  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);\n  }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n  TypedArrayPrototype = TypedArray.prototype;\n  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);\n  }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n  TYPED_ARRAY_TAG_REQIRED = true;\n  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {\n    return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n  } });\n  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {\n    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);\n  }\n}\n\nmodule.exports = {\n  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n  TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,\n  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,\n  aTypedArray: aTypedArray,\n  aTypedArrayConstructor: aTypedArrayConstructor,\n  exportTypedArrayMethod: exportTypedArrayMethod,\n  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n  isView: isView,\n  isTypedArray: isTypedArray,\n  TypedArray: TypedArray,\n  TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-native');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefineAll = require('../internals/redefine-all');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = global[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = global.Array;\nvar RangeError = global.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n  return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n  return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n  return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n  return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n  return packIEEE754(number, 23, 4);\n};\n\nvar packFloat64 = function (number) {\n  return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key) {\n  defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n  var intIndex = toIndex(index);\n  var store = getInternalState(view);\n  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n  var bytes = getInternalState(store.buffer).bytes;\n  var start = intIndex + store.byteOffset;\n  var pack = arraySlice(bytes, start, start + count);\n  return isLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n  var intIndex = toIndex(index);\n  var store = getInternalState(view);\n  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);\n  var bytes = getInternalState(store.buffer).bytes;\n  var start = intIndex + store.byteOffset;\n  var pack = conversion(+value);\n  for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n  $ArrayBuffer = function ArrayBuffer(length) {\n    anInstance(this, ArrayBufferPrototype);\n    var byteLength = toIndex(length);\n    setInternalState(this, {\n      bytes: fill(Array(byteLength), 0),\n      byteLength: byteLength\n    });\n    if (!DESCRIPTORS) this.byteLength = byteLength;\n  };\n\n  ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n  $DataView = function DataView(buffer, byteOffset, byteLength) {\n    anInstance(this, DataViewPrototype);\n    anInstance(buffer, ArrayBufferPrototype);\n    var bufferLength = getInternalState(buffer).byteLength;\n    var offset = toIntegerOrInfinity(byteOffset);\n    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');\n    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n    setInternalState(this, {\n      buffer: buffer,\n      byteLength: byteLength,\n      byteOffset: offset\n    });\n    if (!DESCRIPTORS) {\n      this.buffer = buffer;\n      this.byteLength = byteLength;\n      this.byteOffset = offset;\n    }\n  };\n\n  DataViewPrototype = $DataView[PROTOTYPE];\n\n  if (DESCRIPTORS) {\n    addGetter($ArrayBuffer, 'byteLength');\n    addGetter($DataView, 'buffer');\n    addGetter($DataView, 'byteLength');\n    addGetter($DataView, 'byteOffset');\n  }\n\n  redefineAll(DataViewPrototype, {\n    getInt8: function getInt8(byteOffset) {\n      return get(this, 1, byteOffset)[0] << 24 >> 24;\n    },\n    getUint8: function getUint8(byteOffset) {\n      return get(this, 1, byteOffset)[0];\n    },\n    getInt16: function getInt16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n    },\n    getUint16: function getUint16(byteOffset /* , littleEndian */) {\n      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);\n      return bytes[1] << 8 | bytes[0];\n    },\n    getInt32: function getInt32(byteOffset /* , littleEndian */) {\n      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));\n    },\n    getUint32: function getUint32(byteOffset /* , littleEndian */) {\n      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;\n    },\n    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);\n    },\n    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n      return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);\n    },\n    setInt8: function setInt8(byteOffset, value) {\n      set(this, 1, byteOffset, packInt8, value);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      set(this, 1, byteOffset, packInt8, value);\n    },\n    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n      set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);\n    },\n    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n      set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);\n    }\n  });\n} else {\n  var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n  /* eslint-disable no-new -- required for testing */\n  if (!fails(function () {\n    NativeArrayBuffer(1);\n  }) || !fails(function () {\n    new NativeArrayBuffer(-1);\n  }) || fails(function () {\n    new NativeArrayBuffer();\n    new NativeArrayBuffer(1.5);\n    new NativeArrayBuffer(NaN);\n    return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n  })) {\n  /* eslint-enable no-new -- required for testing */\n    $ArrayBuffer = function ArrayBuffer(length) {\n      anInstance(this, ArrayBufferPrototype);\n      return new NativeArrayBuffer(toIndex(length));\n    };\n\n    $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n    for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {\n      if (!((key = keys[j++]) in $ArrayBuffer)) {\n        createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);\n      }\n    }\n\n    ArrayBufferPrototype.constructor = $ArrayBuffer;\n  } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n    createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n  }\n\n  // WebKit bug - the same parent prototype for typed arrays and data view\n  if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n    setPrototypeOf(DataViewPrototype, ObjectPrototype);\n  }\n\n  // iOS Safari 7.x bug\n  var testView = new $DataView(new $ArrayBuffer(2));\n  var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n  testView.setInt8(0, 2147483648);\n  testView.setInt8(1, 2147483649);\n  if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {\n    setInt8: function setInt8(byteOffset, value) {\n      $setInt8(this, byteOffset, value << 24 >> 24);\n    },\n    setUint8: function setUint8(byteOffset, value) {\n      $setInt8(this, byteOffset, value << 24 >> 24);\n    }\n  }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n  ArrayBuffer: $ArrayBuffer,\n  DataView: $DataView\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = global[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n  ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var BlockCipher = C_lib.BlockCipher;\n\t    var C_algo = C.algo;\n\n\t    // Lookup tables\n\t    var SBOX = [];\n\t    var INV_SBOX = [];\n\t    var SUB_MIX_0 = [];\n\t    var SUB_MIX_1 = [];\n\t    var SUB_MIX_2 = [];\n\t    var SUB_MIX_3 = [];\n\t    var INV_SUB_MIX_0 = [];\n\t    var INV_SUB_MIX_1 = [];\n\t    var INV_SUB_MIX_2 = [];\n\t    var INV_SUB_MIX_3 = [];\n\n\t    // Compute lookup tables\n\t    (function () {\n\t        // Compute double table\n\t        var d = [];\n\t        for (var i = 0; i < 256; i++) {\n\t            if (i < 128) {\n\t                d[i] = i << 1;\n\t            } else {\n\t                d[i] = (i << 1) ^ 0x11b;\n\t            }\n\t        }\n\n\t        // Walk GF(2^8)\n\t        var x = 0;\n\t        var xi = 0;\n\t        for (var i = 0; i < 256; i++) {\n\t            // Compute sbox\n\t            var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4);\n\t            sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63;\n\t            SBOX[x] = sx;\n\t            INV_SBOX[sx] = x;\n\n\t            // Compute multiplication\n\t            var x2 = d[x];\n\t            var x4 = d[x2];\n\t            var x8 = d[x4];\n\n\t            // Compute sub bytes, mix columns tables\n\t            var t = (d[sx] * 0x101) ^ (sx * 0x1010100);\n\t            SUB_MIX_0[x] = (t << 24) | (t >>> 8);\n\t            SUB_MIX_1[x] = (t << 16) | (t >>> 16);\n\t            SUB_MIX_2[x] = (t << 8)  | (t >>> 24);\n\t            SUB_MIX_3[x] = t;\n\n\t            // Compute inv sub bytes, inv mix columns tables\n\t            var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100);\n\t            INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8);\n\t            INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16);\n\t            INV_SUB_MIX_2[sx] = (t << 8)  | (t >>> 24);\n\t            INV_SUB_MIX_3[sx] = t;\n\n\t            // Compute next counter\n\t            if (!x) {\n\t                x = xi = 1;\n\t            } else {\n\t                x = x2 ^ d[d[d[x8 ^ x2]]];\n\t                xi ^= d[d[xi]];\n\t            }\n\t        }\n\t    }());\n\n\t    // Precomputed Rcon lookup\n\t    var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36];\n\n\t    /**\n\t     * AES block cipher algorithm.\n\t     */\n\t    var AES = C_algo.AES = BlockCipher.extend({\n\t        _doReset: function () {\n\t            var t;\n\n\t            // Skip reset of nRounds has been set before and key did not change\n\t            if (this._nRounds && this._keyPriorReset === this._key) {\n\t                return;\n\t            }\n\n\t            // Shortcuts\n\t            var key = this._keyPriorReset = this._key;\n\t            var keyWords = key.words;\n\t            var keySize = key.sigBytes / 4;\n\n\t            // Compute number of rounds\n\t            var nRounds = this._nRounds = keySize + 6;\n\n\t            // Compute number of key schedule rows\n\t            var ksRows = (nRounds + 1) * 4;\n\n\t            // Compute key schedule\n\t            var keySchedule = this._keySchedule = [];\n\t            for (var ksRow = 0; ksRow < ksRows; ksRow++) {\n\t                if (ksRow < keySize) {\n\t                    keySchedule[ksRow] = keyWords[ksRow];\n\t                } else {\n\t                    t = keySchedule[ksRow - 1];\n\n\t                    if (!(ksRow % keySize)) {\n\t                        // Rot word\n\t                        t = (t << 8) | (t >>> 24);\n\n\t                        // Sub word\n\t                        t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\n\t                        // Mix Rcon\n\t                        t ^= RCON[(ksRow / keySize) | 0] << 24;\n\t                    } else if (keySize > 6 && ksRow % keySize == 4) {\n\t                        // Sub word\n\t                        t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff];\n\t                    }\n\n\t                    keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t;\n\t                }\n\t            }\n\n\t            // Compute inv key schedule\n\t            var invKeySchedule = this._invKeySchedule = [];\n\t            for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) {\n\t                var ksRow = ksRows - invKsRow;\n\n\t                if (invKsRow % 4) {\n\t                    var t = keySchedule[ksRow];\n\t                } else {\n\t                    var t = keySchedule[ksRow - 4];\n\t                }\n\n\t                if (invKsRow < 4 || ksRow <= 4) {\n\t                    invKeySchedule[invKsRow] = t;\n\t                } else {\n\t                    invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^\n\t                                               INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]];\n\t                }\n\t            }\n\t        },\n\n\t        encryptBlock: function (M, offset) {\n\t            this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX);\n\t        },\n\n\t        decryptBlock: function (M, offset) {\n\t            // Swap 2nd and 4th rows\n\t            var t = M[offset + 1];\n\t            M[offset + 1] = M[offset + 3];\n\t            M[offset + 3] = t;\n\n\t            this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX);\n\n\t            // Inv swap 2nd and 4th rows\n\t            var t = M[offset + 1];\n\t            M[offset + 1] = M[offset + 3];\n\t            M[offset + 3] = t;\n\t        },\n\n\t        _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) {\n\t            // Shortcut\n\t            var nRounds = this._nRounds;\n\n\t            // Get input, add round key\n\t            var s0 = M[offset]     ^ keySchedule[0];\n\t            var s1 = M[offset + 1] ^ keySchedule[1];\n\t            var s2 = M[offset + 2] ^ keySchedule[2];\n\t            var s3 = M[offset + 3] ^ keySchedule[3];\n\n\t            // Key schedule row counter\n\t            var ksRow = 4;\n\n\t            // Rounds\n\t            for (var round = 1; round < nRounds; round++) {\n\t                // Shift rows, sub bytes, mix columns, add round key\n\t                var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++];\n\t                var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++];\n\t                var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++];\n\t                var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++];\n\n\t                // Update state\n\t                s0 = t0;\n\t                s1 = t1;\n\t                s2 = t2;\n\t                s3 = t3;\n\t            }\n\n\t            // Shift rows, sub bytes, add round key\n\t            var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++];\n\t            var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++];\n\t            var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++];\n\t            var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++];\n\n\t            // Set output\n\t            M[offset]     = t0;\n\t            M[offset + 1] = t1;\n\t            M[offset + 2] = t2;\n\t            M[offset + 3] = t3;\n\t        },\n\n\t        keySize: 256/32\n\t    });\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.AES.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.AES.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.AES = BlockCipher._createHelper(AES);\n\t}());\n\n\n\treturn CryptoJS.AES;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./evpkdf\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./evpkdf\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher core components.\n\t */\n\tCryptoJS.lib.Cipher || (function (undefined) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var Base = C_lib.Base;\n\t    var WordArray = C_lib.WordArray;\n\t    var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm;\n\t    var C_enc = C.enc;\n\t    var Utf8 = C_enc.Utf8;\n\t    var Base64 = C_enc.Base64;\n\t    var C_algo = C.algo;\n\t    var EvpKDF = C_algo.EvpKDF;\n\n\t    /**\n\t     * Abstract base cipher template.\n\t     *\n\t     * @property {number} keySize This cipher's key size. Default: 4 (128 bits)\n\t     * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits)\n\t     * @property {number} _ENC_XFORM_MODE A constant representing encryption mode.\n\t     * @property {number} _DEC_XFORM_MODE A constant representing decryption mode.\n\t     */\n\t    var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {WordArray} iv The IV to use for this operation.\n\t         */\n\t        cfg: Base.extend(),\n\n\t        /**\n\t         * Creates this cipher in encryption mode.\n\t         *\n\t         * @param {WordArray} key The key.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @return {Cipher} A cipher instance.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray });\n\t         */\n\t        createEncryptor: function (key, cfg) {\n\t            return this.create(this._ENC_XFORM_MODE, key, cfg);\n\t        },\n\n\t        /**\n\t         * Creates this cipher in decryption mode.\n\t         *\n\t         * @param {WordArray} key The key.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @return {Cipher} A cipher instance.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray });\n\t         */\n\t        createDecryptor: function (key, cfg) {\n\t            return this.create(this._DEC_XFORM_MODE, key, cfg);\n\t        },\n\n\t        /**\n\t         * Initializes a newly created cipher.\n\t         *\n\t         * @param {number} xformMode Either the encryption or decryption transormation mode constant.\n\t         * @param {WordArray} key The key.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @example\n\t         *\n\t         *     var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray });\n\t         */\n\t        init: function (xformMode, key, cfg) {\n\t            // Apply config defaults\n\t            this.cfg = this.cfg.extend(cfg);\n\n\t            // Store transform mode and key\n\t            this._xformMode = xformMode;\n\t            this._key = key;\n\n\t            // Set initial values\n\t            this.reset();\n\t        },\n\n\t        /**\n\t         * Resets this cipher to its initial state.\n\t         *\n\t         * @example\n\t         *\n\t         *     cipher.reset();\n\t         */\n\t        reset: function () {\n\t            // Reset data buffer\n\t            BufferedBlockAlgorithm.reset.call(this);\n\n\t            // Perform concrete-cipher logic\n\t            this._doReset();\n\t        },\n\n\t        /**\n\t         * Adds data to be encrypted or decrypted.\n\t         *\n\t         * @param {WordArray|string} dataUpdate The data to encrypt or decrypt.\n\t         *\n\t         * @return {WordArray} The data after processing.\n\t         *\n\t         * @example\n\t         *\n\t         *     var encrypted = cipher.process('data');\n\t         *     var encrypted = cipher.process(wordArray);\n\t         */\n\t        process: function (dataUpdate) {\n\t            // Append\n\t            this._append(dataUpdate);\n\n\t            // Process available blocks\n\t            return this._process();\n\t        },\n\n\t        /**\n\t         * Finalizes the encryption or decryption process.\n\t         * Note that the finalize operation is effectively a destructive, read-once operation.\n\t         *\n\t         * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt.\n\t         *\n\t         * @return {WordArray} The data after final processing.\n\t         *\n\t         * @example\n\t         *\n\t         *     var encrypted = cipher.finalize();\n\t         *     var encrypted = cipher.finalize('data');\n\t         *     var encrypted = cipher.finalize(wordArray);\n\t         */\n\t        finalize: function (dataUpdate) {\n\t            // Final data update\n\t            if (dataUpdate) {\n\t                this._append(dataUpdate);\n\t            }\n\n\t            // Perform concrete-cipher logic\n\t            var finalProcessedData = this._doFinalize();\n\n\t            return finalProcessedData;\n\t        },\n\n\t        keySize: 128/32,\n\n\t        ivSize: 128/32,\n\n\t        _ENC_XFORM_MODE: 1,\n\n\t        _DEC_XFORM_MODE: 2,\n\n\t        /**\n\t         * Creates shortcut functions to a cipher's object interface.\n\t         *\n\t         * @param {Cipher} cipher The cipher to create a helper for.\n\t         *\n\t         * @return {Object} An object with encrypt and decrypt shortcut functions.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES);\n\t         */\n\t        _createHelper: (function () {\n\t            function selectCipherStrategy(key) {\n\t                if (typeof key == 'string') {\n\t                    return PasswordBasedCipher;\n\t                } else {\n\t                    return SerializableCipher;\n\t                }\n\t            }\n\n\t            return function (cipher) {\n\t                return {\n\t                    encrypt: function (message, key, cfg) {\n\t                        return selectCipherStrategy(key).encrypt(cipher, message, key, cfg);\n\t                    },\n\n\t                    decrypt: function (ciphertext, key, cfg) {\n\t                        return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg);\n\t                    }\n\t                };\n\t            };\n\t        }())\n\t    });\n\n\t    /**\n\t     * Abstract base stream cipher template.\n\t     *\n\t     * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits)\n\t     */\n\t    var StreamCipher = C_lib.StreamCipher = Cipher.extend({\n\t        _doFinalize: function () {\n\t            // Process partial blocks\n\t            var finalProcessedBlocks = this._process(!!'flush');\n\n\t            return finalProcessedBlocks;\n\t        },\n\n\t        blockSize: 1\n\t    });\n\n\t    /**\n\t     * Mode namespace.\n\t     */\n\t    var C_mode = C.mode = {};\n\n\t    /**\n\t     * Abstract base block cipher mode template.\n\t     */\n\t    var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({\n\t        /**\n\t         * Creates this mode for encryption.\n\t         *\n\t         * @param {Cipher} cipher A block cipher instance.\n\t         * @param {Array} iv The IV words.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words);\n\t         */\n\t        createEncryptor: function (cipher, iv) {\n\t            return this.Encryptor.create(cipher, iv);\n\t        },\n\n\t        /**\n\t         * Creates this mode for decryption.\n\t         *\n\t         * @param {Cipher} cipher A block cipher instance.\n\t         * @param {Array} iv The IV words.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words);\n\t         */\n\t        createDecryptor: function (cipher, iv) {\n\t            return this.Decryptor.create(cipher, iv);\n\t        },\n\n\t        /**\n\t         * Initializes a newly created mode.\n\t         *\n\t         * @param {Cipher} cipher A block cipher instance.\n\t         * @param {Array} iv The IV words.\n\t         *\n\t         * @example\n\t         *\n\t         *     var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words);\n\t         */\n\t        init: function (cipher, iv) {\n\t            this._cipher = cipher;\n\t            this._iv = iv;\n\t        }\n\t    });\n\n\t    /**\n\t     * Cipher Block Chaining mode.\n\t     */\n\t    var CBC = C_mode.CBC = (function () {\n\t        /**\n\t         * Abstract base CBC mode.\n\t         */\n\t        var CBC = BlockCipherMode.extend();\n\n\t        /**\n\t         * CBC encryptor.\n\t         */\n\t        CBC.Encryptor = CBC.extend({\n\t            /**\n\t             * Processes the data block at offset.\n\t             *\n\t             * @param {Array} words The data words to operate on.\n\t             * @param {number} offset The offset where the block starts.\n\t             *\n\t             * @example\n\t             *\n\t             *     mode.processBlock(data.words, offset);\n\t             */\n\t            processBlock: function (words, offset) {\n\t                // Shortcuts\n\t                var cipher = this._cipher;\n\t                var blockSize = cipher.blockSize;\n\n\t                // XOR and encrypt\n\t                xorBlock.call(this, words, offset, blockSize);\n\t                cipher.encryptBlock(words, offset);\n\n\t                // Remember this block to use with next block\n\t                this._prevBlock = words.slice(offset, offset + blockSize);\n\t            }\n\t        });\n\n\t        /**\n\t         * CBC decryptor.\n\t         */\n\t        CBC.Decryptor = CBC.extend({\n\t            /**\n\t             * Processes the data block at offset.\n\t             *\n\t             * @param {Array} words The data words to operate on.\n\t             * @param {number} offset The offset where the block starts.\n\t             *\n\t             * @example\n\t             *\n\t             *     mode.processBlock(data.words, offset);\n\t             */\n\t            processBlock: function (words, offset) {\n\t                // Shortcuts\n\t                var cipher = this._cipher;\n\t                var blockSize = cipher.blockSize;\n\n\t                // Remember this block to use with next block\n\t                var thisBlock = words.slice(offset, offset + blockSize);\n\n\t                // Decrypt and XOR\n\t                cipher.decryptBlock(words, offset);\n\t                xorBlock.call(this, words, offset, blockSize);\n\n\t                // This block becomes the previous block\n\t                this._prevBlock = thisBlock;\n\t            }\n\t        });\n\n\t        function xorBlock(words, offset, blockSize) {\n\t            var block;\n\n\t            // Shortcut\n\t            var iv = this._iv;\n\n\t            // Choose mixing block\n\t            if (iv) {\n\t                block = iv;\n\n\t                // Remove IV for subsequent blocks\n\t                this._iv = undefined;\n\t            } else {\n\t                block = this._prevBlock;\n\t            }\n\n\t            // XOR blocks\n\t            for (var i = 0; i < blockSize; i++) {\n\t                words[offset + i] ^= block[i];\n\t            }\n\t        }\n\n\t        return CBC;\n\t    }());\n\n\t    /**\n\t     * Padding namespace.\n\t     */\n\t    var C_pad = C.pad = {};\n\n\t    /**\n\t     * PKCS #5/7 padding strategy.\n\t     */\n\t    var Pkcs7 = C_pad.Pkcs7 = {\n\t        /**\n\t         * Pads data using the algorithm defined in PKCS #5/7.\n\t         *\n\t         * @param {WordArray} data The data to pad.\n\t         * @param {number} blockSize The multiple that the data should be padded to.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     CryptoJS.pad.Pkcs7.pad(wordArray, 4);\n\t         */\n\t        pad: function (data, blockSize) {\n\t            // Shortcut\n\t            var blockSizeBytes = blockSize * 4;\n\n\t            // Count padding bytes\n\t            var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t            // Create padding word\n\t            var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes;\n\n\t            // Create padding\n\t            var paddingWords = [];\n\t            for (var i = 0; i < nPaddingBytes; i += 4) {\n\t                paddingWords.push(paddingWord);\n\t            }\n\t            var padding = WordArray.create(paddingWords, nPaddingBytes);\n\n\t            // Add padding\n\t            data.concat(padding);\n\t        },\n\n\t        /**\n\t         * Unpads data that had been padded using the algorithm defined in PKCS #5/7.\n\t         *\n\t         * @param {WordArray} data The data to unpad.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     CryptoJS.pad.Pkcs7.unpad(wordArray);\n\t         */\n\t        unpad: function (data) {\n\t            // Get number of padding bytes from last byte\n\t            var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t            // Remove padding\n\t            data.sigBytes -= nPaddingBytes;\n\t        }\n\t    };\n\n\t    /**\n\t     * Abstract base block cipher template.\n\t     *\n\t     * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits)\n\t     */\n\t    var BlockCipher = C_lib.BlockCipher = Cipher.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {Mode} mode The block mode to use. Default: CBC\n\t         * @property {Padding} padding The padding strategy to use. Default: Pkcs7\n\t         */\n\t        cfg: Cipher.cfg.extend({\n\t            mode: CBC,\n\t            padding: Pkcs7\n\t        }),\n\n\t        reset: function () {\n\t            var modeCreator;\n\n\t            // Reset cipher\n\t            Cipher.reset.call(this);\n\n\t            // Shortcuts\n\t            var cfg = this.cfg;\n\t            var iv = cfg.iv;\n\t            var mode = cfg.mode;\n\n\t            // Reset block mode\n\t            if (this._xformMode == this._ENC_XFORM_MODE) {\n\t                modeCreator = mode.createEncryptor;\n\t            } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t                modeCreator = mode.createDecryptor;\n\t                // Keep at least one block in the buffer for unpadding\n\t                this._minBufferSize = 1;\n\t            }\n\n\t            if (this._mode && this._mode.__creator == modeCreator) {\n\t                this._mode.init(this, iv && iv.words);\n\t            } else {\n\t                this._mode = modeCreator.call(mode, this, iv && iv.words);\n\t                this._mode.__creator = modeCreator;\n\t            }\n\t        },\n\n\t        _doProcessBlock: function (words, offset) {\n\t            this._mode.processBlock(words, offset);\n\t        },\n\n\t        _doFinalize: function () {\n\t            var finalProcessedBlocks;\n\n\t            // Shortcut\n\t            var padding = this.cfg.padding;\n\n\t            // Finalize\n\t            if (this._xformMode == this._ENC_XFORM_MODE) {\n\t                // Pad data\n\t                padding.pad(this._data, this.blockSize);\n\n\t                // Process final blocks\n\t                finalProcessedBlocks = this._process(!!'flush');\n\t            } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ {\n\t                // Process final blocks\n\t                finalProcessedBlocks = this._process(!!'flush');\n\n\t                // Unpad data\n\t                padding.unpad(finalProcessedBlocks);\n\t            }\n\n\t            return finalProcessedBlocks;\n\t        },\n\n\t        blockSize: 128/32\n\t    });\n\n\t    /**\n\t     * A collection of cipher parameters.\n\t     *\n\t     * @property {WordArray} ciphertext The raw ciphertext.\n\t     * @property {WordArray} key The key to this ciphertext.\n\t     * @property {WordArray} iv The IV used in the ciphering operation.\n\t     * @property {WordArray} salt The salt used with a key derivation function.\n\t     * @property {Cipher} algorithm The cipher algorithm.\n\t     * @property {Mode} mode The block mode used in the ciphering operation.\n\t     * @property {Padding} padding The padding scheme used in the ciphering operation.\n\t     * @property {number} blockSize The block size of the cipher.\n\t     * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string.\n\t     */\n\t    var CipherParams = C_lib.CipherParams = Base.extend({\n\t        /**\n\t         * Initializes a newly created cipher params object.\n\t         *\n\t         * @param {Object} cipherParams An object with any of the possible cipher parameters.\n\t         *\n\t         * @example\n\t         *\n\t         *     var cipherParams = CryptoJS.lib.CipherParams.create({\n\t         *         ciphertext: ciphertextWordArray,\n\t         *         key: keyWordArray,\n\t         *         iv: ivWordArray,\n\t         *         salt: saltWordArray,\n\t         *         algorithm: CryptoJS.algo.AES,\n\t         *         mode: CryptoJS.mode.CBC,\n\t         *         padding: CryptoJS.pad.PKCS7,\n\t         *         blockSize: 4,\n\t         *         formatter: CryptoJS.format.OpenSSL\n\t         *     });\n\t         */\n\t        init: function (cipherParams) {\n\t            this.mixIn(cipherParams);\n\t        },\n\n\t        /**\n\t         * Converts this cipher params object to a string.\n\t         *\n\t         * @param {Format} formatter (Optional) The formatting strategy to use.\n\t         *\n\t         * @return {string} The stringified cipher params.\n\t         *\n\t         * @throws Error If neither the formatter nor the default formatter is set.\n\t         *\n\t         * @example\n\t         *\n\t         *     var string = cipherParams + '';\n\t         *     var string = cipherParams.toString();\n\t         *     var string = cipherParams.toString(CryptoJS.format.OpenSSL);\n\t         */\n\t        toString: function (formatter) {\n\t            return (formatter || this.formatter).stringify(this);\n\t        }\n\t    });\n\n\t    /**\n\t     * Format namespace.\n\t     */\n\t    var C_format = C.format = {};\n\n\t    /**\n\t     * OpenSSL formatting strategy.\n\t     */\n\t    var OpenSSLFormatter = C_format.OpenSSL = {\n\t        /**\n\t         * Converts a cipher params object to an OpenSSL-compatible string.\n\t         *\n\t         * @param {CipherParams} cipherParams The cipher params object.\n\t         *\n\t         * @return {string} The OpenSSL-compatible string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams);\n\t         */\n\t        stringify: function (cipherParams) {\n\t            var wordArray;\n\n\t            // Shortcuts\n\t            var ciphertext = cipherParams.ciphertext;\n\t            var salt = cipherParams.salt;\n\n\t            // Format\n\t            if (salt) {\n\t                wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext);\n\t            } else {\n\t                wordArray = ciphertext;\n\t            }\n\n\t            return wordArray.toString(Base64);\n\t        },\n\n\t        /**\n\t         * Converts an OpenSSL-compatible string to a cipher params object.\n\t         *\n\t         * @param {string} openSSLStr The OpenSSL-compatible string.\n\t         *\n\t         * @return {CipherParams} The cipher params object.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString);\n\t         */\n\t        parse: function (openSSLStr) {\n\t            var salt;\n\n\t            // Parse base64\n\t            var ciphertext = Base64.parse(openSSLStr);\n\n\t            // Shortcut\n\t            var ciphertextWords = ciphertext.words;\n\n\t            // Test for salt\n\t            if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) {\n\t                // Extract salt\n\t                salt = WordArray.create(ciphertextWords.slice(2, 4));\n\n\t                // Remove salt from ciphertext\n\t                ciphertextWords.splice(0, 4);\n\t                ciphertext.sigBytes -= 16;\n\t            }\n\n\t            return CipherParams.create({ ciphertext: ciphertext, salt: salt });\n\t        }\n\t    };\n\n\t    /**\n\t     * A cipher wrapper that returns ciphertext as a serializable cipher params object.\n\t     */\n\t    var SerializableCipher = C_lib.SerializableCipher = Base.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL\n\t         */\n\t        cfg: Base.extend({\n\t            format: OpenSSLFormatter\n\t        }),\n\n\t        /**\n\t         * Encrypts a message.\n\t         *\n\t         * @param {Cipher} cipher The cipher algorithm to use.\n\t         * @param {WordArray|string} message The message to encrypt.\n\t         * @param {WordArray} key The key.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @return {CipherParams} A cipher params object.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key);\n\t         *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv });\n\t         *     var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t         */\n\t        encrypt: function (cipher, message, key, cfg) {\n\t            // Apply config defaults\n\t            cfg = this.cfg.extend(cfg);\n\n\t            // Encrypt\n\t            var encryptor = cipher.createEncryptor(key, cfg);\n\t            var ciphertext = encryptor.finalize(message);\n\n\t            // Shortcut\n\t            var cipherCfg = encryptor.cfg;\n\n\t            // Create and return serializable cipher params\n\t            return CipherParams.create({\n\t                ciphertext: ciphertext,\n\t                key: key,\n\t                iv: cipherCfg.iv,\n\t                algorithm: cipher,\n\t                mode: cipherCfg.mode,\n\t                padding: cipherCfg.padding,\n\t                blockSize: cipher.blockSize,\n\t                formatter: cfg.format\n\t            });\n\t        },\n\n\t        /**\n\t         * Decrypts serialized ciphertext.\n\t         *\n\t         * @param {Cipher} cipher The cipher algorithm to use.\n\t         * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t         * @param {WordArray} key The key.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @return {WordArray} The plaintext.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t         *     var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL });\n\t         */\n\t        decrypt: function (cipher, ciphertext, key, cfg) {\n\t            // Apply config defaults\n\t            cfg = this.cfg.extend(cfg);\n\n\t            // Convert string to CipherParams\n\t            ciphertext = this._parse(ciphertext, cfg.format);\n\n\t            // Decrypt\n\t            var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext);\n\n\t            return plaintext;\n\t        },\n\n\t        /**\n\t         * Converts serialized ciphertext to CipherParams,\n\t         * else assumed CipherParams already and returns ciphertext unchanged.\n\t         *\n\t         * @param {CipherParams|string} ciphertext The ciphertext.\n\t         * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext.\n\t         *\n\t         * @return {CipherParams} The unserialized ciphertext.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format);\n\t         */\n\t        _parse: function (ciphertext, format) {\n\t            if (typeof ciphertext == 'string') {\n\t                return format.parse(ciphertext, this);\n\t            } else {\n\t                return ciphertext;\n\t            }\n\t        }\n\t    });\n\n\t    /**\n\t     * Key derivation function namespace.\n\t     */\n\t    var C_kdf = C.kdf = {};\n\n\t    /**\n\t     * OpenSSL key derivation function.\n\t     */\n\t    var OpenSSLKdf = C_kdf.OpenSSL = {\n\t        /**\n\t         * Derives a key and IV from a password.\n\t         *\n\t         * @param {string} password The password to derive from.\n\t         * @param {number} keySize The size in words of the key to generate.\n\t         * @param {number} ivSize The size in words of the IV to generate.\n\t         * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly.\n\t         *\n\t         * @return {CipherParams} A cipher params object with the key, IV, and salt.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32);\n\t         *     var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt');\n\t         */\n\t        execute: function (password, keySize, ivSize, salt) {\n\t            // Generate random salt\n\t            if (!salt) {\n\t                salt = WordArray.random(64/8);\n\t            }\n\n\t            // Derive key and IV\n\t            var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt);\n\n\t            // Separate key and IV\n\t            var iv = WordArray.create(key.words.slice(keySize), ivSize * 4);\n\t            key.sigBytes = keySize * 4;\n\n\t            // Return params\n\t            return CipherParams.create({ key: key, iv: iv, salt: salt });\n\t        }\n\t    };\n\n\t    /**\n\t     * A serializable cipher wrapper that derives the key from a password,\n\t     * and returns ciphertext as a serializable cipher params object.\n\t     */\n\t    var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL\n\t         */\n\t        cfg: SerializableCipher.cfg.extend({\n\t            kdf: OpenSSLKdf\n\t        }),\n\n\t        /**\n\t         * Encrypts a message using a password.\n\t         *\n\t         * @param {Cipher} cipher The cipher algorithm to use.\n\t         * @param {WordArray|string} message The message to encrypt.\n\t         * @param {string} password The password.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @return {CipherParams} A cipher params object.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password');\n\t         *     var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL });\n\t         */\n\t        encrypt: function (cipher, message, password, cfg) {\n\t            // Apply config defaults\n\t            cfg = this.cfg.extend(cfg);\n\n\t            // Derive key and other params\n\t            var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize);\n\n\t            // Add IV to config\n\t            cfg.iv = derivedParams.iv;\n\n\t            // Encrypt\n\t            var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg);\n\n\t            // Mix in derived params\n\t            ciphertext.mixIn(derivedParams);\n\n\t            return ciphertext;\n\t        },\n\n\t        /**\n\t         * Decrypts serialized ciphertext using a password.\n\t         *\n\t         * @param {Cipher} cipher The cipher algorithm to use.\n\t         * @param {CipherParams|string} ciphertext The ciphertext to decrypt.\n\t         * @param {string} password The password.\n\t         * @param {Object} cfg (Optional) The configuration options to use for this operation.\n\t         *\n\t         * @return {WordArray} The plaintext.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL });\n\t         *     var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL });\n\t         */\n\t        decrypt: function (cipher, ciphertext, password, cfg) {\n\t            // Apply config defaults\n\t            cfg = this.cfg.extend(cfg);\n\n\t            // Convert string to CipherParams\n\t            ciphertext = this._parse(ciphertext, cfg.format);\n\n\t            // Derive key and other params\n\t            var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt);\n\n\t            // Add IV to config\n\t            cfg.iv = derivedParams.iv;\n\n\t            // Decrypt\n\t            var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg);\n\n\t            return plaintext;\n\t        }\n\t    });\n\t}());\n\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory();\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory();\n\t}\n}(this, function () {\n\n\t/*globals window, global, require*/\n\n\t/**\n\t * CryptoJS core components.\n\t */\n\tvar CryptoJS = CryptoJS || (function (Math, undefined) {\n\n\t    var crypto;\n\n\t    // Native crypto from window (Browser)\n\t    if (typeof window !== 'undefined' && window.crypto) {\n\t        crypto = window.crypto;\n\t    }\n\n\t    // Native crypto in web worker (Browser)\n\t    if (typeof self !== 'undefined' && self.crypto) {\n\t        crypto = self.crypto;\n\t    }\n\n\t    // Native crypto from worker\n\t    if (typeof globalThis !== 'undefined' && globalThis.crypto) {\n\t        crypto = globalThis.crypto;\n\t    }\n\n\t    // Native (experimental IE 11) crypto from window (Browser)\n\t    if (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n\t        crypto = window.msCrypto;\n\t    }\n\n\t    // Native crypto from global (NodeJS)\n\t    if (!crypto && typeof global !== 'undefined' && global.crypto) {\n\t        crypto = global.crypto;\n\t    }\n\n\t    // Native crypto import via require (NodeJS)\n\t    if (!crypto && typeof require === 'function') {\n\t        try {\n\t            crypto = require('crypto');\n\t        } catch (err) {}\n\t    }\n\n\t    /*\n\t     * Cryptographically secure pseudorandom number generator\n\t     *\n\t     * As Math.random() is cryptographically not safe to use\n\t     */\n\t    var cryptoSecureRandomInt = function () {\n\t        if (crypto) {\n\t            // Use getRandomValues method (Browser)\n\t            if (typeof crypto.getRandomValues === 'function') {\n\t                try {\n\t                    return crypto.getRandomValues(new Uint32Array(1))[0];\n\t                } catch (err) {}\n\t            }\n\n\t            // Use randomBytes method (NodeJS)\n\t            if (typeof crypto.randomBytes === 'function') {\n\t                try {\n\t                    return crypto.randomBytes(4).readInt32LE();\n\t                } catch (err) {}\n\t            }\n\t        }\n\n\t        throw new Error('Native crypto module could not be used to get secure random number.');\n\t    };\n\n\t    /*\n\t     * Local polyfill of Object.create\n\n\t     */\n\t    var create = Object.create || (function () {\n\t        function F() {}\n\n\t        return function (obj) {\n\t            var subtype;\n\n\t            F.prototype = obj;\n\n\t            subtype = new F();\n\n\t            F.prototype = null;\n\n\t            return subtype;\n\t        };\n\t    }());\n\n\t    /**\n\t     * CryptoJS namespace.\n\t     */\n\t    var C = {};\n\n\t    /**\n\t     * Library namespace.\n\t     */\n\t    var C_lib = C.lib = {};\n\n\t    /**\n\t     * Base object for prototypal inheritance.\n\t     */\n\t    var Base = C_lib.Base = (function () {\n\n\n\t        return {\n\t            /**\n\t             * Creates a new object that inherits from this object.\n\t             *\n\t             * @param {Object} overrides Properties to copy into the new object.\n\t             *\n\t             * @return {Object} The new object.\n\t             *\n\t             * @static\n\t             *\n\t             * @example\n\t             *\n\t             *     var MyType = CryptoJS.lib.Base.extend({\n\t             *         field: 'value',\n\t             *\n\t             *         method: function () {\n\t             *         }\n\t             *     });\n\t             */\n\t            extend: function (overrides) {\n\t                // Spawn\n\t                var subtype = create(this);\n\n\t                // Augment\n\t                if (overrides) {\n\t                    subtype.mixIn(overrides);\n\t                }\n\n\t                // Create default initializer\n\t                if (!subtype.hasOwnProperty('init') || this.init === subtype.init) {\n\t                    subtype.init = function () {\n\t                        subtype.$super.init.apply(this, arguments);\n\t                    };\n\t                }\n\n\t                // Initializer's prototype is the subtype object\n\t                subtype.init.prototype = subtype;\n\n\t                // Reference supertype\n\t                subtype.$super = this;\n\n\t                return subtype;\n\t            },\n\n\t            /**\n\t             * Extends this object and runs the init method.\n\t             * Arguments to create() will be passed to init().\n\t             *\n\t             * @return {Object} The new object.\n\t             *\n\t             * @static\n\t             *\n\t             * @example\n\t             *\n\t             *     var instance = MyType.create();\n\t             */\n\t            create: function () {\n\t                var instance = this.extend();\n\t                instance.init.apply(instance, arguments);\n\n\t                return instance;\n\t            },\n\n\t            /**\n\t             * Initializes a newly created object.\n\t             * Override this method to add some logic when your objects are created.\n\t             *\n\t             * @example\n\t             *\n\t             *     var MyType = CryptoJS.lib.Base.extend({\n\t             *         init: function () {\n\t             *             // ...\n\t             *         }\n\t             *     });\n\t             */\n\t            init: function () {\n\t            },\n\n\t            /**\n\t             * Copies properties into this object.\n\t             *\n\t             * @param {Object} properties The properties to mix in.\n\t             *\n\t             * @example\n\t             *\n\t             *     MyType.mixIn({\n\t             *         field: 'value'\n\t             *     });\n\t             */\n\t            mixIn: function (properties) {\n\t                for (var propertyName in properties) {\n\t                    if (properties.hasOwnProperty(propertyName)) {\n\t                        this[propertyName] = properties[propertyName];\n\t                    }\n\t                }\n\n\t                // IE won't copy toString using the loop above\n\t                if (properties.hasOwnProperty('toString')) {\n\t                    this.toString = properties.toString;\n\t                }\n\t            },\n\n\t            /**\n\t             * Creates a copy of this object.\n\t             *\n\t             * @return {Object} The clone.\n\t             *\n\t             * @example\n\t             *\n\t             *     var clone = instance.clone();\n\t             */\n\t            clone: function () {\n\t                return this.init.prototype.extend(this);\n\t            }\n\t        };\n\t    }());\n\n\t    /**\n\t     * An array of 32-bit words.\n\t     *\n\t     * @property {Array} words The array of 32-bit words.\n\t     * @property {number} sigBytes The number of significant bytes in this word array.\n\t     */\n\t    var WordArray = C_lib.WordArray = Base.extend({\n\t        /**\n\t         * Initializes a newly created word array.\n\t         *\n\t         * @param {Array} words (Optional) An array of 32-bit words.\n\t         * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.lib.WordArray.create();\n\t         *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]);\n\t         *     var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6);\n\t         */\n\t        init: function (words, sigBytes) {\n\t            words = this.words = words || [];\n\n\t            if (sigBytes != undefined) {\n\t                this.sigBytes = sigBytes;\n\t            } else {\n\t                this.sigBytes = words.length * 4;\n\t            }\n\t        },\n\n\t        /**\n\t         * Converts this word array to a string.\n\t         *\n\t         * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex\n\t         *\n\t         * @return {string} The stringified word array.\n\t         *\n\t         * @example\n\t         *\n\t         *     var string = wordArray + '';\n\t         *     var string = wordArray.toString();\n\t         *     var string = wordArray.toString(CryptoJS.enc.Utf8);\n\t         */\n\t        toString: function (encoder) {\n\t            return (encoder || Hex).stringify(this);\n\t        },\n\n\t        /**\n\t         * Concatenates a word array to this word array.\n\t         *\n\t         * @param {WordArray} wordArray The word array to append.\n\t         *\n\t         * @return {WordArray} This word array.\n\t         *\n\t         * @example\n\t         *\n\t         *     wordArray1.concat(wordArray2);\n\t         */\n\t        concat: function (wordArray) {\n\t            // Shortcuts\n\t            var thisWords = this.words;\n\t            var thatWords = wordArray.words;\n\t            var thisSigBytes = this.sigBytes;\n\t            var thatSigBytes = wordArray.sigBytes;\n\n\t            // Clamp excess bits\n\t            this.clamp();\n\n\t            // Concat\n\t            if (thisSigBytes % 4) {\n\t                // Copy one byte at a time\n\t                for (var i = 0; i < thatSigBytes; i++) {\n\t                    var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t                    thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8);\n\t                }\n\t            } else {\n\t                // Copy one word at a time\n\t                for (var j = 0; j < thatSigBytes; j += 4) {\n\t                    thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2];\n\t                }\n\t            }\n\t            this.sigBytes += thatSigBytes;\n\n\t            // Chainable\n\t            return this;\n\t        },\n\n\t        /**\n\t         * Removes insignificant bits.\n\t         *\n\t         * @example\n\t         *\n\t         *     wordArray.clamp();\n\t         */\n\t        clamp: function () {\n\t            // Shortcuts\n\t            var words = this.words;\n\t            var sigBytes = this.sigBytes;\n\n\t            // Clamp\n\t            words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8);\n\t            words.length = Math.ceil(sigBytes / 4);\n\t        },\n\n\t        /**\n\t         * Creates a copy of this word array.\n\t         *\n\t         * @return {WordArray} The clone.\n\t         *\n\t         * @example\n\t         *\n\t         *     var clone = wordArray.clone();\n\t         */\n\t        clone: function () {\n\t            var clone = Base.clone.call(this);\n\t            clone.words = this.words.slice(0);\n\n\t            return clone;\n\t        },\n\n\t        /**\n\t         * Creates a word array filled with random bytes.\n\t         *\n\t         * @param {number} nBytes The number of random bytes to generate.\n\t         *\n\t         * @return {WordArray} The random word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.lib.WordArray.random(16);\n\t         */\n\t        random: function (nBytes) {\n\t            var words = [];\n\n\t            for (var i = 0; i < nBytes; i += 4) {\n\t                words.push(cryptoSecureRandomInt());\n\t            }\n\n\t            return new WordArray.init(words, nBytes);\n\t        }\n\t    });\n\n\t    /**\n\t     * Encoder namespace.\n\t     */\n\t    var C_enc = C.enc = {};\n\n\t    /**\n\t     * Hex encoding strategy.\n\t     */\n\t    var Hex = C_enc.Hex = {\n\t        /**\n\t         * Converts a word array to a hex string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The hex string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var hexString = CryptoJS.enc.Hex.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\n\t            // Convert\n\t            var hexChars = [];\n\t            for (var i = 0; i < sigBytes; i++) {\n\t                var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t                hexChars.push((bite >>> 4).toString(16));\n\t                hexChars.push((bite & 0x0f).toString(16));\n\t            }\n\n\t            return hexChars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a hex string to a word array.\n\t         *\n\t         * @param {string} hexStr The hex string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Hex.parse(hexString);\n\t         */\n\t        parse: function (hexStr) {\n\t            // Shortcut\n\t            var hexStrLength = hexStr.length;\n\n\t            // Convert\n\t            var words = [];\n\t            for (var i = 0; i < hexStrLength; i += 2) {\n\t                words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4);\n\t            }\n\n\t            return new WordArray.init(words, hexStrLength / 2);\n\t        }\n\t    };\n\n\t    /**\n\t     * Latin1 encoding strategy.\n\t     */\n\t    var Latin1 = C_enc.Latin1 = {\n\t        /**\n\t         * Converts a word array to a Latin1 string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The Latin1 string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var latin1String = CryptoJS.enc.Latin1.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\n\t            // Convert\n\t            var latin1Chars = [];\n\t            for (var i = 0; i < sigBytes; i++) {\n\t                var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n\t                latin1Chars.push(String.fromCharCode(bite));\n\t            }\n\n\t            return latin1Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a Latin1 string to a word array.\n\t         *\n\t         * @param {string} latin1Str The Latin1 string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Latin1.parse(latin1String);\n\t         */\n\t        parse: function (latin1Str) {\n\t            // Shortcut\n\t            var latin1StrLength = latin1Str.length;\n\n\t            // Convert\n\t            var words = [];\n\t            for (var i = 0; i < latin1StrLength; i++) {\n\t                words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8);\n\t            }\n\n\t            return new WordArray.init(words, latin1StrLength);\n\t        }\n\t    };\n\n\t    /**\n\t     * UTF-8 encoding strategy.\n\t     */\n\t    var Utf8 = C_enc.Utf8 = {\n\t        /**\n\t         * Converts a word array to a UTF-8 string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The UTF-8 string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var utf8String = CryptoJS.enc.Utf8.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            try {\n\t                return decodeURIComponent(escape(Latin1.stringify(wordArray)));\n\t            } catch (e) {\n\t                throw new Error('Malformed UTF-8 data');\n\t            }\n\t        },\n\n\t        /**\n\t         * Converts a UTF-8 string to a word array.\n\t         *\n\t         * @param {string} utf8Str The UTF-8 string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Utf8.parse(utf8String);\n\t         */\n\t        parse: function (utf8Str) {\n\t            return Latin1.parse(unescape(encodeURIComponent(utf8Str)));\n\t        }\n\t    };\n\n\t    /**\n\t     * Abstract buffered block algorithm template.\n\t     *\n\t     * The property blockSize must be implemented in a concrete subtype.\n\t     *\n\t     * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0\n\t     */\n\t    var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({\n\t        /**\n\t         * Resets this block algorithm's data buffer to its initial state.\n\t         *\n\t         * @example\n\t         *\n\t         *     bufferedBlockAlgorithm.reset();\n\t         */\n\t        reset: function () {\n\t            // Initial values\n\t            this._data = new WordArray.init();\n\t            this._nDataBytes = 0;\n\t        },\n\n\t        /**\n\t         * Adds new data to this block algorithm's buffer.\n\t         *\n\t         * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8.\n\t         *\n\t         * @example\n\t         *\n\t         *     bufferedBlockAlgorithm._append('data');\n\t         *     bufferedBlockAlgorithm._append(wordArray);\n\t         */\n\t        _append: function (data) {\n\t            // Convert string to WordArray, else assume WordArray already\n\t            if (typeof data == 'string') {\n\t                data = Utf8.parse(data);\n\t            }\n\n\t            // Append\n\t            this._data.concat(data);\n\t            this._nDataBytes += data.sigBytes;\n\t        },\n\n\t        /**\n\t         * Processes available data blocks.\n\t         *\n\t         * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype.\n\t         *\n\t         * @param {boolean} doFlush Whether all blocks and partial blocks should be processed.\n\t         *\n\t         * @return {WordArray} The processed data.\n\t         *\n\t         * @example\n\t         *\n\t         *     var processedData = bufferedBlockAlgorithm._process();\n\t         *     var processedData = bufferedBlockAlgorithm._process(!!'flush');\n\t         */\n\t        _process: function (doFlush) {\n\t            var processedWords;\n\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\t            var dataSigBytes = data.sigBytes;\n\t            var blockSize = this.blockSize;\n\t            var blockSizeBytes = blockSize * 4;\n\n\t            // Count blocks ready\n\t            var nBlocksReady = dataSigBytes / blockSizeBytes;\n\t            if (doFlush) {\n\t                // Round up to include partial blocks\n\t                nBlocksReady = Math.ceil(nBlocksReady);\n\t            } else {\n\t                // Round down to include only full blocks,\n\t                // less the number of blocks that must remain in the buffer\n\t                nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0);\n\t            }\n\n\t            // Count words ready\n\t            var nWordsReady = nBlocksReady * blockSize;\n\n\t            // Count bytes ready\n\t            var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes);\n\n\t            // Process blocks\n\t            if (nWordsReady) {\n\t                for (var offset = 0; offset < nWordsReady; offset += blockSize) {\n\t                    // Perform concrete-algorithm logic\n\t                    this._doProcessBlock(dataWords, offset);\n\t                }\n\n\t                // Remove processed words\n\t                processedWords = dataWords.splice(0, nWordsReady);\n\t                data.sigBytes -= nBytesReady;\n\t            }\n\n\t            // Return processed words\n\t            return new WordArray.init(processedWords, nBytesReady);\n\t        },\n\n\t        /**\n\t         * Creates a copy of this object.\n\t         *\n\t         * @return {Object} The clone.\n\t         *\n\t         * @example\n\t         *\n\t         *     var clone = bufferedBlockAlgorithm.clone();\n\t         */\n\t        clone: function () {\n\t            var clone = Base.clone.call(this);\n\t            clone._data = this._data.clone();\n\n\t            return clone;\n\t        },\n\n\t        _minBufferSize: 0\n\t    });\n\n\t    /**\n\t     * Abstract hasher template.\n\t     *\n\t     * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits)\n\t     */\n\t    var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({\n\t        /**\n\t         * Configuration options.\n\t         */\n\t        cfg: Base.extend(),\n\n\t        /**\n\t         * Initializes a newly created hasher.\n\t         *\n\t         * @param {Object} cfg (Optional) The configuration options to use for this hash computation.\n\t         *\n\t         * @example\n\t         *\n\t         *     var hasher = CryptoJS.algo.SHA256.create();\n\t         */\n\t        init: function (cfg) {\n\t            // Apply config defaults\n\t            this.cfg = this.cfg.extend(cfg);\n\n\t            // Set initial values\n\t            this.reset();\n\t        },\n\n\t        /**\n\t         * Resets this hasher to its initial state.\n\t         *\n\t         * @example\n\t         *\n\t         *     hasher.reset();\n\t         */\n\t        reset: function () {\n\t            // Reset data buffer\n\t            BufferedBlockAlgorithm.reset.call(this);\n\n\t            // Perform concrete-hasher logic\n\t            this._doReset();\n\t        },\n\n\t        /**\n\t         * Updates this hasher with a message.\n\t         *\n\t         * @param {WordArray|string} messageUpdate The message to append.\n\t         *\n\t         * @return {Hasher} This hasher.\n\t         *\n\t         * @example\n\t         *\n\t         *     hasher.update('message');\n\t         *     hasher.update(wordArray);\n\t         */\n\t        update: function (messageUpdate) {\n\t            // Append\n\t            this._append(messageUpdate);\n\n\t            // Update the hash\n\t            this._process();\n\n\t            // Chainable\n\t            return this;\n\t        },\n\n\t        /**\n\t         * Finalizes the hash computation.\n\t         * Note that the finalize operation is effectively a destructive, read-once operation.\n\t         *\n\t         * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t         *\n\t         * @return {WordArray} The hash.\n\t         *\n\t         * @example\n\t         *\n\t         *     var hash = hasher.finalize();\n\t         *     var hash = hasher.finalize('message');\n\t         *     var hash = hasher.finalize(wordArray);\n\t         */\n\t        finalize: function (messageUpdate) {\n\t            // Final message update\n\t            if (messageUpdate) {\n\t                this._append(messageUpdate);\n\t            }\n\n\t            // Perform concrete-hasher logic\n\t            var hash = this._doFinalize();\n\n\t            return hash;\n\t        },\n\n\t        blockSize: 512/32,\n\n\t        /**\n\t         * Creates a shortcut function to a hasher's object interface.\n\t         *\n\t         * @param {Hasher} hasher The hasher to create a helper for.\n\t         *\n\t         * @return {Function} The shortcut function.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256);\n\t         */\n\t        _createHelper: function (hasher) {\n\t            return function (message, cfg) {\n\t                return new hasher.init(cfg).finalize(message);\n\t            };\n\t        },\n\n\t        /**\n\t         * Creates a shortcut function to the HMAC's object interface.\n\t         *\n\t         * @param {Hasher} hasher The hasher to use in this HMAC helper.\n\t         *\n\t         * @return {Function} The shortcut function.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256);\n\t         */\n\t        _createHmacHelper: function (hasher) {\n\t            return function (message, key) {\n\t                return new C_algo.HMAC.init(hasher, key).finalize(message);\n\t            };\n\t        }\n\t    });\n\n\t    /**\n\t     * Algorithm namespace.\n\t     */\n\t    var C_algo = C.algo = {};\n\n\t    return C;\n\t}(Math));\n\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_enc = C.enc;\n\n\t    /**\n\t     * Base64 encoding strategy.\n\t     */\n\t    var Base64 = C_enc.Base64 = {\n\t        /**\n\t         * Converts a word array to a Base64 string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The Base64 string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var base64String = CryptoJS.enc.Base64.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\t            var map = this._map;\n\n\t            // Clamp excess bits\n\t            wordArray.clamp();\n\n\t            // Convert\n\t            var base64Chars = [];\n\t            for (var i = 0; i < sigBytes; i += 3) {\n\t                var byte1 = (words[i >>> 2]       >>> (24 - (i % 4) * 8))       & 0xff;\n\t                var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t                var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t                var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t                for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t                    base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t                }\n\t            }\n\n\t            // Add padding\n\t            var paddingChar = map.charAt(64);\n\t            if (paddingChar) {\n\t                while (base64Chars.length % 4) {\n\t                    base64Chars.push(paddingChar);\n\t                }\n\t            }\n\n\t            return base64Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a Base64 string to a word array.\n\t         *\n\t         * @param {string} base64Str The Base64 string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Base64.parse(base64String);\n\t         */\n\t        parse: function (base64Str) {\n\t            // Shortcuts\n\t            var base64StrLength = base64Str.length;\n\t            var map = this._map;\n\t            var reverseMap = this._reverseMap;\n\n\t            if (!reverseMap) {\n\t                    reverseMap = this._reverseMap = [];\n\t                    for (var j = 0; j < map.length; j++) {\n\t                        reverseMap[map.charCodeAt(j)] = j;\n\t                    }\n\t            }\n\n\t            // Ignore padding\n\t            var paddingChar = map.charAt(64);\n\t            if (paddingChar) {\n\t                var paddingIndex = base64Str.indexOf(paddingChar);\n\t                if (paddingIndex !== -1) {\n\t                    base64StrLength = paddingIndex;\n\t                }\n\t            }\n\n\t            // Convert\n\t            return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t        },\n\n\t        _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='\n\t    };\n\n\t    function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t      var words = [];\n\t      var nBytes = 0;\n\t      for (var i = 0; i < base64StrLength; i++) {\n\t          if (i % 4) {\n\t              var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t              var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t              var bitsCombined = bits1 | bits2;\n\t              words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t              nBytes++;\n\t          }\n\t      }\n\t      return WordArray.create(words, nBytes);\n\t    }\n\t}());\n\n\n\treturn CryptoJS.enc.Base64;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_enc = C.enc;\n\n\t    /**\n\t     * Base64url encoding strategy.\n\t     */\n\t    var Base64url = C_enc.Base64url = {\n\t        /**\n\t         * Converts a word array to a Base64url string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @param {boolean} urlSafe Whether to use url safe\n\t         *\n\t         * @return {string} The Base64url string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var base64String = CryptoJS.enc.Base64url.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray, urlSafe=true) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\t            var map = urlSafe ? this._safe_map : this._map;\n\n\t            // Clamp excess bits\n\t            wordArray.clamp();\n\n\t            // Convert\n\t            var base64Chars = [];\n\t            for (var i = 0; i < sigBytes; i += 3) {\n\t                var byte1 = (words[i >>> 2]       >>> (24 - (i % 4) * 8))       & 0xff;\n\t                var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff;\n\t                var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff;\n\n\t                var triplet = (byte1 << 16) | (byte2 << 8) | byte3;\n\n\t                for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) {\n\t                    base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f));\n\t                }\n\t            }\n\n\t            // Add padding\n\t            var paddingChar = map.charAt(64);\n\t            if (paddingChar) {\n\t                while (base64Chars.length % 4) {\n\t                    base64Chars.push(paddingChar);\n\t                }\n\t            }\n\n\t            return base64Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a Base64url string to a word array.\n\t         *\n\t         * @param {string} base64Str The Base64url string.\n\t         *\n\t         * @param {boolean} urlSafe Whether to use url safe\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Base64url.parse(base64String);\n\t         */\n\t        parse: function (base64Str, urlSafe=true) {\n\t            // Shortcuts\n\t            var base64StrLength = base64Str.length;\n\t            var map = urlSafe ? this._safe_map : this._map;\n\t            var reverseMap = this._reverseMap;\n\n\t            if (!reverseMap) {\n\t                reverseMap = this._reverseMap = [];\n\t                for (var j = 0; j < map.length; j++) {\n\t                    reverseMap[map.charCodeAt(j)] = j;\n\t                }\n\t            }\n\n\t            // Ignore padding\n\t            var paddingChar = map.charAt(64);\n\t            if (paddingChar) {\n\t                var paddingIndex = base64Str.indexOf(paddingChar);\n\t                if (paddingIndex !== -1) {\n\t                    base64StrLength = paddingIndex;\n\t                }\n\t            }\n\n\t            // Convert\n\t            return parseLoop(base64Str, base64StrLength, reverseMap);\n\n\t        },\n\n\t        _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',\n\t        _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_',\n\t    };\n\n\t    function parseLoop(base64Str, base64StrLength, reverseMap) {\n\t        var words = [];\n\t        var nBytes = 0;\n\t        for (var i = 0; i < base64StrLength; i++) {\n\t            if (i % 4) {\n\t                var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2);\n\t                var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2);\n\t                var bitsCombined = bits1 | bits2;\n\t                words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8);\n\t                nBytes++;\n\t            }\n\t        }\n\t        return WordArray.create(words, nBytes);\n\t    }\n\t}());\n\n\treturn CryptoJS.enc.Base64url;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_enc = C.enc;\n\n\t    /**\n\t     * UTF-16 BE encoding strategy.\n\t     */\n\t    var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = {\n\t        /**\n\t         * Converts a word array to a UTF-16 BE string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The UTF-16 BE string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var utf16String = CryptoJS.enc.Utf16.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\n\t            // Convert\n\t            var utf16Chars = [];\n\t            for (var i = 0; i < sigBytes; i += 2) {\n\t                var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff;\n\t                utf16Chars.push(String.fromCharCode(codePoint));\n\t            }\n\n\t            return utf16Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a UTF-16 BE string to a word array.\n\t         *\n\t         * @param {string} utf16Str The UTF-16 BE string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Utf16.parse(utf16String);\n\t         */\n\t        parse: function (utf16Str) {\n\t            // Shortcut\n\t            var utf16StrLength = utf16Str.length;\n\n\t            // Convert\n\t            var words = [];\n\t            for (var i = 0; i < utf16StrLength; i++) {\n\t                words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16);\n\t            }\n\n\t            return WordArray.create(words, utf16StrLength * 2);\n\t        }\n\t    };\n\n\t    /**\n\t     * UTF-16 LE encoding strategy.\n\t     */\n\t    C_enc.Utf16LE = {\n\t        /**\n\t         * Converts a word array to a UTF-16 LE string.\n\t         *\n\t         * @param {WordArray} wordArray The word array.\n\t         *\n\t         * @return {string} The UTF-16 LE string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray);\n\t         */\n\t        stringify: function (wordArray) {\n\t            // Shortcuts\n\t            var words = wordArray.words;\n\t            var sigBytes = wordArray.sigBytes;\n\n\t            // Convert\n\t            var utf16Chars = [];\n\t            for (var i = 0; i < sigBytes; i += 2) {\n\t                var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff);\n\t                utf16Chars.push(String.fromCharCode(codePoint));\n\t            }\n\n\t            return utf16Chars.join('');\n\t        },\n\n\t        /**\n\t         * Converts a UTF-16 LE string to a word array.\n\t         *\n\t         * @param {string} utf16Str The UTF-16 LE string.\n\t         *\n\t         * @return {WordArray} The word array.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str);\n\t         */\n\t        parse: function (utf16Str) {\n\t            // Shortcut\n\t            var utf16StrLength = utf16Str.length;\n\n\t            // Convert\n\t            var words = [];\n\t            for (var i = 0; i < utf16StrLength; i++) {\n\t                words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16));\n\t            }\n\n\t            return WordArray.create(words, utf16StrLength * 2);\n\t        }\n\t    };\n\n\t    function swapEndian(word) {\n\t        return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff);\n\t    }\n\t}());\n\n\n\treturn CryptoJS.enc.Utf16;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var Base = C_lib.Base;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_algo = C.algo;\n\t    var MD5 = C_algo.MD5;\n\n\t    /**\n\t     * This key derivation function is meant to conform with EVP_BytesToKey.\n\t     * www.openssl.org/docs/crypto/EVP_BytesToKey.html\n\t     */\n\t    var EvpKDF = C_algo.EvpKDF = Base.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t         * @property {Hasher} hasher The hash algorithm to use. Default: MD5\n\t         * @property {number} iterations The number of iterations to perform. Default: 1\n\t         */\n\t        cfg: Base.extend({\n\t            keySize: 128/32,\n\t            hasher: MD5,\n\t            iterations: 1\n\t        }),\n\n\t        /**\n\t         * Initializes a newly created key derivation function.\n\t         *\n\t         * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t         *\n\t         * @example\n\t         *\n\t         *     var kdf = CryptoJS.algo.EvpKDF.create();\n\t         *     var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 });\n\t         *     var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 });\n\t         */\n\t        init: function (cfg) {\n\t            this.cfg = this.cfg.extend(cfg);\n\t        },\n\n\t        /**\n\t         * Derives a key from a password.\n\t         *\n\t         * @param {WordArray|string} password The password.\n\t         * @param {WordArray|string} salt A salt.\n\t         *\n\t         * @return {WordArray} The derived key.\n\t         *\n\t         * @example\n\t         *\n\t         *     var key = kdf.compute(password, salt);\n\t         */\n\t        compute: function (password, salt) {\n\t            var block;\n\n\t            // Shortcut\n\t            var cfg = this.cfg;\n\n\t            // Init hasher\n\t            var hasher = cfg.hasher.create();\n\n\t            // Initial values\n\t            var derivedKey = WordArray.create();\n\n\t            // Shortcuts\n\t            var derivedKeyWords = derivedKey.words;\n\t            var keySize = cfg.keySize;\n\t            var iterations = cfg.iterations;\n\n\t            // Generate key\n\t            while (derivedKeyWords.length < keySize) {\n\t                if (block) {\n\t                    hasher.update(block);\n\t                }\n\t                block = hasher.update(password).finalize(salt);\n\t                hasher.reset();\n\n\t                // Iterations\n\t                for (var i = 1; i < iterations; i++) {\n\t                    block = hasher.finalize(block);\n\t                    hasher.reset();\n\t                }\n\n\t                derivedKey.concat(block);\n\t            }\n\t            derivedKey.sigBytes = keySize * 4;\n\n\t            return derivedKey;\n\t        }\n\t    });\n\n\t    /**\n\t     * Derives a key from a password.\n\t     *\n\t     * @param {WordArray|string} password The password.\n\t     * @param {WordArray|string} salt A salt.\n\t     * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t     *\n\t     * @return {WordArray} The derived key.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var key = CryptoJS.EvpKDF(password, salt);\n\t     *     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 });\n\t     *     var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 });\n\t     */\n\t    C.EvpKDF = function (password, salt, cfg) {\n\t        return EvpKDF.create(cfg).compute(password, salt);\n\t    };\n\t}());\n\n\n\treturn CryptoJS.EvpKDF;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var CipherParams = C_lib.CipherParams;\n\t    var C_enc = C.enc;\n\t    var Hex = C_enc.Hex;\n\t    var C_format = C.format;\n\n\t    var HexFormatter = C_format.Hex = {\n\t        /**\n\t         * Converts the ciphertext of a cipher params object to a hexadecimally encoded string.\n\t         *\n\t         * @param {CipherParams} cipherParams The cipher params object.\n\t         *\n\t         * @return {string} The hexadecimally encoded string.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var hexString = CryptoJS.format.Hex.stringify(cipherParams);\n\t         */\n\t        stringify: function (cipherParams) {\n\t            return cipherParams.ciphertext.toString(Hex);\n\t        },\n\n\t        /**\n\t         * Converts a hexadecimally encoded ciphertext string to a cipher params object.\n\t         *\n\t         * @param {string} input The hexadecimally encoded string.\n\t         *\n\t         * @return {CipherParams} The cipher params object.\n\t         *\n\t         * @static\n\t         *\n\t         * @example\n\t         *\n\t         *     var cipherParams = CryptoJS.format.Hex.parse(hexString);\n\t         */\n\t        parse: function (input) {\n\t            var ciphertext = Hex.parse(input);\n\t            return CipherParams.create({ ciphertext: ciphertext });\n\t        }\n\t    };\n\t}());\n\n\n\treturn CryptoJS.format.Hex;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var Base = C_lib.Base;\n\t    var C_enc = C.enc;\n\t    var Utf8 = C_enc.Utf8;\n\t    var C_algo = C.algo;\n\n\t    /**\n\t     * HMAC algorithm.\n\t     */\n\t    var HMAC = C_algo.HMAC = Base.extend({\n\t        /**\n\t         * Initializes a newly created HMAC.\n\t         *\n\t         * @param {Hasher} hasher The hash algorithm to use.\n\t         * @param {WordArray|string} key The secret key.\n\t         *\n\t         * @example\n\t         *\n\t         *     var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key);\n\t         */\n\t        init: function (hasher, key) {\n\t            // Init hasher\n\t            hasher = this._hasher = new hasher.init();\n\n\t            // Convert string to WordArray, else assume WordArray already\n\t            if (typeof key == 'string') {\n\t                key = Utf8.parse(key);\n\t            }\n\n\t            // Shortcuts\n\t            var hasherBlockSize = hasher.blockSize;\n\t            var hasherBlockSizeBytes = hasherBlockSize * 4;\n\n\t            // Allow arbitrary length keys\n\t            if (key.sigBytes > hasherBlockSizeBytes) {\n\t                key = hasher.finalize(key);\n\t            }\n\n\t            // Clamp excess bits\n\t            key.clamp();\n\n\t            // Clone key for inner and outer pads\n\t            var oKey = this._oKey = key.clone();\n\t            var iKey = this._iKey = key.clone();\n\n\t            // Shortcuts\n\t            var oKeyWords = oKey.words;\n\t            var iKeyWords = iKey.words;\n\n\t            // XOR keys with pad constants\n\t            for (var i = 0; i < hasherBlockSize; i++) {\n\t                oKeyWords[i] ^= 0x5c5c5c5c;\n\t                iKeyWords[i] ^= 0x36363636;\n\t            }\n\t            oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes;\n\n\t            // Set initial values\n\t            this.reset();\n\t        },\n\n\t        /**\n\t         * Resets this HMAC to its initial state.\n\t         *\n\t         * @example\n\t         *\n\t         *     hmacHasher.reset();\n\t         */\n\t        reset: function () {\n\t            // Shortcut\n\t            var hasher = this._hasher;\n\n\t            // Reset\n\t            hasher.reset();\n\t            hasher.update(this._iKey);\n\t        },\n\n\t        /**\n\t         * Updates this HMAC with a message.\n\t         *\n\t         * @param {WordArray|string} messageUpdate The message to append.\n\t         *\n\t         * @return {HMAC} This HMAC instance.\n\t         *\n\t         * @example\n\t         *\n\t         *     hmacHasher.update('message');\n\t         *     hmacHasher.update(wordArray);\n\t         */\n\t        update: function (messageUpdate) {\n\t            this._hasher.update(messageUpdate);\n\n\t            // Chainable\n\t            return this;\n\t        },\n\n\t        /**\n\t         * Finalizes the HMAC computation.\n\t         * Note that the finalize operation is effectively a destructive, read-once operation.\n\t         *\n\t         * @param {WordArray|string} messageUpdate (Optional) A final message update.\n\t         *\n\t         * @return {WordArray} The HMAC.\n\t         *\n\t         * @example\n\t         *\n\t         *     var hmac = hmacHasher.finalize();\n\t         *     var hmac = hmacHasher.finalize('message');\n\t         *     var hmac = hmacHasher.finalize(wordArray);\n\t         */\n\t        finalize: function (messageUpdate) {\n\t            // Shortcut\n\t            var hasher = this._hasher;\n\n\t            // Compute HMAC\n\t            var innerHash = hasher.finalize(messageUpdate);\n\t            hasher.reset();\n\t            var hmac = hasher.finalize(this._oKey.clone().concat(innerHash));\n\n\t            return hmac;\n\t        }\n\t    });\n\t}());\n\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./lib-typedarrays\"), require(\"./enc-utf16\"), require(\"./enc-base64\"), require(\"./enc-base64url\"), require(\"./md5\"), require(\"./sha1\"), require(\"./sha256\"), require(\"./sha224\"), require(\"./sha512\"), require(\"./sha384\"), require(\"./sha3\"), require(\"./ripemd160\"), require(\"./hmac\"), require(\"./pbkdf2\"), require(\"./evpkdf\"), require(\"./cipher-core\"), require(\"./mode-cfb\"), require(\"./mode-ctr\"), require(\"./mode-ctr-gladman\"), require(\"./mode-ofb\"), require(\"./mode-ecb\"), require(\"./pad-ansix923\"), require(\"./pad-iso10126\"), require(\"./pad-iso97971\"), require(\"./pad-zeropadding\"), require(\"./pad-nopadding\"), require(\"./format-hex\"), require(\"./aes\"), require(\"./tripledes\"), require(\"./rc4\"), require(\"./rabbit\"), require(\"./rabbit-legacy\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./lib-typedarrays\", \"./enc-utf16\", \"./enc-base64\", \"./enc-base64url\", \"./md5\", \"./sha1\", \"./sha256\", \"./sha224\", \"./sha512\", \"./sha384\", \"./sha3\", \"./ripemd160\", \"./hmac\", \"./pbkdf2\", \"./evpkdf\", \"./cipher-core\", \"./mode-cfb\", \"./mode-ctr\", \"./mode-ctr-gladman\", \"./mode-ofb\", \"./mode-ecb\", \"./pad-ansix923\", \"./pad-iso10126\", \"./pad-iso97971\", \"./pad-zeropadding\", \"./pad-nopadding\", \"./format-hex\", \"./aes\", \"./tripledes\", \"./rc4\", \"./rabbit\", \"./rabbit-legacy\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\troot.CryptoJS = factory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\treturn CryptoJS;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Check if typed arrays are supported\n\t    if (typeof ArrayBuffer != 'function') {\n\t        return;\n\t    }\n\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\n\t    // Reference original init\n\t    var superInit = WordArray.init;\n\n\t    // Augment WordArray.init to handle typed arrays\n\t    var subInit = WordArray.init = function (typedArray) {\n\t        // Convert buffers to uint8\n\t        if (typedArray instanceof ArrayBuffer) {\n\t            typedArray = new Uint8Array(typedArray);\n\t        }\n\n\t        // Convert other array views to uint8\n\t        if (\n\t            typedArray instanceof Int8Array ||\n\t            (typeof Uint8ClampedArray !== \"undefined\" && typedArray instanceof Uint8ClampedArray) ||\n\t            typedArray instanceof Int16Array ||\n\t            typedArray instanceof Uint16Array ||\n\t            typedArray instanceof Int32Array ||\n\t            typedArray instanceof Uint32Array ||\n\t            typedArray instanceof Float32Array ||\n\t            typedArray instanceof Float64Array\n\t        ) {\n\t            typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength);\n\t        }\n\n\t        // Handle Uint8Array\n\t        if (typedArray instanceof Uint8Array) {\n\t            // Shortcut\n\t            var typedArrayByteLength = typedArray.byteLength;\n\n\t            // Extract bytes\n\t            var words = [];\n\t            for (var i = 0; i < typedArrayByteLength; i++) {\n\t                words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8);\n\t            }\n\n\t            // Initialize this word array\n\t            superInit.call(this, words, typedArrayByteLength);\n\t        } else {\n\t            // Else call normal init\n\t            superInit.apply(this, arguments);\n\t        }\n\t    };\n\n\t    subInit.prototype = WordArray;\n\t}());\n\n\n\treturn CryptoJS.lib.WordArray;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_algo = C.algo;\n\n\t    // Constants table\n\t    var T = [];\n\n\t    // Compute constants\n\t    (function () {\n\t        for (var i = 0; i < 64; i++) {\n\t            T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0;\n\t        }\n\t    }());\n\n\t    /**\n\t     * MD5 hash algorithm.\n\t     */\n\t    var MD5 = C_algo.MD5 = Hasher.extend({\n\t        _doReset: function () {\n\t            this._hash = new WordArray.init([\n\t                0x67452301, 0xefcdab89,\n\t                0x98badcfe, 0x10325476\n\t            ]);\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Swap endian\n\t            for (var i = 0; i < 16; i++) {\n\t                // Shortcuts\n\t                var offset_i = offset + i;\n\t                var M_offset_i = M[offset_i];\n\n\t                M[offset_i] = (\n\t                    (((M_offset_i << 8)  | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t                    (((M_offset_i << 24) | (M_offset_i >>> 8))  & 0xff00ff00)\n\t                );\n\t            }\n\n\t            // Shortcuts\n\t            var H = this._hash.words;\n\n\t            var M_offset_0  = M[offset + 0];\n\t            var M_offset_1  = M[offset + 1];\n\t            var M_offset_2  = M[offset + 2];\n\t            var M_offset_3  = M[offset + 3];\n\t            var M_offset_4  = M[offset + 4];\n\t            var M_offset_5  = M[offset + 5];\n\t            var M_offset_6  = M[offset + 6];\n\t            var M_offset_7  = M[offset + 7];\n\t            var M_offset_8  = M[offset + 8];\n\t            var M_offset_9  = M[offset + 9];\n\t            var M_offset_10 = M[offset + 10];\n\t            var M_offset_11 = M[offset + 11];\n\t            var M_offset_12 = M[offset + 12];\n\t            var M_offset_13 = M[offset + 13];\n\t            var M_offset_14 = M[offset + 14];\n\t            var M_offset_15 = M[offset + 15];\n\n\t            // Working varialbes\n\t            var a = H[0];\n\t            var b = H[1];\n\t            var c = H[2];\n\t            var d = H[3];\n\n\t            // Computation\n\t            a = FF(a, b, c, d, M_offset_0,  7,  T[0]);\n\t            d = FF(d, a, b, c, M_offset_1,  12, T[1]);\n\t            c = FF(c, d, a, b, M_offset_2,  17, T[2]);\n\t            b = FF(b, c, d, a, M_offset_3,  22, T[3]);\n\t            a = FF(a, b, c, d, M_offset_4,  7,  T[4]);\n\t            d = FF(d, a, b, c, M_offset_5,  12, T[5]);\n\t            c = FF(c, d, a, b, M_offset_6,  17, T[6]);\n\t            b = FF(b, c, d, a, M_offset_7,  22, T[7]);\n\t            a = FF(a, b, c, d, M_offset_8,  7,  T[8]);\n\t            d = FF(d, a, b, c, M_offset_9,  12, T[9]);\n\t            c = FF(c, d, a, b, M_offset_10, 17, T[10]);\n\t            b = FF(b, c, d, a, M_offset_11, 22, T[11]);\n\t            a = FF(a, b, c, d, M_offset_12, 7,  T[12]);\n\t            d = FF(d, a, b, c, M_offset_13, 12, T[13]);\n\t            c = FF(c, d, a, b, M_offset_14, 17, T[14]);\n\t            b = FF(b, c, d, a, M_offset_15, 22, T[15]);\n\n\t            a = GG(a, b, c, d, M_offset_1,  5,  T[16]);\n\t            d = GG(d, a, b, c, M_offset_6,  9,  T[17]);\n\t            c = GG(c, d, a, b, M_offset_11, 14, T[18]);\n\t            b = GG(b, c, d, a, M_offset_0,  20, T[19]);\n\t            a = GG(a, b, c, d, M_offset_5,  5,  T[20]);\n\t            d = GG(d, a, b, c, M_offset_10, 9,  T[21]);\n\t            c = GG(c, d, a, b, M_offset_15, 14, T[22]);\n\t            b = GG(b, c, d, a, M_offset_4,  20, T[23]);\n\t            a = GG(a, b, c, d, M_offset_9,  5,  T[24]);\n\t            d = GG(d, a, b, c, M_offset_14, 9,  T[25]);\n\t            c = GG(c, d, a, b, M_offset_3,  14, T[26]);\n\t            b = GG(b, c, d, a, M_offset_8,  20, T[27]);\n\t            a = GG(a, b, c, d, M_offset_13, 5,  T[28]);\n\t            d = GG(d, a, b, c, M_offset_2,  9,  T[29]);\n\t            c = GG(c, d, a, b, M_offset_7,  14, T[30]);\n\t            b = GG(b, c, d, a, M_offset_12, 20, T[31]);\n\n\t            a = HH(a, b, c, d, M_offset_5,  4,  T[32]);\n\t            d = HH(d, a, b, c, M_offset_8,  11, T[33]);\n\t            c = HH(c, d, a, b, M_offset_11, 16, T[34]);\n\t            b = HH(b, c, d, a, M_offset_14, 23, T[35]);\n\t            a = HH(a, b, c, d, M_offset_1,  4,  T[36]);\n\t            d = HH(d, a, b, c, M_offset_4,  11, T[37]);\n\t            c = HH(c, d, a, b, M_offset_7,  16, T[38]);\n\t            b = HH(b, c, d, a, M_offset_10, 23, T[39]);\n\t            a = HH(a, b, c, d, M_offset_13, 4,  T[40]);\n\t            d = HH(d, a, b, c, M_offset_0,  11, T[41]);\n\t            c = HH(c, d, a, b, M_offset_3,  16, T[42]);\n\t            b = HH(b, c, d, a, M_offset_6,  23, T[43]);\n\t            a = HH(a, b, c, d, M_offset_9,  4,  T[44]);\n\t            d = HH(d, a, b, c, M_offset_12, 11, T[45]);\n\t            c = HH(c, d, a, b, M_offset_15, 16, T[46]);\n\t            b = HH(b, c, d, a, M_offset_2,  23, T[47]);\n\n\t            a = II(a, b, c, d, M_offset_0,  6,  T[48]);\n\t            d = II(d, a, b, c, M_offset_7,  10, T[49]);\n\t            c = II(c, d, a, b, M_offset_14, 15, T[50]);\n\t            b = II(b, c, d, a, M_offset_5,  21, T[51]);\n\t            a = II(a, b, c, d, M_offset_12, 6,  T[52]);\n\t            d = II(d, a, b, c, M_offset_3,  10, T[53]);\n\t            c = II(c, d, a, b, M_offset_10, 15, T[54]);\n\t            b = II(b, c, d, a, M_offset_1,  21, T[55]);\n\t            a = II(a, b, c, d, M_offset_8,  6,  T[56]);\n\t            d = II(d, a, b, c, M_offset_15, 10, T[57]);\n\t            c = II(c, d, a, b, M_offset_6,  15, T[58]);\n\t            b = II(b, c, d, a, M_offset_13, 21, T[59]);\n\t            a = II(a, b, c, d, M_offset_4,  6,  T[60]);\n\t            d = II(d, a, b, c, M_offset_11, 10, T[61]);\n\t            c = II(c, d, a, b, M_offset_2,  15, T[62]);\n\t            b = II(b, c, d, a, M_offset_9,  21, T[63]);\n\n\t            // Intermediate hash value\n\t            H[0] = (H[0] + a) | 0;\n\t            H[1] = (H[1] + b) | 0;\n\t            H[2] = (H[2] + c) | 0;\n\t            H[3] = (H[3] + d) | 0;\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\n\t            var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000);\n\t            var nBitsTotalL = nBitsTotal;\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = (\n\t                (((nBitsTotalH << 8)  | (nBitsTotalH >>> 24)) & 0x00ff00ff) |\n\t                (((nBitsTotalH << 24) | (nBitsTotalH >>> 8))  & 0xff00ff00)\n\t            );\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t                (((nBitsTotalL << 8)  | (nBitsTotalL >>> 24)) & 0x00ff00ff) |\n\t                (((nBitsTotalL << 24) | (nBitsTotalL >>> 8))  & 0xff00ff00)\n\t            );\n\n\t            data.sigBytes = (dataWords.length + 1) * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Shortcuts\n\t            var hash = this._hash;\n\t            var H = hash.words;\n\n\t            // Swap endian\n\t            for (var i = 0; i < 4; i++) {\n\t                // Shortcut\n\t                var H_i = H[i];\n\n\t                H[i] = (((H_i << 8)  | (H_i >>> 24)) & 0x00ff00ff) |\n\t                       (((H_i << 24) | (H_i >>> 8))  & 0xff00ff00);\n\t            }\n\n\t            // Return final computed hash\n\t            return hash;\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\t            clone._hash = this._hash.clone();\n\n\t            return clone;\n\t        }\n\t    });\n\n\t    function FF(a, b, c, d, x, s, t) {\n\t        var n = a + ((b & c) | (~b & d)) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    function GG(a, b, c, d, x, s, t) {\n\t        var n = a + ((b & d) | (c & ~d)) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    function HH(a, b, c, d, x, s, t) {\n\t        var n = a + (b ^ c ^ d) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    function II(a, b, c, d, x, s, t) {\n\t        var n = a + (c ^ (b | ~d)) + x + t;\n\t        return ((n << s) | (n >>> (32 - s))) + b;\n\t    }\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.MD5('message');\n\t     *     var hash = CryptoJS.MD5(wordArray);\n\t     */\n\t    C.MD5 = Hasher._createHelper(MD5);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacMD5(message, key);\n\t     */\n\t    C.HmacMD5 = Hasher._createHmacHelper(MD5);\n\t}(Math));\n\n\n\treturn CryptoJS.MD5;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Cipher Feedback block mode.\n\t */\n\tCryptoJS.mode.CFB = (function () {\n\t    var CFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t    CFB.Encryptor = CFB.extend({\n\t        processBlock: function (words, offset) {\n\t            // Shortcuts\n\t            var cipher = this._cipher;\n\t            var blockSize = cipher.blockSize;\n\n\t            generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t            // Remember this block to use with next block\n\t            this._prevBlock = words.slice(offset, offset + blockSize);\n\t        }\n\t    });\n\n\t    CFB.Decryptor = CFB.extend({\n\t        processBlock: function (words, offset) {\n\t            // Shortcuts\n\t            var cipher = this._cipher;\n\t            var blockSize = cipher.blockSize;\n\n\t            // Remember this block to use with next block\n\t            var thisBlock = words.slice(offset, offset + blockSize);\n\n\t            generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher);\n\n\t            // This block becomes the previous block\n\t            this._prevBlock = thisBlock;\n\t        }\n\t    });\n\n\t    function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) {\n\t        var keystream;\n\n\t        // Shortcut\n\t        var iv = this._iv;\n\n\t        // Generate keystream\n\t        if (iv) {\n\t            keystream = iv.slice(0);\n\n\t            // Remove IV for subsequent blocks\n\t            this._iv = undefined;\n\t        } else {\n\t            keystream = this._prevBlock;\n\t        }\n\t        cipher.encryptBlock(keystream, 0);\n\n\t        // Encrypt\n\t        for (var i = 0; i < blockSize; i++) {\n\t            words[offset + i] ^= keystream[i];\n\t        }\n\t    }\n\n\t    return CFB;\n\t}());\n\n\n\treturn CryptoJS.mode.CFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t * Counter block mode compatible with  Dr Brian Gladman fileenc.c\n\t * derived from CryptoJS.mode.CTR\n\t * Jan Hruby jhruby.web@gmail.com\n\t */\n\tCryptoJS.mode.CTRGladman = (function () {\n\t    var CTRGladman = CryptoJS.lib.BlockCipherMode.extend();\n\n\t\tfunction incWord(word)\n\t\t{\n\t\t\tif (((word >> 24) & 0xff) === 0xff) { //overflow\n\t\t\tvar b1 = (word >> 16)&0xff;\n\t\t\tvar b2 = (word >> 8)&0xff;\n\t\t\tvar b3 = word & 0xff;\n\n\t\t\tif (b1 === 0xff) // overflow b1\n\t\t\t{\n\t\t\tb1 = 0;\n\t\t\tif (b2 === 0xff)\n\t\t\t{\n\t\t\t\tb2 = 0;\n\t\t\t\tif (b3 === 0xff)\n\t\t\t\t{\n\t\t\t\t\tb3 = 0;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t++b3;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\t++b2;\n\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t++b1;\n\t\t\t}\n\n\t\t\tword = 0;\n\t\t\tword += (b1 << 16);\n\t\t\tword += (b2 << 8);\n\t\t\tword += b3;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\tword += (0x01 << 24);\n\t\t\t}\n\t\t\treturn word;\n\t\t}\n\n\t\tfunction incCounter(counter)\n\t\t{\n\t\t\tif ((counter[0] = incWord(counter[0])) === 0)\n\t\t\t{\n\t\t\t\t// encr_data in fileenc.c from  Dr Brian Gladman's counts only with DWORD j < 8\n\t\t\t\tcounter[1] = incWord(counter[1]);\n\t\t\t}\n\t\t\treturn counter;\n\t\t}\n\n\t    var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({\n\t        processBlock: function (words, offset) {\n\t            // Shortcuts\n\t            var cipher = this._cipher\n\t            var blockSize = cipher.blockSize;\n\t            var iv = this._iv;\n\t            var counter = this._counter;\n\n\t            // Generate keystream\n\t            if (iv) {\n\t                counter = this._counter = iv.slice(0);\n\n\t                // Remove IV for subsequent blocks\n\t                this._iv = undefined;\n\t            }\n\n\t\t\t\tincCounter(counter);\n\n\t\t\t\tvar keystream = counter.slice(0);\n\t            cipher.encryptBlock(keystream, 0);\n\n\t            // Encrypt\n\t            for (var i = 0; i < blockSize; i++) {\n\t                words[offset + i] ^= keystream[i];\n\t            }\n\t        }\n\t    });\n\n\t    CTRGladman.Decryptor = Encryptor;\n\n\t    return CTRGladman;\n\t}());\n\n\n\n\n\treturn CryptoJS.mode.CTRGladman;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Counter block mode.\n\t */\n\tCryptoJS.mode.CTR = (function () {\n\t    var CTR = CryptoJS.lib.BlockCipherMode.extend();\n\n\t    var Encryptor = CTR.Encryptor = CTR.extend({\n\t        processBlock: function (words, offset) {\n\t            // Shortcuts\n\t            var cipher = this._cipher\n\t            var blockSize = cipher.blockSize;\n\t            var iv = this._iv;\n\t            var counter = this._counter;\n\n\t            // Generate keystream\n\t            if (iv) {\n\t                counter = this._counter = iv.slice(0);\n\n\t                // Remove IV for subsequent blocks\n\t                this._iv = undefined;\n\t            }\n\t            var keystream = counter.slice(0);\n\t            cipher.encryptBlock(keystream, 0);\n\n\t            // Increment counter\n\t            counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0\n\n\t            // Encrypt\n\t            for (var i = 0; i < blockSize; i++) {\n\t                words[offset + i] ^= keystream[i];\n\t            }\n\t        }\n\t    });\n\n\t    CTR.Decryptor = Encryptor;\n\n\t    return CTR;\n\t}());\n\n\n\treturn CryptoJS.mode.CTR;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Electronic Codebook block mode.\n\t */\n\tCryptoJS.mode.ECB = (function () {\n\t    var ECB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t    ECB.Encryptor = ECB.extend({\n\t        processBlock: function (words, offset) {\n\t            this._cipher.encryptBlock(words, offset);\n\t        }\n\t    });\n\n\t    ECB.Decryptor = ECB.extend({\n\t        processBlock: function (words, offset) {\n\t            this._cipher.decryptBlock(words, offset);\n\t        }\n\t    });\n\n\t    return ECB;\n\t}());\n\n\n\treturn CryptoJS.mode.ECB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Output Feedback block mode.\n\t */\n\tCryptoJS.mode.OFB = (function () {\n\t    var OFB = CryptoJS.lib.BlockCipherMode.extend();\n\n\t    var Encryptor = OFB.Encryptor = OFB.extend({\n\t        processBlock: function (words, offset) {\n\t            // Shortcuts\n\t            var cipher = this._cipher\n\t            var blockSize = cipher.blockSize;\n\t            var iv = this._iv;\n\t            var keystream = this._keystream;\n\n\t            // Generate keystream\n\t            if (iv) {\n\t                keystream = this._keystream = iv.slice(0);\n\n\t                // Remove IV for subsequent blocks\n\t                this._iv = undefined;\n\t            }\n\t            cipher.encryptBlock(keystream, 0);\n\n\t            // Encrypt\n\t            for (var i = 0; i < blockSize; i++) {\n\t                words[offset + i] ^= keystream[i];\n\t            }\n\t        }\n\t    });\n\n\t    OFB.Decryptor = Encryptor;\n\n\t    return OFB;\n\t}());\n\n\n\treturn CryptoJS.mode.OFB;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ANSI X.923 padding strategy.\n\t */\n\tCryptoJS.pad.AnsiX923 = {\n\t    pad: function (data, blockSize) {\n\t        // Shortcuts\n\t        var dataSigBytes = data.sigBytes;\n\t        var blockSizeBytes = blockSize * 4;\n\n\t        // Count padding bytes\n\t        var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes;\n\n\t        // Compute last byte position\n\t        var lastBytePos = dataSigBytes + nPaddingBytes - 1;\n\n\t        // Pad\n\t        data.clamp();\n\t        data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8);\n\t        data.sigBytes += nPaddingBytes;\n\t    },\n\n\t    unpad: function (data) {\n\t        // Get number of padding bytes from last byte\n\t        var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t        // Remove padding\n\t        data.sigBytes -= nPaddingBytes;\n\t    }\n\t};\n\n\n\treturn CryptoJS.pad.Ansix923;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO 10126 padding strategy.\n\t */\n\tCryptoJS.pad.Iso10126 = {\n\t    pad: function (data, blockSize) {\n\t        // Shortcut\n\t        var blockSizeBytes = blockSize * 4;\n\n\t        // Count padding bytes\n\t        var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes;\n\n\t        // Pad\n\t        data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)).\n\t             concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1));\n\t    },\n\n\t    unpad: function (data) {\n\t        // Get number of padding bytes from last byte\n\t        var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff;\n\n\t        // Remove padding\n\t        data.sigBytes -= nPaddingBytes;\n\t    }\n\t};\n\n\n\treturn CryptoJS.pad.Iso10126;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * ISO/IEC 9797-1 Padding Method 2.\n\t */\n\tCryptoJS.pad.Iso97971 = {\n\t    pad: function (data, blockSize) {\n\t        // Add 0x80 byte\n\t        data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));\n\n\t        // Zero pad the rest\n\t        CryptoJS.pad.ZeroPadding.pad(data, blockSize);\n\t    },\n\n\t    unpad: function (data) {\n\t        // Remove zero padding\n\t        CryptoJS.pad.ZeroPadding.unpad(data);\n\n\t        // Remove one more byte -- the 0x80 byte\n\t        data.sigBytes--;\n\t    }\n\t};\n\n\n\treturn CryptoJS.pad.Iso97971;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * A noop padding strategy.\n\t */\n\tCryptoJS.pad.NoPadding = {\n\t    pad: function () {\n\t    },\n\n\t    unpad: function () {\n\t    }\n\t};\n\n\n\treturn CryptoJS.pad.NoPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/**\n\t * Zero padding strategy.\n\t */\n\tCryptoJS.pad.ZeroPadding = {\n\t    pad: function (data, blockSize) {\n\t        // Shortcut\n\t        var blockSizeBytes = blockSize * 4;\n\n\t        // Pad\n\t        data.clamp();\n\t        data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes);\n\t    },\n\n\t    unpad: function (data) {\n\t        // Shortcut\n\t        var dataWords = data.words;\n\n\t        // Unpad\n\t        var i = data.sigBytes - 1;\n\t        for (var i = data.sigBytes - 1; i >= 0; i--) {\n\t            if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) {\n\t                data.sigBytes = i + 1;\n\t                break;\n\t            }\n\t        }\n\t    }\n\t};\n\n\n\treturn CryptoJS.pad.ZeroPadding;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha1\"), require(\"./hmac\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha1\", \"./hmac\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var Base = C_lib.Base;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_algo = C.algo;\n\t    var SHA1 = C_algo.SHA1;\n\t    var HMAC = C_algo.HMAC;\n\n\t    /**\n\t     * Password-Based Key Derivation Function 2 algorithm.\n\t     */\n\t    var PBKDF2 = C_algo.PBKDF2 = Base.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {number} keySize The key size in words to generate. Default: 4 (128 bits)\n\t         * @property {Hasher} hasher The hasher to use. Default: SHA1\n\t         * @property {number} iterations The number of iterations to perform. Default: 1\n\t         */\n\t        cfg: Base.extend({\n\t            keySize: 128/32,\n\t            hasher: SHA1,\n\t            iterations: 1\n\t        }),\n\n\t        /**\n\t         * Initializes a newly created key derivation function.\n\t         *\n\t         * @param {Object} cfg (Optional) The configuration options to use for the derivation.\n\t         *\n\t         * @example\n\t         *\n\t         *     var kdf = CryptoJS.algo.PBKDF2.create();\n\t         *     var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 });\n\t         *     var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 });\n\t         */\n\t        init: function (cfg) {\n\t            this.cfg = this.cfg.extend(cfg);\n\t        },\n\n\t        /**\n\t         * Computes the Password-Based Key Derivation Function 2.\n\t         *\n\t         * @param {WordArray|string} password The password.\n\t         * @param {WordArray|string} salt A salt.\n\t         *\n\t         * @return {WordArray} The derived key.\n\t         *\n\t         * @example\n\t         *\n\t         *     var key = kdf.compute(password, salt);\n\t         */\n\t        compute: function (password, salt) {\n\t            // Shortcut\n\t            var cfg = this.cfg;\n\n\t            // Init HMAC\n\t            var hmac = HMAC.create(cfg.hasher, password);\n\n\t            // Initial values\n\t            var derivedKey = WordArray.create();\n\t            var blockIndex = WordArray.create([0x00000001]);\n\n\t            // Shortcuts\n\t            var derivedKeyWords = derivedKey.words;\n\t            var blockIndexWords = blockIndex.words;\n\t            var keySize = cfg.keySize;\n\t            var iterations = cfg.iterations;\n\n\t            // Generate key\n\t            while (derivedKeyWords.length < keySize) {\n\t                var block = hmac.update(salt).finalize(blockIndex);\n\t                hmac.reset();\n\n\t                // Shortcuts\n\t                var blockWords = block.words;\n\t                var blockWordsLength = blockWords.length;\n\n\t                // Iterations\n\t                var intermediate = block;\n\t                for (var i = 1; i < iterations; i++) {\n\t                    intermediate = hmac.finalize(intermediate);\n\t                    hmac.reset();\n\n\t                    // Shortcut\n\t                    var intermediateWords = intermediate.words;\n\n\t                    // XOR intermediate with block\n\t                    for (var j = 0; j < blockWordsLength; j++) {\n\t                        blockWords[j] ^= intermediateWords[j];\n\t                    }\n\t                }\n\n\t                derivedKey.concat(block);\n\t                blockIndexWords[0]++;\n\t            }\n\t            derivedKey.sigBytes = keySize * 4;\n\n\t            return derivedKey;\n\t        }\n\t    });\n\n\t    /**\n\t     * Computes the Password-Based Key Derivation Function 2.\n\t     *\n\t     * @param {WordArray|string} password The password.\n\t     * @param {WordArray|string} salt A salt.\n\t     * @param {Object} cfg (Optional) The configuration options to use for this computation.\n\t     *\n\t     * @return {WordArray} The derived key.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var key = CryptoJS.PBKDF2(password, salt);\n\t     *     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 });\n\t     *     var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 });\n\t     */\n\t    C.PBKDF2 = function (password, salt, cfg) {\n\t        return PBKDF2.create(cfg).compute(password, salt);\n\t    };\n\t}());\n\n\n\treturn CryptoJS.PBKDF2;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var StreamCipher = C_lib.StreamCipher;\n\t    var C_algo = C.algo;\n\n\t    // Reusable objects\n\t    var S  = [];\n\t    var C_ = [];\n\t    var G  = [];\n\n\t    /**\n\t     * Rabbit stream cipher algorithm.\n\t     *\n\t     * This is a legacy version that neglected to convert the key to little-endian.\n\t     * This error doesn't affect the cipher's security,\n\t     * but it does affect its compatibility with other implementations.\n\t     */\n\t    var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({\n\t        _doReset: function () {\n\t            // Shortcuts\n\t            var K = this._key.words;\n\t            var iv = this.cfg.iv;\n\n\t            // Generate initial state values\n\t            var X = this._X = [\n\t                K[0], (K[3] << 16) | (K[2] >>> 16),\n\t                K[1], (K[0] << 16) | (K[3] >>> 16),\n\t                K[2], (K[1] << 16) | (K[0] >>> 16),\n\t                K[3], (K[2] << 16) | (K[1] >>> 16)\n\t            ];\n\n\t            // Generate initial counter values\n\t            var C = this._C = [\n\t                (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t                (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t                (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t                (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t            ];\n\n\t            // Carry bit\n\t            this._b = 0;\n\n\t            // Iterate the system four times\n\t            for (var i = 0; i < 4; i++) {\n\t                nextState.call(this);\n\t            }\n\n\t            // Modify the counters\n\t            for (var i = 0; i < 8; i++) {\n\t                C[i] ^= X[(i + 4) & 7];\n\t            }\n\n\t            // IV setup\n\t            if (iv) {\n\t                // Shortcuts\n\t                var IV = iv.words;\n\t                var IV_0 = IV[0];\n\t                var IV_1 = IV[1];\n\n\t                // Generate four subvectors\n\t                var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t                var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t                var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t                var i3 = (i2 << 16)  | (i0 & 0x0000ffff);\n\n\t                // Modify counter values\n\t                C[0] ^= i0;\n\t                C[1] ^= i1;\n\t                C[2] ^= i2;\n\t                C[3] ^= i3;\n\t                C[4] ^= i0;\n\t                C[5] ^= i1;\n\t                C[6] ^= i2;\n\t                C[7] ^= i3;\n\n\t                // Iterate the system four times\n\t                for (var i = 0; i < 4; i++) {\n\t                    nextState.call(this);\n\t                }\n\t            }\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Shortcut\n\t            var X = this._X;\n\n\t            // Iterate the system\n\t            nextState.call(this);\n\n\t            // Generate four keystream words\n\t            S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t            S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t            S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t            S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t            for (var i = 0; i < 4; i++) {\n\t                // Swap endian\n\t                S[i] = (((S[i] << 8)  | (S[i] >>> 24)) & 0x00ff00ff) |\n\t                       (((S[i] << 24) | (S[i] >>> 8))  & 0xff00ff00);\n\n\t                // Encrypt\n\t                M[offset + i] ^= S[i];\n\t            }\n\t        },\n\n\t        blockSize: 128/32,\n\n\t        ivSize: 64/32\n\t    });\n\n\t    function nextState() {\n\t        // Shortcuts\n\t        var X = this._X;\n\t        var C = this._C;\n\n\t        // Save old counter values\n\t        for (var i = 0; i < 8; i++) {\n\t            C_[i] = C[i];\n\t        }\n\n\t        // Calculate new counter values\n\t        C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t        C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t        C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t        C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t        C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t        C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t        C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t        C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t        this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t        // Calculate the g-values\n\t        for (var i = 0; i < 8; i++) {\n\t            var gx = X[i] + C[i];\n\n\t            // Construct high and low argument for squaring\n\t            var ga = gx & 0xffff;\n\t            var gb = gx >>> 16;\n\n\t            // Calculate high and low result of squaring\n\t            var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t            var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t            // High XOR low\n\t            G[i] = gh ^ gl;\n\t        }\n\n\t        // Calculate new state values\n\t        X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t        X[1] = (G[1] + ((G[0] << 8)  | (G[0] >>> 24)) + G[7]) | 0;\n\t        X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t        X[3] = (G[3] + ((G[2] << 8)  | (G[2] >>> 24)) + G[1]) | 0;\n\t        X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t        X[5] = (G[5] + ((G[4] << 8)  | (G[4] >>> 24)) + G[3]) | 0;\n\t        X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t        X[7] = (G[7] + ((G[6] << 8)  | (G[6] >>> 24)) + G[5]) | 0;\n\t    }\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy);\n\t}());\n\n\n\treturn CryptoJS.RabbitLegacy;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var StreamCipher = C_lib.StreamCipher;\n\t    var C_algo = C.algo;\n\n\t    // Reusable objects\n\t    var S  = [];\n\t    var C_ = [];\n\t    var G  = [];\n\n\t    /**\n\t     * Rabbit stream cipher algorithm\n\t     */\n\t    var Rabbit = C_algo.Rabbit = StreamCipher.extend({\n\t        _doReset: function () {\n\t            // Shortcuts\n\t            var K = this._key.words;\n\t            var iv = this.cfg.iv;\n\n\t            // Swap endian\n\t            for (var i = 0; i < 4; i++) {\n\t                K[i] = (((K[i] << 8)  | (K[i] >>> 24)) & 0x00ff00ff) |\n\t                       (((K[i] << 24) | (K[i] >>> 8))  & 0xff00ff00);\n\t            }\n\n\t            // Generate initial state values\n\t            var X = this._X = [\n\t                K[0], (K[3] << 16) | (K[2] >>> 16),\n\t                K[1], (K[0] << 16) | (K[3] >>> 16),\n\t                K[2], (K[1] << 16) | (K[0] >>> 16),\n\t                K[3], (K[2] << 16) | (K[1] >>> 16)\n\t            ];\n\n\t            // Generate initial counter values\n\t            var C = this._C = [\n\t                (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff),\n\t                (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff),\n\t                (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff),\n\t                (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff)\n\t            ];\n\n\t            // Carry bit\n\t            this._b = 0;\n\n\t            // Iterate the system four times\n\t            for (var i = 0; i < 4; i++) {\n\t                nextState.call(this);\n\t            }\n\n\t            // Modify the counters\n\t            for (var i = 0; i < 8; i++) {\n\t                C[i] ^= X[(i + 4) & 7];\n\t            }\n\n\t            // IV setup\n\t            if (iv) {\n\t                // Shortcuts\n\t                var IV = iv.words;\n\t                var IV_0 = IV[0];\n\t                var IV_1 = IV[1];\n\n\t                // Generate four subvectors\n\t                var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00);\n\t                var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00);\n\t                var i1 = (i0 >>> 16) | (i2 & 0xffff0000);\n\t                var i3 = (i2 << 16)  | (i0 & 0x0000ffff);\n\n\t                // Modify counter values\n\t                C[0] ^= i0;\n\t                C[1] ^= i1;\n\t                C[2] ^= i2;\n\t                C[3] ^= i3;\n\t                C[4] ^= i0;\n\t                C[5] ^= i1;\n\t                C[6] ^= i2;\n\t                C[7] ^= i3;\n\n\t                // Iterate the system four times\n\t                for (var i = 0; i < 4; i++) {\n\t                    nextState.call(this);\n\t                }\n\t            }\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Shortcut\n\t            var X = this._X;\n\n\t            // Iterate the system\n\t            nextState.call(this);\n\n\t            // Generate four keystream words\n\t            S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16);\n\t            S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16);\n\t            S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16);\n\t            S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16);\n\n\t            for (var i = 0; i < 4; i++) {\n\t                // Swap endian\n\t                S[i] = (((S[i] << 8)  | (S[i] >>> 24)) & 0x00ff00ff) |\n\t                       (((S[i] << 24) | (S[i] >>> 8))  & 0xff00ff00);\n\n\t                // Encrypt\n\t                M[offset + i] ^= S[i];\n\t            }\n\t        },\n\n\t        blockSize: 128/32,\n\n\t        ivSize: 64/32\n\t    });\n\n\t    function nextState() {\n\t        // Shortcuts\n\t        var X = this._X;\n\t        var C = this._C;\n\n\t        // Save old counter values\n\t        for (var i = 0; i < 8; i++) {\n\t            C_[i] = C[i];\n\t        }\n\n\t        // Calculate new counter values\n\t        C[0] = (C[0] + 0x4d34d34d + this._b) | 0;\n\t        C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0;\n\t        C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0;\n\t        C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0;\n\t        C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0;\n\t        C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0;\n\t        C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0;\n\t        C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0;\n\t        this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0;\n\n\t        // Calculate the g-values\n\t        for (var i = 0; i < 8; i++) {\n\t            var gx = X[i] + C[i];\n\n\t            // Construct high and low argument for squaring\n\t            var ga = gx & 0xffff;\n\t            var gb = gx >>> 16;\n\n\t            // Calculate high and low result of squaring\n\t            var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb;\n\t            var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0);\n\n\t            // High XOR low\n\t            G[i] = gh ^ gl;\n\t        }\n\n\t        // Calculate new state values\n\t        X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0;\n\t        X[1] = (G[1] + ((G[0] << 8)  | (G[0] >>> 24)) + G[7]) | 0;\n\t        X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0;\n\t        X[3] = (G[3] + ((G[2] << 8)  | (G[2] >>> 24)) + G[1]) | 0;\n\t        X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0;\n\t        X[5] = (G[5] + ((G[4] << 8)  | (G[4] >>> 24)) + G[3]) | 0;\n\t        X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0;\n\t        X[7] = (G[7] + ((G[6] << 8)  | (G[6] >>> 24)) + G[5]) | 0;\n\t    }\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.Rabbit = StreamCipher._createHelper(Rabbit);\n\t}());\n\n\n\treturn CryptoJS.Rabbit;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var StreamCipher = C_lib.StreamCipher;\n\t    var C_algo = C.algo;\n\n\t    /**\n\t     * RC4 stream cipher algorithm.\n\t     */\n\t    var RC4 = C_algo.RC4 = StreamCipher.extend({\n\t        _doReset: function () {\n\t            // Shortcuts\n\t            var key = this._key;\n\t            var keyWords = key.words;\n\t            var keySigBytes = key.sigBytes;\n\n\t            // Init sbox\n\t            var S = this._S = [];\n\t            for (var i = 0; i < 256; i++) {\n\t                S[i] = i;\n\t            }\n\n\t            // Key setup\n\t            for (var i = 0, j = 0; i < 256; i++) {\n\t                var keyByteIndex = i % keySigBytes;\n\t                var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff;\n\n\t                j = (j + S[i] + keyByte) % 256;\n\n\t                // Swap\n\t                var t = S[i];\n\t                S[i] = S[j];\n\t                S[j] = t;\n\t            }\n\n\t            // Counters\n\t            this._i = this._j = 0;\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            M[offset] ^= generateKeystreamWord.call(this);\n\t        },\n\n\t        keySize: 256/32,\n\n\t        ivSize: 0\n\t    });\n\n\t    function generateKeystreamWord() {\n\t        // Shortcuts\n\t        var S = this._S;\n\t        var i = this._i;\n\t        var j = this._j;\n\n\t        // Generate keystream word\n\t        var keystreamWord = 0;\n\t        for (var n = 0; n < 4; n++) {\n\t            i = (i + 1) % 256;\n\t            j = (j + S[i]) % 256;\n\n\t            // Swap\n\t            var t = S[i];\n\t            S[i] = S[j];\n\t            S[j] = t;\n\n\t            keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8);\n\t        }\n\n\t        // Update counters\n\t        this._i = i;\n\t        this._j = j;\n\n\t        return keystreamWord;\n\t    }\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.RC4.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.RC4 = StreamCipher._createHelper(RC4);\n\n\t    /**\n\t     * Modified RC4 stream cipher algorithm.\n\t     */\n\t    var RC4Drop = C_algo.RC4Drop = RC4.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {number} drop The number of keystream words to drop. Default 192\n\t         */\n\t        cfg: RC4.cfg.extend({\n\t            drop: 192\n\t        }),\n\n\t        _doReset: function () {\n\t            RC4._doReset.call(this);\n\n\t            // Drop\n\t            for (var i = this.cfg.drop; i > 0; i--) {\n\t                generateKeystreamWord.call(this);\n\t            }\n\t        }\n\t    });\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.RC4Drop = StreamCipher._createHelper(RC4Drop);\n\t}());\n\n\n\treturn CryptoJS.RC4;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t/** @preserve\n\t(c) 2012 by Cédric Mesnil. All rights reserved.\n\n\tRedistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\n\n\t    - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.\n\t    - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.\n\n\tTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n\t*/\n\n\t(function (Math) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_algo = C.algo;\n\n\t    // Constants table\n\t    var _zl = WordArray.create([\n\t        0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\n\t        7,  4, 13,  1, 10,  6, 15,  3, 12,  0,  9,  5,  2, 14, 11,  8,\n\t        3, 10, 14,  4,  9, 15,  8,  1,  2,  7,  0,  6, 13, 11,  5, 12,\n\t        1,  9, 11, 10,  0,  8, 12,  4, 13,  3,  7, 15, 14,  5,  6,  2,\n\t        4,  0,  5,  9,  7, 12,  2, 10, 14,  1,  3,  8, 11,  6, 15, 13]);\n\t    var _zr = WordArray.create([\n\t        5, 14,  7,  0,  9,  2, 11,  4, 13,  6, 15,  8,  1, 10,  3, 12,\n\t        6, 11,  3,  7,  0, 13,  5, 10, 14, 15,  8, 12,  4,  9,  1,  2,\n\t        15,  5,  1,  3,  7, 14,  6,  9, 11,  8, 12,  2, 10,  0,  4, 13,\n\t        8,  6,  4,  1,  3, 11, 15,  0,  5, 12,  2, 13,  9,  7, 10, 14,\n\t        12, 15, 10,  4,  1,  5,  8,  7,  6,  2, 13, 14,  0,  3,  9, 11]);\n\t    var _sl = WordArray.create([\n\t         11, 14, 15, 12,  5,  8,  7,  9, 11, 13, 14, 15,  6,  7,  9,  8,\n\t        7, 6,   8, 13, 11,  9,  7, 15,  7, 12, 15,  9, 11,  7, 13, 12,\n\t        11, 13,  6,  7, 14,  9, 13, 15, 14,  8, 13,  6,  5, 12,  7,  5,\n\t          11, 12, 14, 15, 14, 15,  9,  8,  9, 14,  5,  6,  8,  6,  5, 12,\n\t        9, 15,  5, 11,  6,  8, 13, 12,  5, 12, 13, 14, 11,  8,  5,  6 ]);\n\t    var _sr = WordArray.create([\n\t        8,  9,  9, 11, 13, 15, 15,  5,  7,  7,  8, 11, 14, 14, 12,  6,\n\t        9, 13, 15,  7, 12,  8,  9, 11,  7,  7, 12,  7,  6, 15, 13, 11,\n\t        9,  7, 15, 11,  8,  6,  6, 14, 12, 13,  5, 14, 13, 13,  7,  5,\n\t        15,  5,  8, 11, 14, 14,  6, 14,  6,  9, 12,  9, 12,  5, 15,  8,\n\t        8,  5, 12,  9, 12,  5, 14,  6,  8, 13,  6,  5, 15, 13, 11, 11 ]);\n\n\t    var _hl =  WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]);\n\t    var _hr =  WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]);\n\n\t    /**\n\t     * RIPEMD160 hash algorithm.\n\t     */\n\t    var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({\n\t        _doReset: function () {\n\t            this._hash  = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]);\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\n\t            // Swap endian\n\t            for (var i = 0; i < 16; i++) {\n\t                // Shortcuts\n\t                var offset_i = offset + i;\n\t                var M_offset_i = M[offset_i];\n\n\t                // Swap\n\t                M[offset_i] = (\n\t                    (((M_offset_i << 8)  | (M_offset_i >>> 24)) & 0x00ff00ff) |\n\t                    (((M_offset_i << 24) | (M_offset_i >>> 8))  & 0xff00ff00)\n\t                );\n\t            }\n\t            // Shortcut\n\t            var H  = this._hash.words;\n\t            var hl = _hl.words;\n\t            var hr = _hr.words;\n\t            var zl = _zl.words;\n\t            var zr = _zr.words;\n\t            var sl = _sl.words;\n\t            var sr = _sr.words;\n\n\t            // Working variables\n\t            var al, bl, cl, dl, el;\n\t            var ar, br, cr, dr, er;\n\n\t            ar = al = H[0];\n\t            br = bl = H[1];\n\t            cr = cl = H[2];\n\t            dr = dl = H[3];\n\t            er = el = H[4];\n\t            // Computation\n\t            var t;\n\t            for (var i = 0; i < 80; i += 1) {\n\t                t = (al +  M[offset+zl[i]])|0;\n\t                if (i<16){\n\t\t            t +=  f1(bl,cl,dl) + hl[0];\n\t                } else if (i<32) {\n\t\t            t +=  f2(bl,cl,dl) + hl[1];\n\t                } else if (i<48) {\n\t\t            t +=  f3(bl,cl,dl) + hl[2];\n\t                } else if (i<64) {\n\t\t            t +=  f4(bl,cl,dl) + hl[3];\n\t                } else {// if (i<80) {\n\t\t            t +=  f5(bl,cl,dl) + hl[4];\n\t                }\n\t                t = t|0;\n\t                t =  rotl(t,sl[i]);\n\t                t = (t+el)|0;\n\t                al = el;\n\t                el = dl;\n\t                dl = rotl(cl, 10);\n\t                cl = bl;\n\t                bl = t;\n\n\t                t = (ar + M[offset+zr[i]])|0;\n\t                if (i<16){\n\t\t            t +=  f5(br,cr,dr) + hr[0];\n\t                } else if (i<32) {\n\t\t            t +=  f4(br,cr,dr) + hr[1];\n\t                } else if (i<48) {\n\t\t            t +=  f3(br,cr,dr) + hr[2];\n\t                } else if (i<64) {\n\t\t            t +=  f2(br,cr,dr) + hr[3];\n\t                } else {// if (i<80) {\n\t\t            t +=  f1(br,cr,dr) + hr[4];\n\t                }\n\t                t = t|0;\n\t                t =  rotl(t,sr[i]) ;\n\t                t = (t+er)|0;\n\t                ar = er;\n\t                er = dr;\n\t                dr = rotl(cr, 10);\n\t                cr = br;\n\t                br = t;\n\t            }\n\t            // Intermediate hash value\n\t            t    = (H[1] + cl + dr)|0;\n\t            H[1] = (H[2] + dl + er)|0;\n\t            H[2] = (H[3] + el + ar)|0;\n\t            H[3] = (H[4] + al + br)|0;\n\t            H[4] = (H[0] + bl + cr)|0;\n\t            H[0] =  t;\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = (\n\t                (((nBitsTotal << 8)  | (nBitsTotal >>> 24)) & 0x00ff00ff) |\n\t                (((nBitsTotal << 24) | (nBitsTotal >>> 8))  & 0xff00ff00)\n\t            );\n\t            data.sigBytes = (dataWords.length + 1) * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Shortcuts\n\t            var hash = this._hash;\n\t            var H = hash.words;\n\n\t            // Swap endian\n\t            for (var i = 0; i < 5; i++) {\n\t                // Shortcut\n\t                var H_i = H[i];\n\n\t                // Swap\n\t                H[i] = (((H_i << 8)  | (H_i >>> 24)) & 0x00ff00ff) |\n\t                       (((H_i << 24) | (H_i >>> 8))  & 0xff00ff00);\n\t            }\n\n\t            // Return final computed hash\n\t            return hash;\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\t            clone._hash = this._hash.clone();\n\n\t            return clone;\n\t        }\n\t    });\n\n\n\t    function f1(x, y, z) {\n\t        return ((x) ^ (y) ^ (z));\n\n\t    }\n\n\t    function f2(x, y, z) {\n\t        return (((x)&(y)) | ((~x)&(z)));\n\t    }\n\n\t    function f3(x, y, z) {\n\t        return (((x) | (~(y))) ^ (z));\n\t    }\n\n\t    function f4(x, y, z) {\n\t        return (((x) & (z)) | ((y)&(~(z))));\n\t    }\n\n\t    function f5(x, y, z) {\n\t        return ((x) ^ ((y) |(~(z))));\n\n\t    }\n\n\t    function rotl(x,n) {\n\t        return (x<<n) | (x>>>(32-n));\n\t    }\n\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.RIPEMD160('message');\n\t     *     var hash = CryptoJS.RIPEMD160(wordArray);\n\t     */\n\t    C.RIPEMD160 = Hasher._createHelper(RIPEMD160);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacRIPEMD160(message, key);\n\t     */\n\t    C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160);\n\t}(Math));\n\n\n\treturn CryptoJS.RIPEMD160;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_algo = C.algo;\n\n\t    // Reusable object\n\t    var W = [];\n\n\t    /**\n\t     * SHA-1 hash algorithm.\n\t     */\n\t    var SHA1 = C_algo.SHA1 = Hasher.extend({\n\t        _doReset: function () {\n\t            this._hash = new WordArray.init([\n\t                0x67452301, 0xefcdab89,\n\t                0x98badcfe, 0x10325476,\n\t                0xc3d2e1f0\n\t            ]);\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Shortcut\n\t            var H = this._hash.words;\n\n\t            // Working variables\n\t            var a = H[0];\n\t            var b = H[1];\n\t            var c = H[2];\n\t            var d = H[3];\n\t            var e = H[4];\n\n\t            // Computation\n\t            for (var i = 0; i < 80; i++) {\n\t                if (i < 16) {\n\t                    W[i] = M[offset + i] | 0;\n\t                } else {\n\t                    var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n\t                    W[i] = (n << 1) | (n >>> 31);\n\t                }\n\n\t                var t = ((a << 5) | (a >>> 27)) + e + W[i];\n\t                if (i < 20) {\n\t                    t += ((b & c) | (~b & d)) + 0x5a827999;\n\t                } else if (i < 40) {\n\t                    t += (b ^ c ^ d) + 0x6ed9eba1;\n\t                } else if (i < 60) {\n\t                    t += ((b & c) | (b & d) | (c & d)) - 0x70e44324;\n\t                } else /* if (i < 80) */ {\n\t                    t += (b ^ c ^ d) - 0x359d3e2a;\n\t                }\n\n\t                e = d;\n\t                d = c;\n\t                c = (b << 30) | (b >>> 2);\n\t                b = a;\n\t                a = t;\n\t            }\n\n\t            // Intermediate hash value\n\t            H[0] = (H[0] + a) | 0;\n\t            H[1] = (H[1] + b) | 0;\n\t            H[2] = (H[2] + c) | 0;\n\t            H[3] = (H[3] + d) | 0;\n\t            H[4] = (H[4] + e) | 0;\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t            data.sigBytes = dataWords.length * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Return final computed hash\n\t            return this._hash;\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\t            clone._hash = this._hash.clone();\n\n\t            return clone;\n\t        }\n\t    });\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.SHA1('message');\n\t     *     var hash = CryptoJS.SHA1(wordArray);\n\t     */\n\t    C.SHA1 = Hasher._createHelper(SHA1);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacSHA1(message, key);\n\t     */\n\t    C.HmacSHA1 = Hasher._createHmacHelper(SHA1);\n\t}());\n\n\n\treturn CryptoJS.SHA1;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./sha256\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./sha256\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var C_algo = C.algo;\n\t    var SHA256 = C_algo.SHA256;\n\n\t    /**\n\t     * SHA-224 hash algorithm.\n\t     */\n\t    var SHA224 = C_algo.SHA224 = SHA256.extend({\n\t        _doReset: function () {\n\t            this._hash = new WordArray.init([\n\t                0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n\t                0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4\n\t            ]);\n\t        },\n\n\t        _doFinalize: function () {\n\t            var hash = SHA256._doFinalize.call(this);\n\n\t            hash.sigBytes -= 4;\n\n\t            return hash;\n\t        }\n\t    });\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.SHA224('message');\n\t     *     var hash = CryptoJS.SHA224(wordArray);\n\t     */\n\t    C.SHA224 = SHA256._createHelper(SHA224);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacSHA224(message, key);\n\t     */\n\t    C.HmacSHA224 = SHA256._createHmacHelper(SHA224);\n\t}());\n\n\n\treturn CryptoJS.SHA224;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_algo = C.algo;\n\n\t    // Initialization and round constants tables\n\t    var H = [];\n\t    var K = [];\n\n\t    // Compute constants\n\t    (function () {\n\t        function isPrime(n) {\n\t            var sqrtN = Math.sqrt(n);\n\t            for (var factor = 2; factor <= sqrtN; factor++) {\n\t                if (!(n % factor)) {\n\t                    return false;\n\t                }\n\t            }\n\n\t            return true;\n\t        }\n\n\t        function getFractionalBits(n) {\n\t            return ((n - (n | 0)) * 0x100000000) | 0;\n\t        }\n\n\t        var n = 2;\n\t        var nPrime = 0;\n\t        while (nPrime < 64) {\n\t            if (isPrime(n)) {\n\t                if (nPrime < 8) {\n\t                    H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2));\n\t                }\n\t                K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3));\n\n\t                nPrime++;\n\t            }\n\n\t            n++;\n\t        }\n\t    }());\n\n\t    // Reusable object\n\t    var W = [];\n\n\t    /**\n\t     * SHA-256 hash algorithm.\n\t     */\n\t    var SHA256 = C_algo.SHA256 = Hasher.extend({\n\t        _doReset: function () {\n\t            this._hash = new WordArray.init(H.slice(0));\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Shortcut\n\t            var H = this._hash.words;\n\n\t            // Working variables\n\t            var a = H[0];\n\t            var b = H[1];\n\t            var c = H[2];\n\t            var d = H[3];\n\t            var e = H[4];\n\t            var f = H[5];\n\t            var g = H[6];\n\t            var h = H[7];\n\n\t            // Computation\n\t            for (var i = 0; i < 64; i++) {\n\t                if (i < 16) {\n\t                    W[i] = M[offset + i] | 0;\n\t                } else {\n\t                    var gamma0x = W[i - 15];\n\t                    var gamma0  = ((gamma0x << 25) | (gamma0x >>> 7))  ^\n\t                                  ((gamma0x << 14) | (gamma0x >>> 18)) ^\n\t                                   (gamma0x >>> 3);\n\n\t                    var gamma1x = W[i - 2];\n\t                    var gamma1  = ((gamma1x << 15) | (gamma1x >>> 17)) ^\n\t                                  ((gamma1x << 13) | (gamma1x >>> 19)) ^\n\t                                   (gamma1x >>> 10);\n\n\t                    W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16];\n\t                }\n\n\t                var ch  = (e & f) ^ (~e & g);\n\t                var maj = (a & b) ^ (a & c) ^ (b & c);\n\n\t                var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22));\n\t                var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7)  | (e >>> 25));\n\n\t                var t1 = h + sigma1 + ch + K[i] + W[i];\n\t                var t2 = sigma0 + maj;\n\n\t                h = g;\n\t                g = f;\n\t                f = e;\n\t                e = (d + t1) | 0;\n\t                d = c;\n\t                c = b;\n\t                b = a;\n\t                a = (t1 + t2) | 0;\n\t            }\n\n\t            // Intermediate hash value\n\t            H[0] = (H[0] + a) | 0;\n\t            H[1] = (H[1] + b) | 0;\n\t            H[2] = (H[2] + c) | 0;\n\t            H[3] = (H[3] + d) | 0;\n\t            H[4] = (H[4] + e) | 0;\n\t            H[5] = (H[5] + f) | 0;\n\t            H[6] = (H[6] + g) | 0;\n\t            H[7] = (H[7] + h) | 0;\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000);\n\t            dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal;\n\t            data.sigBytes = dataWords.length * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Return final computed hash\n\t            return this._hash;\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\t            clone._hash = this._hash.clone();\n\n\t            return clone;\n\t        }\n\t    });\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.SHA256('message');\n\t     *     var hash = CryptoJS.SHA256(wordArray);\n\t     */\n\t    C.SHA256 = Hasher._createHelper(SHA256);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacSHA256(message, key);\n\t     */\n\t    C.HmacSHA256 = Hasher._createHmacHelper(SHA256);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA256;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (Math) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_x64 = C.x64;\n\t    var X64Word = C_x64.Word;\n\t    var C_algo = C.algo;\n\n\t    // Constants tables\n\t    var RHO_OFFSETS = [];\n\t    var PI_INDEXES  = [];\n\t    var ROUND_CONSTANTS = [];\n\n\t    // Compute Constants\n\t    (function () {\n\t        // Compute rho offset constants\n\t        var x = 1, y = 0;\n\t        for (var t = 0; t < 24; t++) {\n\t            RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64;\n\n\t            var newX = y % 5;\n\t            var newY = (2 * x + 3 * y) % 5;\n\t            x = newX;\n\t            y = newY;\n\t        }\n\n\t        // Compute pi index constants\n\t        for (var x = 0; x < 5; x++) {\n\t            for (var y = 0; y < 5; y++) {\n\t                PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5;\n\t            }\n\t        }\n\n\t        // Compute round constants\n\t        var LFSR = 0x01;\n\t        for (var i = 0; i < 24; i++) {\n\t            var roundConstantMsw = 0;\n\t            var roundConstantLsw = 0;\n\n\t            for (var j = 0; j < 7; j++) {\n\t                if (LFSR & 0x01) {\n\t                    var bitPosition = (1 << j) - 1;\n\t                    if (bitPosition < 32) {\n\t                        roundConstantLsw ^= 1 << bitPosition;\n\t                    } else /* if (bitPosition >= 32) */ {\n\t                        roundConstantMsw ^= 1 << (bitPosition - 32);\n\t                    }\n\t                }\n\n\t                // Compute next LFSR\n\t                if (LFSR & 0x80) {\n\t                    // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1\n\t                    LFSR = (LFSR << 1) ^ 0x71;\n\t                } else {\n\t                    LFSR <<= 1;\n\t                }\n\t            }\n\n\t            ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw);\n\t        }\n\t    }());\n\n\t    // Reusable objects for temporary values\n\t    var T = [];\n\t    (function () {\n\t        for (var i = 0; i < 25; i++) {\n\t            T[i] = X64Word.create();\n\t        }\n\t    }());\n\n\t    /**\n\t     * SHA-3 hash algorithm.\n\t     */\n\t    var SHA3 = C_algo.SHA3 = Hasher.extend({\n\t        /**\n\t         * Configuration options.\n\t         *\n\t         * @property {number} outputLength\n\t         *   The desired number of bits in the output hash.\n\t         *   Only values permitted are: 224, 256, 384, 512.\n\t         *   Default: 512\n\t         */\n\t        cfg: Hasher.cfg.extend({\n\t            outputLength: 512\n\t        }),\n\n\t        _doReset: function () {\n\t            var state = this._state = []\n\t            for (var i = 0; i < 25; i++) {\n\t                state[i] = new X64Word.init();\n\t            }\n\n\t            this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32;\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Shortcuts\n\t            var state = this._state;\n\t            var nBlockSizeLanes = this.blockSize / 2;\n\n\t            // Absorb\n\t            for (var i = 0; i < nBlockSizeLanes; i++) {\n\t                // Shortcuts\n\t                var M2i  = M[offset + 2 * i];\n\t                var M2i1 = M[offset + 2 * i + 1];\n\n\t                // Swap endian\n\t                M2i = (\n\t                    (((M2i << 8)  | (M2i >>> 24)) & 0x00ff00ff) |\n\t                    (((M2i << 24) | (M2i >>> 8))  & 0xff00ff00)\n\t                );\n\t                M2i1 = (\n\t                    (((M2i1 << 8)  | (M2i1 >>> 24)) & 0x00ff00ff) |\n\t                    (((M2i1 << 24) | (M2i1 >>> 8))  & 0xff00ff00)\n\t                );\n\n\t                // Absorb message into state\n\t                var lane = state[i];\n\t                lane.high ^= M2i1;\n\t                lane.low  ^= M2i;\n\t            }\n\n\t            // Rounds\n\t            for (var round = 0; round < 24; round++) {\n\t                // Theta\n\t                for (var x = 0; x < 5; x++) {\n\t                    // Mix column lanes\n\t                    var tMsw = 0, tLsw = 0;\n\t                    for (var y = 0; y < 5; y++) {\n\t                        var lane = state[x + 5 * y];\n\t                        tMsw ^= lane.high;\n\t                        tLsw ^= lane.low;\n\t                    }\n\n\t                    // Temporary values\n\t                    var Tx = T[x];\n\t                    Tx.high = tMsw;\n\t                    Tx.low  = tLsw;\n\t                }\n\t                for (var x = 0; x < 5; x++) {\n\t                    // Shortcuts\n\t                    var Tx4 = T[(x + 4) % 5];\n\t                    var Tx1 = T[(x + 1) % 5];\n\t                    var Tx1Msw = Tx1.high;\n\t                    var Tx1Lsw = Tx1.low;\n\n\t                    // Mix surrounding columns\n\t                    var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31));\n\t                    var tLsw = Tx4.low  ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31));\n\t                    for (var y = 0; y < 5; y++) {\n\t                        var lane = state[x + 5 * y];\n\t                        lane.high ^= tMsw;\n\t                        lane.low  ^= tLsw;\n\t                    }\n\t                }\n\n\t                // Rho Pi\n\t                for (var laneIndex = 1; laneIndex < 25; laneIndex++) {\n\t                    var tMsw;\n\t                    var tLsw;\n\n\t                    // Shortcuts\n\t                    var lane = state[laneIndex];\n\t                    var laneMsw = lane.high;\n\t                    var laneLsw = lane.low;\n\t                    var rhoOffset = RHO_OFFSETS[laneIndex];\n\n\t                    // Rotate lanes\n\t                    if (rhoOffset < 32) {\n\t                        tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset));\n\t                        tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset));\n\t                    } else /* if (rhoOffset >= 32) */ {\n\t                        tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset));\n\t                        tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset));\n\t                    }\n\n\t                    // Transpose lanes\n\t                    var TPiLane = T[PI_INDEXES[laneIndex]];\n\t                    TPiLane.high = tMsw;\n\t                    TPiLane.low  = tLsw;\n\t                }\n\n\t                // Rho pi at x = y = 0\n\t                var T0 = T[0];\n\t                var state0 = state[0];\n\t                T0.high = state0.high;\n\t                T0.low  = state0.low;\n\n\t                // Chi\n\t                for (var x = 0; x < 5; x++) {\n\t                    for (var y = 0; y < 5; y++) {\n\t                        // Shortcuts\n\t                        var laneIndex = x + 5 * y;\n\t                        var lane = state[laneIndex];\n\t                        var TLane = T[laneIndex];\n\t                        var Tx1Lane = T[((x + 1) % 5) + 5 * y];\n\t                        var Tx2Lane = T[((x + 2) % 5) + 5 * y];\n\n\t                        // Mix rows\n\t                        lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high);\n\t                        lane.low  = TLane.low  ^ (~Tx1Lane.low  & Tx2Lane.low);\n\t                    }\n\t                }\n\n\t                // Iota\n\t                var lane = state[0];\n\t                var roundConstant = ROUND_CONSTANTS[round];\n\t                lane.high ^= roundConstant.high;\n\t                lane.low  ^= roundConstant.low;\n\t            }\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\t            var blockSizeBits = this.blockSize * 32;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32);\n\t            dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80;\n\t            data.sigBytes = dataWords.length * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Shortcuts\n\t            var state = this._state;\n\t            var outputLengthBytes = this.cfg.outputLength / 8;\n\t            var outputLengthLanes = outputLengthBytes / 8;\n\n\t            // Squeeze\n\t            var hashWords = [];\n\t            for (var i = 0; i < outputLengthLanes; i++) {\n\t                // Shortcuts\n\t                var lane = state[i];\n\t                var laneMsw = lane.high;\n\t                var laneLsw = lane.low;\n\n\t                // Swap endian\n\t                laneMsw = (\n\t                    (((laneMsw << 8)  | (laneMsw >>> 24)) & 0x00ff00ff) |\n\t                    (((laneMsw << 24) | (laneMsw >>> 8))  & 0xff00ff00)\n\t                );\n\t                laneLsw = (\n\t                    (((laneLsw << 8)  | (laneLsw >>> 24)) & 0x00ff00ff) |\n\t                    (((laneLsw << 24) | (laneLsw >>> 8))  & 0xff00ff00)\n\t                );\n\n\t                // Squeeze state to retrieve hash\n\t                hashWords.push(laneLsw);\n\t                hashWords.push(laneMsw);\n\t            }\n\n\t            // Return final computed hash\n\t            return new WordArray.init(hashWords, outputLengthBytes);\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\n\t            var state = clone._state = this._state.slice(0);\n\t            for (var i = 0; i < 25; i++) {\n\t                state[i] = state[i].clone();\n\t            }\n\n\t            return clone;\n\t        }\n\t    });\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.SHA3('message');\n\t     *     var hash = CryptoJS.SHA3(wordArray);\n\t     */\n\t    C.SHA3 = Hasher._createHelper(SHA3);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacSHA3(message, key);\n\t     */\n\t    C.HmacSHA3 = Hasher._createHmacHelper(SHA3);\n\t}(Math));\n\n\n\treturn CryptoJS.SHA3;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"), require(\"./sha512\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\", \"./sha512\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_x64 = C.x64;\n\t    var X64Word = C_x64.Word;\n\t    var X64WordArray = C_x64.WordArray;\n\t    var C_algo = C.algo;\n\t    var SHA512 = C_algo.SHA512;\n\n\t    /**\n\t     * SHA-384 hash algorithm.\n\t     */\n\t    var SHA384 = C_algo.SHA384 = SHA512.extend({\n\t        _doReset: function () {\n\t            this._hash = new X64WordArray.init([\n\t                new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507),\n\t                new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939),\n\t                new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511),\n\t                new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4)\n\t            ]);\n\t        },\n\n\t        _doFinalize: function () {\n\t            var hash = SHA512._doFinalize.call(this);\n\n\t            hash.sigBytes -= 16;\n\n\t            return hash;\n\t        }\n\t    });\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.SHA384('message');\n\t     *     var hash = CryptoJS.SHA384(wordArray);\n\t     */\n\t    C.SHA384 = SHA512._createHelper(SHA384);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacSHA384(message, key);\n\t     */\n\t    C.HmacSHA384 = SHA512._createHmacHelper(SHA384);\n\t}());\n\n\n\treturn CryptoJS.SHA384;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./x64-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./x64-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var Hasher = C_lib.Hasher;\n\t    var C_x64 = C.x64;\n\t    var X64Word = C_x64.Word;\n\t    var X64WordArray = C_x64.WordArray;\n\t    var C_algo = C.algo;\n\n\t    function X64Word_create() {\n\t        return X64Word.create.apply(X64Word, arguments);\n\t    }\n\n\t    // Constants\n\t    var K = [\n\t        X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd),\n\t        X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc),\n\t        X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019),\n\t        X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118),\n\t        X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe),\n\t        X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2),\n\t        X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1),\n\t        X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694),\n\t        X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3),\n\t        X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65),\n\t        X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483),\n\t        X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5),\n\t        X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210),\n\t        X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4),\n\t        X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725),\n\t        X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70),\n\t        X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926),\n\t        X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df),\n\t        X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8),\n\t        X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b),\n\t        X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001),\n\t        X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30),\n\t        X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910),\n\t        X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8),\n\t        X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53),\n\t        X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8),\n\t        X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb),\n\t        X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3),\n\t        X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60),\n\t        X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec),\n\t        X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9),\n\t        X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b),\n\t        X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207),\n\t        X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178),\n\t        X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6),\n\t        X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b),\n\t        X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493),\n\t        X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c),\n\t        X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a),\n\t        X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817)\n\t    ];\n\n\t    // Reusable objects\n\t    var W = [];\n\t    (function () {\n\t        for (var i = 0; i < 80; i++) {\n\t            W[i] = X64Word_create();\n\t        }\n\t    }());\n\n\t    /**\n\t     * SHA-512 hash algorithm.\n\t     */\n\t    var SHA512 = C_algo.SHA512 = Hasher.extend({\n\t        _doReset: function () {\n\t            this._hash = new X64WordArray.init([\n\t                new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b),\n\t                new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1),\n\t                new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f),\n\t                new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179)\n\t            ]);\n\t        },\n\n\t        _doProcessBlock: function (M, offset) {\n\t            // Shortcuts\n\t            var H = this._hash.words;\n\n\t            var H0 = H[0];\n\t            var H1 = H[1];\n\t            var H2 = H[2];\n\t            var H3 = H[3];\n\t            var H4 = H[4];\n\t            var H5 = H[5];\n\t            var H6 = H[6];\n\t            var H7 = H[7];\n\n\t            var H0h = H0.high;\n\t            var H0l = H0.low;\n\t            var H1h = H1.high;\n\t            var H1l = H1.low;\n\t            var H2h = H2.high;\n\t            var H2l = H2.low;\n\t            var H3h = H3.high;\n\t            var H3l = H3.low;\n\t            var H4h = H4.high;\n\t            var H4l = H4.low;\n\t            var H5h = H5.high;\n\t            var H5l = H5.low;\n\t            var H6h = H6.high;\n\t            var H6l = H6.low;\n\t            var H7h = H7.high;\n\t            var H7l = H7.low;\n\n\t            // Working variables\n\t            var ah = H0h;\n\t            var al = H0l;\n\t            var bh = H1h;\n\t            var bl = H1l;\n\t            var ch = H2h;\n\t            var cl = H2l;\n\t            var dh = H3h;\n\t            var dl = H3l;\n\t            var eh = H4h;\n\t            var el = H4l;\n\t            var fh = H5h;\n\t            var fl = H5l;\n\t            var gh = H6h;\n\t            var gl = H6l;\n\t            var hh = H7h;\n\t            var hl = H7l;\n\n\t            // Rounds\n\t            for (var i = 0; i < 80; i++) {\n\t                var Wil;\n\t                var Wih;\n\n\t                // Shortcut\n\t                var Wi = W[i];\n\n\t                // Extend message\n\t                if (i < 16) {\n\t                    Wih = Wi.high = M[offset + i * 2]     | 0;\n\t                    Wil = Wi.low  = M[offset + i * 2 + 1] | 0;\n\t                } else {\n\t                    // Gamma0\n\t                    var gamma0x  = W[i - 15];\n\t                    var gamma0xh = gamma0x.high;\n\t                    var gamma0xl = gamma0x.low;\n\t                    var gamma0h  = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7);\n\t                    var gamma0l  = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25));\n\n\t                    // Gamma1\n\t                    var gamma1x  = W[i - 2];\n\t                    var gamma1xh = gamma1x.high;\n\t                    var gamma1xl = gamma1x.low;\n\t                    var gamma1h  = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6);\n\t                    var gamma1l  = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26));\n\n\t                    // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n\t                    var Wi7  = W[i - 7];\n\t                    var Wi7h = Wi7.high;\n\t                    var Wi7l = Wi7.low;\n\n\t                    var Wi16  = W[i - 16];\n\t                    var Wi16h = Wi16.high;\n\t                    var Wi16l = Wi16.low;\n\n\t                    Wil = gamma0l + Wi7l;\n\t                    Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0);\n\t                    Wil = Wil + gamma1l;\n\t                    Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0);\n\t                    Wil = Wil + Wi16l;\n\t                    Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0);\n\n\t                    Wi.high = Wih;\n\t                    Wi.low  = Wil;\n\t                }\n\n\t                var chh  = (eh & fh) ^ (~eh & gh);\n\t                var chl  = (el & fl) ^ (~el & gl);\n\t                var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch);\n\t                var majl = (al & bl) ^ (al & cl) ^ (bl & cl);\n\n\t                var sigma0h = ((ah >>> 28) | (al << 4))  ^ ((ah << 30)  | (al >>> 2)) ^ ((ah << 25) | (al >>> 7));\n\t                var sigma0l = ((al >>> 28) | (ah << 4))  ^ ((al << 30)  | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7));\n\t                var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9));\n\t                var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9));\n\n\t                // t1 = h + sigma1 + ch + K[i] + W[i]\n\t                var Ki  = K[i];\n\t                var Kih = Ki.high;\n\t                var Kil = Ki.low;\n\n\t                var t1l = hl + sigma1l;\n\t                var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0);\n\t                var t1l = t1l + chl;\n\t                var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0);\n\t                var t1l = t1l + Kil;\n\t                var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0);\n\t                var t1l = t1l + Wil;\n\t                var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0);\n\n\t                // t2 = sigma0 + maj\n\t                var t2l = sigma0l + majl;\n\t                var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0);\n\n\t                // Update working variables\n\t                hh = gh;\n\t                hl = gl;\n\t                gh = fh;\n\t                gl = fl;\n\t                fh = eh;\n\t                fl = el;\n\t                el = (dl + t1l) | 0;\n\t                eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0;\n\t                dh = ch;\n\t                dl = cl;\n\t                ch = bh;\n\t                cl = bl;\n\t                bh = ah;\n\t                bl = al;\n\t                al = (t1l + t2l) | 0;\n\t                ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0;\n\t            }\n\n\t            // Intermediate hash value\n\t            H0l = H0.low  = (H0l + al);\n\t            H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0));\n\t            H1l = H1.low  = (H1l + bl);\n\t            H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0));\n\t            H2l = H2.low  = (H2l + cl);\n\t            H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0));\n\t            H3l = H3.low  = (H3l + dl);\n\t            H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0));\n\t            H4l = H4.low  = (H4l + el);\n\t            H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0));\n\t            H5l = H5.low  = (H5l + fl);\n\t            H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0));\n\t            H6l = H6.low  = (H6l + gl);\n\t            H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0));\n\t            H7l = H7.low  = (H7l + hl);\n\t            H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0));\n\t        },\n\n\t        _doFinalize: function () {\n\t            // Shortcuts\n\t            var data = this._data;\n\t            var dataWords = data.words;\n\n\t            var nBitsTotal = this._nDataBytes * 8;\n\t            var nBitsLeft = data.sigBytes * 8;\n\n\t            // Add padding\n\t            dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32);\n\t            dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000);\n\t            dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal;\n\t            data.sigBytes = dataWords.length * 4;\n\n\t            // Hash final blocks\n\t            this._process();\n\n\t            // Convert hash to 32-bit word array before returning\n\t            var hash = this._hash.toX32();\n\n\t            // Return final computed hash\n\t            return hash;\n\t        },\n\n\t        clone: function () {\n\t            var clone = Hasher.clone.call(this);\n\t            clone._hash = this._hash.clone();\n\n\t            return clone;\n\t        },\n\n\t        blockSize: 1024/32\n\t    });\n\n\t    /**\n\t     * Shortcut function to the hasher's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     *\n\t     * @return {WordArray} The hash.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hash = CryptoJS.SHA512('message');\n\t     *     var hash = CryptoJS.SHA512(wordArray);\n\t     */\n\t    C.SHA512 = Hasher._createHelper(SHA512);\n\n\t    /**\n\t     * Shortcut function to the HMAC's object interface.\n\t     *\n\t     * @param {WordArray|string} message The message to hash.\n\t     * @param {WordArray|string} key The secret key.\n\t     *\n\t     * @return {WordArray} The HMAC.\n\t     *\n\t     * @static\n\t     *\n\t     * @example\n\t     *\n\t     *     var hmac = CryptoJS.HmacSHA512(message, key);\n\t     */\n\t    C.HmacSHA512 = Hasher._createHmacHelper(SHA512);\n\t}());\n\n\n\treturn CryptoJS.SHA512;\n\n}));",";(function (root, factory, undef) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"), require(\"./enc-base64\"), require(\"./md5\"), require(\"./evpkdf\"), require(\"./cipher-core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\", \"./enc-base64\", \"./md5\", \"./evpkdf\", \"./cipher-core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function () {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var WordArray = C_lib.WordArray;\n\t    var BlockCipher = C_lib.BlockCipher;\n\t    var C_algo = C.algo;\n\n\t    // Permuted Choice 1 constants\n\t    var PC1 = [\n\t        57, 49, 41, 33, 25, 17, 9,  1,\n\t        58, 50, 42, 34, 26, 18, 10, 2,\n\t        59, 51, 43, 35, 27, 19, 11, 3,\n\t        60, 52, 44, 36, 63, 55, 47, 39,\n\t        31, 23, 15, 7,  62, 54, 46, 38,\n\t        30, 22, 14, 6,  61, 53, 45, 37,\n\t        29, 21, 13, 5,  28, 20, 12, 4\n\t    ];\n\n\t    // Permuted Choice 2 constants\n\t    var PC2 = [\n\t        14, 17, 11, 24, 1,  5,\n\t        3,  28, 15, 6,  21, 10,\n\t        23, 19, 12, 4,  26, 8,\n\t        16, 7,  27, 20, 13, 2,\n\t        41, 52, 31, 37, 47, 55,\n\t        30, 40, 51, 45, 33, 48,\n\t        44, 49, 39, 56, 34, 53,\n\t        46, 42, 50, 36, 29, 32\n\t    ];\n\n\t    // Cumulative bit shift constants\n\t    var BIT_SHIFTS = [1,  2,  4,  6,  8,  10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28];\n\n\t    // SBOXes and round permutation constants\n\t    var SBOX_P = [\n\t        {\n\t            0x0: 0x808200,\n\t            0x10000000: 0x8000,\n\t            0x20000000: 0x808002,\n\t            0x30000000: 0x2,\n\t            0x40000000: 0x200,\n\t            0x50000000: 0x808202,\n\t            0x60000000: 0x800202,\n\t            0x70000000: 0x800000,\n\t            0x80000000: 0x202,\n\t            0x90000000: 0x800200,\n\t            0xa0000000: 0x8200,\n\t            0xb0000000: 0x808000,\n\t            0xc0000000: 0x8002,\n\t            0xd0000000: 0x800002,\n\t            0xe0000000: 0x0,\n\t            0xf0000000: 0x8202,\n\t            0x8000000: 0x0,\n\t            0x18000000: 0x808202,\n\t            0x28000000: 0x8202,\n\t            0x38000000: 0x8000,\n\t            0x48000000: 0x808200,\n\t            0x58000000: 0x200,\n\t            0x68000000: 0x808002,\n\t            0x78000000: 0x2,\n\t            0x88000000: 0x800200,\n\t            0x98000000: 0x8200,\n\t            0xa8000000: 0x808000,\n\t            0xb8000000: 0x800202,\n\t            0xc8000000: 0x800002,\n\t            0xd8000000: 0x8002,\n\t            0xe8000000: 0x202,\n\t            0xf8000000: 0x800000,\n\t            0x1: 0x8000,\n\t            0x10000001: 0x2,\n\t            0x20000001: 0x808200,\n\t            0x30000001: 0x800000,\n\t            0x40000001: 0x808002,\n\t            0x50000001: 0x8200,\n\t            0x60000001: 0x200,\n\t            0x70000001: 0x800202,\n\t            0x80000001: 0x808202,\n\t            0x90000001: 0x808000,\n\t            0xa0000001: 0x800002,\n\t            0xb0000001: 0x8202,\n\t            0xc0000001: 0x202,\n\t            0xd0000001: 0x800200,\n\t            0xe0000001: 0x8002,\n\t            0xf0000001: 0x0,\n\t            0x8000001: 0x808202,\n\t            0x18000001: 0x808000,\n\t            0x28000001: 0x800000,\n\t            0x38000001: 0x200,\n\t            0x48000001: 0x8000,\n\t            0x58000001: 0x800002,\n\t            0x68000001: 0x2,\n\t            0x78000001: 0x8202,\n\t            0x88000001: 0x8002,\n\t            0x98000001: 0x800202,\n\t            0xa8000001: 0x202,\n\t            0xb8000001: 0x808200,\n\t            0xc8000001: 0x800200,\n\t            0xd8000001: 0x0,\n\t            0xe8000001: 0x8200,\n\t            0xf8000001: 0x808002\n\t        },\n\t        {\n\t            0x0: 0x40084010,\n\t            0x1000000: 0x4000,\n\t            0x2000000: 0x80000,\n\t            0x3000000: 0x40080010,\n\t            0x4000000: 0x40000010,\n\t            0x5000000: 0x40084000,\n\t            0x6000000: 0x40004000,\n\t            0x7000000: 0x10,\n\t            0x8000000: 0x84000,\n\t            0x9000000: 0x40004010,\n\t            0xa000000: 0x40000000,\n\t            0xb000000: 0x84010,\n\t            0xc000000: 0x80010,\n\t            0xd000000: 0x0,\n\t            0xe000000: 0x4010,\n\t            0xf000000: 0x40080000,\n\t            0x800000: 0x40004000,\n\t            0x1800000: 0x84010,\n\t            0x2800000: 0x10,\n\t            0x3800000: 0x40004010,\n\t            0x4800000: 0x40084010,\n\t            0x5800000: 0x40000000,\n\t            0x6800000: 0x80000,\n\t            0x7800000: 0x40080010,\n\t            0x8800000: 0x80010,\n\t            0x9800000: 0x0,\n\t            0xa800000: 0x4000,\n\t            0xb800000: 0x40080000,\n\t            0xc800000: 0x40000010,\n\t            0xd800000: 0x84000,\n\t            0xe800000: 0x40084000,\n\t            0xf800000: 0x4010,\n\t            0x10000000: 0x0,\n\t            0x11000000: 0x40080010,\n\t            0x12000000: 0x40004010,\n\t            0x13000000: 0x40084000,\n\t            0x14000000: 0x40080000,\n\t            0x15000000: 0x10,\n\t            0x16000000: 0x84010,\n\t            0x17000000: 0x4000,\n\t            0x18000000: 0x4010,\n\t            0x19000000: 0x80000,\n\t            0x1a000000: 0x80010,\n\t            0x1b000000: 0x40000010,\n\t            0x1c000000: 0x84000,\n\t            0x1d000000: 0x40004000,\n\t            0x1e000000: 0x40000000,\n\t            0x1f000000: 0x40084010,\n\t            0x10800000: 0x84010,\n\t            0x11800000: 0x80000,\n\t            0x12800000: 0x40080000,\n\t            0x13800000: 0x4000,\n\t            0x14800000: 0x40004000,\n\t            0x15800000: 0x40084010,\n\t            0x16800000: 0x10,\n\t            0x17800000: 0x40000000,\n\t            0x18800000: 0x40084000,\n\t            0x19800000: 0x40000010,\n\t            0x1a800000: 0x40004010,\n\t            0x1b800000: 0x80010,\n\t            0x1c800000: 0x0,\n\t            0x1d800000: 0x4010,\n\t            0x1e800000: 0x40080010,\n\t            0x1f800000: 0x84000\n\t        },\n\t        {\n\t            0x0: 0x104,\n\t            0x100000: 0x0,\n\t            0x200000: 0x4000100,\n\t            0x300000: 0x10104,\n\t            0x400000: 0x10004,\n\t            0x500000: 0x4000004,\n\t            0x600000: 0x4010104,\n\t            0x700000: 0x4010000,\n\t            0x800000: 0x4000000,\n\t            0x900000: 0x4010100,\n\t            0xa00000: 0x10100,\n\t            0xb00000: 0x4010004,\n\t            0xc00000: 0x4000104,\n\t            0xd00000: 0x10000,\n\t            0xe00000: 0x4,\n\t            0xf00000: 0x100,\n\t            0x80000: 0x4010100,\n\t            0x180000: 0x4010004,\n\t            0x280000: 0x0,\n\t            0x380000: 0x4000100,\n\t            0x480000: 0x4000004,\n\t            0x580000: 0x10000,\n\t            0x680000: 0x10004,\n\t            0x780000: 0x104,\n\t            0x880000: 0x4,\n\t            0x980000: 0x100,\n\t            0xa80000: 0x4010000,\n\t            0xb80000: 0x10104,\n\t            0xc80000: 0x10100,\n\t            0xd80000: 0x4000104,\n\t            0xe80000: 0x4010104,\n\t            0xf80000: 0x4000000,\n\t            0x1000000: 0x4010100,\n\t            0x1100000: 0x10004,\n\t            0x1200000: 0x10000,\n\t            0x1300000: 0x4000100,\n\t            0x1400000: 0x100,\n\t            0x1500000: 0x4010104,\n\t            0x1600000: 0x4000004,\n\t            0x1700000: 0x0,\n\t            0x1800000: 0x4000104,\n\t            0x1900000: 0x4000000,\n\t            0x1a00000: 0x4,\n\t            0x1b00000: 0x10100,\n\t            0x1c00000: 0x4010000,\n\t            0x1d00000: 0x104,\n\t            0x1e00000: 0x10104,\n\t            0x1f00000: 0x4010004,\n\t            0x1080000: 0x4000000,\n\t            0x1180000: 0x104,\n\t            0x1280000: 0x4010100,\n\t            0x1380000: 0x0,\n\t            0x1480000: 0x10004,\n\t            0x1580000: 0x4000100,\n\t            0x1680000: 0x100,\n\t            0x1780000: 0x4010004,\n\t            0x1880000: 0x10000,\n\t            0x1980000: 0x4010104,\n\t            0x1a80000: 0x10104,\n\t            0x1b80000: 0x4000004,\n\t            0x1c80000: 0x4000104,\n\t            0x1d80000: 0x4010000,\n\t            0x1e80000: 0x4,\n\t            0x1f80000: 0x10100\n\t        },\n\t        {\n\t            0x0: 0x80401000,\n\t            0x10000: 0x80001040,\n\t            0x20000: 0x401040,\n\t            0x30000: 0x80400000,\n\t            0x40000: 0x0,\n\t            0x50000: 0x401000,\n\t            0x60000: 0x80000040,\n\t            0x70000: 0x400040,\n\t            0x80000: 0x80000000,\n\t            0x90000: 0x400000,\n\t            0xa0000: 0x40,\n\t            0xb0000: 0x80001000,\n\t            0xc0000: 0x80400040,\n\t            0xd0000: 0x1040,\n\t            0xe0000: 0x1000,\n\t            0xf0000: 0x80401040,\n\t            0x8000: 0x80001040,\n\t            0x18000: 0x40,\n\t            0x28000: 0x80400040,\n\t            0x38000: 0x80001000,\n\t            0x48000: 0x401000,\n\t            0x58000: 0x80401040,\n\t            0x68000: 0x0,\n\t            0x78000: 0x80400000,\n\t            0x88000: 0x1000,\n\t            0x98000: 0x80401000,\n\t            0xa8000: 0x400000,\n\t            0xb8000: 0x1040,\n\t            0xc8000: 0x80000000,\n\t            0xd8000: 0x400040,\n\t            0xe8000: 0x401040,\n\t            0xf8000: 0x80000040,\n\t            0x100000: 0x400040,\n\t            0x110000: 0x401000,\n\t            0x120000: 0x80000040,\n\t            0x130000: 0x0,\n\t            0x140000: 0x1040,\n\t            0x150000: 0x80400040,\n\t            0x160000: 0x80401000,\n\t            0x170000: 0x80001040,\n\t            0x180000: 0x80401040,\n\t            0x190000: 0x80000000,\n\t            0x1a0000: 0x80400000,\n\t            0x1b0000: 0x401040,\n\t            0x1c0000: 0x80001000,\n\t            0x1d0000: 0x400000,\n\t            0x1e0000: 0x40,\n\t            0x1f0000: 0x1000,\n\t            0x108000: 0x80400000,\n\t            0x118000: 0x80401040,\n\t            0x128000: 0x0,\n\t            0x138000: 0x401000,\n\t            0x148000: 0x400040,\n\t            0x158000: 0x80000000,\n\t            0x168000: 0x80001040,\n\t            0x178000: 0x40,\n\t            0x188000: 0x80000040,\n\t            0x198000: 0x1000,\n\t            0x1a8000: 0x80001000,\n\t            0x1b8000: 0x80400040,\n\t            0x1c8000: 0x1040,\n\t            0x1d8000: 0x80401000,\n\t            0x1e8000: 0x400000,\n\t            0x1f8000: 0x401040\n\t        },\n\t        {\n\t            0x0: 0x80,\n\t            0x1000: 0x1040000,\n\t            0x2000: 0x40000,\n\t            0x3000: 0x20000000,\n\t            0x4000: 0x20040080,\n\t            0x5000: 0x1000080,\n\t            0x6000: 0x21000080,\n\t            0x7000: 0x40080,\n\t            0x8000: 0x1000000,\n\t            0x9000: 0x20040000,\n\t            0xa000: 0x20000080,\n\t            0xb000: 0x21040080,\n\t            0xc000: 0x21040000,\n\t            0xd000: 0x0,\n\t            0xe000: 0x1040080,\n\t            0xf000: 0x21000000,\n\t            0x800: 0x1040080,\n\t            0x1800: 0x21000080,\n\t            0x2800: 0x80,\n\t            0x3800: 0x1040000,\n\t            0x4800: 0x40000,\n\t            0x5800: 0x20040080,\n\t            0x6800: 0x21040000,\n\t            0x7800: 0x20000000,\n\t            0x8800: 0x20040000,\n\t            0x9800: 0x0,\n\t            0xa800: 0x21040080,\n\t            0xb800: 0x1000080,\n\t            0xc800: 0x20000080,\n\t            0xd800: 0x21000000,\n\t            0xe800: 0x1000000,\n\t            0xf800: 0x40080,\n\t            0x10000: 0x40000,\n\t            0x11000: 0x80,\n\t            0x12000: 0x20000000,\n\t            0x13000: 0x21000080,\n\t            0x14000: 0x1000080,\n\t            0x15000: 0x21040000,\n\t            0x16000: 0x20040080,\n\t            0x17000: 0x1000000,\n\t            0x18000: 0x21040080,\n\t            0x19000: 0x21000000,\n\t            0x1a000: 0x1040000,\n\t            0x1b000: 0x20040000,\n\t            0x1c000: 0x40080,\n\t            0x1d000: 0x20000080,\n\t            0x1e000: 0x0,\n\t            0x1f000: 0x1040080,\n\t            0x10800: 0x21000080,\n\t            0x11800: 0x1000000,\n\t            0x12800: 0x1040000,\n\t            0x13800: 0x20040080,\n\t            0x14800: 0x20000000,\n\t            0x15800: 0x1040080,\n\t            0x16800: 0x80,\n\t            0x17800: 0x21040000,\n\t            0x18800: 0x40080,\n\t            0x19800: 0x21040080,\n\t            0x1a800: 0x0,\n\t            0x1b800: 0x21000000,\n\t            0x1c800: 0x1000080,\n\t            0x1d800: 0x40000,\n\t            0x1e800: 0x20040000,\n\t            0x1f800: 0x20000080\n\t        },\n\t        {\n\t            0x0: 0x10000008,\n\t            0x100: 0x2000,\n\t            0x200: 0x10200000,\n\t            0x300: 0x10202008,\n\t            0x400: 0x10002000,\n\t            0x500: 0x200000,\n\t            0x600: 0x200008,\n\t            0x700: 0x10000000,\n\t            0x800: 0x0,\n\t            0x900: 0x10002008,\n\t            0xa00: 0x202000,\n\t            0xb00: 0x8,\n\t            0xc00: 0x10200008,\n\t            0xd00: 0x202008,\n\t            0xe00: 0x2008,\n\t            0xf00: 0x10202000,\n\t            0x80: 0x10200000,\n\t            0x180: 0x10202008,\n\t            0x280: 0x8,\n\t            0x380: 0x200000,\n\t            0x480: 0x202008,\n\t            0x580: 0x10000008,\n\t            0x680: 0x10002000,\n\t            0x780: 0x2008,\n\t            0x880: 0x200008,\n\t            0x980: 0x2000,\n\t            0xa80: 0x10002008,\n\t            0xb80: 0x10200008,\n\t            0xc80: 0x0,\n\t            0xd80: 0x10202000,\n\t            0xe80: 0x202000,\n\t            0xf80: 0x10000000,\n\t            0x1000: 0x10002000,\n\t            0x1100: 0x10200008,\n\t            0x1200: 0x10202008,\n\t            0x1300: 0x2008,\n\t            0x1400: 0x200000,\n\t            0x1500: 0x10000000,\n\t            0x1600: 0x10000008,\n\t            0x1700: 0x202000,\n\t            0x1800: 0x202008,\n\t            0x1900: 0x0,\n\t            0x1a00: 0x8,\n\t            0x1b00: 0x10200000,\n\t            0x1c00: 0x2000,\n\t            0x1d00: 0x10002008,\n\t            0x1e00: 0x10202000,\n\t            0x1f00: 0x200008,\n\t            0x1080: 0x8,\n\t            0x1180: 0x202000,\n\t            0x1280: 0x200000,\n\t            0x1380: 0x10000008,\n\t            0x1480: 0x10002000,\n\t            0x1580: 0x2008,\n\t            0x1680: 0x10202008,\n\t            0x1780: 0x10200000,\n\t            0x1880: 0x10202000,\n\t            0x1980: 0x10200008,\n\t            0x1a80: 0x2000,\n\t            0x1b80: 0x202008,\n\t            0x1c80: 0x200008,\n\t            0x1d80: 0x0,\n\t            0x1e80: 0x10000000,\n\t            0x1f80: 0x10002008\n\t        },\n\t        {\n\t            0x0: 0x100000,\n\t            0x10: 0x2000401,\n\t            0x20: 0x400,\n\t            0x30: 0x100401,\n\t            0x40: 0x2100401,\n\t            0x50: 0x0,\n\t            0x60: 0x1,\n\t            0x70: 0x2100001,\n\t            0x80: 0x2000400,\n\t            0x90: 0x100001,\n\t            0xa0: 0x2000001,\n\t            0xb0: 0x2100400,\n\t            0xc0: 0x2100000,\n\t            0xd0: 0x401,\n\t            0xe0: 0x100400,\n\t            0xf0: 0x2000000,\n\t            0x8: 0x2100001,\n\t            0x18: 0x0,\n\t            0x28: 0x2000401,\n\t            0x38: 0x2100400,\n\t            0x48: 0x100000,\n\t            0x58: 0x2000001,\n\t            0x68: 0x2000000,\n\t            0x78: 0x401,\n\t            0x88: 0x100401,\n\t            0x98: 0x2000400,\n\t            0xa8: 0x2100000,\n\t            0xb8: 0x100001,\n\t            0xc8: 0x400,\n\t            0xd8: 0x2100401,\n\t            0xe8: 0x1,\n\t            0xf8: 0x100400,\n\t            0x100: 0x2000000,\n\t            0x110: 0x100000,\n\t            0x120: 0x2000401,\n\t            0x130: 0x2100001,\n\t            0x140: 0x100001,\n\t            0x150: 0x2000400,\n\t            0x160: 0x2100400,\n\t            0x170: 0x100401,\n\t            0x180: 0x401,\n\t            0x190: 0x2100401,\n\t            0x1a0: 0x100400,\n\t            0x1b0: 0x1,\n\t            0x1c0: 0x0,\n\t            0x1d0: 0x2100000,\n\t            0x1e0: 0x2000001,\n\t            0x1f0: 0x400,\n\t            0x108: 0x100400,\n\t            0x118: 0x2000401,\n\t            0x128: 0x2100001,\n\t            0x138: 0x1,\n\t            0x148: 0x2000000,\n\t            0x158: 0x100000,\n\t            0x168: 0x401,\n\t            0x178: 0x2100400,\n\t            0x188: 0x2000001,\n\t            0x198: 0x2100000,\n\t            0x1a8: 0x0,\n\t            0x1b8: 0x2100401,\n\t            0x1c8: 0x100401,\n\t            0x1d8: 0x400,\n\t            0x1e8: 0x2000400,\n\t            0x1f8: 0x100001\n\t        },\n\t        {\n\t            0x0: 0x8000820,\n\t            0x1: 0x20000,\n\t            0x2: 0x8000000,\n\t            0x3: 0x20,\n\t            0x4: 0x20020,\n\t            0x5: 0x8020820,\n\t            0x6: 0x8020800,\n\t            0x7: 0x800,\n\t            0x8: 0x8020000,\n\t            0x9: 0x8000800,\n\t            0xa: 0x20800,\n\t            0xb: 0x8020020,\n\t            0xc: 0x820,\n\t            0xd: 0x0,\n\t            0xe: 0x8000020,\n\t            0xf: 0x20820,\n\t            0x80000000: 0x800,\n\t            0x80000001: 0x8020820,\n\t            0x80000002: 0x8000820,\n\t            0x80000003: 0x8000000,\n\t            0x80000004: 0x8020000,\n\t            0x80000005: 0x20800,\n\t            0x80000006: 0x20820,\n\t            0x80000007: 0x20,\n\t            0x80000008: 0x8000020,\n\t            0x80000009: 0x820,\n\t            0x8000000a: 0x20020,\n\t            0x8000000b: 0x8020800,\n\t            0x8000000c: 0x0,\n\t            0x8000000d: 0x8020020,\n\t            0x8000000e: 0x8000800,\n\t            0x8000000f: 0x20000,\n\t            0x10: 0x20820,\n\t            0x11: 0x8020800,\n\t            0x12: 0x20,\n\t            0x13: 0x800,\n\t            0x14: 0x8000800,\n\t            0x15: 0x8000020,\n\t            0x16: 0x8020020,\n\t            0x17: 0x20000,\n\t            0x18: 0x0,\n\t            0x19: 0x20020,\n\t            0x1a: 0x8020000,\n\t            0x1b: 0x8000820,\n\t            0x1c: 0x8020820,\n\t            0x1d: 0x20800,\n\t            0x1e: 0x820,\n\t            0x1f: 0x8000000,\n\t            0x80000010: 0x20000,\n\t            0x80000011: 0x800,\n\t            0x80000012: 0x8020020,\n\t            0x80000013: 0x20820,\n\t            0x80000014: 0x20,\n\t            0x80000015: 0x8020000,\n\t            0x80000016: 0x8000000,\n\t            0x80000017: 0x8000820,\n\t            0x80000018: 0x8020820,\n\t            0x80000019: 0x8000020,\n\t            0x8000001a: 0x8000800,\n\t            0x8000001b: 0x0,\n\t            0x8000001c: 0x20800,\n\t            0x8000001d: 0x820,\n\t            0x8000001e: 0x20020,\n\t            0x8000001f: 0x8020800\n\t        }\n\t    ];\n\n\t    // Masks that select the SBOX input\n\t    var SBOX_MASK = [\n\t        0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000,\n\t        0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f\n\t    ];\n\n\t    /**\n\t     * DES block cipher algorithm.\n\t     */\n\t    var DES = C_algo.DES = BlockCipher.extend({\n\t        _doReset: function () {\n\t            // Shortcuts\n\t            var key = this._key;\n\t            var keyWords = key.words;\n\n\t            // Select 56 bits according to PC1\n\t            var keyBits = [];\n\t            for (var i = 0; i < 56; i++) {\n\t                var keyBitPos = PC1[i] - 1;\n\t                keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1;\n\t            }\n\n\t            // Assemble 16 subkeys\n\t            var subKeys = this._subKeys = [];\n\t            for (var nSubKey = 0; nSubKey < 16; nSubKey++) {\n\t                // Create subkey\n\t                var subKey = subKeys[nSubKey] = [];\n\n\t                // Shortcut\n\t                var bitShift = BIT_SHIFTS[nSubKey];\n\n\t                // Select 48 bits according to PC2\n\t                for (var i = 0; i < 24; i++) {\n\t                    // Select from the left 28 key bits\n\t                    subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6);\n\n\t                    // Select from the right 28 key bits\n\t                    subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6);\n\t                }\n\n\t                // Since each subkey is applied to an expanded 32-bit input,\n\t                // the subkey can be broken into 8 values scaled to 32-bits,\n\t                // which allows the key to be used without expansion\n\t                subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31);\n\t                for (var i = 1; i < 7; i++) {\n\t                    subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3);\n\t                }\n\t                subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27);\n\t            }\n\n\t            // Compute inverse subkeys\n\t            var invSubKeys = this._invSubKeys = [];\n\t            for (var i = 0; i < 16; i++) {\n\t                invSubKeys[i] = subKeys[15 - i];\n\t            }\n\t        },\n\n\t        encryptBlock: function (M, offset) {\n\t            this._doCryptBlock(M, offset, this._subKeys);\n\t        },\n\n\t        decryptBlock: function (M, offset) {\n\t            this._doCryptBlock(M, offset, this._invSubKeys);\n\t        },\n\n\t        _doCryptBlock: function (M, offset, subKeys) {\n\t            // Get input\n\t            this._lBlock = M[offset];\n\t            this._rBlock = M[offset + 1];\n\n\t            // Initial permutation\n\t            exchangeLR.call(this, 4,  0x0f0f0f0f);\n\t            exchangeLR.call(this, 16, 0x0000ffff);\n\t            exchangeRL.call(this, 2,  0x33333333);\n\t            exchangeRL.call(this, 8,  0x00ff00ff);\n\t            exchangeLR.call(this, 1,  0x55555555);\n\n\t            // Rounds\n\t            for (var round = 0; round < 16; round++) {\n\t                // Shortcuts\n\t                var subKey = subKeys[round];\n\t                var lBlock = this._lBlock;\n\t                var rBlock = this._rBlock;\n\n\t                // Feistel function\n\t                var f = 0;\n\t                for (var i = 0; i < 8; i++) {\n\t                    f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0];\n\t                }\n\t                this._lBlock = rBlock;\n\t                this._rBlock = lBlock ^ f;\n\t            }\n\n\t            // Undo swap from last round\n\t            var t = this._lBlock;\n\t            this._lBlock = this._rBlock;\n\t            this._rBlock = t;\n\n\t            // Final permutation\n\t            exchangeLR.call(this, 1,  0x55555555);\n\t            exchangeRL.call(this, 8,  0x00ff00ff);\n\t            exchangeRL.call(this, 2,  0x33333333);\n\t            exchangeLR.call(this, 16, 0x0000ffff);\n\t            exchangeLR.call(this, 4,  0x0f0f0f0f);\n\n\t            // Set output\n\t            M[offset] = this._lBlock;\n\t            M[offset + 1] = this._rBlock;\n\t        },\n\n\t        keySize: 64/32,\n\n\t        ivSize: 64/32,\n\n\t        blockSize: 64/32\n\t    });\n\n\t    // Swap bits across the left and right words\n\t    function exchangeLR(offset, mask) {\n\t        var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask;\n\t        this._rBlock ^= t;\n\t        this._lBlock ^= t << offset;\n\t    }\n\n\t    function exchangeRL(offset, mask) {\n\t        var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask;\n\t        this._lBlock ^= t;\n\t        this._rBlock ^= t << offset;\n\t    }\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.DES.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.DES.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.DES = BlockCipher._createHelper(DES);\n\n\t    /**\n\t     * Triple-DES block cipher algorithm.\n\t     */\n\t    var TripleDES = C_algo.TripleDES = BlockCipher.extend({\n\t        _doReset: function () {\n\t            // Shortcuts\n\t            var key = this._key;\n\t            var keyWords = key.words;\n\t            // Make sure the key length is valid (64, 128 or >= 192 bit)\n\t            if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) {\n\t                throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.');\n\t            }\n\n\t            // Extend the key according to the keying options defined in 3DES standard\n\t            var key1 = keyWords.slice(0, 2);\n\t            var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4);\n\t            var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6);\n\n\t            // Create DES instances\n\t            this._des1 = DES.createEncryptor(WordArray.create(key1));\n\t            this._des2 = DES.createEncryptor(WordArray.create(key2));\n\t            this._des3 = DES.createEncryptor(WordArray.create(key3));\n\t        },\n\n\t        encryptBlock: function (M, offset) {\n\t            this._des1.encryptBlock(M, offset);\n\t            this._des2.decryptBlock(M, offset);\n\t            this._des3.encryptBlock(M, offset);\n\t        },\n\n\t        decryptBlock: function (M, offset) {\n\t            this._des3.decryptBlock(M, offset);\n\t            this._des2.encryptBlock(M, offset);\n\t            this._des1.decryptBlock(M, offset);\n\t        },\n\n\t        keySize: 192/32,\n\n\t        ivSize: 64/32,\n\n\t        blockSize: 64/32\n\t    });\n\n\t    /**\n\t     * Shortcut functions to the cipher's object interface.\n\t     *\n\t     * @example\n\t     *\n\t     *     var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg);\n\t     *     var plaintext  = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg);\n\t     */\n\t    C.TripleDES = BlockCipher._createHelper(TripleDES);\n\t}());\n\n\n\treturn CryptoJS.TripleDES;\n\n}));",";(function (root, factory) {\n\tif (typeof exports === \"object\") {\n\t\t// CommonJS\n\t\tmodule.exports = exports = factory(require(\"./core\"));\n\t}\n\telse if (typeof define === \"function\" && define.amd) {\n\t\t// AMD\n\t\tdefine([\"./core\"], factory);\n\t}\n\telse {\n\t\t// Global (browser)\n\t\tfactory(root.CryptoJS);\n\t}\n}(this, function (CryptoJS) {\n\n\t(function (undefined) {\n\t    // Shortcuts\n\t    var C = CryptoJS;\n\t    var C_lib = C.lib;\n\t    var Base = C_lib.Base;\n\t    var X32WordArray = C_lib.WordArray;\n\n\t    /**\n\t     * x64 namespace.\n\t     */\n\t    var C_x64 = C.x64 = {};\n\n\t    /**\n\t     * A 64-bit word.\n\t     */\n\t    var X64Word = C_x64.Word = Base.extend({\n\t        /**\n\t         * Initializes a newly created 64-bit word.\n\t         *\n\t         * @param {number} high The high 32 bits.\n\t         * @param {number} low The low 32 bits.\n\t         *\n\t         * @example\n\t         *\n\t         *     var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607);\n\t         */\n\t        init: function (high, low) {\n\t            this.high = high;\n\t            this.low = low;\n\t        }\n\n\t        /**\n\t         * Bitwise NOTs this word.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after negating.\n\t         *\n\t         * @example\n\t         *\n\t         *     var negated = x64Word.not();\n\t         */\n\t        // not: function () {\n\t            // var high = ~this.high;\n\t            // var low = ~this.low;\n\n\t            // return X64Word.create(high, low);\n\t        // },\n\n\t        /**\n\t         * Bitwise ANDs this word with the passed word.\n\t         *\n\t         * @param {X64Word} word The x64-Word to AND with this word.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after ANDing.\n\t         *\n\t         * @example\n\t         *\n\t         *     var anded = x64Word.and(anotherX64Word);\n\t         */\n\t        // and: function (word) {\n\t            // var high = this.high & word.high;\n\t            // var low = this.low & word.low;\n\n\t            // return X64Word.create(high, low);\n\t        // },\n\n\t        /**\n\t         * Bitwise ORs this word with the passed word.\n\t         *\n\t         * @param {X64Word} word The x64-Word to OR with this word.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after ORing.\n\t         *\n\t         * @example\n\t         *\n\t         *     var ored = x64Word.or(anotherX64Word);\n\t         */\n\t        // or: function (word) {\n\t            // var high = this.high | word.high;\n\t            // var low = this.low | word.low;\n\n\t            // return X64Word.create(high, low);\n\t        // },\n\n\t        /**\n\t         * Bitwise XORs this word with the passed word.\n\t         *\n\t         * @param {X64Word} word The x64-Word to XOR with this word.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after XORing.\n\t         *\n\t         * @example\n\t         *\n\t         *     var xored = x64Word.xor(anotherX64Word);\n\t         */\n\t        // xor: function (word) {\n\t            // var high = this.high ^ word.high;\n\t            // var low = this.low ^ word.low;\n\n\t            // return X64Word.create(high, low);\n\t        // },\n\n\t        /**\n\t         * Shifts this word n bits to the left.\n\t         *\n\t         * @param {number} n The number of bits to shift.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after shifting.\n\t         *\n\t         * @example\n\t         *\n\t         *     var shifted = x64Word.shiftL(25);\n\t         */\n\t        // shiftL: function (n) {\n\t            // if (n < 32) {\n\t                // var high = (this.high << n) | (this.low >>> (32 - n));\n\t                // var low = this.low << n;\n\t            // } else {\n\t                // var high = this.low << (n - 32);\n\t                // var low = 0;\n\t            // }\n\n\t            // return X64Word.create(high, low);\n\t        // },\n\n\t        /**\n\t         * Shifts this word n bits to the right.\n\t         *\n\t         * @param {number} n The number of bits to shift.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after shifting.\n\t         *\n\t         * @example\n\t         *\n\t         *     var shifted = x64Word.shiftR(7);\n\t         */\n\t        // shiftR: function (n) {\n\t            // if (n < 32) {\n\t                // var low = (this.low >>> n) | (this.high << (32 - n));\n\t                // var high = this.high >>> n;\n\t            // } else {\n\t                // var low = this.high >>> (n - 32);\n\t                // var high = 0;\n\t            // }\n\n\t            // return X64Word.create(high, low);\n\t        // },\n\n\t        /**\n\t         * Rotates this word n bits to the left.\n\t         *\n\t         * @param {number} n The number of bits to rotate.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after rotating.\n\t         *\n\t         * @example\n\t         *\n\t         *     var rotated = x64Word.rotL(25);\n\t         */\n\t        // rotL: function (n) {\n\t            // return this.shiftL(n).or(this.shiftR(64 - n));\n\t        // },\n\n\t        /**\n\t         * Rotates this word n bits to the right.\n\t         *\n\t         * @param {number} n The number of bits to rotate.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after rotating.\n\t         *\n\t         * @example\n\t         *\n\t         *     var rotated = x64Word.rotR(7);\n\t         */\n\t        // rotR: function (n) {\n\t            // return this.shiftR(n).or(this.shiftL(64 - n));\n\t        // },\n\n\t        /**\n\t         * Adds this word with the passed word.\n\t         *\n\t         * @param {X64Word} word The x64-Word to add with this word.\n\t         *\n\t         * @return {X64Word} A new x64-Word object after adding.\n\t         *\n\t         * @example\n\t         *\n\t         *     var added = x64Word.add(anotherX64Word);\n\t         */\n\t        // add: function (word) {\n\t            // var low = (this.low + word.low) | 0;\n\t            // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0;\n\t            // var high = (this.high + word.high + carry) | 0;\n\n\t            // return X64Word.create(high, low);\n\t        // }\n\t    });\n\n\t    /**\n\t     * An array of 64-bit words.\n\t     *\n\t     * @property {Array} words The array of CryptoJS.x64.Word objects.\n\t     * @property {number} sigBytes The number of significant bytes in this word array.\n\t     */\n\t    var X64WordArray = C_x64.WordArray = Base.extend({\n\t        /**\n\t         * Initializes a newly created word array.\n\t         *\n\t         * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects.\n\t         * @param {number} sigBytes (Optional) The number of significant bytes in the words.\n\t         *\n\t         * @example\n\t         *\n\t         *     var wordArray = CryptoJS.x64.WordArray.create();\n\t         *\n\t         *     var wordArray = CryptoJS.x64.WordArray.create([\n\t         *         CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t         *         CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t         *     ]);\n\t         *\n\t         *     var wordArray = CryptoJS.x64.WordArray.create([\n\t         *         CryptoJS.x64.Word.create(0x00010203, 0x04050607),\n\t         *         CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f)\n\t         *     ], 10);\n\t         */\n\t        init: function (words, sigBytes) {\n\t            words = this.words = words || [];\n\n\t            if (sigBytes != undefined) {\n\t                this.sigBytes = sigBytes;\n\t            } else {\n\t                this.sigBytes = words.length * 8;\n\t            }\n\t        },\n\n\t        /**\n\t         * Converts this 64-bit word array to a 32-bit word array.\n\t         *\n\t         * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array.\n\t         *\n\t         * @example\n\t         *\n\t         *     var x32WordArray = x64WordArray.toX32();\n\t         */\n\t        toX32: function () {\n\t            // Shortcuts\n\t            var x64Words = this.words;\n\t            var x64WordsLength = x64Words.length;\n\n\t            // Convert\n\t            var x32Words = [];\n\t            for (var i = 0; i < x64WordsLength; i++) {\n\t                var x64Word = x64Words[i];\n\t                x32Words.push(x64Word.high);\n\t                x32Words.push(x64Word.low);\n\t            }\n\n\t            return X32WordArray.create(x32Words, this.sigBytes);\n\t        },\n\n\t        /**\n\t         * Creates a copy of this word array.\n\t         *\n\t         * @return {X64WordArray} The clone.\n\t         *\n\t         * @example\n\t         *\n\t         *     var clone = x64WordArray.clone();\n\t         */\n\t        clone: function () {\n\t            var clone = Base.clone.call(this);\n\n\t            // Clone \"words\" array\n\t            var words = clone.words = this.words.slice(0);\n\n\t            // Clone each X64Word object\n\t            var wordsLength = words.length;\n\t            for (var i = 0; i < wordsLength; i++) {\n\t                words[i] = words[i].clone();\n\t            }\n\n\t            return clone;\n\t        }\n\t    });\n\t}());\n\n\n\treturn CryptoJS;\n\n}));","const INITIAL_STATE = 1;\nconst FAIL_STATE = 0;\n\n/**\n * A StateMachine represents a deterministic finite automaton.\n * It can perform matches over a sequence of values, similar to a regular expression.\n */\nexport default class StateMachine {\n  constructor(dfa) {\n    this.stateTable = dfa.stateTable;\n    this.accepting = dfa.accepting;\n    this.tags = dfa.tags;\n  }\n\n  /**\n   * Returns an iterable object that yields pattern matches over the input sequence.\n   * Matches are of the form [startIndex, endIndex, tags].\n   */\n  match(str) {\n    let self = this;\n    return {\n      *[Symbol.iterator]() {\n        let state = INITIAL_STATE;\n        let startRun = null;\n        let lastAccepting = null;\n        let lastState = null;\n\n        for (let p = 0; p < str.length; p++) {\n          let c = str[p];\n\n          lastState = state;\n          state = self.stateTable[state][c];\n\n          if (state === FAIL_STATE) {\n            // yield the last match if any\n            if (startRun != null && lastAccepting != null && lastAccepting >= startRun) {\n              yield [startRun, lastAccepting, self.tags[lastState]];\n            }\n\n            // reset the state as if we started over from the initial state\n            state = self.stateTable[INITIAL_STATE][c];\n            startRun = null;\n          }\n\n          // start a run if not in the failure state\n          if (state !== FAIL_STATE && startRun == null) {\n            startRun = p;\n          }\n\n          // if accepting, mark the potential match end\n          if (self.accepting[state]) {\n            lastAccepting = p;\n          }\n\n          // reset the state to the initial state if we get into the failure state\n          if (state === FAIL_STATE) {\n            state = INITIAL_STATE;\n          }\n        }\n\n        // yield the last match if any\n        if (startRun != null && lastAccepting != null && lastAccepting >= startRun) {\n          yield [startRun, lastAccepting, self.tags[state]];\n        }\n      }\n    };\n  }\n\n  /**\n   * For each match over the input sequence, action functions matching\n   * the tag definitions in the input pattern are called with the startIndex,\n   * endIndex, and sub-match sequence.\n   */\n  apply(str, actions) {\n    for (let [start, end, tags] of this.match(str)) {\n      for (let tag of tags) {\n        if (typeof actions[tag] === 'function') {\n          actions[tag](start, end, str.slice(start, end + 1));\n        }\n      }\n    }\n  }\n}\n","/*\n * MIT LICENSE\n * Copyright (c) 2011 Devon Govett\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nconst fs = require('fs');\nconst zlib = require('zlib');\n\nmodule.exports = class PNG {\n  static decode(path, fn) {\n    return fs.readFile(path, function(err, file) {\n      const png = new PNG(file);\n      return png.decode(pixels => fn(pixels));\n    });\n  }\n\n  static load(path) {\n    const file = fs.readFileSync(path);\n    return new PNG(file);\n  }\n\n  constructor(data) {\n    let i;\n    this.data = data;\n    this.pos = 8; // Skip the default header\n\n    this.palette = [];\n    this.imgData = [];\n    this.transparency = {};\n    this.text = {};\n\n    while (true) {\n      const chunkSize = this.readUInt32();\n      let section = '';\n      for (i = 0; i < 4; i++) {\n        section += String.fromCharCode(this.data[this.pos++]);\n      }\n\n      switch (section) {\n        case 'IHDR':\n          // we can grab  interesting values from here (like width, height, etc)\n          this.width = this.readUInt32();\n          this.height = this.readUInt32();\n          this.bits = this.data[this.pos++];\n          this.colorType = this.data[this.pos++];\n          this.compressionMethod = this.data[this.pos++];\n          this.filterMethod = this.data[this.pos++];\n          this.interlaceMethod = this.data[this.pos++];\n          break;\n\n        case 'PLTE':\n          this.palette = this.read(chunkSize);\n          break;\n\n        case 'IDAT':\n          for (i = 0; i < chunkSize; i++) {\n            this.imgData.push(this.data[this.pos++]);\n          }\n          break;\n\n        case 'tRNS':\n          // This chunk can only occur once and it must occur after the\n          // PLTE chunk and before the IDAT chunk.\n          this.transparency = {};\n          switch (this.colorType) {\n            case 3:\n              // Indexed color, RGB. Each byte in this chunk is an alpha for\n              // the palette index in the PLTE (\"palette\") chunk up until the\n              // last non-opaque entry. Set up an array, stretching over all\n              // palette entries which will be 0 (opaque) or 1 (transparent).\n              this.transparency.indexed = this.read(chunkSize);\n              var short = 255 - this.transparency.indexed.length;\n              if (short > 0) {\n                for (i = 0; i < short; i++) {\n                  this.transparency.indexed.push(255);\n                }\n              }\n              break;\n            case 0:\n              // Greyscale. Corresponding to entries in the PLTE chunk.\n              // Grey is two bytes, range 0 .. (2 ^ bit-depth) - 1\n              this.transparency.grayscale = this.read(chunkSize)[0];\n              break;\n            case 2:\n              // True color with proper alpha channel.\n              this.transparency.rgb = this.read(chunkSize);\n              break;\n          }\n          break;\n\n        case 'tEXt':\n          var text = this.read(chunkSize);\n          var index = text.indexOf(0);\n          var key = String.fromCharCode.apply(String, text.slice(0, index));\n          this.text[key] = String.fromCharCode.apply(\n            String,\n            text.slice(index + 1)\n          );\n          break;\n\n        case 'IEND':\n          // we've got everything we need!\n          switch (this.colorType) {\n            case 0:\n            case 3:\n            case 4:\n              this.colors = 1;\n              break;\n            case 2:\n            case 6:\n              this.colors = 3;\n              break;\n          }\n\n          this.hasAlphaChannel = [4, 6].includes(this.colorType);\n          var colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n          this.pixelBitlength = this.bits * colors;\n\n          switch (this.colors) {\n            case 1:\n              this.colorSpace = 'DeviceGray';\n              break;\n            case 3:\n              this.colorSpace = 'DeviceRGB';\n              break;\n          }\n\n          this.imgData = new Buffer(this.imgData);\n          return;\n          break;\n\n        default:\n          // unknown (or unimportant) section, skip it\n          this.pos += chunkSize;\n      }\n\n      this.pos += 4; // Skip the CRC\n\n      if (this.pos > this.data.length) {\n        throw new Error('Incomplete or corrupt PNG file');\n      }\n    }\n  }\n\n  read(bytes) {\n    const result = new Array(bytes);\n    for (let i = 0; i < bytes; i++) {\n      result[i] = this.data[this.pos++];\n    }\n    return result;\n  }\n\n  readUInt32() {\n    const b1 = this.data[this.pos++] << 24;\n    const b2 = this.data[this.pos++] << 16;\n    const b3 = this.data[this.pos++] << 8;\n    const b4 = this.data[this.pos++];\n    return b1 | b2 | b3 | b4;\n  }\n\n  readUInt16() {\n    const b1 = this.data[this.pos++] << 8;\n    const b2 = this.data[this.pos++];\n    return b1 | b2;\n  }\n\n  decodePixels(fn) {\n    return zlib.inflate(this.imgData, (err, data) => {\n      if (err) {\n        throw err;\n      }\n\n      const { width, height } = this;\n      const pixelBytes = this.pixelBitlength / 8;\n\n      const pixels = new Buffer(width * height * pixelBytes);\n      const { length } = data;\n      let pos = 0;\n\n      function pass(x0, y0, dx, dy, singlePass = false) {\n        const w = Math.ceil((width - x0) / dx);\n        const h = Math.ceil((height - y0) / dy);\n        const scanlineLength = pixelBytes * w;\n        const buffer = singlePass ? pixels : new Buffer(scanlineLength * h);\n        let row = 0;\n        let c = 0;\n        while (row < h && pos < length) {\n          var byte, col, i, left, upper;\n          switch (data[pos++]) {\n            case 0: // None\n              for (i = 0; i < scanlineLength; i++) {\n                buffer[c++] = data[pos++];\n              }\n              break;\n\n            case 1: // Sub\n              for (i = 0; i < scanlineLength; i++) {\n                byte = data[pos++];\n                left = i < pixelBytes ? 0 : buffer[c - pixelBytes];\n                buffer[c++] = (byte + left) % 256;\n              }\n              break;\n\n            case 2: // Up\n              for (i = 0; i < scanlineLength; i++) {\n                byte = data[pos++];\n                col = (i - (i % pixelBytes)) / pixelBytes;\n                upper =\n                  row &&\n                  buffer[\n                    (row - 1) * scanlineLength +\n                      col * pixelBytes +\n                      (i % pixelBytes)\n                  ];\n                buffer[c++] = (upper + byte) % 256;\n              }\n              break;\n\n            case 3: // Average\n              for (i = 0; i < scanlineLength; i++) {\n                byte = data[pos++];\n                col = (i - (i % pixelBytes)) / pixelBytes;\n                left = i < pixelBytes ? 0 : buffer[c - pixelBytes];\n                upper =\n                  row &&\n                  buffer[\n                    (row - 1) * scanlineLength +\n                      col * pixelBytes +\n                      (i % pixelBytes)\n                  ];\n                buffer[c++] = (byte + Math.floor((left + upper) / 2)) % 256;\n              }\n              break;\n\n            case 4: // Paeth\n              for (i = 0; i < scanlineLength; i++) {\n                var paeth, upperLeft;\n                byte = data[pos++];\n                col = (i - (i % pixelBytes)) / pixelBytes;\n                left = i < pixelBytes ? 0 : buffer[c - pixelBytes];\n\n                if (row === 0) {\n                  upper = upperLeft = 0;\n                } else {\n                  upper =\n                    buffer[\n                      (row - 1) * scanlineLength +\n                        col * pixelBytes +\n                        (i % pixelBytes)\n                    ];\n                  upperLeft =\n                    col &&\n                    buffer[\n                      (row - 1) * scanlineLength +\n                        (col - 1) * pixelBytes +\n                        (i % pixelBytes)\n                    ];\n                }\n\n                const p = left + upper - upperLeft;\n                const pa = Math.abs(p - left);\n                const pb = Math.abs(p - upper);\n                const pc = Math.abs(p - upperLeft);\n\n                if (pa <= pb && pa <= pc) {\n                  paeth = left;\n                } else if (pb <= pc) {\n                  paeth = upper;\n                } else {\n                  paeth = upperLeft;\n                }\n\n                buffer[c++] = (byte + paeth) % 256;\n              }\n              break;\n\n            default:\n              throw new Error(`Invalid filter algorithm: ${data[pos - 1]}`);\n          }\n\n          if (!singlePass) {\n            let pixelsPos = ((y0 + row * dy) * width + x0) * pixelBytes;\n            let bufferPos = row * scanlineLength;\n            for (i = 0; i < w; i++) {\n              for (let j = 0; j < pixelBytes; j++)\n                pixels[pixelsPos++] = buffer[bufferPos++];\n              pixelsPos += (dx - 1) * pixelBytes;\n            }\n          }\n\n          row++;\n        }\n      }\n\n      if (this.interlaceMethod === 1) {\n        /*\n          1 6 4 6 2 6 4 6\n          7 7 7 7 7 7 7 7\n          5 6 5 6 5 6 5 6\n          7 7 7 7 7 7 7 7\n          3 6 4 6 3 6 4 6\n          7 7 7 7 7 7 7 7\n          5 6 5 6 5 6 5 6\n          7 7 7 7 7 7 7 7\n        */\n        pass(0, 0, 8, 8); // 1\n        pass(4, 0, 8, 8); // 2\n        pass(0, 4, 4, 8); // 3\n        pass(2, 0, 4, 4); // 4\n        pass(0, 2, 2, 4); // 5\n        pass(1, 0, 2, 2); // 6\n        pass(0, 1, 1, 2); // 7\n      } else {\n        pass(0, 0, 1, 1, true);\n      }\n\n      return fn(pixels);\n    });\n  }\n\n  decodePalette() {\n    const { palette } = this;\n    const { length } = palette;\n    const transparency = this.transparency.indexed || [];\n    const ret = new Buffer(transparency.length + length);\n    let pos = 0;\n    let c = 0;\n\n    for (let i = 0; i < length; i += 3) {\n      var left;\n      ret[pos++] = palette[i];\n      ret[pos++] = palette[i + 1];\n      ret[pos++] = palette[i + 2];\n      ret[pos++] = (left = transparency[c++]) != null ? left : 255;\n    }\n\n    return ret;\n  }\n\n  copyToImageData(imageData, pixels) {\n    let j, k;\n    let { colors } = this;\n    let palette = null;\n    let alpha = this.hasAlphaChannel;\n\n    if (this.palette.length) {\n      palette =\n        this._decodedPalette || (this._decodedPalette = this.decodePalette());\n      colors = 4;\n      alpha = true;\n    }\n\n    const data = imageData.data || imageData;\n    const { length } = data;\n    const input = palette || pixels;\n    let i = (j = 0);\n\n    if (colors === 1) {\n      while (i < length) {\n        k = palette ? pixels[i / 4] * 4 : j;\n        const v = input[k++];\n        data[i++] = v;\n        data[i++] = v;\n        data[i++] = v;\n        data[i++] = alpha ? input[k++] : 255;\n        j = k;\n      }\n    } else {\n      while (i < length) {\n        k = palette ? pixels[i / 4] * 4 : j;\n        data[i++] = input[k++];\n        data[i++] = input[k++];\n        data[i++] = input[k++];\n        data[i++] = alpha ? input[k++] : 255;\n        j = k;\n      }\n    }\n  }\n\n  decode(fn) {\n    const ret = new Buffer(this.width * this.height * 4);\n    return this.decodePixels(pixels => {\n      this.copyToImageData(ret, pixels);\n      return fn(ret);\n    });\n  }\n};\n","/* eslint-disable node/no-deprecated-api */\n\n'use strict'\n\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\nvar safer = {}\n\nvar key\n\nfor (key in buffer) {\n  if (!buffer.hasOwnProperty(key)) continue\n  if (key === 'SlowBuffer' || key === 'Buffer') continue\n  safer[key] = buffer[key]\n}\n\nvar Safer = safer.Buffer = {}\nfor (key in Buffer) {\n  if (!Buffer.hasOwnProperty(key)) continue\n  if (key === 'allocUnsafe' || key === 'allocUnsafeSlow') continue\n  Safer[key] = Buffer[key]\n}\n\nsafer.Buffer.prototype = Buffer.prototype\n\nif (!Safer.from || Safer.from === Uint8Array.from) {\n  Safer.from = function (value, encodingOrOffset, length) {\n    if (typeof value === 'number') {\n      throw new TypeError('The \"value\" argument must not be of type number. Received type ' + typeof value)\n    }\n    if (value && typeof value.length === 'undefined') {\n      throw new TypeError('The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type ' + typeof value)\n    }\n    return Buffer(value, encodingOrOffset, length)\n  }\n}\n\nif (!Safer.alloc) {\n  Safer.alloc = function (size, fill, encoding) {\n    if (typeof size !== 'number') {\n      throw new TypeError('The \"size\" argument must be of type number. Received type ' + typeof size)\n    }\n    if (size < 0 || size >= 2 * (1 << 30)) {\n      throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n    }\n    var buf = Buffer(size)\n    if (!fill || fill.length === 0) {\n      buf.fill(0)\n    } else if (typeof encoding === 'string') {\n      buf.fill(fill, encoding)\n    } else {\n      buf.fill(fill)\n    }\n    return buf\n  }\n}\n\nif (!safer.kStringMaxLength) {\n  try {\n    safer.kStringMaxLength = process.binding('buffer').kStringMaxLength\n  } catch (e) {\n    // we can't determine kStringMaxLength in environments where process.binding\n    // is unsupported, so let's not set it\n  }\n}\n\nif (!safer.constants) {\n  safer.constants = {\n    MAX_LENGTH: safer.kMaxLength\n  }\n  if (safer.kStringMaxLength) {\n    safer.constants.MAX_STRING_LENGTH = safer.kStringMaxLength\n  }\n}\n\nmodule.exports = safer\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n    Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n    inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n  Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n  function BufferList() {\n    _classCallCheck(this, BufferList);\n\n    this.head = null;\n    this.tail = null;\n    this.length = 0;\n  }\n\n  _createClass(BufferList, [{\n    key: \"push\",\n    value: function push(v) {\n      var entry = {\n        data: v,\n        next: null\n      };\n      if (this.length > 0) this.tail.next = entry;else this.head = entry;\n      this.tail = entry;\n      ++this.length;\n    }\n  }, {\n    key: \"unshift\",\n    value: function unshift(v) {\n      var entry = {\n        data: v,\n        next: this.head\n      };\n      if (this.length === 0) this.tail = entry;\n      this.head = entry;\n      ++this.length;\n    }\n  }, {\n    key: \"shift\",\n    value: function shift() {\n      if (this.length === 0) return;\n      var ret = this.head.data;\n      if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n      --this.length;\n      return ret;\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      this.head = this.tail = null;\n      this.length = 0;\n    }\n  }, {\n    key: \"join\",\n    value: function join(s) {\n      if (this.length === 0) return '';\n      var p = this.head;\n      var ret = '' + p.data;\n\n      while (p = p.next) {\n        ret += s + p.data;\n      }\n\n      return ret;\n    }\n  }, {\n    key: \"concat\",\n    value: function concat(n) {\n      if (this.length === 0) return Buffer.alloc(0);\n      var ret = Buffer.allocUnsafe(n >>> 0);\n      var p = this.head;\n      var i = 0;\n\n      while (p) {\n        copyBuffer(p.data, ret, i);\n        i += p.data.length;\n        p = p.next;\n      }\n\n      return ret;\n    } // Consumes a specified amount of bytes or characters from the buffered data.\n\n  }, {\n    key: \"consume\",\n    value: function consume(n, hasStrings) {\n      var ret;\n\n      if (n < this.head.data.length) {\n        // `slice` is the same for buffers and strings.\n        ret = this.head.data.slice(0, n);\n        this.head.data = this.head.data.slice(n);\n      } else if (n === this.head.data.length) {\n        // First chunk is a perfect match.\n        ret = this.shift();\n      } else {\n        // Result spans more than one buffer.\n        ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n      }\n\n      return ret;\n    }\n  }, {\n    key: \"first\",\n    value: function first() {\n      return this.head.data;\n    } // Consumes a specified amount of characters from the buffered data.\n\n  }, {\n    key: \"_getString\",\n    value: function _getString(n) {\n      var p = this.head;\n      var c = 1;\n      var ret = p.data;\n      n -= ret.length;\n\n      while (p = p.next) {\n        var str = p.data;\n        var nb = n > str.length ? str.length : n;\n        if (nb === str.length) ret += str;else ret += str.slice(0, n);\n        n -= nb;\n\n        if (n === 0) {\n          if (nb === str.length) {\n            ++c;\n            if (p.next) this.head = p.next;else this.head = this.tail = null;\n          } else {\n            this.head = p;\n            p.data = str.slice(nb);\n          }\n\n          break;\n        }\n\n        ++c;\n      }\n\n      this.length -= c;\n      return ret;\n    } // Consumes a specified amount of bytes from the buffered data.\n\n  }, {\n    key: \"_getBuffer\",\n    value: function _getBuffer(n) {\n      var ret = Buffer.allocUnsafe(n);\n      var p = this.head;\n      var c = 1;\n      p.data.copy(ret);\n      n -= p.data.length;\n\n      while (p = p.next) {\n        var buf = p.data;\n        var nb = n > buf.length ? buf.length : n;\n        buf.copy(ret, ret.length - n, 0, nb);\n        n -= nb;\n\n        if (n === 0) {\n          if (nb === buf.length) {\n            ++c;\n            if (p.next) this.head = p.next;else this.head = this.tail = null;\n          } else {\n            this.head = p;\n            p.data = buf.slice(nb);\n          }\n\n          break;\n        }\n\n        ++c;\n      }\n\n      this.length -= c;\n      return ret;\n    } // Make sure the linked list only shows the minimal necessary information.\n\n  }, {\n    key: custom,\n    value: function value(_, options) {\n      return inspect(this, _objectSpread({}, options, {\n        // Only inspect one level.\n        depth: 0,\n        // It should not recurse.\n        customInspect: false\n      }));\n    }\n  }]);\n\n  return BufferList;\n}();","/*\r\nPDFAbstractReference - abstract class for PDF reference\r\n*/\r\n\r\nclass PDFAbstractReference {\r\n  toString() {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n}\r\n\r\nexport default PDFAbstractReference;\r\n","/*\r\nPDFTree - abstract base class for name and number tree objects\r\n*/\r\n\r\nimport PDFObject from './object';\r\n\r\nclass PDFTree {\r\n  constructor(options = {}) {\r\n    this._items = {};\r\n    // disable /Limits output for this tree\r\n    this.limits =\r\n      typeof options.limits === 'boolean' ? options.limits : true;\r\n  }\r\n\r\n  add(key, val) {\r\n    return (this._items[key] = val);\r\n  }\r\n\r\n  get(key) {\r\n    return this._items[key];\r\n  }\r\n\r\n  toString() {\r\n    // Needs to be sorted by key\r\n    const sortedKeys = Object.keys(this._items).sort((a, b) =>\r\n      this._compareKeys(a, b)\r\n    );\r\n\r\n    const out = ['<<'];\r\n    if (this.limits && sortedKeys.length > 1) {\r\n      const first = sortedKeys[0],\r\n        last = sortedKeys[sortedKeys.length - 1];\r\n      out.push(\r\n        `  /Limits ${PDFObject.convert([this._dataForKey(first), this._dataForKey(last)])}`\r\n      );\r\n    }\r\n    out.push(`  /${this._keysName()} [`);\r\n    for (let key of sortedKeys) {\r\n      out.push(\r\n        `    ${PDFObject.convert(this._dataForKey(key))} ${PDFObject.convert(\r\n          this._items[key]\r\n        )}`\r\n      );\r\n    }\r\n    out.push(']');\r\n    out.push('>>');\r\n    return out.join('\\n');\r\n  }\r\n\r\n  _compareKeys(/*a, b*/) {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n\r\n  _keysName() {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n\r\n  _dataForKey(/*k*/) {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n}\r\n\r\nexport default PDFTree;\r\n","/*\r\nPDFObject - converts JavaScript types into their corresponding PDF types.\r\nBy Devon Govett\r\n*/\r\n\r\nimport PDFAbstractReference from './abstract_reference';\r\nimport PDFTree from './tree';\r\n\r\nconst pad = (str, length) => (Array(length + 1).join('0') + str).slice(-length);\r\n\r\nconst escapableRe = /[\\n\\r\\t\\b\\f()\\\\]/g;\r\nconst escapable = {\r\n  '\\n': '\\\\n',\r\n  '\\r': '\\\\r',\r\n  '\\t': '\\\\t',\r\n  '\\b': '\\\\b',\r\n  '\\f': '\\\\f',\r\n  '\\\\': '\\\\\\\\',\r\n  '(': '\\\\(',\r\n  ')': '\\\\)'\r\n};\r\n\r\n// Convert little endian UTF-16 to big endian\r\nconst swapBytes = function(buff) {\r\n  const l = buff.length;\r\n  if (l & 0x01) {\r\n    throw new Error('Buffer length must be even');\r\n  } else {\r\n    for (let i = 0, end = l - 1; i < end; i += 2) {\r\n      const a = buff[i];\r\n      buff[i] = buff[i + 1];\r\n      buff[i + 1] = a;\r\n    }\r\n  }\r\n\r\n  return buff;\r\n};\r\n\r\nclass PDFObject {\r\n  static convert(object, encryptFn = null) {\r\n    // String literals are converted to the PDF name type\r\n    if (typeof object === 'string') {\r\n      return `/${object}`;\r\n\r\n      // String objects are converted to PDF strings (UTF-16)\r\n    } else if (object instanceof String) {\r\n      let string = object;\r\n      // Detect if this is a unicode string\r\n      let isUnicode = false;\r\n      for (let i = 0, end = string.length; i < end; i++) {\r\n        if (string.charCodeAt(i) > 0x7f) {\r\n          isUnicode = true;\r\n          break;\r\n        }\r\n      }\r\n\r\n      // If so, encode it as big endian UTF-16\r\n      let stringBuffer;\r\n      if (isUnicode) {\r\n        stringBuffer = swapBytes(Buffer.from(`\\ufeff${string}`, 'utf16le'));\r\n      } else {\r\n        stringBuffer = Buffer.from(string.valueOf(), 'ascii');\r\n      }\r\n\r\n      // Encrypt the string when necessary\r\n      if (encryptFn) {\r\n        string = encryptFn(stringBuffer).toString('binary');\r\n      } else {\r\n        string = stringBuffer.toString('binary');\r\n      }\r\n\r\n      // Escape characters as required by the spec\r\n      string = string.replace(escapableRe, c => escapable[c]);\r\n\r\n      return `(${string})`;\r\n\r\n      // Buffers are converted to PDF hex strings\r\n    } else if (Buffer.isBuffer(object)) {\r\n      return `<${object.toString('hex')}>`;\r\n    } else if (\r\n      object instanceof PDFAbstractReference ||\r\n      object instanceof PDFTree\r\n    ) {\r\n      return object.toString();\r\n    } else if (object instanceof Date) {\r\n      let string =\r\n        `D:${pad(object.getUTCFullYear(), 4)}` +\r\n        pad(object.getUTCMonth() + 1, 2) +\r\n        pad(object.getUTCDate(), 2) +\r\n        pad(object.getUTCHours(), 2) +\r\n        pad(object.getUTCMinutes(), 2) +\r\n        pad(object.getUTCSeconds(), 2) +\r\n        'Z';\r\n\r\n      // Encrypt the string when necessary\r\n      if (encryptFn) {\r\n        string = encryptFn(Buffer.from(string, 'ascii')).toString('binary');\r\n\r\n        // Escape characters as required by the spec\r\n        string = string.replace(escapableRe, c => escapable[c]);\r\n      }\r\n\r\n      return `(${string})`;\r\n    } else if (Array.isArray(object)) {\r\n      const items = object.map(e => PDFObject.convert(e, encryptFn)).join(' ');\r\n      return `[${items}]`;\r\n    } else if ({}.toString.call(object) === '[object Object]') {\r\n      const out = ['<<'];\r\n      for (let key in object) {\r\n        const val = object[key];\r\n        out.push(`/${key} ${PDFObject.convert(val, encryptFn)}`);\r\n      }\r\n\r\n      out.push('>>');\r\n      return out.join('\\n');\r\n    } else if (typeof object === 'number') {\r\n      return PDFObject.number(object);\r\n    } else {\r\n      return `${object}`;\r\n    }\r\n  }\r\n\r\n  static number(n) {\r\n    if (n > -1e21 && n < 1e21) {\r\n      return Math.round(n * 1e6) / 1e6;\r\n    }\r\n\r\n    throw new Error(`unsupported number: ${n}`);\r\n  }\r\n}\r\n\r\nexport default PDFObject;\r\n","/*\r\nPDFReference - represents a reference to another object in the PDF object heirarchy\r\nBy Devon Govett\r\n*/\r\n\r\nimport zlib from 'zlib';\r\nimport PDFAbstractReference from './abstract_reference';\r\nimport PDFObject from './object';\r\n\r\nclass PDFReference extends PDFAbstractReference {\r\n  constructor(document, id, data = {}) {\r\n    super();\r\n    this.document = document;\r\n    this.id = id;\r\n    this.data = data;\r\n    this.gen = 0;\r\n    this.compress = this.document.compress && !this.data.Filter;\r\n    this.uncompressedLength = 0;\r\n    this.buffer = [];\r\n  }\r\n\r\n  write(chunk) {\r\n    if (!Buffer.isBuffer(chunk)) {\r\n      chunk = Buffer.from(chunk + '\\n', 'binary');\r\n    }\r\n\r\n    this.uncompressedLength += chunk.length;\r\n    if (this.data.Length == null) {\r\n      this.data.Length = 0;\r\n    }\r\n    this.buffer.push(chunk);\r\n    this.data.Length += chunk.length;\r\n    if (this.compress) {\r\n      return (this.data.Filter = 'FlateDecode');\r\n    }\r\n  }\r\n\r\n  end(chunk) {\r\n    if (chunk) {\r\n      this.write(chunk);\r\n    }\r\n    return this.finalize();\r\n  }\r\n\r\n  finalize() {\r\n    this.offset = this.document._offset;\r\n\r\n    const encryptFn = this.document._security\r\n      ? this.document._security.getEncryptFn(this.id, this.gen)\r\n      : null;\r\n\r\n    if (this.buffer.length) {\r\n      this.buffer = Buffer.concat(this.buffer);\r\n      if (this.compress) {\r\n        this.buffer = zlib.deflateSync(this.buffer);\r\n      }\r\n\r\n      if (encryptFn) {\r\n        this.buffer = encryptFn(this.buffer);\r\n      }\r\n\r\n      this.data.Length = this.buffer.length;\r\n    }\r\n\r\n    this.document._write(`${this.id} ${this.gen} obj`);\r\n    this.document._write(PDFObject.convert(this.data, encryptFn));\r\n\r\n    if (this.buffer.length) {\r\n      this.document._write('stream');\r\n      this.document._write(this.buffer);\r\n\r\n      this.buffer = []; // free up memory\r\n      this.document._write('\\nendstream');\r\n    }\r\n\r\n    this.document._write('endobj');\r\n    this.document._refEnd(this);\r\n  }\r\n  toString() {\r\n    return `${this.id} ${this.gen} R`;\r\n  }\r\n}\r\n\r\nexport default PDFReference;\r\n","/*\r\nPDFPage - represents a single page in the PDF document\r\nBy Devon Govett\r\n*/\r\n\r\nconst DEFAULT_MARGINS = {\r\n  top: 72,\r\n  left: 72,\r\n  bottom: 72,\r\n  right: 72\r\n};\r\n\r\nconst SIZES = {\r\n  '4A0': [4767.87, 6740.79],\r\n  '2A0': [3370.39, 4767.87],\r\n  A0: [2383.94, 3370.39],\r\n  A1: [1683.78, 2383.94],\r\n  A2: [1190.55, 1683.78],\r\n  A3: [841.89, 1190.55],\r\n  A4: [595.28, 841.89],\r\n  A5: [419.53, 595.28],\r\n  A6: [297.64, 419.53],\r\n  A7: [209.76, 297.64],\r\n  A8: [147.4, 209.76],\r\n  A9: [104.88, 147.4],\r\n  A10: [73.7, 104.88],\r\n  B0: [2834.65, 4008.19],\r\n  B1: [2004.09, 2834.65],\r\n  B2: [1417.32, 2004.09],\r\n  B3: [1000.63, 1417.32],\r\n  B4: [708.66, 1000.63],\r\n  B5: [498.9, 708.66],\r\n  B6: [354.33, 498.9],\r\n  B7: [249.45, 354.33],\r\n  B8: [175.75, 249.45],\r\n  B9: [124.72, 175.75],\r\n  B10: [87.87, 124.72],\r\n  C0: [2599.37, 3676.54],\r\n  C1: [1836.85, 2599.37],\r\n  C2: [1298.27, 1836.85],\r\n  C3: [918.43, 1298.27],\r\n  C4: [649.13, 918.43],\r\n  C5: [459.21, 649.13],\r\n  C6: [323.15, 459.21],\r\n  C7: [229.61, 323.15],\r\n  C8: [161.57, 229.61],\r\n  C9: [113.39, 161.57],\r\n  C10: [79.37, 113.39],\r\n  RA0: [2437.8, 3458.27],\r\n  RA1: [1729.13, 2437.8],\r\n  RA2: [1218.9, 1729.13],\r\n  RA3: [864.57, 1218.9],\r\n  RA4: [609.45, 864.57],\r\n  SRA0: [2551.18, 3628.35],\r\n  SRA1: [1814.17, 2551.18],\r\n  SRA2: [1275.59, 1814.17],\r\n  SRA3: [907.09, 1275.59],\r\n  SRA4: [637.8, 907.09],\r\n  EXECUTIVE: [521.86, 756.0],\r\n  FOLIO: [612.0, 936.0],\r\n  LEGAL: [612.0, 1008.0],\r\n  LETTER: [612.0, 792.0],\r\n  TABLOID: [792.0, 1224.0]\r\n};\r\n\r\nclass PDFPage {\r\n  constructor(document, options = {}) {\r\n    this.document = document;\r\n    this.size = options.size || 'letter';\r\n    this.layout = options.layout || 'portrait';\r\n\r\n    // process margins\r\n    if (typeof options.margin === 'number') {\r\n      this.margins = {\r\n        top: options.margin,\r\n        left: options.margin,\r\n        bottom: options.margin,\r\n        right: options.margin\r\n      };\r\n\r\n      // default to 1 inch margins\r\n    } else {\r\n      this.margins = options.margins || DEFAULT_MARGINS;\r\n    }\r\n\r\n    // calculate page dimensions\r\n    const dimensions = Array.isArray(this.size)\r\n      ? this.size\r\n      : SIZES[this.size.toUpperCase()];\r\n    this.width = dimensions[this.layout === 'portrait' ? 0 : 1];\r\n    this.height = dimensions[this.layout === 'portrait' ? 1 : 0];\r\n\r\n    this.content = this.document.ref();\r\n\r\n    // Initialize the Font, XObject, and ExtGState dictionaries\r\n    this.resources = this.document.ref({\r\n      ProcSet: ['PDF', 'Text', 'ImageB', 'ImageC', 'ImageI']\r\n    });\r\n\r\n    // The page dictionary\r\n    this.dictionary = this.document.ref({\r\n      Type: 'Page',\r\n      Parent: this.document._root.data.Pages,\r\n      MediaBox: [0, 0, this.width, this.height],\r\n      Contents: this.content,\r\n      Resources: this.resources\r\n    });\r\n\r\n    this.markings = [];\r\n  }\r\n\r\n  // Lazily create these objects\r\n  get fonts() {\r\n    const data = this.resources.data;\r\n    return data.Font != null ? data.Font : (data.Font = {});\r\n  }\r\n\r\n  get xobjects() {\r\n    const data = this.resources.data;\r\n    return data.XObject != null ? data.XObject : (data.XObject = {});\r\n  }\r\n\r\n  get ext_gstates() {\r\n    const data = this.resources.data;\r\n    return data.ExtGState != null ? data.ExtGState : (data.ExtGState = {});\r\n  }\r\n\r\n  get patterns() {\r\n    const data = this.resources.data;\r\n    return data.Pattern != null ? data.Pattern : (data.Pattern = {});\r\n  }\r\n\r\n  get colorSpaces() {\r\n    const data = this.resources.data;\r\n    return data.ColorSpace || (data.ColorSpace = {});\r\n  }\r\n\r\n  get annotations() {\r\n    const data = this.dictionary.data;\r\n    return data.Annots != null ? data.Annots : (data.Annots = []);\r\n  }\r\n\r\n  get structParentTreeKey() {\r\n    const data = this.dictionary.data;\r\n    return data.StructParents != null\r\n      ? data.StructParents\r\n      : (data.StructParents = this.document.createStructParentTreeNextKey());\r\n  }\r\n\r\n  maxY() {\r\n    return this.height - this.margins.bottom;\r\n  }\r\n\r\n  write(chunk) {\r\n    return this.content.write(chunk);\r\n  }\r\n\r\n  end() {\r\n    this.dictionary.end();\r\n    this.resources.end();\r\n    return this.content.end();\r\n  }\r\n}\r\n\r\nexport default PDFPage;\r\n","/*\r\nPDFNameTree - represents a name tree object\r\n*/\r\n\r\nimport PDFTree from \"./tree\";\r\n\r\nclass PDFNameTree extends PDFTree {\r\n  _compareKeys(a, b) {\r\n    return a.localeCompare(b);\r\n  }\r\n\r\n  _keysName() {\r\n    return \"Names\";\r\n  }\r\n\r\n  _dataForKey(k) {\r\n    return new String(k);\r\n  }\r\n}\r\n\r\nexport default PDFNameTree;\r\n","/**\r\n * Check if value is in a range group.\r\n * @param {number} value\r\n * @param {number[]} rangeGroup\r\n * @returns {boolean}\r\n */\r\nfunction inRange(value, rangeGroup) {\r\n  if (value < rangeGroup[0]) return false;\r\n  let startRange = 0;\r\n  let endRange = rangeGroup.length / 2;\r\n  while (startRange <= endRange) {\r\n    const middleRange = Math.floor((startRange + endRange) / 2);\r\n\r\n    // actual array index\r\n    const arrayIndex = middleRange * 2;\r\n\r\n    // Check if value is in range pointed by actual index\r\n    if (\r\n      value >= rangeGroup[arrayIndex] &&\r\n      value <= rangeGroup[arrayIndex + 1]\r\n    ) {\r\n      return true;\r\n    }\r\n\r\n    if (value > rangeGroup[arrayIndex + 1]) {\r\n      // Search Right Side Of Array\r\n      startRange = middleRange + 1;\r\n    } else {\r\n      // Search Left Side Of Array\r\n      endRange = middleRange - 1;\r\n    }\r\n  }\r\n  return false;\r\n}\r\n\r\nexport { inRange };\r\n","import { inRange } from './util';\r\n\r\n// prettier-ignore-start\r\n/**\r\n * A.1 Unassigned code points in Unicode 3.2\r\n * @link https://tools.ietf.org/html/rfc3454#appendix-A.1\r\n */\r\nconst unassigned_code_points = [\r\n  0x0221,\r\n  0x0221,\r\n  0x0234,\r\n  0x024f,\r\n  0x02ae,\r\n  0x02af,\r\n  0x02ef,\r\n  0x02ff,\r\n  0x0350,\r\n  0x035f,\r\n  0x0370,\r\n  0x0373,\r\n  0x0376,\r\n  0x0379,\r\n  0x037b,\r\n  0x037d,\r\n  0x037f,\r\n  0x0383,\r\n  0x038b,\r\n  0x038b,\r\n  0x038d,\r\n  0x038d,\r\n  0x03a2,\r\n  0x03a2,\r\n  0x03cf,\r\n  0x03cf,\r\n  0x03f7,\r\n  0x03ff,\r\n  0x0487,\r\n  0x0487,\r\n  0x04cf,\r\n  0x04cf,\r\n  0x04f6,\r\n  0x04f7,\r\n  0x04fa,\r\n  0x04ff,\r\n  0x0510,\r\n  0x0530,\r\n  0x0557,\r\n  0x0558,\r\n  0x0560,\r\n  0x0560,\r\n  0x0588,\r\n  0x0588,\r\n  0x058b,\r\n  0x0590,\r\n  0x05a2,\r\n  0x05a2,\r\n  0x05ba,\r\n  0x05ba,\r\n  0x05c5,\r\n  0x05cf,\r\n  0x05eb,\r\n  0x05ef,\r\n  0x05f5,\r\n  0x060b,\r\n  0x060d,\r\n  0x061a,\r\n  0x061c,\r\n  0x061e,\r\n  0x0620,\r\n  0x0620,\r\n  0x063b,\r\n  0x063f,\r\n  0x0656,\r\n  0x065f,\r\n  0x06ee,\r\n  0x06ef,\r\n  0x06ff,\r\n  0x06ff,\r\n  0x070e,\r\n  0x070e,\r\n  0x072d,\r\n  0x072f,\r\n  0x074b,\r\n  0x077f,\r\n  0x07b2,\r\n  0x0900,\r\n  0x0904,\r\n  0x0904,\r\n  0x093a,\r\n  0x093b,\r\n  0x094e,\r\n  0x094f,\r\n  0x0955,\r\n  0x0957,\r\n  0x0971,\r\n  0x0980,\r\n  0x0984,\r\n  0x0984,\r\n  0x098d,\r\n  0x098e,\r\n  0x0991,\r\n  0x0992,\r\n  0x09a9,\r\n  0x09a9,\r\n  0x09b1,\r\n  0x09b1,\r\n  0x09b3,\r\n  0x09b5,\r\n  0x09ba,\r\n  0x09bb,\r\n  0x09bd,\r\n  0x09bd,\r\n  0x09c5,\r\n  0x09c6,\r\n  0x09c9,\r\n  0x09ca,\r\n  0x09ce,\r\n  0x09d6,\r\n  0x09d8,\r\n  0x09db,\r\n  0x09de,\r\n  0x09de,\r\n  0x09e4,\r\n  0x09e5,\r\n  0x09fb,\r\n  0x0a01,\r\n  0x0a03,\r\n  0x0a04,\r\n  0x0a0b,\r\n  0x0a0e,\r\n  0x0a11,\r\n  0x0a12,\r\n  0x0a29,\r\n  0x0a29,\r\n  0x0a31,\r\n  0x0a31,\r\n  0x0a34,\r\n  0x0a34,\r\n  0x0a37,\r\n  0x0a37,\r\n  0x0a3a,\r\n  0x0a3b,\r\n  0x0a3d,\r\n  0x0a3d,\r\n  0x0a43,\r\n  0x0a46,\r\n  0x0a49,\r\n  0x0a4a,\r\n  0x0a4e,\r\n  0x0a58,\r\n  0x0a5d,\r\n  0x0a5d,\r\n  0x0a5f,\r\n  0x0a65,\r\n  0x0a75,\r\n  0x0a80,\r\n  0x0a84,\r\n  0x0a84,\r\n  0x0a8c,\r\n  0x0a8c,\r\n  0x0a8e,\r\n  0x0a8e,\r\n  0x0a92,\r\n  0x0a92,\r\n  0x0aa9,\r\n  0x0aa9,\r\n  0x0ab1,\r\n  0x0ab1,\r\n  0x0ab4,\r\n  0x0ab4,\r\n  0x0aba,\r\n  0x0abb,\r\n  0x0ac6,\r\n  0x0ac6,\r\n  0x0aca,\r\n  0x0aca,\r\n  0x0ace,\r\n  0x0acf,\r\n  0x0ad1,\r\n  0x0adf,\r\n  0x0ae1,\r\n  0x0ae5,\r\n  0x0af0,\r\n  0x0b00,\r\n  0x0b04,\r\n  0x0b04,\r\n  0x0b0d,\r\n  0x0b0e,\r\n  0x0b11,\r\n  0x0b12,\r\n  0x0b29,\r\n  0x0b29,\r\n  0x0b31,\r\n  0x0b31,\r\n  0x0b34,\r\n  0x0b35,\r\n  0x0b3a,\r\n  0x0b3b,\r\n  0x0b44,\r\n  0x0b46,\r\n  0x0b49,\r\n  0x0b4a,\r\n  0x0b4e,\r\n  0x0b55,\r\n  0x0b58,\r\n  0x0b5b,\r\n  0x0b5e,\r\n  0x0b5e,\r\n  0x0b62,\r\n  0x0b65,\r\n  0x0b71,\r\n  0x0b81,\r\n  0x0b84,\r\n  0x0b84,\r\n  0x0b8b,\r\n  0x0b8d,\r\n  0x0b91,\r\n  0x0b91,\r\n  0x0b96,\r\n  0x0b98,\r\n  0x0b9b,\r\n  0x0b9b,\r\n  0x0b9d,\r\n  0x0b9d,\r\n  0x0ba0,\r\n  0x0ba2,\r\n  0x0ba5,\r\n  0x0ba7,\r\n  0x0bab,\r\n  0x0bad,\r\n  0x0bb6,\r\n  0x0bb6,\r\n  0x0bba,\r\n  0x0bbd,\r\n  0x0bc3,\r\n  0x0bc5,\r\n  0x0bc9,\r\n  0x0bc9,\r\n  0x0bce,\r\n  0x0bd6,\r\n  0x0bd8,\r\n  0x0be6,\r\n  0x0bf3,\r\n  0x0c00,\r\n  0x0c04,\r\n  0x0c04,\r\n  0x0c0d,\r\n  0x0c0d,\r\n  0x0c11,\r\n  0x0c11,\r\n  0x0c29,\r\n  0x0c29,\r\n  0x0c34,\r\n  0x0c34,\r\n  0x0c3a,\r\n  0x0c3d,\r\n  0x0c45,\r\n  0x0c45,\r\n  0x0c49,\r\n  0x0c49,\r\n  0x0c4e,\r\n  0x0c54,\r\n  0x0c57,\r\n  0x0c5f,\r\n  0x0c62,\r\n  0x0c65,\r\n  0x0c70,\r\n  0x0c81,\r\n  0x0c84,\r\n  0x0c84,\r\n  0x0c8d,\r\n  0x0c8d,\r\n  0x0c91,\r\n  0x0c91,\r\n  0x0ca9,\r\n  0x0ca9,\r\n  0x0cb4,\r\n  0x0cb4,\r\n  0x0cba,\r\n  0x0cbd,\r\n  0x0cc5,\r\n  0x0cc5,\r\n  0x0cc9,\r\n  0x0cc9,\r\n  0x0cce,\r\n  0x0cd4,\r\n  0x0cd7,\r\n  0x0cdd,\r\n  0x0cdf,\r\n  0x0cdf,\r\n  0x0ce2,\r\n  0x0ce5,\r\n  0x0cf0,\r\n  0x0d01,\r\n  0x0d04,\r\n  0x0d04,\r\n  0x0d0d,\r\n  0x0d0d,\r\n  0x0d11,\r\n  0x0d11,\r\n  0x0d29,\r\n  0x0d29,\r\n  0x0d3a,\r\n  0x0d3d,\r\n  0x0d44,\r\n  0x0d45,\r\n  0x0d49,\r\n  0x0d49,\r\n  0x0d4e,\r\n  0x0d56,\r\n  0x0d58,\r\n  0x0d5f,\r\n  0x0d62,\r\n  0x0d65,\r\n  0x0d70,\r\n  0x0d81,\r\n  0x0d84,\r\n  0x0d84,\r\n  0x0d97,\r\n  0x0d99,\r\n  0x0db2,\r\n  0x0db2,\r\n  0x0dbc,\r\n  0x0dbc,\r\n  0x0dbe,\r\n  0x0dbf,\r\n  0x0dc7,\r\n  0x0dc9,\r\n  0x0dcb,\r\n  0x0dce,\r\n  0x0dd5,\r\n  0x0dd5,\r\n  0x0dd7,\r\n  0x0dd7,\r\n  0x0de0,\r\n  0x0df1,\r\n  0x0df5,\r\n  0x0e00,\r\n  0x0e3b,\r\n  0x0e3e,\r\n  0x0e5c,\r\n  0x0e80,\r\n  0x0e83,\r\n  0x0e83,\r\n  0x0e85,\r\n  0x0e86,\r\n  0x0e89,\r\n  0x0e89,\r\n  0x0e8b,\r\n  0x0e8c,\r\n  0x0e8e,\r\n  0x0e93,\r\n  0x0e98,\r\n  0x0e98,\r\n  0x0ea0,\r\n  0x0ea0,\r\n  0x0ea4,\r\n  0x0ea4,\r\n  0x0ea6,\r\n  0x0ea6,\r\n  0x0ea8,\r\n  0x0ea9,\r\n  0x0eac,\r\n  0x0eac,\r\n  0x0eba,\r\n  0x0eba,\r\n  0x0ebe,\r\n  0x0ebf,\r\n  0x0ec5,\r\n  0x0ec5,\r\n  0x0ec7,\r\n  0x0ec7,\r\n  0x0ece,\r\n  0x0ecf,\r\n  0x0eda,\r\n  0x0edb,\r\n  0x0ede,\r\n  0x0eff,\r\n  0x0f48,\r\n  0x0f48,\r\n  0x0f6b,\r\n  0x0f70,\r\n  0x0f8c,\r\n  0x0f8f,\r\n  0x0f98,\r\n  0x0f98,\r\n  0x0fbd,\r\n  0x0fbd,\r\n  0x0fcd,\r\n  0x0fce,\r\n  0x0fd0,\r\n  0x0fff,\r\n  0x1022,\r\n  0x1022,\r\n  0x1028,\r\n  0x1028,\r\n  0x102b,\r\n  0x102b,\r\n  0x1033,\r\n  0x1035,\r\n  0x103a,\r\n  0x103f,\r\n  0x105a,\r\n  0x109f,\r\n  0x10c6,\r\n  0x10cf,\r\n  0x10f9,\r\n  0x10fa,\r\n  0x10fc,\r\n  0x10ff,\r\n  0x115a,\r\n  0x115e,\r\n  0x11a3,\r\n  0x11a7,\r\n  0x11fa,\r\n  0x11ff,\r\n  0x1207,\r\n  0x1207,\r\n  0x1247,\r\n  0x1247,\r\n  0x1249,\r\n  0x1249,\r\n  0x124e,\r\n  0x124f,\r\n  0x1257,\r\n  0x1257,\r\n  0x1259,\r\n  0x1259,\r\n  0x125e,\r\n  0x125f,\r\n  0x1287,\r\n  0x1287,\r\n  0x1289,\r\n  0x1289,\r\n  0x128e,\r\n  0x128f,\r\n  0x12af,\r\n  0x12af,\r\n  0x12b1,\r\n  0x12b1,\r\n  0x12b6,\r\n  0x12b7,\r\n  0x12bf,\r\n  0x12bf,\r\n  0x12c1,\r\n  0x12c1,\r\n  0x12c6,\r\n  0x12c7,\r\n  0x12cf,\r\n  0x12cf,\r\n  0x12d7,\r\n  0x12d7,\r\n  0x12ef,\r\n  0x12ef,\r\n  0x130f,\r\n  0x130f,\r\n  0x1311,\r\n  0x1311,\r\n  0x1316,\r\n  0x1317,\r\n  0x131f,\r\n  0x131f,\r\n  0x1347,\r\n  0x1347,\r\n  0x135b,\r\n  0x1360,\r\n  0x137d,\r\n  0x139f,\r\n  0x13f5,\r\n  0x1400,\r\n  0x1677,\r\n  0x167f,\r\n  0x169d,\r\n  0x169f,\r\n  0x16f1,\r\n  0x16ff,\r\n  0x170d,\r\n  0x170d,\r\n  0x1715,\r\n  0x171f,\r\n  0x1737,\r\n  0x173f,\r\n  0x1754,\r\n  0x175f,\r\n  0x176d,\r\n  0x176d,\r\n  0x1771,\r\n  0x1771,\r\n  0x1774,\r\n  0x177f,\r\n  0x17dd,\r\n  0x17df,\r\n  0x17ea,\r\n  0x17ff,\r\n  0x180f,\r\n  0x180f,\r\n  0x181a,\r\n  0x181f,\r\n  0x1878,\r\n  0x187f,\r\n  0x18aa,\r\n  0x1dff,\r\n  0x1e9c,\r\n  0x1e9f,\r\n  0x1efa,\r\n  0x1eff,\r\n  0x1f16,\r\n  0x1f17,\r\n  0x1f1e,\r\n  0x1f1f,\r\n  0x1f46,\r\n  0x1f47,\r\n  0x1f4e,\r\n  0x1f4f,\r\n  0x1f58,\r\n  0x1f58,\r\n  0x1f5a,\r\n  0x1f5a,\r\n  0x1f5c,\r\n  0x1f5c,\r\n  0x1f5e,\r\n  0x1f5e,\r\n  0x1f7e,\r\n  0x1f7f,\r\n  0x1fb5,\r\n  0x1fb5,\r\n  0x1fc5,\r\n  0x1fc5,\r\n  0x1fd4,\r\n  0x1fd5,\r\n  0x1fdc,\r\n  0x1fdc,\r\n  0x1ff0,\r\n  0x1ff1,\r\n  0x1ff5,\r\n  0x1ff5,\r\n  0x1fff,\r\n  0x1fff,\r\n  0x2053,\r\n  0x2056,\r\n  0x2058,\r\n  0x205e,\r\n  0x2064,\r\n  0x2069,\r\n  0x2072,\r\n  0x2073,\r\n  0x208f,\r\n  0x209f,\r\n  0x20b2,\r\n  0x20cf,\r\n  0x20eb,\r\n  0x20ff,\r\n  0x213b,\r\n  0x213c,\r\n  0x214c,\r\n  0x2152,\r\n  0x2184,\r\n  0x218f,\r\n  0x23cf,\r\n  0x23ff,\r\n  0x2427,\r\n  0x243f,\r\n  0x244b,\r\n  0x245f,\r\n  0x24ff,\r\n  0x24ff,\r\n  0x2614,\r\n  0x2615,\r\n  0x2618,\r\n  0x2618,\r\n  0x267e,\r\n  0x267f,\r\n  0x268a,\r\n  0x2700,\r\n  0x2705,\r\n  0x2705,\r\n  0x270a,\r\n  0x270b,\r\n  0x2728,\r\n  0x2728,\r\n  0x274c,\r\n  0x274c,\r\n  0x274e,\r\n  0x274e,\r\n  0x2753,\r\n  0x2755,\r\n  0x2757,\r\n  0x2757,\r\n  0x275f,\r\n  0x2760,\r\n  0x2795,\r\n  0x2797,\r\n  0x27b0,\r\n  0x27b0,\r\n  0x27bf,\r\n  0x27cf,\r\n  0x27ec,\r\n  0x27ef,\r\n  0x2b00,\r\n  0x2e7f,\r\n  0x2e9a,\r\n  0x2e9a,\r\n  0x2ef4,\r\n  0x2eff,\r\n  0x2fd6,\r\n  0x2fef,\r\n  0x2ffc,\r\n  0x2fff,\r\n  0x3040,\r\n  0x3040,\r\n  0x3097,\r\n  0x3098,\r\n  0x3100,\r\n  0x3104,\r\n  0x312d,\r\n  0x3130,\r\n  0x318f,\r\n  0x318f,\r\n  0x31b8,\r\n  0x31ef,\r\n  0x321d,\r\n  0x321f,\r\n  0x3244,\r\n  0x3250,\r\n  0x327c,\r\n  0x327e,\r\n  0x32cc,\r\n  0x32cf,\r\n  0x32ff,\r\n  0x32ff,\r\n  0x3377,\r\n  0x337a,\r\n  0x33de,\r\n  0x33df,\r\n  0x33ff,\r\n  0x33ff,\r\n  0x4db6,\r\n  0x4dff,\r\n  0x9fa6,\r\n  0x9fff,\r\n  0xa48d,\r\n  0xa48f,\r\n  0xa4c7,\r\n  0xabff,\r\n  0xd7a4,\r\n  0xd7ff,\r\n  0xfa2e,\r\n  0xfa2f,\r\n  0xfa6b,\r\n  0xfaff,\r\n  0xfb07,\r\n  0xfb12,\r\n  0xfb18,\r\n  0xfb1c,\r\n  0xfb37,\r\n  0xfb37,\r\n  0xfb3d,\r\n  0xfb3d,\r\n  0xfb3f,\r\n  0xfb3f,\r\n  0xfb42,\r\n  0xfb42,\r\n  0xfb45,\r\n  0xfb45,\r\n  0xfbb2,\r\n  0xfbd2,\r\n  0xfd40,\r\n  0xfd4f,\r\n  0xfd90,\r\n  0xfd91,\r\n  0xfdc8,\r\n  0xfdcf,\r\n  0xfdfd,\r\n  0xfdff,\r\n  0xfe10,\r\n  0xfe1f,\r\n  0xfe24,\r\n  0xfe2f,\r\n  0xfe47,\r\n  0xfe48,\r\n  0xfe53,\r\n  0xfe53,\r\n  0xfe67,\r\n  0xfe67,\r\n  0xfe6c,\r\n  0xfe6f,\r\n  0xfe75,\r\n  0xfe75,\r\n  0xfefd,\r\n  0xfefe,\r\n  0xff00,\r\n  0xff00,\r\n  0xffbf,\r\n  0xffc1,\r\n  0xffc8,\r\n  0xffc9,\r\n  0xffd0,\r\n  0xffd1,\r\n  0xffd8,\r\n  0xffd9,\r\n  0xffdd,\r\n  0xffdf,\r\n  0xffe7,\r\n  0xffe7,\r\n  0xffef,\r\n  0xfff8,\r\n  0x10000,\r\n  0x102ff,\r\n  0x1031f,\r\n  0x1031f,\r\n  0x10324,\r\n  0x1032f,\r\n  0x1034b,\r\n  0x103ff,\r\n  0x10426,\r\n  0x10427,\r\n  0x1044e,\r\n  0x1cfff,\r\n  0x1d0f6,\r\n  0x1d0ff,\r\n  0x1d127,\r\n  0x1d129,\r\n  0x1d1de,\r\n  0x1d3ff,\r\n  0x1d455,\r\n  0x1d455,\r\n  0x1d49d,\r\n  0x1d49d,\r\n  0x1d4a0,\r\n  0x1d4a1,\r\n  0x1d4a3,\r\n  0x1d4a4,\r\n  0x1d4a7,\r\n  0x1d4a8,\r\n  0x1d4ad,\r\n  0x1d4ad,\r\n  0x1d4ba,\r\n  0x1d4ba,\r\n  0x1d4bc,\r\n  0x1d4bc,\r\n  0x1d4c1,\r\n  0x1d4c1,\r\n  0x1d4c4,\r\n  0x1d4c4,\r\n  0x1d506,\r\n  0x1d506,\r\n  0x1d50b,\r\n  0x1d50c,\r\n  0x1d515,\r\n  0x1d515,\r\n  0x1d51d,\r\n  0x1d51d,\r\n  0x1d53a,\r\n  0x1d53a,\r\n  0x1d53f,\r\n  0x1d53f,\r\n  0x1d545,\r\n  0x1d545,\r\n  0x1d547,\r\n  0x1d549,\r\n  0x1d551,\r\n  0x1d551,\r\n  0x1d6a4,\r\n  0x1d6a7,\r\n  0x1d7ca,\r\n  0x1d7cd,\r\n  0x1d800,\r\n  0x1fffd,\r\n  0x2a6d7,\r\n  0x2f7ff,\r\n  0x2fa1e,\r\n  0x2fffd,\r\n  0x30000,\r\n  0x3fffd,\r\n  0x40000,\r\n  0x4fffd,\r\n  0x50000,\r\n  0x5fffd,\r\n  0x60000,\r\n  0x6fffd,\r\n  0x70000,\r\n  0x7fffd,\r\n  0x80000,\r\n  0x8fffd,\r\n  0x90000,\r\n  0x9fffd,\r\n  0xa0000,\r\n  0xafffd,\r\n  0xb0000,\r\n  0xbfffd,\r\n  0xc0000,\r\n  0xcfffd,\r\n  0xd0000,\r\n  0xdfffd,\r\n  0xe0000,\r\n  0xe0000,\r\n  0xe0002,\r\n  0xe001f,\r\n  0xe0080,\r\n  0xefffd\r\n];\r\n// prettier-ignore-end\r\n\r\nconst isUnassignedCodePoint = character =>\r\n  inRange(character, unassigned_code_points);\r\n\r\n// prettier-ignore-start\r\n/**\r\n * B.1 Commonly mapped to nothing\r\n * @link https://tools.ietf.org/html/rfc3454#appendix-B.1\r\n */\r\nconst commonly_mapped_to_nothing = [\r\n  0x00ad,\r\n  0x00ad,\r\n  0x034f,\r\n  0x034f,\r\n  0x1806,\r\n  0x1806,\r\n  0x180b,\r\n  0x180b,\r\n  0x180c,\r\n  0x180c,\r\n  0x180d,\r\n  0x180d,\r\n  0x200b,\r\n  0x200b,\r\n  0x200c,\r\n  0x200c,\r\n  0x200d,\r\n  0x200d,\r\n  0x2060,\r\n  0x2060,\r\n  0xfe00,\r\n  0xfe00,\r\n  0xfe01,\r\n  0xfe01,\r\n  0xfe02,\r\n  0xfe02,\r\n  0xfe03,\r\n  0xfe03,\r\n  0xfe04,\r\n  0xfe04,\r\n  0xfe05,\r\n  0xfe05,\r\n  0xfe06,\r\n  0xfe06,\r\n  0xfe07,\r\n  0xfe07,\r\n  0xfe08,\r\n  0xfe08,\r\n  0xfe09,\r\n  0xfe09,\r\n  0xfe0a,\r\n  0xfe0a,\r\n  0xfe0b,\r\n  0xfe0b,\r\n  0xfe0c,\r\n  0xfe0c,\r\n  0xfe0d,\r\n  0xfe0d,\r\n  0xfe0e,\r\n  0xfe0e,\r\n  0xfe0f,\r\n  0xfe0f,\r\n  0xfeff,\r\n  0xfeff\r\n];\r\n// prettier-ignore-end\r\n\r\nconst isCommonlyMappedToNothing = character =>\r\n  inRange(character, commonly_mapped_to_nothing);\r\n\r\n// prettier-ignore-start\r\n/**\r\n * C.1.2 Non-ASCII space characters\r\n * @link https://tools.ietf.org/html/rfc3454#appendix-C.1.2\r\n */\r\nconst non_ASCII_space_characters = [\r\n  0x00a0,\r\n  0x00a0 /* NO-BREAK SPACE */,\r\n  0x1680,\r\n  0x1680 /* OGHAM SPACE MARK */,\r\n  0x2000,\r\n  0x2000 /* EN QUAD */,\r\n  0x2001,\r\n  0x2001 /* EM QUAD */,\r\n  0x2002,\r\n  0x2002 /* EN SPACE */,\r\n  0x2003,\r\n  0x2003 /* EM SPACE */,\r\n  0x2004,\r\n  0x2004 /* THREE-PER-EM SPACE */,\r\n  0x2005,\r\n  0x2005 /* FOUR-PER-EM SPACE */,\r\n  0x2006,\r\n  0x2006 /* SIX-PER-EM SPACE */,\r\n  0x2007,\r\n  0x2007 /* FIGURE SPACE */,\r\n  0x2008,\r\n  0x2008 /* PUNCTUATION SPACE */,\r\n  0x2009,\r\n  0x2009 /* THIN SPACE */,\r\n  0x200a,\r\n  0x200a /* HAIR SPACE */,\r\n  0x200b,\r\n  0x200b /* ZERO WIDTH SPACE */,\r\n  0x202f,\r\n  0x202f /* NARROW NO-BREAK SPACE */,\r\n  0x205f,\r\n  0x205f /* MEDIUM MATHEMATICAL SPACE */,\r\n  0x3000,\r\n  0x3000 /* IDEOGRAPHIC SPACE */\r\n];\r\n// prettier-ignore-end\r\n\r\nconst isNonASCIISpaceCharacter = character =>\r\n  inRange(character, non_ASCII_space_characters);\r\n\r\n// prettier-ignore-start\r\nconst non_ASCII_controls_characters = [\r\n  /**\r\n   * C.2.2 Non-ASCII control characters\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.2.2\r\n   */\r\n  0x0080,\r\n  0x009f /* [CONTROL CHARACTERS] */,\r\n  0x06dd,\r\n  0x06dd /* ARABIC END OF AYAH */,\r\n  0x070f,\r\n  0x070f /* SYRIAC ABBREVIATION MARK */,\r\n  0x180e,\r\n  0x180e /* MONGOLIAN VOWEL SEPARATOR */,\r\n  0x200c,\r\n  0x200c /* ZERO WIDTH NON-JOINER */,\r\n  0x200d,\r\n  0x200d /* ZERO WIDTH JOINER */,\r\n  0x2028,\r\n  0x2028 /* LINE SEPARATOR */,\r\n  0x2029,\r\n  0x2029 /* PARAGRAPH SEPARATOR */,\r\n  0x2060,\r\n  0x2060 /* WORD JOINER */,\r\n  0x2061,\r\n  0x2061 /* FUNCTION APPLICATION */,\r\n  0x2062,\r\n  0x2062 /* INVISIBLE TIMES */,\r\n  0x2063,\r\n  0x2063 /* INVISIBLE SEPARATOR */,\r\n  0x206a,\r\n  0x206f /* [CONTROL CHARACTERS] */,\r\n  0xfeff,\r\n  0xfeff /* ZERO WIDTH NO-BREAK SPACE */,\r\n  0xfff9,\r\n  0xfffc /* [CONTROL CHARACTERS] */,\r\n  0x1d173,\r\n  0x1d17a /* [MUSICAL CONTROL CHARACTERS] */\r\n];\r\n\r\nconst non_character_codepoints = [\r\n  /**\r\n   * C.4 Non-character code points\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.4\r\n   */\r\n  0xfdd0,\r\n  0xfdef /* [NONCHARACTER CODE POINTS] */,\r\n  0xfffe,\r\n  0xffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x1fffe,\r\n  0x1ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x2fffe,\r\n  0x2ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x3fffe,\r\n  0x3ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x4fffe,\r\n  0x4ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x5fffe,\r\n  0x5ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x6fffe,\r\n  0x6ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x7fffe,\r\n  0x7ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x8fffe,\r\n  0x8ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x9fffe,\r\n  0x9ffff /* [NONCHARACTER CODE POINTS] */,\r\n  0xafffe,\r\n  0xaffff /* [NONCHARACTER CODE POINTS] */,\r\n  0xbfffe,\r\n  0xbffff /* [NONCHARACTER CODE POINTS] */,\r\n  0xcfffe,\r\n  0xcffff /* [NONCHARACTER CODE POINTS] */,\r\n  0xdfffe,\r\n  0xdffff /* [NONCHARACTER CODE POINTS] */,\r\n  0xefffe,\r\n  0xeffff /* [NONCHARACTER CODE POINTS] */,\r\n  0x10fffe,\r\n  0x10ffff /* [NONCHARACTER CODE POINTS] */\r\n];\r\n\r\n/**\r\n * 2.3.  Prohibited Output\r\n */\r\nconst prohibited_characters = [\r\n  /**\r\n   * C.2.1 ASCII control characters\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.2.1\r\n   */\r\n  0,\r\n  0x001f /* [CONTROL CHARACTERS] */,\r\n  0x007f,\r\n  0x007f /* DELETE */,\r\n\r\n  /**\r\n   * C.8 Change display properties or are deprecated\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.8\r\n   */\r\n  0x0340,\r\n  0x0340 /* COMBINING GRAVE TONE MARK */,\r\n  0x0341,\r\n  0x0341 /* COMBINING ACUTE TONE MARK */,\r\n  0x200e,\r\n  0x200e /* LEFT-TO-RIGHT MARK */,\r\n  0x200f,\r\n  0x200f /* RIGHT-TO-LEFT MARK */,\r\n  0x202a,\r\n  0x202a /* LEFT-TO-RIGHT EMBEDDING */,\r\n  0x202b,\r\n  0x202b /* RIGHT-TO-LEFT EMBEDDING */,\r\n  0x202c,\r\n  0x202c /* POP DIRECTIONAL FORMATTING */,\r\n  0x202d,\r\n  0x202d /* LEFT-TO-RIGHT OVERRIDE */,\r\n  0x202e,\r\n  0x202e /* RIGHT-TO-LEFT OVERRIDE */,\r\n  0x206a,\r\n  0x206a /* INHIBIT SYMMETRIC SWAPPING */,\r\n  0x206b,\r\n  0x206b /* ACTIVATE SYMMETRIC SWAPPING */,\r\n  0x206c,\r\n  0x206c /* INHIBIT ARABIC FORM SHAPING */,\r\n  0x206d,\r\n  0x206d /* ACTIVATE ARABIC FORM SHAPING */,\r\n  0x206e,\r\n  0x206e /* NATIONAL DIGIT SHAPES */,\r\n  0x206f,\r\n  0x206f /* NOMINAL DIGIT SHAPES */,\r\n\r\n  /**\r\n   * C.7 Inappropriate for canonical representation\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.7\r\n   */\r\n  0x2ff0,\r\n  0x2ffb /* [IDEOGRAPHIC DESCRIPTION CHARACTERS] */,\r\n\r\n  /**\r\n   * C.5 Surrogate codes\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.5\r\n   */\r\n  0xd800,\r\n  0xdfff,\r\n\r\n  /**\r\n   * C.3 Private use\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.3\r\n   */\r\n  0xe000,\r\n  0xf8ff /* [PRIVATE USE, PLANE 0] */,\r\n\r\n  /**\r\n   * C.6 Inappropriate for plain text\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.6\r\n   */\r\n  0xfff9,\r\n  0xfff9 /* INTERLINEAR ANNOTATION ANCHOR */,\r\n  0xfffa,\r\n  0xfffa /* INTERLINEAR ANNOTATION SEPARATOR */,\r\n  0xfffb,\r\n  0xfffb /* INTERLINEAR ANNOTATION TERMINATOR */,\r\n  0xfffc,\r\n  0xfffc /* OBJECT REPLACEMENT CHARACTER */,\r\n  0xfffd,\r\n  0xfffd /* REPLACEMENT CHARACTER */,\r\n\r\n  /**\r\n   * C.9 Tagging characters\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.9\r\n   */\r\n  0xe0001,\r\n  0xe0001 /* LANGUAGE TAG */,\r\n  0xe0020,\r\n  0xe007f /* [TAGGING CHARACTERS] */,\r\n\r\n  /**\r\n   * C.3 Private use\r\n   * @link https://tools.ietf.org/html/rfc3454#appendix-C.3\r\n   */\r\n\r\n  0xf0000,\r\n  0xffffd /* [PRIVATE USE, PLANE 15] */,\r\n  0x100000,\r\n  0x10fffd /* [PRIVATE USE, PLANE 16] */\r\n];\r\n// prettier-ignore-end\r\n\r\nconst isProhibitedCharacter = character =>\r\n  inRange(character, non_ASCII_space_characters) ||\r\n  inRange(character, prohibited_characters) ||\r\n  inRange(character, non_ASCII_controls_characters) ||\r\n  inRange(character, non_character_codepoints);\r\n\r\n// prettier-ignore-start\r\n/**\r\n * D.1 Characters with bidirectional property \"R\" or \"AL\"\r\n * @link https://tools.ietf.org/html/rfc3454#appendix-D.1\r\n */\r\nconst bidirectional_r_al = [\r\n  0x05be,\r\n  0x05be,\r\n  0x05c0,\r\n  0x05c0,\r\n  0x05c3,\r\n  0x05c3,\r\n  0x05d0,\r\n  0x05ea,\r\n  0x05f0,\r\n  0x05f4,\r\n  0x061b,\r\n  0x061b,\r\n  0x061f,\r\n  0x061f,\r\n  0x0621,\r\n  0x063a,\r\n  0x0640,\r\n  0x064a,\r\n  0x066d,\r\n  0x066f,\r\n  0x0671,\r\n  0x06d5,\r\n  0x06dd,\r\n  0x06dd,\r\n  0x06e5,\r\n  0x06e6,\r\n  0x06fa,\r\n  0x06fe,\r\n  0x0700,\r\n  0x070d,\r\n  0x0710,\r\n  0x0710,\r\n  0x0712,\r\n  0x072c,\r\n  0x0780,\r\n  0x07a5,\r\n  0x07b1,\r\n  0x07b1,\r\n  0x200f,\r\n  0x200f,\r\n  0xfb1d,\r\n  0xfb1d,\r\n  0xfb1f,\r\n  0xfb28,\r\n  0xfb2a,\r\n  0xfb36,\r\n  0xfb38,\r\n  0xfb3c,\r\n  0xfb3e,\r\n  0xfb3e,\r\n  0xfb40,\r\n  0xfb41,\r\n  0xfb43,\r\n  0xfb44,\r\n  0xfb46,\r\n  0xfbb1,\r\n  0xfbd3,\r\n  0xfd3d,\r\n  0xfd50,\r\n  0xfd8f,\r\n  0xfd92,\r\n  0xfdc7,\r\n  0xfdf0,\r\n  0xfdfc,\r\n  0xfe70,\r\n  0xfe74,\r\n  0xfe76,\r\n  0xfefc\r\n];\r\n// prettier-ignore-end\r\n\r\nconst isBidirectionalRAL = character => inRange(character, bidirectional_r_al);\r\n\r\n// prettier-ignore-start\r\n/**\r\n * D.2 Characters with bidirectional property \"L\"\r\n * @link https://tools.ietf.org/html/rfc3454#appendix-D.2\r\n */\r\nconst bidirectional_l = [\r\n  0x0041,\r\n  0x005a,\r\n  0x0061,\r\n  0x007a,\r\n  0x00aa,\r\n  0x00aa,\r\n  0x00b5,\r\n  0x00b5,\r\n  0x00ba,\r\n  0x00ba,\r\n  0x00c0,\r\n  0x00d6,\r\n  0x00d8,\r\n  0x00f6,\r\n  0x00f8,\r\n  0x0220,\r\n  0x0222,\r\n  0x0233,\r\n  0x0250,\r\n  0x02ad,\r\n  0x02b0,\r\n  0x02b8,\r\n  0x02bb,\r\n  0x02c1,\r\n  0x02d0,\r\n  0x02d1,\r\n  0x02e0,\r\n  0x02e4,\r\n  0x02ee,\r\n  0x02ee,\r\n  0x037a,\r\n  0x037a,\r\n  0x0386,\r\n  0x0386,\r\n  0x0388,\r\n  0x038a,\r\n  0x038c,\r\n  0x038c,\r\n  0x038e,\r\n  0x03a1,\r\n  0x03a3,\r\n  0x03ce,\r\n  0x03d0,\r\n  0x03f5,\r\n  0x0400,\r\n  0x0482,\r\n  0x048a,\r\n  0x04ce,\r\n  0x04d0,\r\n  0x04f5,\r\n  0x04f8,\r\n  0x04f9,\r\n  0x0500,\r\n  0x050f,\r\n  0x0531,\r\n  0x0556,\r\n  0x0559,\r\n  0x055f,\r\n  0x0561,\r\n  0x0587,\r\n  0x0589,\r\n  0x0589,\r\n  0x0903,\r\n  0x0903,\r\n  0x0905,\r\n  0x0939,\r\n  0x093d,\r\n  0x0940,\r\n  0x0949,\r\n  0x094c,\r\n  0x0950,\r\n  0x0950,\r\n  0x0958,\r\n  0x0961,\r\n  0x0964,\r\n  0x0970,\r\n  0x0982,\r\n  0x0983,\r\n  0x0985,\r\n  0x098c,\r\n  0x098f,\r\n  0x0990,\r\n  0x0993,\r\n  0x09a8,\r\n  0x09aa,\r\n  0x09b0,\r\n  0x09b2,\r\n  0x09b2,\r\n  0x09b6,\r\n  0x09b9,\r\n  0x09be,\r\n  0x09c0,\r\n  0x09c7,\r\n  0x09c8,\r\n  0x09cb,\r\n  0x09cc,\r\n  0x09d7,\r\n  0x09d7,\r\n  0x09dc,\r\n  0x09dd,\r\n  0x09df,\r\n  0x09e1,\r\n  0x09e6,\r\n  0x09f1,\r\n  0x09f4,\r\n  0x09fa,\r\n  0x0a05,\r\n  0x0a0a,\r\n  0x0a0f,\r\n  0x0a10,\r\n  0x0a13,\r\n  0x0a28,\r\n  0x0a2a,\r\n  0x0a30,\r\n  0x0a32,\r\n  0x0a33,\r\n  0x0a35,\r\n  0x0a36,\r\n  0x0a38,\r\n  0x0a39,\r\n  0x0a3e,\r\n  0x0a40,\r\n  0x0a59,\r\n  0x0a5c,\r\n  0x0a5e,\r\n  0x0a5e,\r\n  0x0a66,\r\n  0x0a6f,\r\n  0x0a72,\r\n  0x0a74,\r\n  0x0a83,\r\n  0x0a83,\r\n  0x0a85,\r\n  0x0a8b,\r\n  0x0a8d,\r\n  0x0a8d,\r\n  0x0a8f,\r\n  0x0a91,\r\n  0x0a93,\r\n  0x0aa8,\r\n  0x0aaa,\r\n  0x0ab0,\r\n  0x0ab2,\r\n  0x0ab3,\r\n  0x0ab5,\r\n  0x0ab9,\r\n  0x0abd,\r\n  0x0ac0,\r\n  0x0ac9,\r\n  0x0ac9,\r\n  0x0acb,\r\n  0x0acc,\r\n  0x0ad0,\r\n  0x0ad0,\r\n  0x0ae0,\r\n  0x0ae0,\r\n  0x0ae6,\r\n  0x0aef,\r\n  0x0b02,\r\n  0x0b03,\r\n  0x0b05,\r\n  0x0b0c,\r\n  0x0b0f,\r\n  0x0b10,\r\n  0x0b13,\r\n  0x0b28,\r\n  0x0b2a,\r\n  0x0b30,\r\n  0x0b32,\r\n  0x0b33,\r\n  0x0b36,\r\n  0x0b39,\r\n  0x0b3d,\r\n  0x0b3e,\r\n  0x0b40,\r\n  0x0b40,\r\n  0x0b47,\r\n  0x0b48,\r\n  0x0b4b,\r\n  0x0b4c,\r\n  0x0b57,\r\n  0x0b57,\r\n  0x0b5c,\r\n  0x0b5d,\r\n  0x0b5f,\r\n  0x0b61,\r\n  0x0b66,\r\n  0x0b70,\r\n  0x0b83,\r\n  0x0b83,\r\n  0x0b85,\r\n  0x0b8a,\r\n  0x0b8e,\r\n  0x0b90,\r\n  0x0b92,\r\n  0x0b95,\r\n  0x0b99,\r\n  0x0b9a,\r\n  0x0b9c,\r\n  0x0b9c,\r\n  0x0b9e,\r\n  0x0b9f,\r\n  0x0ba3,\r\n  0x0ba4,\r\n  0x0ba8,\r\n  0x0baa,\r\n  0x0bae,\r\n  0x0bb5,\r\n  0x0bb7,\r\n  0x0bb9,\r\n  0x0bbe,\r\n  0x0bbf,\r\n  0x0bc1,\r\n  0x0bc2,\r\n  0x0bc6,\r\n  0x0bc8,\r\n  0x0bca,\r\n  0x0bcc,\r\n  0x0bd7,\r\n  0x0bd7,\r\n  0x0be7,\r\n  0x0bf2,\r\n  0x0c01,\r\n  0x0c03,\r\n  0x0c05,\r\n  0x0c0c,\r\n  0x0c0e,\r\n  0x0c10,\r\n  0x0c12,\r\n  0x0c28,\r\n  0x0c2a,\r\n  0x0c33,\r\n  0x0c35,\r\n  0x0c39,\r\n  0x0c41,\r\n  0x0c44,\r\n  0x0c60,\r\n  0x0c61,\r\n  0x0c66,\r\n  0x0c6f,\r\n  0x0c82,\r\n  0x0c83,\r\n  0x0c85,\r\n  0x0c8c,\r\n  0x0c8e,\r\n  0x0c90,\r\n  0x0c92,\r\n  0x0ca8,\r\n  0x0caa,\r\n  0x0cb3,\r\n  0x0cb5,\r\n  0x0cb9,\r\n  0x0cbe,\r\n  0x0cbe,\r\n  0x0cc0,\r\n  0x0cc4,\r\n  0x0cc7,\r\n  0x0cc8,\r\n  0x0cca,\r\n  0x0ccb,\r\n  0x0cd5,\r\n  0x0cd6,\r\n  0x0cde,\r\n  0x0cde,\r\n  0x0ce0,\r\n  0x0ce1,\r\n  0x0ce6,\r\n  0x0cef,\r\n  0x0d02,\r\n  0x0d03,\r\n  0x0d05,\r\n  0x0d0c,\r\n  0x0d0e,\r\n  0x0d10,\r\n  0x0d12,\r\n  0x0d28,\r\n  0x0d2a,\r\n  0x0d39,\r\n  0x0d3e,\r\n  0x0d40,\r\n  0x0d46,\r\n  0x0d48,\r\n  0x0d4a,\r\n  0x0d4c,\r\n  0x0d57,\r\n  0x0d57,\r\n  0x0d60,\r\n  0x0d61,\r\n  0x0d66,\r\n  0x0d6f,\r\n  0x0d82,\r\n  0x0d83,\r\n  0x0d85,\r\n  0x0d96,\r\n  0x0d9a,\r\n  0x0db1,\r\n  0x0db3,\r\n  0x0dbb,\r\n  0x0dbd,\r\n  0x0dbd,\r\n  0x0dc0,\r\n  0x0dc6,\r\n  0x0dcf,\r\n  0x0dd1,\r\n  0x0dd8,\r\n  0x0ddf,\r\n  0x0df2,\r\n  0x0df4,\r\n  0x0e01,\r\n  0x0e30,\r\n  0x0e32,\r\n  0x0e33,\r\n  0x0e40,\r\n  0x0e46,\r\n  0x0e4f,\r\n  0x0e5b,\r\n  0x0e81,\r\n  0x0e82,\r\n  0x0e84,\r\n  0x0e84,\r\n  0x0e87,\r\n  0x0e88,\r\n  0x0e8a,\r\n  0x0e8a,\r\n  0x0e8d,\r\n  0x0e8d,\r\n  0x0e94,\r\n  0x0e97,\r\n  0x0e99,\r\n  0x0e9f,\r\n  0x0ea1,\r\n  0x0ea3,\r\n  0x0ea5,\r\n  0x0ea5,\r\n  0x0ea7,\r\n  0x0ea7,\r\n  0x0eaa,\r\n  0x0eab,\r\n  0x0ead,\r\n  0x0eb0,\r\n  0x0eb2,\r\n  0x0eb3,\r\n  0x0ebd,\r\n  0x0ebd,\r\n  0x0ec0,\r\n  0x0ec4,\r\n  0x0ec6,\r\n  0x0ec6,\r\n  0x0ed0,\r\n  0x0ed9,\r\n  0x0edc,\r\n  0x0edd,\r\n  0x0f00,\r\n  0x0f17,\r\n  0x0f1a,\r\n  0x0f34,\r\n  0x0f36,\r\n  0x0f36,\r\n  0x0f38,\r\n  0x0f38,\r\n  0x0f3e,\r\n  0x0f47,\r\n  0x0f49,\r\n  0x0f6a,\r\n  0x0f7f,\r\n  0x0f7f,\r\n  0x0f85,\r\n  0x0f85,\r\n  0x0f88,\r\n  0x0f8b,\r\n  0x0fbe,\r\n  0x0fc5,\r\n  0x0fc7,\r\n  0x0fcc,\r\n  0x0fcf,\r\n  0x0fcf,\r\n  0x1000,\r\n  0x1021,\r\n  0x1023,\r\n  0x1027,\r\n  0x1029,\r\n  0x102a,\r\n  0x102c,\r\n  0x102c,\r\n  0x1031,\r\n  0x1031,\r\n  0x1038,\r\n  0x1038,\r\n  0x1040,\r\n  0x1057,\r\n  0x10a0,\r\n  0x10c5,\r\n  0x10d0,\r\n  0x10f8,\r\n  0x10fb,\r\n  0x10fb,\r\n  0x1100,\r\n  0x1159,\r\n  0x115f,\r\n  0x11a2,\r\n  0x11a8,\r\n  0x11f9,\r\n  0x1200,\r\n  0x1206,\r\n  0x1208,\r\n  0x1246,\r\n  0x1248,\r\n  0x1248,\r\n  0x124a,\r\n  0x124d,\r\n  0x1250,\r\n  0x1256,\r\n  0x1258,\r\n  0x1258,\r\n  0x125a,\r\n  0x125d,\r\n  0x1260,\r\n  0x1286,\r\n  0x1288,\r\n  0x1288,\r\n  0x128a,\r\n  0x128d,\r\n  0x1290,\r\n  0x12ae,\r\n  0x12b0,\r\n  0x12b0,\r\n  0x12b2,\r\n  0x12b5,\r\n  0x12b8,\r\n  0x12be,\r\n  0x12c0,\r\n  0x12c0,\r\n  0x12c2,\r\n  0x12c5,\r\n  0x12c8,\r\n  0x12ce,\r\n  0x12d0,\r\n  0x12d6,\r\n  0x12d8,\r\n  0x12ee,\r\n  0x12f0,\r\n  0x130e,\r\n  0x1310,\r\n  0x1310,\r\n  0x1312,\r\n  0x1315,\r\n  0x1318,\r\n  0x131e,\r\n  0x1320,\r\n  0x1346,\r\n  0x1348,\r\n  0x135a,\r\n  0x1361,\r\n  0x137c,\r\n  0x13a0,\r\n  0x13f4,\r\n  0x1401,\r\n  0x1676,\r\n  0x1681,\r\n  0x169a,\r\n  0x16a0,\r\n  0x16f0,\r\n  0x1700,\r\n  0x170c,\r\n  0x170e,\r\n  0x1711,\r\n  0x1720,\r\n  0x1731,\r\n  0x1735,\r\n  0x1736,\r\n  0x1740,\r\n  0x1751,\r\n  0x1760,\r\n  0x176c,\r\n  0x176e,\r\n  0x1770,\r\n  0x1780,\r\n  0x17b6,\r\n  0x17be,\r\n  0x17c5,\r\n  0x17c7,\r\n  0x17c8,\r\n  0x17d4,\r\n  0x17da,\r\n  0x17dc,\r\n  0x17dc,\r\n  0x17e0,\r\n  0x17e9,\r\n  0x1810,\r\n  0x1819,\r\n  0x1820,\r\n  0x1877,\r\n  0x1880,\r\n  0x18a8,\r\n  0x1e00,\r\n  0x1e9b,\r\n  0x1ea0,\r\n  0x1ef9,\r\n  0x1f00,\r\n  0x1f15,\r\n  0x1f18,\r\n  0x1f1d,\r\n  0x1f20,\r\n  0x1f45,\r\n  0x1f48,\r\n  0x1f4d,\r\n  0x1f50,\r\n  0x1f57,\r\n  0x1f59,\r\n  0x1f59,\r\n  0x1f5b,\r\n  0x1f5b,\r\n  0x1f5d,\r\n  0x1f5d,\r\n  0x1f5f,\r\n  0x1f7d,\r\n  0x1f80,\r\n  0x1fb4,\r\n  0x1fb6,\r\n  0x1fbc,\r\n  0x1fbe,\r\n  0x1fbe,\r\n  0x1fc2,\r\n  0x1fc4,\r\n  0x1fc6,\r\n  0x1fcc,\r\n  0x1fd0,\r\n  0x1fd3,\r\n  0x1fd6,\r\n  0x1fdb,\r\n  0x1fe0,\r\n  0x1fec,\r\n  0x1ff2,\r\n  0x1ff4,\r\n  0x1ff6,\r\n  0x1ffc,\r\n  0x200e,\r\n  0x200e,\r\n  0x2071,\r\n  0x2071,\r\n  0x207f,\r\n  0x207f,\r\n  0x2102,\r\n  0x2102,\r\n  0x2107,\r\n  0x2107,\r\n  0x210a,\r\n  0x2113,\r\n  0x2115,\r\n  0x2115,\r\n  0x2119,\r\n  0x211d,\r\n  0x2124,\r\n  0x2124,\r\n  0x2126,\r\n  0x2126,\r\n  0x2128,\r\n  0x2128,\r\n  0x212a,\r\n  0x212d,\r\n  0x212f,\r\n  0x2131,\r\n  0x2133,\r\n  0x2139,\r\n  0x213d,\r\n  0x213f,\r\n  0x2145,\r\n  0x2149,\r\n  0x2160,\r\n  0x2183,\r\n  0x2336,\r\n  0x237a,\r\n  0x2395,\r\n  0x2395,\r\n  0x249c,\r\n  0x24e9,\r\n  0x3005,\r\n  0x3007,\r\n  0x3021,\r\n  0x3029,\r\n  0x3031,\r\n  0x3035,\r\n  0x3038,\r\n  0x303c,\r\n  0x3041,\r\n  0x3096,\r\n  0x309d,\r\n  0x309f,\r\n  0x30a1,\r\n  0x30fa,\r\n  0x30fc,\r\n  0x30ff,\r\n  0x3105,\r\n  0x312c,\r\n  0x3131,\r\n  0x318e,\r\n  0x3190,\r\n  0x31b7,\r\n  0x31f0,\r\n  0x321c,\r\n  0x3220,\r\n  0x3243,\r\n  0x3260,\r\n  0x327b,\r\n  0x327f,\r\n  0x32b0,\r\n  0x32c0,\r\n  0x32cb,\r\n  0x32d0,\r\n  0x32fe,\r\n  0x3300,\r\n  0x3376,\r\n  0x337b,\r\n  0x33dd,\r\n  0x33e0,\r\n  0x33fe,\r\n  0x3400,\r\n  0x4db5,\r\n  0x4e00,\r\n  0x9fa5,\r\n  0xa000,\r\n  0xa48c,\r\n  0xac00,\r\n  0xd7a3,\r\n  0xd800,\r\n  0xfa2d,\r\n  0xfa30,\r\n  0xfa6a,\r\n  0xfb00,\r\n  0xfb06,\r\n  0xfb13,\r\n  0xfb17,\r\n  0xff21,\r\n  0xff3a,\r\n  0xff41,\r\n  0xff5a,\r\n  0xff66,\r\n  0xffbe,\r\n  0xffc2,\r\n  0xffc7,\r\n  0xffca,\r\n  0xffcf,\r\n  0xffd2,\r\n  0xffd7,\r\n  0xffda,\r\n  0xffdc,\r\n  0x10300,\r\n  0x1031e,\r\n  0x10320,\r\n  0x10323,\r\n  0x10330,\r\n  0x1034a,\r\n  0x10400,\r\n  0x10425,\r\n  0x10428,\r\n  0x1044d,\r\n  0x1d000,\r\n  0x1d0f5,\r\n  0x1d100,\r\n  0x1d126,\r\n  0x1d12a,\r\n  0x1d166,\r\n  0x1d16a,\r\n  0x1d172,\r\n  0x1d183,\r\n  0x1d184,\r\n  0x1d18c,\r\n  0x1d1a9,\r\n  0x1d1ae,\r\n  0x1d1dd,\r\n  0x1d400,\r\n  0x1d454,\r\n  0x1d456,\r\n  0x1d49c,\r\n  0x1d49e,\r\n  0x1d49f,\r\n  0x1d4a2,\r\n  0x1d4a2,\r\n  0x1d4a5,\r\n  0x1d4a6,\r\n  0x1d4a9,\r\n  0x1d4ac,\r\n  0x1d4ae,\r\n  0x1d4b9,\r\n  0x1d4bb,\r\n  0x1d4bb,\r\n  0x1d4bd,\r\n  0x1d4c0,\r\n  0x1d4c2,\r\n  0x1d4c3,\r\n  0x1d4c5,\r\n  0x1d505,\r\n  0x1d507,\r\n  0x1d50a,\r\n  0x1d50d,\r\n  0x1d514,\r\n  0x1d516,\r\n  0x1d51c,\r\n  0x1d51e,\r\n  0x1d539,\r\n  0x1d53b,\r\n  0x1d53e,\r\n  0x1d540,\r\n  0x1d544,\r\n  0x1d546,\r\n  0x1d546,\r\n  0x1d54a,\r\n  0x1d550,\r\n  0x1d552,\r\n  0x1d6a3,\r\n  0x1d6a8,\r\n  0x1d7c9,\r\n  0x20000,\r\n  0x2a6d6,\r\n  0x2f800,\r\n  0x2fa1d,\r\n  0xf0000,\r\n  0xffffd,\r\n  0x100000,\r\n  0x10fffd\r\n];\r\n// prettier-ignore-end\r\n\r\nconst isBidirectionalL = character => inRange(character, bidirectional_l);\r\n\r\nexport {\r\n  isUnassignedCodePoint,\r\n  isCommonlyMappedToNothing,\r\n  isNonASCIISpaceCharacter,\r\n  isProhibitedCharacter,\r\n  isBidirectionalRAL,\r\n  isBidirectionalL\r\n};\r\n","import {\r\n  isUnassignedCodePoint,\r\n  isCommonlyMappedToNothing,\r\n  isNonASCIISpaceCharacter,\r\n  isProhibitedCharacter,\r\n  isBidirectionalRAL,\r\n  isBidirectionalL\r\n} from './lib/code-points';\r\n\r\n// 2.1.  Mapping\r\n\r\n/**\r\n * non-ASCII space characters [StringPrep, C.1.2] that can be\r\n * mapped to SPACE (U+0020)\r\n */\r\nconst mapping2space = isNonASCIISpaceCharacter;\r\n\r\n/**\r\n * the \"commonly mapped to nothing\" characters [StringPrep, B.1]\r\n * that can be mapped to nothing.\r\n */\r\nconst mapping2nothing = isCommonlyMappedToNothing;\r\n\r\n// utils\r\nconst getCodePoint = character => character.codePointAt(0);\r\nconst first = x => x[0];\r\nconst last = x => x[x.length - 1];\r\n\r\n/**\r\n * Convert provided string into an array of Unicode Code Points.\r\n * Based on https://stackoverflow.com/a/21409165/1556249\r\n * and https://www.npmjs.com/package/code-point-at.\r\n * @param {string} input\r\n * @returns {number[]}\r\n */\r\nfunction toCodePoints(input) {\r\n  const codepoints = [];\r\n  const size = input.length;\r\n\r\n  for (let i = 0; i < size; i += 1) {\r\n    const before = input.charCodeAt(i);\r\n\r\n    if (before >= 0xd800 && before <= 0xdbff && size > i + 1) {\r\n      const next = input.charCodeAt(i + 1);\r\n\r\n      if (next >= 0xdc00 && next <= 0xdfff) {\r\n        codepoints.push((before - 0xd800) * 0x400 + next - 0xdc00 + 0x10000);\r\n        i += 1;\r\n        continue;\r\n      }\r\n    }\r\n\r\n    codepoints.push(before);\r\n  }\r\n\r\n  return codepoints;\r\n}\r\n\r\n/**\r\n * SASLprep.\r\n * @param {string} input\r\n * @param {Object} opts\r\n * @param {boolean} opts.allowUnassigned\r\n * @returns {string}\r\n */\r\nfunction saslprep(input, opts = {}) {\r\n  if (typeof input !== 'string') {\r\n    throw new TypeError('Expected string.');\r\n  }\r\n\r\n  if (input.length === 0) {\r\n    return '';\r\n  }\r\n\r\n  // 1. Map\r\n  const mapped_input = toCodePoints(input)\r\n    // 1.1 mapping to space\r\n    .map(character => (mapping2space(character) ? 0x20 : character))\r\n    // 1.2 mapping to nothing\r\n    .filter(character => !mapping2nothing(character));\r\n\r\n  // 2. Normalize\r\n  const normalized_input = String.fromCodePoint\r\n    .apply(null, mapped_input)\r\n    .normalize('NFKC');\r\n\r\n  const normalized_map = toCodePoints(normalized_input);\r\n\r\n  // 3. Prohibit\r\n  const hasProhibited = normalized_map.some(isProhibitedCharacter);\r\n\r\n  if (hasProhibited) {\r\n    throw new Error(\r\n      'Prohibited character, see https://tools.ietf.org/html/rfc4013#section-2.3'\r\n    );\r\n  }\r\n\r\n  // Unassigned Code Points\r\n  if (opts.allowUnassigned !== true) {\r\n    const hasUnassigned = normalized_map.some(isUnassignedCodePoint);\r\n\r\n    if (hasUnassigned) {\r\n      throw new Error(\r\n        'Unassigned code point, see https://tools.ietf.org/html/rfc4013#section-2.5'\r\n      );\r\n    }\r\n  }\r\n\r\n  // 4. check bidi\r\n\r\n  const hasBidiRAL = normalized_map.some(isBidirectionalRAL);\r\n\r\n  const hasBidiL = normalized_map.some(isBidirectionalL);\r\n\r\n  // 4.1 If a string contains any RandALCat character, the string MUST NOT\r\n  // contain any LCat character.\r\n  if (hasBidiRAL && hasBidiL) {\r\n    throw new Error(\r\n      'String must not contain RandALCat and LCat at the same time,' +\r\n        ' see https://tools.ietf.org/html/rfc3454#section-6'\r\n    );\r\n  }\r\n\r\n  /**\r\n   * 4.2 If a string contains any RandALCat character, a RandALCat\r\n   * character MUST be the first character of the string, and a\r\n   * RandALCat character MUST be the last character of the string.\r\n   */\r\n\r\n  const isFirstBidiRAL = isBidirectionalRAL(\r\n    getCodePoint(first(normalized_input))\r\n  );\r\n  const isLastBidiRAL = isBidirectionalRAL(\r\n    getCodePoint(last(normalized_input))\r\n  );\r\n\r\n  if (hasBidiRAL && !(isFirstBidiRAL && isLastBidiRAL)) {\r\n    throw new Error(\r\n      'Bidirectional RandALCat character must be the first and the last' +\r\n        ' character of the string, see https://tools.ietf.org/html/rfc3454#section-6'\r\n    );\r\n  }\r\n\r\n  return normalized_input;\r\n}\r\n\r\nexport default saslprep;\r\n","/*\r\n   PDFSecurity - represents PDF security settings\r\n   By Yang Liu <hi@zesik.com>\r\n */\r\n\r\nimport CryptoJS from 'crypto-js';\r\nimport saslprep from './saslprep/index';\r\n\r\nclass PDFSecurity {\r\n  static generateFileID(info = {}) {\r\n    let infoStr = `${info.CreationDate.getTime()}\\n`;\r\n\r\n    for (let key in info) {\r\n      // eslint-disable-next-line no-prototype-builtins\r\n      if (!info.hasOwnProperty(key)) {\r\n        continue;\r\n      }\r\n      infoStr += `${key}: ${info[key].valueOf()}\\n`;\r\n    }\r\n\r\n    return wordArrayToBuffer(CryptoJS.MD5(infoStr));\r\n  }\r\n\r\n  static generateRandomWordArray(bytes) {\r\n    return CryptoJS.lib.WordArray.random(bytes);\r\n  }\r\n\r\n  static create(document, options = {}) {\r\n    if (!options.ownerPassword && !options.userPassword) {\r\n      return null;\r\n    }\r\n    return new PDFSecurity(document, options);\r\n  }\r\n\r\n  constructor(document, options = {}) {\r\n    if (!options.ownerPassword && !options.userPassword) {\r\n      throw new Error('None of owner password and user password is defined.');\r\n    }\r\n\r\n    this.document = document;\r\n    this._setupEncryption(options);\r\n  }\r\n\r\n  _setupEncryption(options) {\r\n    switch (options.pdfVersion) {\r\n      case '1.4':\r\n      case '1.5':\r\n        this.version = 2;\r\n        break;\r\n      case '1.6':\r\n      case '1.7':\r\n        this.version = 4;\r\n        break;\r\n      case '1.7ext3':\r\n        this.version = 5;\r\n        break;\r\n      default:\r\n        this.version = 1;\r\n        break;\r\n    }\r\n\r\n    const encDict = {\r\n      Filter: 'Standard'\r\n    };\r\n\r\n    switch (this.version) {\r\n      case 1:\r\n      case 2:\r\n      case 4:\r\n        this._setupEncryptionV1V2V4(this.version, encDict, options);\r\n        break;\r\n      case 5:\r\n        this._setupEncryptionV5(encDict, options);\r\n        break;\r\n    }\r\n\r\n    this.dictionary = this.document.ref(encDict);\r\n  }\r\n\r\n  _setupEncryptionV1V2V4(v, encDict, options) {\r\n    let r, permissions;\r\n    switch (v) {\r\n      case 1:\r\n        r = 2;\r\n        this.keyBits = 40;\r\n        permissions = getPermissionsR2(options.permissions);\r\n        break;\r\n      case 2:\r\n        r = 3;\r\n        this.keyBits = 128;\r\n        permissions = getPermissionsR3(options.permissions);\r\n        break;\r\n      case 4:\r\n        r = 4;\r\n        this.keyBits = 128;\r\n        permissions = getPermissionsR3(options.permissions);\r\n        break;\r\n    }\r\n\r\n    const paddedUserPassword = processPasswordR2R3R4(options.userPassword);\r\n    const paddedOwnerPassword = options.ownerPassword\r\n      ? processPasswordR2R3R4(options.ownerPassword)\r\n      : paddedUserPassword;\r\n\r\n    const ownerPasswordEntry = getOwnerPasswordR2R3R4(\r\n      r,\r\n      this.keyBits,\r\n      paddedUserPassword,\r\n      paddedOwnerPassword\r\n    );\r\n    this.encryptionKey = getEncryptionKeyR2R3R4(\r\n      r,\r\n      this.keyBits,\r\n      this.document._id,\r\n      paddedUserPassword,\r\n      ownerPasswordEntry,\r\n      permissions\r\n    );\r\n    let userPasswordEntry;\r\n    if (r === 2) {\r\n      userPasswordEntry = getUserPasswordR2(this.encryptionKey);\r\n    } else {\r\n      userPasswordEntry = getUserPasswordR3R4(\r\n        this.document._id,\r\n        this.encryptionKey\r\n      );\r\n    }\r\n\r\n    encDict.V = v;\r\n    if (v >= 2) {\r\n      encDict.Length = this.keyBits;\r\n    }\r\n    if (v === 4) {\r\n      encDict.CF = {\r\n        StdCF: {\r\n          AuthEvent: 'DocOpen',\r\n          CFM: 'AESV2',\r\n          Length: this.keyBits / 8\r\n        }\r\n      };\r\n      encDict.StmF = 'StdCF';\r\n      encDict.StrF = 'StdCF';\r\n    }\r\n    encDict.R = r;\r\n    encDict.O = wordArrayToBuffer(ownerPasswordEntry);\r\n    encDict.U = wordArrayToBuffer(userPasswordEntry);\r\n    encDict.P = permissions;\r\n  }\r\n\r\n  _setupEncryptionV5(encDict, options) {\r\n    this.keyBits = 256;\r\n    const permissions = getPermissionsR3(options.permissions);\r\n\r\n    const processedUserPassword = processPasswordR5(options.userPassword);\r\n    const processedOwnerPassword = options.ownerPassword\r\n      ? processPasswordR5(options.ownerPassword)\r\n      : processedUserPassword;\r\n\r\n    this.encryptionKey = getEncryptionKeyR5(\r\n      PDFSecurity.generateRandomWordArray\r\n    );\r\n    const userPasswordEntry = getUserPasswordR5(\r\n      processedUserPassword,\r\n      PDFSecurity.generateRandomWordArray\r\n    );\r\n    const userKeySalt = CryptoJS.lib.WordArray.create(\r\n      userPasswordEntry.words.slice(10, 12),\r\n      8\r\n    );\r\n    const userEncryptionKeyEntry = getUserEncryptionKeyR5(\r\n      processedUserPassword,\r\n      userKeySalt,\r\n      this.encryptionKey\r\n    );\r\n    const ownerPasswordEntry = getOwnerPasswordR5(\r\n      processedOwnerPassword,\r\n      userPasswordEntry,\r\n      PDFSecurity.generateRandomWordArray\r\n    );\r\n    const ownerKeySalt = CryptoJS.lib.WordArray.create(\r\n      ownerPasswordEntry.words.slice(10, 12),\r\n      8\r\n    );\r\n    const ownerEncryptionKeyEntry = getOwnerEncryptionKeyR5(\r\n      processedOwnerPassword,\r\n      ownerKeySalt,\r\n      userPasswordEntry,\r\n      this.encryptionKey\r\n    );\r\n    const permsEntry = getEncryptedPermissionsR5(\r\n      permissions,\r\n      this.encryptionKey,\r\n      PDFSecurity.generateRandomWordArray\r\n    );\r\n\r\n    encDict.V = 5;\r\n    encDict.Length = this.keyBits;\r\n    encDict.CF = {\r\n      StdCF: {\r\n        AuthEvent: 'DocOpen',\r\n        CFM: 'AESV3',\r\n        Length: this.keyBits / 8\r\n      }\r\n    };\r\n    encDict.StmF = 'StdCF';\r\n    encDict.StrF = 'StdCF';\r\n    encDict.R = 5;\r\n    encDict.O = wordArrayToBuffer(ownerPasswordEntry);\r\n    encDict.OE = wordArrayToBuffer(ownerEncryptionKeyEntry);\r\n    encDict.U = wordArrayToBuffer(userPasswordEntry);\r\n    encDict.UE = wordArrayToBuffer(userEncryptionKeyEntry);\r\n    encDict.P = permissions;\r\n    encDict.Perms = wordArrayToBuffer(permsEntry);\r\n  }\r\n\r\n  getEncryptFn(obj, gen) {\r\n    let digest;\r\n    if (this.version < 5) {\r\n      digest = this.encryptionKey\r\n        .clone()\r\n        .concat(\r\n          CryptoJS.lib.WordArray.create(\r\n            [\r\n              ((obj & 0xff) << 24) |\r\n                ((obj & 0xff00) << 8) |\r\n                ((obj >> 8) & 0xff00) |\r\n                (gen & 0xff),\r\n              (gen & 0xff00) << 16\r\n            ],\r\n            5\r\n          )\r\n        );\r\n    }\r\n\r\n    if (this.version === 1 || this.version === 2) {\r\n      let key = CryptoJS.MD5(digest);\r\n      key.sigBytes = Math.min(16, this.keyBits / 8 + 5);\r\n      return buffer =>\r\n        wordArrayToBuffer(\r\n          CryptoJS.RC4.encrypt(CryptoJS.lib.WordArray.create(buffer), key)\r\n            .ciphertext\r\n        );\r\n    }\r\n\r\n    let key;\r\n    if (this.version === 4) {\r\n      key = CryptoJS.MD5(\r\n        digest.concat(CryptoJS.lib.WordArray.create([0x73416c54], 4))\r\n      );\r\n    } else {\r\n      key = this.encryptionKey;\r\n    }\r\n\r\n    const iv = PDFSecurity.generateRandomWordArray(16);\r\n    const options = {\r\n      mode: CryptoJS.mode.CBC,\r\n      padding: CryptoJS.pad.Pkcs7,\r\n      iv\r\n    };\r\n\r\n    return buffer =>\r\n      wordArrayToBuffer(\r\n        iv\r\n          .clone()\r\n          .concat(\r\n            CryptoJS.AES.encrypt(\r\n              CryptoJS.lib.WordArray.create(buffer),\r\n              key,\r\n              options\r\n            ).ciphertext\r\n          )\r\n      );\r\n  }\r\n\r\n  end() {\r\n    this.dictionary.end();\r\n  }\r\n}\r\n\r\nfunction getPermissionsR2(permissionObject = {}) {\r\n  let permissions = 0xffffffc0 >> 0;\r\n  if (permissionObject.printing) {\r\n    permissions |= 0b000000000100;\r\n  }\r\n  if (permissionObject.modifying) {\r\n    permissions |= 0b000000001000;\r\n  }\r\n  if (permissionObject.copying) {\r\n    permissions |= 0b000000010000;\r\n  }\r\n  if (permissionObject.annotating) {\r\n    permissions |= 0b000000100000;\r\n  }\r\n  return permissions;\r\n}\r\n\r\nfunction getPermissionsR3(permissionObject = {}) {\r\n  let permissions = 0xfffff0c0 >> 0;\r\n  if (permissionObject.printing === 'lowResolution') {\r\n    permissions |= 0b000000000100;\r\n  }\r\n  if (permissionObject.printing === 'highResolution') {\r\n    permissions |= 0b100000000100;\r\n  }\r\n  if (permissionObject.modifying) {\r\n    permissions |= 0b000000001000;\r\n  }\r\n  if (permissionObject.copying) {\r\n    permissions |= 0b000000010000;\r\n  }\r\n  if (permissionObject.annotating) {\r\n    permissions |= 0b000000100000;\r\n  }\r\n  if (permissionObject.fillingForms) {\r\n    permissions |= 0b000100000000;\r\n  }\r\n  if (permissionObject.contentAccessibility) {\r\n    permissions |= 0b001000000000;\r\n  }\r\n  if (permissionObject.documentAssembly) {\r\n    permissions |= 0b010000000000;\r\n  }\r\n  return permissions;\r\n}\r\n\r\nfunction getUserPasswordR2(encryptionKey) {\r\n  return CryptoJS.RC4.encrypt(processPasswordR2R3R4(), encryptionKey)\r\n    .ciphertext;\r\n}\r\n\r\nfunction getUserPasswordR3R4(documentId, encryptionKey) {\r\n  const key = encryptionKey.clone();\r\n  let cipher = CryptoJS.MD5(\r\n    processPasswordR2R3R4().concat(CryptoJS.lib.WordArray.create(documentId))\r\n  );\r\n  for (let i = 0; i < 20; i++) {\r\n    const xorRound = Math.ceil(key.sigBytes / 4);\r\n    for (let j = 0; j < xorRound; j++) {\r\n      key.words[j] =\r\n        encryptionKey.words[j] ^ (i | (i << 8) | (i << 16) | (i << 24));\r\n    }\r\n    cipher = CryptoJS.RC4.encrypt(cipher, key).ciphertext;\r\n  }\r\n  return cipher.concat(CryptoJS.lib.WordArray.create(null, 16));\r\n}\r\n\r\nfunction getOwnerPasswordR2R3R4(\r\n  r,\r\n  keyBits,\r\n  paddedUserPassword,\r\n  paddedOwnerPassword\r\n) {\r\n  let digest = paddedOwnerPassword;\r\n  let round = r >= 3 ? 51 : 1;\r\n  for (let i = 0; i < round; i++) {\r\n    digest = CryptoJS.MD5(digest);\r\n  }\r\n\r\n  const key = digest.clone();\r\n  key.sigBytes = keyBits / 8;\r\n  let cipher = paddedUserPassword;\r\n  round = r >= 3 ? 20 : 1;\r\n  for (let i = 0; i < round; i++) {\r\n    const xorRound = Math.ceil(key.sigBytes / 4);\r\n    for (let j = 0; j < xorRound; j++) {\r\n      key.words[j] = digest.words[j] ^ (i | (i << 8) | (i << 16) | (i << 24));\r\n    }\r\n    cipher = CryptoJS.RC4.encrypt(cipher, key).ciphertext;\r\n  }\r\n  return cipher;\r\n}\r\n\r\nfunction getEncryptionKeyR2R3R4(\r\n  r,\r\n  keyBits,\r\n  documentId,\r\n  paddedUserPassword,\r\n  ownerPasswordEntry,\r\n  permissions\r\n) {\r\n  let key = paddedUserPassword\r\n    .clone()\r\n    .concat(ownerPasswordEntry)\r\n    .concat(CryptoJS.lib.WordArray.create([lsbFirstWord(permissions)], 4))\r\n    .concat(CryptoJS.lib.WordArray.create(documentId));\r\n  const round = r >= 3 ? 51 : 1;\r\n  for (let i = 0; i < round; i++) {\r\n    key = CryptoJS.MD5(key);\r\n    key.sigBytes = keyBits / 8;\r\n  }\r\n  return key;\r\n}\r\n\r\nfunction getUserPasswordR5(processedUserPassword, generateRandomWordArray) {\r\n  const validationSalt = generateRandomWordArray(8);\r\n  const keySalt = generateRandomWordArray(8);\r\n  return CryptoJS.SHA256(processedUserPassword.clone().concat(validationSalt))\r\n    .concat(validationSalt)\r\n    .concat(keySalt);\r\n}\r\n\r\nfunction getUserEncryptionKeyR5(\r\n  processedUserPassword,\r\n  userKeySalt,\r\n  encryptionKey\r\n) {\r\n  const key = CryptoJS.SHA256(\r\n    processedUserPassword.clone().concat(userKeySalt)\r\n  );\r\n  const options = {\r\n    mode: CryptoJS.mode.CBC,\r\n    padding: CryptoJS.pad.NoPadding,\r\n    iv: CryptoJS.lib.WordArray.create(null, 16)\r\n  };\r\n  return CryptoJS.AES.encrypt(encryptionKey, key, options).ciphertext;\r\n}\r\n\r\nfunction getOwnerPasswordR5(\r\n  processedOwnerPassword,\r\n  userPasswordEntry,\r\n  generateRandomWordArray\r\n) {\r\n  const validationSalt = generateRandomWordArray(8);\r\n  const keySalt = generateRandomWordArray(8);\r\n  return CryptoJS.SHA256(\r\n    processedOwnerPassword\r\n      .clone()\r\n      .concat(validationSalt)\r\n      .concat(userPasswordEntry)\r\n  )\r\n    .concat(validationSalt)\r\n    .concat(keySalt);\r\n}\r\n\r\nfunction getOwnerEncryptionKeyR5(\r\n  processedOwnerPassword,\r\n  ownerKeySalt,\r\n  userPasswordEntry,\r\n  encryptionKey\r\n) {\r\n  const key = CryptoJS.SHA256(\r\n    processedOwnerPassword\r\n      .clone()\r\n      .concat(ownerKeySalt)\r\n      .concat(userPasswordEntry)\r\n  );\r\n  const options = {\r\n    mode: CryptoJS.mode.CBC,\r\n    padding: CryptoJS.pad.NoPadding,\r\n    iv: CryptoJS.lib.WordArray.create(null, 16)\r\n  };\r\n  return CryptoJS.AES.encrypt(encryptionKey, key, options).ciphertext;\r\n}\r\n\r\nfunction getEncryptionKeyR5(generateRandomWordArray) {\r\n  return generateRandomWordArray(32);\r\n}\r\n\r\nfunction getEncryptedPermissionsR5(\r\n  permissions,\r\n  encryptionKey,\r\n  generateRandomWordArray\r\n) {\r\n  const cipher = CryptoJS.lib.WordArray.create(\r\n    [lsbFirstWord(permissions), 0xffffffff, 0x54616462],\r\n    12\r\n  ).concat(generateRandomWordArray(4));\r\n  const options = {\r\n    mode: CryptoJS.mode.ECB,\r\n    padding: CryptoJS.pad.NoPadding\r\n  };\r\n  return CryptoJS.AES.encrypt(cipher, encryptionKey, options).ciphertext;\r\n}\r\n\r\nfunction processPasswordR2R3R4(password = '') {\r\n  const out = Buffer.alloc(32);\r\n  const length = password.length;\r\n  let index = 0;\r\n  while (index < length && index < 32) {\r\n    const code = password.charCodeAt(index);\r\n    if (code > 0xff) {\r\n      throw new Error('Password contains one or more invalid characters.');\r\n    }\r\n    out[index] = code;\r\n    index++;\r\n  }\r\n  while (index < 32) {\r\n    out[index] = PASSWORD_PADDING[index - length];\r\n    index++;\r\n  }\r\n  return CryptoJS.lib.WordArray.create(out);\r\n}\r\n\r\nfunction processPasswordR5(password = '') {\r\n  password = unescape(encodeURIComponent(saslprep(password)));\r\n  const length = Math.min(127, password.length);\r\n  const out = Buffer.alloc(length);\r\n\r\n  for (let i = 0; i < length; i++) {\r\n    out[i] = password.charCodeAt(i);\r\n  }\r\n\r\n  return CryptoJS.lib.WordArray.create(out);\r\n}\r\n\r\nfunction lsbFirstWord(data) {\r\n  return (\r\n    ((data & 0xff) << 24) |\r\n    ((data & 0xff00) << 8) |\r\n    ((data >> 8) & 0xff00) |\r\n    ((data >> 24) & 0xff)\r\n  );\r\n}\r\n\r\nfunction wordArrayToBuffer(wordArray) {\r\n  const byteArray = [];\r\n  for (let i = 0; i < wordArray.sigBytes; i++) {\r\n    byteArray.push(\r\n      (wordArray.words[Math.floor(i / 4)] >> (8 * (3 - (i % 4)))) & 0xff\r\n    );\r\n  }\r\n  return Buffer.from(byteArray);\r\n}\r\n\r\nconst PASSWORD_PADDING = [\r\n  0x28,\r\n  0xbf,\r\n  0x4e,\r\n  0x5e,\r\n  0x4e,\r\n  0x75,\r\n  0x8a,\r\n  0x41,\r\n  0x64,\r\n  0x00,\r\n  0x4e,\r\n  0x56,\r\n  0xff,\r\n  0xfa,\r\n  0x01,\r\n  0x08,\r\n  0x2e,\r\n  0x2e,\r\n  0x00,\r\n  0xb6,\r\n  0xd0,\r\n  0x68,\r\n  0x3e,\r\n  0x80,\r\n  0x2f,\r\n  0x0c,\r\n  0xa9,\r\n  0xfe,\r\n  0x64,\r\n  0x53,\r\n  0x69,\r\n  0x7a\r\n];\r\n\r\nexport default PDFSecurity;\r\n","let cx, cy, px, py, sx, sy;\r\n\r\ncx = cy = px = py = sx = sy = 0;\r\n\r\nconst parameters = {\r\n  A: 7,\r\n  a: 7,\r\n  C: 6,\r\n  c: 6,\r\n  H: 1,\r\n  h: 1,\r\n  L: 2,\r\n  l: 2,\r\n  M: 2,\r\n  m: 2,\r\n  Q: 4,\r\n  q: 4,\r\n  S: 4,\r\n  s: 4,\r\n  T: 2,\r\n  t: 2,\r\n  V: 1,\r\n  v: 1,\r\n  Z: 0,\r\n  z: 0\r\n};\r\n\r\nconst parse = function(path) {\r\n  let cmd;\r\n  const ret = [];\r\n  let args = [];\r\n  let curArg = '';\r\n  let foundDecimal = false;\r\n  let params = 0;\r\n\r\n  for (let c of path) {\r\n    if (parameters[c] != null) {\r\n      params = parameters[c];\r\n      if (cmd) {\r\n        // save existing command\r\n        if (curArg.length > 0) {\r\n          args[args.length] = +curArg;\r\n        }\r\n        ret[ret.length] = { cmd, args };\r\n\r\n        args = [];\r\n        curArg = '';\r\n        foundDecimal = false;\r\n      }\r\n\r\n      cmd = c;\r\n    } else if (\r\n      [' ', ','].includes(c) ||\r\n      (c === '-' && curArg.length > 0 && curArg[curArg.length - 1] !== 'e') ||\r\n      (c === '.' && foundDecimal)\r\n    ) {\r\n      if (curArg.length === 0) {\r\n        continue;\r\n      }\r\n\r\n      if (args.length === params) {\r\n        // handle reused commands\r\n        ret[ret.length] = { cmd, args };\r\n        args = [+curArg];\r\n\r\n        // handle assumed commands\r\n        if (cmd === 'M') {\r\n          cmd = 'L';\r\n        }\r\n        if (cmd === 'm') {\r\n          cmd = 'l';\r\n        }\r\n      } else {\r\n        args[args.length] = +curArg;\r\n      }\r\n\r\n      foundDecimal = c === '.';\r\n\r\n      // fix for negative numbers or repeated decimals with no delimeter between commands\r\n      curArg = ['-', '.'].includes(c) ? c : '';\r\n    } else {\r\n      curArg += c;\r\n      if (c === '.') {\r\n        foundDecimal = true;\r\n      }\r\n    }\r\n  }\r\n\r\n  // add the last command\r\n  if (curArg.length > 0) {\r\n    if (args.length === params) {\r\n      // handle reused commands\r\n      ret[ret.length] = { cmd, args };\r\n      args = [+curArg];\r\n\r\n      // handle assumed commands\r\n      if (cmd === 'M') {\r\n        cmd = 'L';\r\n      }\r\n      if (cmd === 'm') {\r\n        cmd = 'l';\r\n      }\r\n    } else {\r\n      args[args.length] = +curArg;\r\n    }\r\n  }\r\n\r\n  ret[ret.length] = { cmd, args };\r\n\r\n  return ret;\r\n};\r\n\r\nconst apply = function(commands, doc) {\r\n  // current point, control point, and subpath starting point\r\n  cx = cy = px = py = sx = sy = 0;\r\n\r\n  // run the commands\r\n  for (let i = 0; i < commands.length; i++) {\r\n    const c = commands[i];\r\n    if (typeof runners[c.cmd] === 'function') {\r\n      runners[c.cmd](doc, c.args);\r\n    }\r\n  }\r\n};\r\n\r\nconst runners = {\r\n  M(doc, a) {\r\n    cx = a[0];\r\n    cy = a[1];\r\n    px = py = null;\r\n    sx = cx;\r\n    sy = cy;\r\n    return doc.moveTo(cx, cy);\r\n  },\r\n\r\n  m(doc, a) {\r\n    cx += a[0];\r\n    cy += a[1];\r\n    px = py = null;\r\n    sx = cx;\r\n    sy = cy;\r\n    return doc.moveTo(cx, cy);\r\n  },\r\n\r\n  C(doc, a) {\r\n    cx = a[4];\r\n    cy = a[5];\r\n    px = a[2];\r\n    py = a[3];\r\n    return doc.bezierCurveTo(...a);\r\n  },\r\n\r\n  c(doc, a) {\r\n    doc.bezierCurveTo(\r\n      a[0] + cx,\r\n      a[1] + cy,\r\n      a[2] + cx,\r\n      a[3] + cy,\r\n      a[4] + cx,\r\n      a[5] + cy\r\n    );\r\n    px = cx + a[2];\r\n    py = cy + a[3];\r\n    cx += a[4];\r\n    return (cy += a[5]);\r\n  },\r\n\r\n  S(doc, a) {\r\n    if (px === null) {\r\n      px = cx;\r\n      py = cy;\r\n    }\r\n\r\n    doc.bezierCurveTo(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]);\r\n    px = a[0];\r\n    py = a[1];\r\n    cx = a[2];\r\n    return (cy = a[3]);\r\n  },\r\n\r\n  s(doc, a) {\r\n    if (px === null) {\r\n      px = cx;\r\n      py = cy;\r\n    }\r\n\r\n    doc.bezierCurveTo(\r\n      cx - (px - cx),\r\n      cy - (py - cy),\r\n      cx + a[0],\r\n      cy + a[1],\r\n      cx + a[2],\r\n      cy + a[3]\r\n    );\r\n    px = cx + a[0];\r\n    py = cy + a[1];\r\n    cx += a[2];\r\n    return (cy += a[3]);\r\n  },\r\n\r\n  Q(doc, a) {\r\n    px = a[0];\r\n    py = a[1];\r\n    cx = a[2];\r\n    cy = a[3];\r\n    return doc.quadraticCurveTo(a[0], a[1], cx, cy);\r\n  },\r\n\r\n  q(doc, a) {\r\n    doc.quadraticCurveTo(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy);\r\n    px = cx + a[0];\r\n    py = cy + a[1];\r\n    cx += a[2];\r\n    return (cy += a[3]);\r\n  },\r\n\r\n  T(doc, a) {\r\n    if (px === null) {\r\n      px = cx;\r\n      py = cy;\r\n    } else {\r\n      px = cx - (px - cx);\r\n      py = cy - (py - cy);\r\n    }\r\n\r\n    doc.quadraticCurveTo(px, py, a[0], a[1]);\r\n    px = cx - (px - cx);\r\n    py = cy - (py - cy);\r\n    cx = a[0];\r\n    return (cy = a[1]);\r\n  },\r\n\r\n  t(doc, a) {\r\n    if (px === null) {\r\n      px = cx;\r\n      py = cy;\r\n    } else {\r\n      px = cx - (px - cx);\r\n      py = cy - (py - cy);\r\n    }\r\n\r\n    doc.quadraticCurveTo(px, py, cx + a[0], cy + a[1]);\r\n    cx += a[0];\r\n    return (cy += a[1]);\r\n  },\r\n\r\n  A(doc, a) {\r\n    solveArc(doc, cx, cy, a);\r\n    cx = a[5];\r\n    return (cy = a[6]);\r\n  },\r\n\r\n  a(doc, a) {\r\n    a[5] += cx;\r\n    a[6] += cy;\r\n    solveArc(doc, cx, cy, a);\r\n    cx = a[5];\r\n    return (cy = a[6]);\r\n  },\r\n\r\n  L(doc, a) {\r\n    cx = a[0];\r\n    cy = a[1];\r\n    px = py = null;\r\n    return doc.lineTo(cx, cy);\r\n  },\r\n\r\n  l(doc, a) {\r\n    cx += a[0];\r\n    cy += a[1];\r\n    px = py = null;\r\n    return doc.lineTo(cx, cy);\r\n  },\r\n\r\n  H(doc, a) {\r\n    cx = a[0];\r\n    px = py = null;\r\n    return doc.lineTo(cx, cy);\r\n  },\r\n\r\n  h(doc, a) {\r\n    cx += a[0];\r\n    px = py = null;\r\n    return doc.lineTo(cx, cy);\r\n  },\r\n\r\n  V(doc, a) {\r\n    cy = a[0];\r\n    px = py = null;\r\n    return doc.lineTo(cx, cy);\r\n  },\r\n\r\n  v(doc, a) {\r\n    cy += a[0];\r\n    px = py = null;\r\n    return doc.lineTo(cx, cy);\r\n  },\r\n\r\n  Z(doc) {\r\n    doc.closePath();\r\n    cx = sx;\r\n    return (cy = sy);\r\n  },\r\n\r\n  z(doc) {\r\n    doc.closePath();\r\n    cx = sx;\r\n    return (cy = sy);\r\n  }\r\n};\r\n\r\nconst solveArc = function(doc, x, y, coords) {\r\n  const [rx, ry, rot, large, sweep, ex, ey] = coords;\r\n  const segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y);\r\n\r\n  for (let seg of segs) {\r\n    const bez = segmentToBezier(...seg);\r\n    doc.bezierCurveTo(...bez);\r\n  }\r\n};\r\n\r\n// from Inkscape svgtopdf, thanks!\r\nconst arcToSegments = function(x, y, rx, ry, large, sweep, rotateX, ox, oy) {\r\n  const th = rotateX * (Math.PI / 180);\r\n  const sin_th = Math.sin(th);\r\n  const cos_th = Math.cos(th);\r\n  rx = Math.abs(rx);\r\n  ry = Math.abs(ry);\r\n  px = cos_th * (ox - x) * 0.5 + sin_th * (oy - y) * 0.5;\r\n  py = cos_th * (oy - y) * 0.5 - sin_th * (ox - x) * 0.5;\r\n  let pl = (px * px) / (rx * rx) + (py * py) / (ry * ry);\r\n  if (pl > 1) {\r\n    pl = Math.sqrt(pl);\r\n    rx *= pl;\r\n    ry *= pl;\r\n  }\r\n\r\n  const a00 = cos_th / rx;\r\n  const a01 = sin_th / rx;\r\n  const a10 = -sin_th / ry;\r\n  const a11 = cos_th / ry;\r\n  const x0 = a00 * ox + a01 * oy;\r\n  const y0 = a10 * ox + a11 * oy;\r\n  const x1 = a00 * x + a01 * y;\r\n  const y1 = a10 * x + a11 * y;\r\n\r\n  const d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0);\r\n  let sfactor_sq = 1 / d - 0.25;\r\n  if (sfactor_sq < 0) {\r\n    sfactor_sq = 0;\r\n  }\r\n  let sfactor = Math.sqrt(sfactor_sq);\r\n  if (sweep === large) {\r\n    sfactor = -sfactor;\r\n  }\r\n\r\n  const xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0);\r\n  const yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0);\r\n\r\n  const th0 = Math.atan2(y0 - yc, x0 - xc);\r\n  const th1 = Math.atan2(y1 - yc, x1 - xc);\r\n\r\n  let th_arc = th1 - th0;\r\n  if (th_arc < 0 && sweep === 1) {\r\n    th_arc += 2 * Math.PI;\r\n  } else if (th_arc > 0 && sweep === 0) {\r\n    th_arc -= 2 * Math.PI;\r\n  }\r\n\r\n  const segments = Math.ceil(Math.abs(th_arc / (Math.PI * 0.5 + 0.001)));\r\n  const result = [];\r\n\r\n  for (let i = 0; i < segments; i++) {\r\n    const th2 = th0 + (i * th_arc) / segments;\r\n    const th3 = th0 + ((i + 1) * th_arc) / segments;\r\n    result[i] = [xc, yc, th2, th3, rx, ry, sin_th, cos_th];\r\n  }\r\n\r\n  return result;\r\n};\r\n\r\nconst segmentToBezier = function(cx, cy, th0, th1, rx, ry, sin_th, cos_th) {\r\n  const a00 = cos_th * rx;\r\n  const a01 = -sin_th * ry;\r\n  const a10 = sin_th * rx;\r\n  const a11 = cos_th * ry;\r\n\r\n  const th_half = 0.5 * (th1 - th0);\r\n  const t =\r\n    ((8 / 3) * Math.sin(th_half * 0.5) * Math.sin(th_half * 0.5)) /\r\n    Math.sin(th_half);\r\n  const x1 = cx + Math.cos(th0) - t * Math.sin(th0);\r\n  const y1 = cy + Math.sin(th0) + t * Math.cos(th0);\r\n  const x3 = cx + Math.cos(th1);\r\n  const y3 = cy + Math.sin(th1);\r\n  const x2 = x3 + t * Math.sin(th1);\r\n  const y2 = y3 - t * Math.cos(th1);\r\n\r\n  return [\r\n    a00 * x1 + a01 * y1,\r\n    a10 * x1 + a11 * y1,\r\n    a00 * x2 + a01 * y2,\r\n    a10 * x2 + a11 * y2,\r\n    a00 * x3 + a01 * y3,\r\n    a10 * x3 + a11 * y3\r\n  ];\r\n};\r\n\r\nclass SVGPath {\r\n  static apply(doc, path) {\r\n    const commands = parse(path);\r\n    apply(commands, doc);\r\n  }\r\n}\r\n\r\nexport default SVGPath;\r\n","import PDFObject from './object';\r\n\r\nconst { number } = PDFObject;\r\n\r\nclass PDFGradient {\r\n  constructor(doc) {\r\n    this.doc = doc;\r\n    this.stops = [];\r\n    this.embedded = false;\r\n    this.transform = [1, 0, 0, 1, 0, 0];\r\n  }\r\n\r\n  stop(pos, color, opacity) {\r\n    if (opacity == null) {\r\n      opacity = 1;\r\n    }\r\n    color = this.doc._normalizeColor(color);\r\n\r\n    if (this.stops.length === 0) {\r\n      if (color.length === 3) {\r\n        this._colorSpace = 'DeviceRGB';\r\n      } else if (color.length === 4) {\r\n        this._colorSpace = 'DeviceCMYK';\r\n      } else if (color.length === 1) {\r\n        this._colorSpace = 'DeviceGray';\r\n      } else {\r\n        throw new Error('Unknown color space');\r\n      }\r\n    } else if (\r\n      (this._colorSpace === 'DeviceRGB' && color.length !== 3) ||\r\n      (this._colorSpace === 'DeviceCMYK' && color.length !== 4) ||\r\n      (this._colorSpace === 'DeviceGray' && color.length !== 1)\r\n    ) {\r\n      throw new Error('All gradient stops must use the same color space');\r\n    }\r\n\r\n    opacity = Math.max(0, Math.min(1, opacity));\r\n    this.stops.push([pos, color, opacity]);\r\n    return this;\r\n  }\r\n\r\n  setTransform(m11, m12, m21, m22, dx, dy) {\r\n    this.transform = [m11, m12, m21, m22, dx, dy];\r\n    return this;\r\n  }\r\n\r\n  embed(m) {\r\n    let fn;\r\n    const stopsLength = this.stops.length;\r\n    if (stopsLength === 0) {\r\n      return;\r\n    }\r\n    this.embedded = true;\r\n    this.matrix = m;\r\n\r\n    // if the last stop comes before 100%, add a copy at 100%\r\n    const last = this.stops[stopsLength - 1];\r\n    if (last[0] < 1) {\r\n      this.stops.push([1, last[1], last[2]]);\r\n    }\r\n\r\n    const bounds = [];\r\n    const encode = [];\r\n    const stops = [];\r\n\r\n    for (let i = 0; i < stopsLength - 1; i++) {\r\n      encode.push(0, 1);\r\n      if (i + 2 !== stopsLength) {\r\n        bounds.push(this.stops[i + 1][0]);\r\n      }\r\n\r\n      fn = this.doc.ref({\r\n        FunctionType: 2,\r\n        Domain: [0, 1],\r\n        C0: this.stops[i + 0][1],\r\n        C1: this.stops[i + 1][1],\r\n        N: 1\r\n      });\r\n\r\n      stops.push(fn);\r\n      fn.end();\r\n    }\r\n\r\n    // if there are only two stops, we don't need a stitching function\r\n    if (stopsLength === 1) {\r\n      fn = stops[0];\r\n    } else {\r\n      fn = this.doc.ref({\r\n        FunctionType: 3, // stitching function\r\n        Domain: [0, 1],\r\n        Functions: stops,\r\n        Bounds: bounds,\r\n        Encode: encode\r\n      });\r\n\r\n      fn.end();\r\n    }\r\n\r\n    this.id = `Sh${++this.doc._gradCount}`;\r\n\r\n    const shader = this.shader(fn);\r\n    shader.end();\r\n\r\n    const pattern = this.doc.ref({\r\n      Type: 'Pattern',\r\n      PatternType: 2,\r\n      Shading: shader,\r\n      Matrix: this.matrix.map(number)\r\n    });\r\n\r\n    pattern.end();\r\n\r\n    if (this.stops.some(stop => stop[2] < 1)) {\r\n      let grad = this.opacityGradient();\r\n      grad._colorSpace = 'DeviceGray';\r\n\r\n      for (let stop of this.stops) {\r\n        grad.stop(stop[0], [stop[2]]);\r\n      }\r\n\r\n      grad = grad.embed(this.matrix);\r\n\r\n      const pageBBox = [0, 0, this.doc.page.width, this.doc.page.height];\r\n\r\n      const form = this.doc.ref({\r\n        Type: 'XObject',\r\n        Subtype: 'Form',\r\n        FormType: 1,\r\n        BBox: pageBBox,\r\n        Group: {\r\n          Type: 'Group',\r\n          S: 'Transparency',\r\n          CS: 'DeviceGray'\r\n        },\r\n        Resources: {\r\n          ProcSet: ['PDF', 'Text', 'ImageB', 'ImageC', 'ImageI'],\r\n          Pattern: {\r\n            Sh1: grad\r\n          }\r\n        }\r\n      });\r\n\r\n      form.write('/Pattern cs /Sh1 scn');\r\n      form.end(`${pageBBox.join(' ')} re f`);\r\n\r\n      const gstate = this.doc.ref({\r\n        Type: 'ExtGState',\r\n        SMask: {\r\n          Type: 'Mask',\r\n          S: 'Luminosity',\r\n          G: form\r\n        }\r\n      });\r\n\r\n      gstate.end();\r\n\r\n      const opacityPattern = this.doc.ref({\r\n        Type: 'Pattern',\r\n        PatternType: 1,\r\n        PaintType: 1,\r\n        TilingType: 2,\r\n        BBox: pageBBox,\r\n        XStep: pageBBox[2],\r\n        YStep: pageBBox[3],\r\n        Resources: {\r\n          ProcSet: ['PDF', 'Text', 'ImageB', 'ImageC', 'ImageI'],\r\n          Pattern: {\r\n            Sh1: pattern\r\n          },\r\n          ExtGState: {\r\n            Gs1: gstate\r\n          }\r\n        }\r\n      });\r\n\r\n      opacityPattern.write('/Gs1 gs /Pattern cs /Sh1 scn');\r\n      opacityPattern.end(`${pageBBox.join(' ')} re f`);\r\n\r\n      this.doc.page.patterns[this.id] = opacityPattern;\r\n    } else {\r\n      this.doc.page.patterns[this.id] = pattern;\r\n    }\r\n\r\n    return pattern;\r\n  }\r\n\r\n  apply(stroke) {\r\n    // apply gradient transform to existing document ctm\r\n    const [m0, m1, m2, m3, m4, m5] = this.doc._ctm;\r\n    const [m11, m12, m21, m22, dx, dy] = this.transform;\r\n    const m = [\r\n      m0 * m11 + m2 * m12,\r\n      m1 * m11 + m3 * m12,\r\n      m0 * m21 + m2 * m22,\r\n      m1 * m21 + m3 * m22,\r\n      m0 * dx + m2 * dy + m4,\r\n      m1 * dx + m3 * dy + m5\r\n    ];\r\n\r\n    if (!this.embedded || m.join(' ') !== this.matrix.join(' ')) {\r\n      this.embed(m);\r\n    }\r\n    this.doc._setColorSpace('Pattern', stroke);\r\n    const op = stroke ? 'SCN' : 'scn';\r\n    return this.doc.addContent(`/${this.id} ${op}`);\r\n  }\r\n}\r\n\r\nclass PDFLinearGradient extends PDFGradient {\r\n  constructor(doc, x1, y1, x2, y2) {\r\n    super(doc);\r\n    this.x1 = x1;\r\n    this.y1 = y1;\r\n    this.x2 = x2;\r\n    this.y2 = y2;\r\n  }\r\n\r\n  shader(fn) {\r\n    return this.doc.ref({\r\n      ShadingType: 2,\r\n      ColorSpace: this._colorSpace,\r\n      Coords: [this.x1, this.y1, this.x2, this.y2],\r\n      Function: fn,\r\n      Extend: [true, true]\r\n    });\r\n  }\r\n\r\n  opacityGradient() {\r\n    return new PDFLinearGradient(this.doc, this.x1, this.y1, this.x2, this.y2);\r\n  }\r\n}\r\n\r\nclass PDFRadialGradient extends PDFGradient {\r\n  constructor(doc, x1, y1, r1, x2, y2, r2) {\r\n    super(doc);\r\n    this.doc = doc;\r\n    this.x1 = x1;\r\n    this.y1 = y1;\r\n    this.r1 = r1;\r\n    this.x2 = x2;\r\n    this.y2 = y2;\r\n    this.r2 = r2;\r\n  }\r\n\r\n  shader(fn) {\r\n    return this.doc.ref({\r\n      ShadingType: 3,\r\n      ColorSpace: this._colorSpace,\r\n      Coords: [this.x1, this.y1, this.r1, this.x2, this.y2, this.r2],\r\n      Function: fn,\r\n      Extend: [true, true]\r\n    });\r\n  }\r\n\r\n  opacityGradient() {\r\n    return new PDFRadialGradient(\r\n      this.doc,\r\n      this.x1,\r\n      this.y1,\r\n      this.r1,\r\n      this.x2,\r\n      this.y2,\r\n      this.r2\r\n    );\r\n  }\r\n}\r\n\r\nexport default { PDFGradient, PDFLinearGradient, PDFRadialGradient };\r\n","/*\r\nPDF tiling pattern support. Uncolored only.\r\n */\r\n\r\nconst underlyingColorSpaces = ['DeviceCMYK', 'DeviceRGB'];\r\n\r\nclass PDFTilingPattern {\r\n  constructor(doc, bBox, xStep, yStep, stream) {\r\n    this.doc = doc;\r\n    this.bBox = bBox;\r\n    this.xStep = xStep;\r\n    this.yStep = yStep;\r\n    this.stream = stream;\r\n  }\r\n\r\n  createPattern() {\r\n    // no resources needed for our current usage\r\n    // required entry\r\n    const resources = this.doc.ref();\r\n    resources.end();\r\n    // apply default transform matrix (flipped in the default doc._ctm)\r\n    // see document.js & gradient.js\r\n    const [m0, m1, m2, m3, m4, m5] = this.doc._ctm;\r\n    const [m11, m12, m21, m22, dx, dy] = [1, 0, 0, 1, 0, 0];\r\n    const m = [\r\n      m0 * m11 + m2 * m12,\r\n      m1 * m11 + m3 * m12,\r\n      m0 * m21 + m2 * m22,\r\n      m1 * m21 + m3 * m22,\r\n      m0 * dx + m2 * dy + m4,\r\n      m1 * dx + m3 * dy + m5\r\n    ];\r\n    const pattern = this.doc.ref({\r\n      Type: 'Pattern',\r\n      PatternType: 1, // tiling\r\n      PaintType: 2, // 1-colored, 2-uncolored\r\n      TilingType: 2, // 2-no distortion\r\n      BBox: this.bBox,\r\n      XStep: this.xStep,\r\n      YStep: this.yStep,\r\n      Matrix: m.map(v => +v.toFixed(5)),\r\n      Resources: resources\r\n    });\r\n    pattern.end(this.stream);\r\n    return pattern;\r\n  }\r\n\r\n  embedPatternColorSpaces() {\r\n    // map each pattern to an underlying color space\r\n    // and embed on each page\r\n    underlyingColorSpaces.forEach(csName => {\r\n      const csId = this.getPatternColorSpaceId(csName);\r\n\r\n      if (this.doc.page.colorSpaces[csId]) return;\r\n      const cs = this.doc.ref(['Pattern', csName]);\r\n      cs.end();\r\n      this.doc.page.colorSpaces[csId] = cs;\r\n    });\r\n  }\r\n\r\n  getPatternColorSpaceId(underlyingColorspace) {\r\n    return `CsP${underlyingColorspace}`;\r\n  }\r\n\r\n  embed() {\r\n    if (!this.id) {\r\n      this.doc._patternCount = this.doc._patternCount + 1;\r\n      this.id = 'P' + this.doc._patternCount;\r\n      this.pattern = this.createPattern();\r\n    }\r\n\r\n    // patterns are embedded in each page\r\n    if (!this.doc.page.patterns[this.id]) {\r\n      this.doc.page.patterns[this.id] = this.pattern;\r\n    }\r\n  }\r\n\r\n  apply(stroke, patternColor) {\r\n    // do any embedding/creating that might be needed\r\n    this.embedPatternColorSpaces();\r\n    this.embed();\r\n\r\n    const normalizedColor = this.doc._normalizeColor(patternColor);\r\n    if (!normalizedColor)\r\n      throw Error(`invalid pattern color. (value: ${patternColor})`);\r\n\r\n    // select one of the pattern color spaces\r\n    const csId = this.getPatternColorSpaceId(\r\n      this.doc._getColorSpace(normalizedColor)\r\n    );\r\n    this.doc._setColorSpace(csId, stroke);\r\n\r\n    // stroke/fill using the pattern and color (in the above underlying color space)\r\n    const op = stroke ? 'SCN' : 'scn';\r\n    return this.doc.addContent(\r\n      `${normalizedColor.join(' ')} /${this.id} ${op}`\r\n    );\r\n  }\r\n}\r\n\r\nexport default { PDFTilingPattern };\r\n","import Gradient from '../gradient';\r\nimport pattern from '../pattern';\r\n\r\nconst { PDFGradient, PDFLinearGradient, PDFRadialGradient } = Gradient;\r\nconst { PDFTilingPattern } = pattern;\r\n\r\nexport default {\r\n  initColor() {\r\n    // The opacity dictionaries\r\n    this._opacityRegistry = {};\r\n    this._opacityCount = 0;\r\n    this._patternCount = 0;\r\n    return (this._gradCount = 0);\r\n  },\r\n\r\n  _normalizeColor(color) {\r\n    if (typeof color === 'string') {\r\n      if (color.charAt(0) === '#') {\r\n        if (color.length === 4) {\r\n          color = color.replace(\r\n            /#([0-9A-F])([0-9A-F])([0-9A-F])/i,\r\n            '#$1$1$2$2$3$3'\r\n          );\r\n        }\r\n        const hex = parseInt(color.slice(1), 16);\r\n        color = [hex >> 16, (hex >> 8) & 0xff, hex & 0xff];\r\n      } else if (namedColors[color]) {\r\n        color = namedColors[color];\r\n      }\r\n    }\r\n\r\n    if (Array.isArray(color)) {\r\n      // RGB\r\n      if (color.length === 3) {\r\n        color = color.map(part => part / 255);\r\n        // CMYK\r\n      } else if (color.length === 4) {\r\n        color = color.map(part => part / 100);\r\n      }\r\n      return color;\r\n    }\r\n\r\n    return null;\r\n  },\r\n\r\n  _setColor(color, stroke) {\r\n    if (color instanceof PDFGradient) {\r\n      color.apply(stroke);\r\n      return true;\r\n      // see if tiling pattern, decode & apply it it\r\n    } else if (Array.isArray(color) && color[0] instanceof PDFTilingPattern) {\r\n      color[0].apply(stroke, color[1]);\r\n      return true;\r\n    }\r\n    // any other case should be a normal color and not a pattern\r\n    return this._setColorCore(color, stroke);\r\n  },\r\n\r\n  _setColorCore(color, stroke) {\r\n    color = this._normalizeColor(color);\r\n    if (!color) {\r\n      return false;\r\n    }\r\n\r\n    const op = stroke ? 'SCN' : 'scn';\r\n    const space = this._getColorSpace(color);\r\n    this._setColorSpace(space, stroke);\r\n\r\n    color = color.join(' ');\r\n    this.addContent(`${color} ${op}`);\r\n\r\n    return true;\r\n  },\r\n\r\n  _setColorSpace(space, stroke) {\r\n    const op = stroke ? 'CS' : 'cs';\r\n    return this.addContent(`/${space} ${op}`);\r\n  },\r\n\r\n  _getColorSpace(color) {\r\n    return color.length === 4 ? 'DeviceCMYK' : 'DeviceRGB';\r\n  },\r\n\r\n  fillColor(color, opacity) {\r\n    const set = this._setColor(color, false);\r\n    if (set) {\r\n      this.fillOpacity(opacity);\r\n    }\r\n\r\n    // save this for text wrapper, which needs to reset\r\n    // the fill color on new pages\r\n    this._fillColor = [color, opacity];\r\n    return this;\r\n  },\r\n\r\n  strokeColor(color, opacity) {\r\n    const set = this._setColor(color, true);\r\n    if (set) {\r\n      this.strokeOpacity(opacity);\r\n    }\r\n    return this;\r\n  },\r\n\r\n  opacity(opacity) {\r\n    this._doOpacity(opacity, opacity);\r\n    return this;\r\n  },\r\n\r\n  fillOpacity(opacity) {\r\n    this._doOpacity(opacity, null);\r\n    return this;\r\n  },\r\n\r\n  strokeOpacity(opacity) {\r\n    this._doOpacity(null, opacity);\r\n    return this;\r\n  },\r\n\r\n  _doOpacity(fillOpacity, strokeOpacity) {\r\n    let dictionary, name;\r\n    if (fillOpacity == null && strokeOpacity == null) {\r\n      return;\r\n    }\r\n\r\n    if (fillOpacity != null) {\r\n      fillOpacity = Math.max(0, Math.min(1, fillOpacity));\r\n    }\r\n    if (strokeOpacity != null) {\r\n      strokeOpacity = Math.max(0, Math.min(1, strokeOpacity));\r\n    }\r\n    const key = `${fillOpacity}_${strokeOpacity}`;\r\n\r\n    if (this._opacityRegistry[key]) {\r\n      [dictionary, name] = this._opacityRegistry[key];\r\n    } else {\r\n      dictionary = { Type: 'ExtGState' };\r\n\r\n      if (fillOpacity != null) {\r\n        dictionary.ca = fillOpacity;\r\n      }\r\n      if (strokeOpacity != null) {\r\n        dictionary.CA = strokeOpacity;\r\n      }\r\n\r\n      dictionary = this.ref(dictionary);\r\n      dictionary.end();\r\n      const id = ++this._opacityCount;\r\n      name = `Gs${id}`;\r\n      this._opacityRegistry[key] = [dictionary, name];\r\n    }\r\n\r\n    this.page.ext_gstates[name] = dictionary;\r\n    return this.addContent(`/${name} gs`);\r\n  },\r\n\r\n  linearGradient(x1, y1, x2, y2) {\r\n    return new PDFLinearGradient(this, x1, y1, x2, y2);\r\n  },\r\n\r\n  radialGradient(x1, y1, r1, x2, y2, r2) {\r\n    return new PDFRadialGradient(this, x1, y1, r1, x2, y2, r2);\r\n  },\r\n\r\n  pattern(bbox, xStep, yStep, stream) {\r\n    return new PDFTilingPattern(this, bbox, xStep, yStep, stream);\r\n  }\r\n};\r\n\r\nvar namedColors = {\r\n  aliceblue: [240, 248, 255],\r\n  antiquewhite: [250, 235, 215],\r\n  aqua: [0, 255, 255],\r\n  aquamarine: [127, 255, 212],\r\n  azure: [240, 255, 255],\r\n  beige: [245, 245, 220],\r\n  bisque: [255, 228, 196],\r\n  black: [0, 0, 0],\r\n  blanchedalmond: [255, 235, 205],\r\n  blue: [0, 0, 255],\r\n  blueviolet: [138, 43, 226],\r\n  brown: [165, 42, 42],\r\n  burlywood: [222, 184, 135],\r\n  cadetblue: [95, 158, 160],\r\n  chartreuse: [127, 255, 0],\r\n  chocolate: [210, 105, 30],\r\n  coral: [255, 127, 80],\r\n  cornflowerblue: [100, 149, 237],\r\n  cornsilk: [255, 248, 220],\r\n  crimson: [220, 20, 60],\r\n  cyan: [0, 255, 255],\r\n  darkblue: [0, 0, 139],\r\n  darkcyan: [0, 139, 139],\r\n  darkgoldenrod: [184, 134, 11],\r\n  darkgray: [169, 169, 169],\r\n  darkgreen: [0, 100, 0],\r\n  darkgrey: [169, 169, 169],\r\n  darkkhaki: [189, 183, 107],\r\n  darkmagenta: [139, 0, 139],\r\n  darkolivegreen: [85, 107, 47],\r\n  darkorange: [255, 140, 0],\r\n  darkorchid: [153, 50, 204],\r\n  darkred: [139, 0, 0],\r\n  darksalmon: [233, 150, 122],\r\n  darkseagreen: [143, 188, 143],\r\n  darkslateblue: [72, 61, 139],\r\n  darkslategray: [47, 79, 79],\r\n  darkslategrey: [47, 79, 79],\r\n  darkturquoise: [0, 206, 209],\r\n  darkviolet: [148, 0, 211],\r\n  deeppink: [255, 20, 147],\r\n  deepskyblue: [0, 191, 255],\r\n  dimgray: [105, 105, 105],\r\n  dimgrey: [105, 105, 105],\r\n  dodgerblue: [30, 144, 255],\r\n  firebrick: [178, 34, 34],\r\n  floralwhite: [255, 250, 240],\r\n  forestgreen: [34, 139, 34],\r\n  fuchsia: [255, 0, 255],\r\n  gainsboro: [220, 220, 220],\r\n  ghostwhite: [248, 248, 255],\r\n  gold: [255, 215, 0],\r\n  goldenrod: [218, 165, 32],\r\n  gray: [128, 128, 128],\r\n  grey: [128, 128, 128],\r\n  green: [0, 128, 0],\r\n  greenyellow: [173, 255, 47],\r\n  honeydew: [240, 255, 240],\r\n  hotpink: [255, 105, 180],\r\n  indianred: [205, 92, 92],\r\n  indigo: [75, 0, 130],\r\n  ivory: [255, 255, 240],\r\n  khaki: [240, 230, 140],\r\n  lavender: [230, 230, 250],\r\n  lavenderblush: [255, 240, 245],\r\n  lawngreen: [124, 252, 0],\r\n  lemonchiffon: [255, 250, 205],\r\n  lightblue: [173, 216, 230],\r\n  lightcoral: [240, 128, 128],\r\n  lightcyan: [224, 255, 255],\r\n  lightgoldenrodyellow: [250, 250, 210],\r\n  lightgray: [211, 211, 211],\r\n  lightgreen: [144, 238, 144],\r\n  lightgrey: [211, 211, 211],\r\n  lightpink: [255, 182, 193],\r\n  lightsalmon: [255, 160, 122],\r\n  lightseagreen: [32, 178, 170],\r\n  lightskyblue: [135, 206, 250],\r\n  lightslategray: [119, 136, 153],\r\n  lightslategrey: [119, 136, 153],\r\n  lightsteelblue: [176, 196, 222],\r\n  lightyellow: [255, 255, 224],\r\n  lime: [0, 255, 0],\r\n  limegreen: [50, 205, 50],\r\n  linen: [250, 240, 230],\r\n  magenta: [255, 0, 255],\r\n  maroon: [128, 0, 0],\r\n  mediumaquamarine: [102, 205, 170],\r\n  mediumblue: [0, 0, 205],\r\n  mediumorchid: [186, 85, 211],\r\n  mediumpurple: [147, 112, 219],\r\n  mediumseagreen: [60, 179, 113],\r\n  mediumslateblue: [123, 104, 238],\r\n  mediumspringgreen: [0, 250, 154],\r\n  mediumturquoise: [72, 209, 204],\r\n  mediumvioletred: [199, 21, 133],\r\n  midnightblue: [25, 25, 112],\r\n  mintcream: [245, 255, 250],\r\n  mistyrose: [255, 228, 225],\r\n  moccasin: [255, 228, 181],\r\n  navajowhite: [255, 222, 173],\r\n  navy: [0, 0, 128],\r\n  oldlace: [253, 245, 230],\r\n  olive: [128, 128, 0],\r\n  olivedrab: [107, 142, 35],\r\n  orange: [255, 165, 0],\r\n  orangered: [255, 69, 0],\r\n  orchid: [218, 112, 214],\r\n  palegoldenrod: [238, 232, 170],\r\n  palegreen: [152, 251, 152],\r\n  paleturquoise: [175, 238, 238],\r\n  palevioletred: [219, 112, 147],\r\n  papayawhip: [255, 239, 213],\r\n  peachpuff: [255, 218, 185],\r\n  peru: [205, 133, 63],\r\n  pink: [255, 192, 203],\r\n  plum: [221, 160, 221],\r\n  powderblue: [176, 224, 230],\r\n  purple: [128, 0, 128],\r\n  red: [255, 0, 0],\r\n  rosybrown: [188, 143, 143],\r\n  royalblue: [65, 105, 225],\r\n  saddlebrown: [139, 69, 19],\r\n  salmon: [250, 128, 114],\r\n  sandybrown: [244, 164, 96],\r\n  seagreen: [46, 139, 87],\r\n  seashell: [255, 245, 238],\r\n  sienna: [160, 82, 45],\r\n  silver: [192, 192, 192],\r\n  skyblue: [135, 206, 235],\r\n  slateblue: [106, 90, 205],\r\n  slategray: [112, 128, 144],\r\n  slategrey: [112, 128, 144],\r\n  snow: [255, 250, 250],\r\n  springgreen: [0, 255, 127],\r\n  steelblue: [70, 130, 180],\r\n  tan: [210, 180, 140],\r\n  teal: [0, 128, 128],\r\n  thistle: [216, 191, 216],\r\n  tomato: [255, 99, 71],\r\n  turquoise: [64, 224, 208],\r\n  violet: [238, 130, 238],\r\n  wheat: [245, 222, 179],\r\n  white: [255, 255, 255],\r\n  whitesmoke: [245, 245, 245],\r\n  yellow: [255, 255, 0],\r\n  yellowgreen: [154, 205, 50]\r\n};\r\n","import SVGPath from '../path';\r\nimport PDFObject from '../object';\r\n\r\nconst { number } = PDFObject;\r\n\r\n// This constant is used to approximate a symmetrical arc using a cubic\r\n// Bezier curve.\r\nconst KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0);\r\nexport default {\r\n  initVector() {\r\n    this._ctm = [1, 0, 0, 1, 0, 0]; // current transformation matrix\r\n    return (this._ctmStack = []);\r\n  },\r\n\r\n  save() {\r\n    this._ctmStack.push(this._ctm.slice());\r\n    // TODO: save/restore colorspace and styles so not setting it unnessesarily all the time?\r\n    return this.addContent('q');\r\n  },\r\n\r\n  restore() {\r\n    this._ctm = this._ctmStack.pop() || [1, 0, 0, 1, 0, 0];\r\n    return this.addContent('Q');\r\n  },\r\n\r\n  closePath() {\r\n    return this.addContent('h');\r\n  },\r\n\r\n  lineWidth(w) {\r\n    return this.addContent(`${number(w)} w`);\r\n  },\r\n\r\n  _CAP_STYLES: {\r\n    BUTT: 0,\r\n    ROUND: 1,\r\n    SQUARE: 2\r\n  },\r\n\r\n  lineCap(c) {\r\n    if (typeof c === 'string') {\r\n      c = this._CAP_STYLES[c.toUpperCase()];\r\n    }\r\n    return this.addContent(`${c} J`);\r\n  },\r\n\r\n  _JOIN_STYLES: {\r\n    MITER: 0,\r\n    ROUND: 1,\r\n    BEVEL: 2\r\n  },\r\n\r\n  lineJoin(j) {\r\n    if (typeof j === 'string') {\r\n      j = this._JOIN_STYLES[j.toUpperCase()];\r\n    }\r\n    return this.addContent(`${j} j`);\r\n  },\r\n\r\n  miterLimit(m) {\r\n    return this.addContent(`${number(m)} M`);\r\n  },\r\n\r\n  dash(length, options = {}) {\r\n    const originalLength = length;\r\n    if (!Array.isArray(length)) {\r\n      length = [length, options.space || length];\r\n    }\r\n\r\n    const valid = length.every(x => Number.isFinite(x) && x > 0);\r\n    if (!valid) {\r\n      throw new Error(\r\n        `dash(${JSON.stringify(originalLength)}, ${JSON.stringify(\r\n          options\r\n        )}) invalid, lengths must be numeric and greater than zero`\r\n      );\r\n    }\r\n\r\n    length = length.map(number).join(' ');\r\n    return this.addContent(`[${length}] ${number(options.phase || 0)} d`);\r\n  },\r\n\r\n  undash() {\r\n    return this.addContent('[] 0 d');\r\n  },\r\n\r\n  moveTo(x, y) {\r\n    return this.addContent(`${number(x)} ${number(y)} m`);\r\n  },\r\n\r\n  lineTo(x, y) {\r\n    return this.addContent(`${number(x)} ${number(y)} l`);\r\n  },\r\n\r\n  bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n    return this.addContent(\r\n      `${number(cp1x)} ${number(cp1y)} ${number(cp2x)} ${number(cp2y)} ${number(\r\n        x\r\n      )} ${number(y)} c`\r\n    );\r\n  },\r\n\r\n  quadraticCurveTo(cpx, cpy, x, y) {\r\n    return this.addContent(\r\n      `${number(cpx)} ${number(cpy)} ${number(x)} ${number(y)} v`\r\n    );\r\n  },\r\n\r\n  rect(x, y, w, h) {\r\n    return this.addContent(\r\n      `${number(x)} ${number(y)} ${number(w)} ${number(h)} re`\r\n    );\r\n  },\r\n\r\n  roundedRect(x, y, w, h, r) {\r\n    if (r == null) {\r\n      r = 0;\r\n    }\r\n    r = Math.min(r, 0.5 * w, 0.5 * h);\r\n\r\n    // amount to inset control points from corners (see `ellipse`)\r\n    const c = r * (1.0 - KAPPA);\r\n\r\n    this.moveTo(x + r, y);\r\n    this.lineTo(x + w - r, y);\r\n    this.bezierCurveTo(x + w - c, y, x + w, y + c, x + w, y + r);\r\n    this.lineTo(x + w, y + h - r);\r\n    this.bezierCurveTo(x + w, y + h - c, x + w - c, y + h, x + w - r, y + h);\r\n    this.lineTo(x + r, y + h);\r\n    this.bezierCurveTo(x + c, y + h, x, y + h - c, x, y + h - r);\r\n    this.lineTo(x, y + r);\r\n    this.bezierCurveTo(x, y + c, x + c, y, x + r, y);\r\n    return this.closePath();\r\n  },\r\n\r\n  ellipse(x, y, r1, r2) {\r\n    // based on http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas/2173084#2173084\r\n    if (r2 == null) {\r\n      r2 = r1;\r\n    }\r\n    x -= r1;\r\n    y -= r2;\r\n    const ox = r1 * KAPPA;\r\n    const oy = r2 * KAPPA;\r\n    const xe = x + r1 * 2;\r\n    const ye = y + r2 * 2;\r\n    const xm = x + r1;\r\n    const ym = y + r2;\r\n\r\n    this.moveTo(x, ym);\r\n    this.bezierCurveTo(x, ym - oy, xm - ox, y, xm, y);\r\n    this.bezierCurveTo(xm + ox, y, xe, ym - oy, xe, ym);\r\n    this.bezierCurveTo(xe, ym + oy, xm + ox, ye, xm, ye);\r\n    this.bezierCurveTo(xm - ox, ye, x, ym + oy, x, ym);\r\n    return this.closePath();\r\n  },\r\n\r\n  circle(x, y, radius) {\r\n    return this.ellipse(x, y, radius);\r\n  },\r\n\r\n  arc(x, y, radius, startAngle, endAngle, anticlockwise) {\r\n    if (anticlockwise == null) {\r\n      anticlockwise = false;\r\n    }\r\n    const TWO_PI = 2.0 * Math.PI;\r\n    const HALF_PI = 0.5 * Math.PI;\r\n\r\n    let deltaAng = endAngle - startAngle;\r\n\r\n    if (Math.abs(deltaAng) > TWO_PI) {\r\n      // draw only full circle if more than that is specified\r\n      deltaAng = TWO_PI;\r\n    } else if (deltaAng !== 0 && anticlockwise !== deltaAng < 0) {\r\n      // necessary to flip direction of rendering\r\n      const dir = anticlockwise ? -1 : 1;\r\n      deltaAng = dir * TWO_PI + deltaAng;\r\n    }\r\n\r\n    const numSegs = Math.ceil(Math.abs(deltaAng) / HALF_PI);\r\n    const segAng = deltaAng / numSegs;\r\n    const handleLen = (segAng / HALF_PI) * KAPPA * radius;\r\n    let curAng = startAngle;\r\n\r\n    // component distances between anchor point and control point\r\n    let deltaCx = -Math.sin(curAng) * handleLen;\r\n    let deltaCy = Math.cos(curAng) * handleLen;\r\n\r\n    // anchor point\r\n    let ax = x + Math.cos(curAng) * radius;\r\n    let ay = y + Math.sin(curAng) * radius;\r\n\r\n    // calculate and render segments\r\n    this.moveTo(ax, ay);\r\n\r\n    for (let segIdx = 0; segIdx < numSegs; segIdx++) {\r\n      // starting control point\r\n      const cp1x = ax + deltaCx;\r\n      const cp1y = ay + deltaCy;\r\n\r\n      // step angle\r\n      curAng += segAng;\r\n\r\n      // next anchor point\r\n      ax = x + Math.cos(curAng) * radius;\r\n      ay = y + Math.sin(curAng) * radius;\r\n\r\n      // next control point delta\r\n      deltaCx = -Math.sin(curAng) * handleLen;\r\n      deltaCy = Math.cos(curAng) * handleLen;\r\n\r\n      // ending control point\r\n      const cp2x = ax - deltaCx;\r\n      const cp2y = ay - deltaCy;\r\n\r\n      // render segment\r\n      this.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, ax, ay);\r\n    }\r\n\r\n    return this;\r\n  },\r\n\r\n  polygon(...points) {\r\n    this.moveTo(...(points.shift() || []));\r\n    for (let point of points) {\r\n      this.lineTo(...(point || []));\r\n    }\r\n    return this.closePath();\r\n  },\r\n\r\n  path(path) {\r\n    SVGPath.apply(this, path);\r\n    return this;\r\n  },\r\n\r\n  _windingRule(rule) {\r\n    if (/even-?odd/.test(rule)) {\r\n      return '*';\r\n    }\r\n\r\n    return '';\r\n  },\r\n\r\n  fill(color, rule) {\r\n    if (/(even-?odd)|(non-?zero)/.test(color)) {\r\n      rule = color;\r\n      color = null;\r\n    }\r\n\r\n    if (color) {\r\n      this.fillColor(color);\r\n    }\r\n    return this.addContent(`f${this._windingRule(rule)}`);\r\n  },\r\n\r\n  stroke(color) {\r\n    if (color) {\r\n      this.strokeColor(color);\r\n    }\r\n    return this.addContent('S');\r\n  },\r\n\r\n  fillAndStroke(fillColor, strokeColor, rule) {\r\n    if (strokeColor == null) {\r\n      strokeColor = fillColor;\r\n    }\r\n    const isFillRule = /(even-?odd)|(non-?zero)/;\r\n    if (isFillRule.test(fillColor)) {\r\n      rule = fillColor;\r\n      fillColor = null;\r\n    }\r\n\r\n    if (isFillRule.test(strokeColor)) {\r\n      rule = strokeColor;\r\n      strokeColor = fillColor;\r\n    }\r\n\r\n    if (fillColor) {\r\n      this.fillColor(fillColor);\r\n      this.strokeColor(strokeColor);\r\n    }\r\n\r\n    return this.addContent(`B${this._windingRule(rule)}`);\r\n  },\r\n\r\n  clip(rule) {\r\n    return this.addContent(`W${this._windingRule(rule)} n`);\r\n  },\r\n\r\n  transform(m11, m12, m21, m22, dx, dy) {\r\n    // keep track of the current transformation matrix\r\n    const m = this._ctm;\r\n    const [m0, m1, m2, m3, m4, m5] = m;\r\n    m[0] = m0 * m11 + m2 * m12;\r\n    m[1] = m1 * m11 + m3 * m12;\r\n    m[2] = m0 * m21 + m2 * m22;\r\n    m[3] = m1 * m21 + m3 * m22;\r\n    m[4] = m0 * dx + m2 * dy + m4;\r\n    m[5] = m1 * dx + m3 * dy + m5;\r\n\r\n    const values = [m11, m12, m21, m22, dx, dy].map(v => number(v)).join(' ');\r\n    return this.addContent(`${values} cm`);\r\n  },\r\n\r\n  translate(x, y) {\r\n    return this.transform(1, 0, 0, 1, x, y);\r\n  },\r\n\r\n  rotate(angle, options = {}) {\r\n    let y;\r\n    const rad = (angle * Math.PI) / 180;\r\n    const cos = Math.cos(rad);\r\n    const sin = Math.sin(rad);\r\n    let x = (y = 0);\r\n\r\n    if (options.origin != null) {\r\n      [x, y] = options.origin;\r\n      const x1 = x * cos - y * sin;\r\n      const y1 = x * sin + y * cos;\r\n      x -= x1;\r\n      y -= y1;\r\n    }\r\n\r\n    return this.transform(cos, sin, -sin, cos, x, y);\r\n  },\r\n\r\n  scale(xFactor, yFactor, options = {}) {\r\n    let y;\r\n    if (yFactor == null) {\r\n      yFactor = xFactor;\r\n    }\r\n    if (typeof yFactor === 'object') {\r\n      options = yFactor;\r\n      yFactor = xFactor;\r\n    }\r\n\r\n    let x = (y = 0);\r\n    if (options.origin != null) {\r\n      [x, y] = options.origin;\r\n      x -= xFactor * x;\r\n      y -= yFactor * y;\r\n    }\r\n\r\n    return this.transform(xFactor, 0, 0, yFactor, x, y);\r\n  }\r\n};\r\n","import fs from 'fs';\r\n\r\nconst WIN_ANSI_MAP = {\r\n  402: 131,\r\n  8211: 150,\r\n  8212: 151,\r\n  8216: 145,\r\n  8217: 146,\r\n  8218: 130,\r\n  8220: 147,\r\n  8221: 148,\r\n  8222: 132,\r\n  8224: 134,\r\n  8225: 135,\r\n  8226: 149,\r\n  8230: 133,\r\n  8364: 128,\r\n  8240: 137,\r\n  8249: 139,\r\n  8250: 155,\r\n  710: 136,\r\n  8482: 153,\r\n  338: 140,\r\n  339: 156,\r\n  732: 152,\r\n  352: 138,\r\n  353: 154,\r\n  376: 159,\r\n  381: 142,\r\n  382: 158\r\n};\r\n\r\nconst characters = `\\\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n.notdef       .notdef        .notdef        .notdef\r\n  \r\nspace         exclam         quotedbl       numbersign\r\ndollar        percent        ampersand      quotesingle\r\nparenleft     parenright     asterisk       plus\r\ncomma         hyphen         period         slash\r\nzero          one            two            three\r\nfour          five           six            seven\r\neight         nine           colon          semicolon\r\nless          equal          greater        question\r\n  \r\nat            A              B              C\r\nD             E              F              G\r\nH             I              J              K\r\nL             M              N              O\r\nP             Q              R              S\r\nT             U              V              W\r\nX             Y              Z              bracketleft\r\nbackslash     bracketright   asciicircum    underscore\r\n  \r\ngrave         a              b              c\r\nd             e              f              g\r\nh             i              j              k\r\nl             m              n              o\r\np             q              r              s\r\nt             u              v              w\r\nx             y              z              braceleft\r\nbar           braceright     asciitilde     .notdef\r\n  \r\nEuro          .notdef        quotesinglbase florin\r\nquotedblbase  ellipsis       dagger         daggerdbl\r\ncircumflex    perthousand    Scaron         guilsinglleft\r\nOE            .notdef        Zcaron         .notdef\r\n.notdef       quoteleft      quoteright     quotedblleft\r\nquotedblright bullet         endash         emdash\r\ntilde         trademark      scaron         guilsinglright\r\noe            .notdef        zcaron         ydieresis\r\n  \r\nspace         exclamdown     cent           sterling\r\ncurrency      yen            brokenbar      section\r\ndieresis      copyright      ordfeminine    guillemotleft\r\nlogicalnot    hyphen         registered     macron\r\ndegree        plusminus      twosuperior    threesuperior\r\nacute         mu             paragraph      periodcentered\r\ncedilla       onesuperior    ordmasculine   guillemotright\r\nonequarter    onehalf        threequarters  questiondown\r\n  \r\nAgrave        Aacute         Acircumflex    Atilde\r\nAdieresis     Aring          AE             Ccedilla\r\nEgrave        Eacute         Ecircumflex    Edieresis\r\nIgrave        Iacute         Icircumflex    Idieresis\r\nEth           Ntilde         Ograve         Oacute\r\nOcircumflex   Otilde         Odieresis      multiply\r\nOslash        Ugrave         Uacute         Ucircumflex\r\nUdieresis     Yacute         Thorn          germandbls\r\n  \r\nagrave        aacute         acircumflex    atilde\r\nadieresis     aring          ae             ccedilla\r\negrave        eacute         ecircumflex    edieresis\r\nigrave        iacute         icircumflex    idieresis\r\neth           ntilde         ograve         oacute\r\nocircumflex   otilde         odieresis      divide\r\noslash        ugrave         uacute         ucircumflex\r\nudieresis     yacute         thorn          ydieresis\\\r\n`.split(/\\s+/);\r\n\r\nclass AFMFont {\r\n  static open(filename) {\r\n    return new AFMFont(fs.readFileSync(filename, 'utf8'));\r\n  }\r\n\r\n  constructor(contents) {\r\n    this.contents = contents;\r\n    this.attributes = {};\r\n    this.glyphWidths = {};\r\n    this.boundingBoxes = {};\r\n    this.kernPairs = {};\r\n\r\n    this.parse();\r\n    // todo: remove charWidths since appears to not be used\r\n    this.charWidths = new Array(256);\r\n    for (let char = 0; char <= 255; char++) {\r\n      this.charWidths[char] = this.glyphWidths[characters[char]];\r\n    }\r\n\r\n    this.bbox = this.attributes['FontBBox'].split(/\\s+/).map(e => +e);\r\n    this.ascender = +(this.attributes['Ascender'] || 0);\r\n    this.descender = +(this.attributes['Descender'] || 0);\r\n    this.xHeight = +(this.attributes['XHeight'] || 0);\r\n    this.capHeight = +(this.attributes['CapHeight'] || 0);\r\n    this.lineGap =\r\n      this.bbox[3] - this.bbox[1] - (this.ascender - this.descender);\r\n  }\r\n\r\n  parse() {\r\n    let section = '';\r\n    for (let line of this.contents.split('\\n')) {\r\n      var match;\r\n      var a;\r\n      if ((match = line.match(/^Start(\\w+)/))) {\r\n        section = match[1];\r\n        continue;\r\n      } else if ((match = line.match(/^End(\\w+)/))) {\r\n        section = '';\r\n        continue;\r\n      }\r\n\r\n      switch (section) {\r\n        case 'FontMetrics':\r\n          match = line.match(/(^\\w+)\\s+(.*)/);\r\n          var key = match[1];\r\n          var value = match[2];\r\n\r\n          if ((a = this.attributes[key])) {\r\n            if (!Array.isArray(a)) {\r\n              a = this.attributes[key] = [a];\r\n            }\r\n            a.push(value);\r\n          } else {\r\n            this.attributes[key] = value;\r\n          }\r\n          break;\r\n\r\n        case 'CharMetrics':\r\n          if (!/^CH?\\s/.test(line)) {\r\n            continue;\r\n          }\r\n          var name = line.match(/\\bN\\s+(\\.?\\w+)\\s*;/)[1];\r\n          this.glyphWidths[name] = +line.match(/\\bWX\\s+(\\d+)\\s*;/)[1];\r\n          break;\r\n\r\n        case 'KernPairs':\r\n          match = line.match(/^KPX\\s+(\\.?\\w+)\\s+(\\.?\\w+)\\s+(-?\\d+)/);\r\n          if (match) {\r\n            this.kernPairs[match[1] + '\\0' + match[2]] = parseInt(match[3]);\r\n          }\r\n          break;\r\n      }\r\n    }\r\n  }\r\n\r\n  encodeText(text) {\r\n    const res = [];\r\n    for (let i = 0, len = text.length; i < len; i++) {\r\n      let char = text.charCodeAt(i);\r\n      char = WIN_ANSI_MAP[char] || char;\r\n      res.push(char.toString(16));\r\n    }\r\n\r\n    return res;\r\n  }\r\n\r\n  glyphsForString(string) {\r\n    const glyphs = [];\r\n\r\n    for (let i = 0, len = string.length; i < len; i++) {\r\n      const charCode = string.charCodeAt(i);\r\n      glyphs.push(this.characterToGlyph(charCode));\r\n    }\r\n\r\n    return glyphs;\r\n  }\r\n\r\n  characterToGlyph(character) {\r\n    return characters[WIN_ANSI_MAP[character] || character] || '.notdef';\r\n  }\r\n\r\n  widthOfGlyph(glyph) {\r\n    return this.glyphWidths[glyph] || 0;\r\n  }\r\n\r\n  getKernPair(left, right) {\r\n    return this.kernPairs[left + '\\0' + right] || 0;\r\n  }\r\n\r\n  advancesForGlyphs(glyphs) {\r\n    const advances = [];\r\n\r\n    for (let index = 0; index < glyphs.length; index++) {\r\n      const left = glyphs[index];\r\n      const right = glyphs[index + 1];\r\n      advances.push(this.widthOfGlyph(left) + this.getKernPair(left, right));\r\n    }\r\n\r\n    return advances;\r\n  }\r\n}\r\n\r\nexport default AFMFont;\r\n","class PDFFont {\r\n  constructor() {}\r\n\r\n  encode() {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n\r\n  widthOfString() {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n\r\n  ref() {\r\n    return this.dictionary != null\r\n      ? this.dictionary\r\n      : (this.dictionary = this.document.ref());\r\n  }\r\n\r\n  finalize() {\r\n    if (this.embedded || this.dictionary == null) {\r\n      return;\r\n    }\r\n\r\n    this.embed();\r\n    return (this.embedded = true);\r\n  }\r\n\r\n  embed() {\r\n    throw new Error('Must be implemented by subclasses');\r\n  }\r\n\r\n  lineHeight(size, includeGap) {\r\n    if (includeGap == null) {\r\n      includeGap = false;\r\n    }\r\n    const gap = includeGap ? this.lineGap : 0;\r\n    return ((this.ascender + gap - this.descender) / 1000) * size;\r\n  }\r\n}\r\n\r\nexport default PDFFont;\r\n","import AFMFont from './afm';\r\nimport PDFFont from '../font';\r\nimport fs from 'fs';\r\n\r\n// This insanity is so bundlers can inline the font files\r\nconst STANDARD_FONTS = {\r\n  Courier() {\r\n    return fs.readFileSync(__dirname + '/data/Courier.afm', 'utf8');\r\n  },\r\n  'Courier-Bold'() {\r\n    return fs.readFileSync(__dirname + '/data/Courier-Bold.afm', 'utf8');\r\n  },\r\n  'Courier-Oblique'() {\r\n    return fs.readFileSync(__dirname + '/data/Courier-Oblique.afm', 'utf8');\r\n  },\r\n  'Courier-BoldOblique'() {\r\n    return fs.readFileSync(__dirname + '/data/Courier-BoldOblique.afm', 'utf8');\r\n  },\r\n  Helvetica() {\r\n    return fs.readFileSync(__dirname + '/data/Helvetica.afm', 'utf8');\r\n  },\r\n  'Helvetica-Bold'() {\r\n    return fs.readFileSync(__dirname + '/data/Helvetica-Bold.afm', 'utf8');\r\n  },\r\n  'Helvetica-Oblique'() {\r\n    return fs.readFileSync(__dirname + '/data/Helvetica-Oblique.afm', 'utf8');\r\n  },\r\n  'Helvetica-BoldOblique'() {\r\n    return fs.readFileSync(\r\n      __dirname + '/data/Helvetica-BoldOblique.afm',\r\n      'utf8'\r\n    );\r\n  },\r\n  'Times-Roman'() {\r\n    return fs.readFileSync(__dirname + '/data/Times-Roman.afm', 'utf8');\r\n  },\r\n  'Times-Bold'() {\r\n    return fs.readFileSync(__dirname + '/data/Times-Bold.afm', 'utf8');\r\n  },\r\n  'Times-Italic'() {\r\n    return fs.readFileSync(__dirname + '/data/Times-Italic.afm', 'utf8');\r\n  },\r\n  'Times-BoldItalic'() {\r\n    return fs.readFileSync(__dirname + '/data/Times-BoldItalic.afm', 'utf8');\r\n  },\r\n  Symbol() {\r\n    return fs.readFileSync(__dirname + '/data/Symbol.afm', 'utf8');\r\n  },\r\n  ZapfDingbats() {\r\n    return fs.readFileSync(__dirname + '/data/ZapfDingbats.afm', 'utf8');\r\n  }\r\n};\r\n\r\nclass StandardFont extends PDFFont {\r\n  constructor(document, name, id) {\r\n    super();\r\n    this.document = document;\r\n    this.name = name;\r\n    this.id = id;\r\n    this.font = new AFMFont(STANDARD_FONTS[this.name]());\r\n    ({\r\n      ascender: this.ascender,\r\n      descender: this.descender,\r\n      bbox: this.bbox,\r\n      lineGap: this.lineGap,\r\n      xHeight: this.xHeight,\r\n      capHeight: this.capHeight\r\n    } = this.font);\r\n  }\r\n\r\n  embed() {\r\n    this.dictionary.data = {\r\n      Type: 'Font',\r\n      BaseFont: this.name,\r\n      Subtype: 'Type1',\r\n      Encoding: 'WinAnsiEncoding'\r\n    };\r\n\r\n    return this.dictionary.end();\r\n  }\r\n\r\n  encode(text) {\r\n    const encoded = this.font.encodeText(text);\r\n    const glyphs = this.font.glyphsForString(`${text}`);\r\n    const advances = this.font.advancesForGlyphs(glyphs);\r\n    const positions = [];\r\n    for (let i = 0; i < glyphs.length; i++) {\r\n      const glyph = glyphs[i];\r\n      positions.push({\r\n        xAdvance: advances[i],\r\n        yAdvance: 0,\r\n        xOffset: 0,\r\n        yOffset: 0,\r\n        advanceWidth: this.font.widthOfGlyph(glyph)\r\n      });\r\n    }\r\n\r\n    return [encoded, positions];\r\n  }\r\n\r\n  widthOfString(string, size) {\r\n    const glyphs = this.font.glyphsForString(`${string}`);\r\n    const advances = this.font.advancesForGlyphs(glyphs);\r\n\r\n    let width = 0;\r\n    for (let advance of advances) {\r\n      width += advance;\r\n    }\r\n\r\n    const scale = size / 1000;\r\n    return width * scale;\r\n  }\r\n\r\n  static isStandardFont(name) {\r\n    return name in STANDARD_FONTS;\r\n  }\r\n}\r\n\r\nexport default StandardFont;\r\n","import PDFFont from '../font';\r\n\r\nconst toHex = function(num) {\r\n  return `0000${num.toString(16)}`.slice(-4);\r\n};\r\n\r\nclass EmbeddedFont extends PDFFont {\r\n  constructor(document, font, id) {\r\n    super();\r\n    this.document = document;\r\n    this.font = font;\r\n    this.id = id;\r\n    this.subset = this.font.createSubset();\r\n    this.unicode = [[0]];\r\n    this.widths = [this.font.getGlyph(0).advanceWidth];\r\n\r\n    this.name = this.font.postscriptName;\r\n    this.scale = 1000 / this.font.unitsPerEm;\r\n    this.ascender = this.font.ascent * this.scale;\r\n    this.descender = this.font.descent * this.scale;\r\n    this.xHeight = this.font.xHeight * this.scale;\r\n    this.capHeight = this.font.capHeight * this.scale;\r\n    this.lineGap = this.font.lineGap * this.scale;\r\n    this.bbox = this.font.bbox;\r\n\r\n    if (document.options.fontLayoutCache !== false) {\r\n      this.layoutCache = Object.create(null);\r\n    }\r\n  }\r\n\r\n  layoutRun(text, features) {\r\n    const run = this.font.layout(text, features);\r\n\r\n    // Normalize position values\r\n    for (let i = 0; i < run.positions.length; i++) {\r\n      const position = run.positions[i];\r\n      for (let key in position) {\r\n        position[key] *= this.scale;\r\n      }\r\n\r\n      position.advanceWidth = run.glyphs[i].advanceWidth * this.scale;\r\n    }\r\n\r\n    return run;\r\n  }\r\n\r\n  layoutCached(text) {\r\n    if (!this.layoutCache) {\r\n      return this.layoutRun(text);\r\n    }\r\n    let cached;\r\n    if ((cached = this.layoutCache[text])) {\r\n      return cached;\r\n    }\r\n\r\n    const run = this.layoutRun(text);\r\n    this.layoutCache[text] = run;\r\n    return run;\r\n  }\r\n\r\n  layout(text, features, onlyWidth) {\r\n    // Skip the cache if any user defined features are applied\r\n    if (features) {\r\n      return this.layoutRun(text, features);\r\n    }\r\n\r\n    let glyphs = onlyWidth ? null : [];\r\n    let positions = onlyWidth ? null : [];\r\n    let advanceWidth = 0;\r\n\r\n    // Split the string by words to increase cache efficiency.\r\n    // For this purpose, spaces and tabs are a good enough delimeter.\r\n    let last = 0;\r\n    let index = 0;\r\n    while (index <= text.length) {\r\n      var needle;\r\n      if (\r\n        (index === text.length && last < index) ||\r\n        ((needle = text.charAt(index)), [' ', '\\t'].includes(needle))\r\n      ) {\r\n        const run = this.layoutCached(text.slice(last, ++index));\r\n        if (!onlyWidth) {\r\n          glyphs = glyphs.concat(run.glyphs);\r\n          positions = positions.concat(run.positions);\r\n        }\r\n\r\n        advanceWidth += run.advanceWidth;\r\n        last = index;\r\n      } else {\r\n        index++;\r\n      }\r\n    }\r\n\r\n    return { glyphs, positions, advanceWidth };\r\n  }\r\n\r\n  encode(text, features) {\r\n    const { glyphs, positions } = this.layout(text, features);\r\n\r\n    const res = [];\r\n    for (let i = 0; i < glyphs.length; i++) {\r\n      const glyph = glyphs[i];\r\n      const gid = this.subset.includeGlyph(glyph.id);\r\n      res.push(`0000${gid.toString(16)}`.slice(-4));\r\n\r\n      if (this.widths[gid] == null) {\r\n        this.widths[gid] = glyph.advanceWidth * this.scale;\r\n      }\r\n      if (this.unicode[gid] == null) {\r\n        this.unicode[gid] = glyph.codePoints;\r\n      }\r\n    }\r\n\r\n    return [res, positions];\r\n  }\r\n\r\n  widthOfString(string, size, features) {\r\n    const width = this.layout(string, features, true).advanceWidth;\r\n    const scale = size / 1000;\r\n    return width * scale;\r\n  }\r\n\r\n  embed() {\r\n    const isCFF = this.subset.cff != null;\r\n    const fontFile = this.document.ref();\r\n\r\n    if (isCFF) {\r\n      fontFile.data.Subtype = 'CIDFontType0C';\r\n    }\r\n\r\n    this.subset\r\n      .encodeStream()\r\n      .on('data', data => fontFile.write(data))\r\n      .on('end', () => fontFile.end());\r\n\r\n    const familyClass =\r\n      ((this.font['OS/2'] != null\r\n        ? this.font['OS/2'].sFamilyClass\r\n        : undefined) || 0) >> 8;\r\n    let flags = 0;\r\n    if (this.font.post.isFixedPitch) {\r\n      flags |= 1 << 0;\r\n    }\r\n    if (1 <= familyClass && familyClass <= 7) {\r\n      flags |= 1 << 1;\r\n    }\r\n    flags |= 1 << 2; // assume the font uses non-latin characters\r\n    if (familyClass === 10) {\r\n      flags |= 1 << 3;\r\n    }\r\n    if (this.font.head.macStyle.italic) {\r\n      flags |= 1 << 6;\r\n    }\r\n\r\n    // generate a tag (6 uppercase letters. 17 is the char code offset from '0' to 'A'. 73 will map to 'Z')\r\n    const tag = [1, 2, 3, 4, 5, 6]\r\n      .map(i => String.fromCharCode((this.id.charCodeAt(i) || 73) + 17))\r\n      .join('');\r\n    const name = tag + '+' + this.font.postscriptName;\r\n\r\n    const { bbox } = this.font;\r\n    const descriptor = this.document.ref({\r\n      Type: 'FontDescriptor',\r\n      FontName: name,\r\n      Flags: flags,\r\n      FontBBox: [\r\n        bbox.minX * this.scale,\r\n        bbox.minY * this.scale,\r\n        bbox.maxX * this.scale,\r\n        bbox.maxY * this.scale\r\n      ],\r\n      ItalicAngle: this.font.italicAngle,\r\n      Ascent: this.ascender,\r\n      Descent: this.descender,\r\n      CapHeight: (this.font.capHeight || this.font.ascent) * this.scale,\r\n      XHeight: (this.font.xHeight || 0) * this.scale,\r\n      StemV: 0\r\n    }); // not sure how to calculate this\r\n\r\n    if (isCFF) {\r\n      descriptor.data.FontFile3 = fontFile;\r\n    } else {\r\n      descriptor.data.FontFile2 = fontFile;\r\n    }\r\n\r\n    descriptor.end();\r\n\r\n    const descendantFontData = {\r\n      Type: 'Font',\r\n      Subtype: 'CIDFontType0',\r\n      BaseFont: name,\r\n      CIDSystemInfo: {\r\n        Registry: new String('Adobe'),\r\n        Ordering: new String('Identity'),\r\n        Supplement: 0\r\n      },\r\n      FontDescriptor: descriptor,\r\n      W: [0, this.widths]\r\n    };\r\n\r\n    if (!isCFF) {\r\n      descendantFontData.Subtype = 'CIDFontType2';\r\n      descendantFontData.CIDToGIDMap = 'Identity';\r\n    }\r\n\r\n    const descendantFont = this.document.ref(descendantFontData);\r\n\r\n    descendantFont.end();\r\n\r\n    this.dictionary.data = {\r\n      Type: 'Font',\r\n      Subtype: 'Type0',\r\n      BaseFont: name,\r\n      Encoding: 'Identity-H',\r\n      DescendantFonts: [descendantFont],\r\n      ToUnicode: this.toUnicodeCmap()\r\n    };\r\n\r\n    return this.dictionary.end();\r\n  }\r\n\r\n  // Maps the glyph ids encoded in the PDF back to unicode strings\r\n  // Because of ligature substitutions and the like, there may be one or more\r\n  // unicode characters represented by each glyph.\r\n  toUnicodeCmap() {\r\n    const cmap = this.document.ref();\r\n\r\n    const entries = [];\r\n    for (let codePoints of this.unicode) {\r\n      const encoded = [];\r\n\r\n      // encode codePoints to utf16\r\n      for (let value of codePoints) {\r\n        if (value > 0xffff) {\r\n          value -= 0x10000;\r\n          encoded.push(toHex(((value >>> 10) & 0x3ff) | 0xd800));\r\n          value = 0xdc00 | (value & 0x3ff);\r\n        }\r\n\r\n        encoded.push(toHex(value));\r\n      }\r\n\r\n      entries.push(`<${encoded.join(' ')}>`);\r\n    }\r\n\r\n    cmap.end(`\\\r\n/CIDInit /ProcSet findresource begin\r\n12 dict begin\r\nbegincmap\r\n/CIDSystemInfo <<\r\n  /Registry (Adobe)\r\n  /Ordering (UCS)\r\n  /Supplement 0\r\n>> def\r\n/CMapName /Adobe-Identity-UCS def\r\n/CMapType 2 def\r\n1 begincodespacerange\r\n<0000><ffff>\r\nendcodespacerange\r\n1 beginbfrange\r\n<0000> <${toHex(entries.length - 1)}> [${entries.join(' ')}]\r\nendbfrange\r\nendcmap\r\nCMapName currentdict /CMap defineresource pop\r\nend\r\nend\\\r\n`);\r\n\r\n    return cmap;\r\n  }\r\n}\r\n\r\nexport default EmbeddedFont;\r\n","import fs from 'fs';\r\nimport fontkit from '@foliojs-fork/fontkit';\r\nimport StandardFont from './font/standard';\r\nimport EmbeddedFont from './font/embedded';\r\n\r\nclass PDFFontFactory {\r\n  static open(document, src, family, id) {\r\n    let font;\r\n    if (typeof src === 'string') {\r\n      if (StandardFont.isStandardFont(src)) {\r\n        return new StandardFont(document, src, id);\r\n      }\r\n\r\n      src = fs.readFileSync(src);\r\n    }\r\n    if (Buffer.isBuffer(src)) {\r\n      font = fontkit.create(src, family);\r\n    } else if (src instanceof Uint8Array) {\r\n      font = fontkit.create(Buffer.from(src), family);\r\n    } else if (src instanceof ArrayBuffer) {\r\n      font = fontkit.create(Buffer.from(new Uint8Array(src)), family);\r\n    }\r\n\r\n    if (font == null) {\r\n      throw new Error('Not a supported font format or standard PDF font.');\r\n    }\r\n\r\n    return new EmbeddedFont(document, font, id);\r\n  }\r\n}\r\n\r\nexport default PDFFontFactory;\r\n","import PDFFontFactory from '../font_factory';\r\n\r\nexport default {\r\n  initFonts(defaultFont = 'Helvetica') {\r\n    // Lookup table for embedded fonts\r\n    this._fontFamilies = {};\r\n    this._fontCount = 0;\r\n\r\n    // Font state\r\n    this._fontSize = 12;\r\n    this._font = null;\r\n\r\n    this._registeredFonts = {};\r\n\r\n    // Set the default font\r\n    if (defaultFont) {\r\n      this.font(defaultFont);\r\n    }\r\n  },\r\n\r\n  font(src, family, size) {\r\n    let cacheKey, font;\r\n    if (typeof family === 'number') {\r\n      size = family;\r\n      family = null;\r\n    }\r\n\r\n    // check registered fonts if src is a string\r\n    if (typeof src === 'string' && this._registeredFonts[src]) {\r\n      cacheKey = src;\r\n      ({ src, family } = this._registeredFonts[src]);\r\n    } else {\r\n      cacheKey = family || src;\r\n      if (typeof cacheKey !== 'string') {\r\n        cacheKey = null;\r\n      }\r\n    }\r\n\r\n    if (size != null) {\r\n      this.fontSize(size);\r\n    }\r\n\r\n    // fast path: check if the font is already in the PDF\r\n    if ((font = this._fontFamilies[cacheKey])) {\r\n      this._font = font;\r\n      return this;\r\n    }\r\n\r\n    // load the font\r\n    const id = `F${++this._fontCount}`;\r\n    this._font = PDFFontFactory.open(this, src, family, id);\r\n\r\n    // check for existing font familes with the same name already in the PDF\r\n    // useful if the font was passed as a buffer\r\n    if ((font = this._fontFamilies[this._font.name])) {\r\n      this._font = font;\r\n      return this;\r\n    }\r\n\r\n    // save the font for reuse later\r\n    if (cacheKey) {\r\n      this._fontFamilies[cacheKey] = this._font;\r\n    }\r\n\r\n    if (this._font.name) {\r\n      this._fontFamilies[this._font.name] = this._font;\r\n    }\r\n\r\n    return this;\r\n  },\r\n\r\n  fontSize(_fontSize) {\r\n    this._fontSize = _fontSize;\r\n    return this;\r\n  },\r\n\r\n  currentLineHeight(includeGap) {\r\n    if (includeGap == null) {\r\n      includeGap = false;\r\n    }\r\n    return this._font.lineHeight(this._fontSize, includeGap);\r\n  },\r\n\r\n  registerFont(name, src, family) {\r\n    this._registeredFonts[name] = {\r\n      src,\r\n      family\r\n    };\r\n\r\n    return this;\r\n  }\r\n};\r\n","import { EventEmitter } from 'events';\r\nimport LineBreaker from '@foliojs-fork/linebreak';\r\n\r\nclass LineWrapper extends EventEmitter {\r\n  constructor(document, options) {\r\n    super();\r\n    this.document = document;\r\n    this.indent = options.indent || 0;\r\n    this.characterSpacing = options.characterSpacing || 0;\r\n    this.wordSpacing = options.wordSpacing === 0;\r\n    this.columns = options.columns || 1;\r\n    this.columnGap = options.columnGap != null ? options.columnGap : 18; // 1/4 inch\r\n    this.lineWidth =\r\n      (options.width - this.columnGap * (this.columns - 1)) / this.columns;\r\n    this.spaceLeft = this.lineWidth;\r\n    this.startX = this.document.x;\r\n    this.startY = this.document.y;\r\n    this.column = 1;\r\n    this.ellipsis = options.ellipsis;\r\n    this.continuedX = 0;\r\n    this.features = options.features;\r\n\r\n    // calculate the maximum Y position the text can appear at\r\n    if (options.height != null) {\r\n      this.height = options.height;\r\n      this.maxY = this.startY + options.height;\r\n    } else {\r\n      this.maxY = this.document.page.maxY();\r\n    }\r\n\r\n    // handle paragraph indents\r\n    this.on('firstLine', options => {\r\n      // if this is the first line of the text segment, and\r\n      // we're continuing where we left off, indent that much\r\n      // otherwise use the user specified indent option\r\n      const indent = this.continuedX || this.indent;\r\n      this.document.x += indent;\r\n      this.lineWidth -= indent;\r\n\r\n      return this.once('line', () => {\r\n        this.document.x -= indent;\r\n        this.lineWidth += indent;\r\n        if (options.continued && !this.continuedX) {\r\n          this.continuedX = this.indent;\r\n        }\r\n        if (!options.continued) {\r\n          return (this.continuedX = 0);\r\n        }\r\n      });\r\n    });\r\n\r\n    // handle left aligning last lines of paragraphs\r\n    this.on('lastLine', options => {\r\n      const { align } = options;\r\n      if (align === 'justify') {\r\n        options.align = 'left';\r\n      }\r\n      this.lastLine = true;\r\n\r\n      return this.once('line', () => {\r\n        this.document.y += options.paragraphGap || 0;\r\n        options.align = align;\r\n        return (this.lastLine = false);\r\n      });\r\n    });\r\n  }\r\n\r\n  wordWidth(word) {\r\n    return (\r\n      this.document.widthOfString(word, this) +\r\n      this.characterSpacing +\r\n      this.wordSpacing\r\n    );\r\n  }\r\n\r\n  eachWord(text, fn) {\r\n    // setup a unicode line breaker\r\n    let bk;\r\n    const breaker = new LineBreaker(text);\r\n    let last = null;\r\n    const wordWidths = Object.create(null);\r\n\r\n    while ((bk = breaker.nextBreak())) {\r\n      var shouldContinue;\r\n      let word = text.slice(\r\n        (last != null ? last.position : undefined) || 0,\r\n        bk.position\r\n      );\r\n      let w =\r\n        wordWidths[word] != null\r\n          ? wordWidths[word]\r\n          : (wordWidths[word] = this.wordWidth(word));\r\n\r\n      // if the word is longer than the whole line, chop it up\r\n      // TODO: break by grapheme clusters, not JS string characters\r\n      if (w > this.lineWidth + this.continuedX) {\r\n        // make some fake break objects\r\n        let lbk = last;\r\n        const fbk = {};\r\n\r\n        while (word.length) {\r\n          // fit as much of the word as possible into the space we have\r\n          var l, mightGrow;\r\n          if (w > this.spaceLeft) {\r\n            // start our check at the end of our available space - this method is faster than a loop of each character and it resolves\r\n            // an issue with long loops when processing massive words, such as a huge number of spaces\r\n            l = Math.ceil(this.spaceLeft / (w / word.length));\r\n            w = this.wordWidth(word.slice(0, l));\r\n            mightGrow = w <= this.spaceLeft && l < word.length;\r\n          } else {\r\n            l = word.length;\r\n          }\r\n          let mustShrink = w > this.spaceLeft && l > 0;\r\n          // shrink or grow word as necessary after our near-guess above\r\n          while (mustShrink || mightGrow) {\r\n            if (mustShrink) {\r\n              w = this.wordWidth(word.slice(0, --l));\r\n              mustShrink = w > this.spaceLeft && l > 0;\r\n            } else {\r\n              w = this.wordWidth(word.slice(0, ++l));\r\n              mustShrink = w > this.spaceLeft && l > 0;\r\n              mightGrow = w <= this.spaceLeft && l < word.length;\r\n            }\r\n          }\r\n\r\n          // check for the edge case where a single character cannot fit into a line.\r\n          if (l === 0 && this.spaceLeft === this.lineWidth) {\r\n            l = 1;\r\n          }\r\n\r\n          // send a required break unless this is the last piece and a linebreak is not specified\r\n          fbk.required = bk.required || l < word.length;\r\n          shouldContinue = fn(word.slice(0, l), w, fbk, lbk);\r\n          lbk = { required: false };\r\n\r\n          // get the remaining piece of the word\r\n          word = word.slice(l);\r\n          w = this.wordWidth(word);\r\n\r\n          if (shouldContinue === false) {\r\n            break;\r\n          }\r\n        }\r\n      } else {\r\n        // otherwise just emit the break as it was given to us\r\n        shouldContinue = fn(word, w, bk, last);\r\n      }\r\n\r\n      if (shouldContinue === false) {\r\n        break;\r\n      }\r\n      last = bk;\r\n    }\r\n  }\r\n\r\n  wrap(text, options) {\r\n    // override options from previous continued fragments\r\n    if (options.indent != null) {\r\n      this.indent = options.indent;\r\n    }\r\n    if (options.characterSpacing != null) {\r\n      this.characterSpacing = options.characterSpacing;\r\n    }\r\n    if (options.wordSpacing != null) {\r\n      this.wordSpacing = options.wordSpacing;\r\n    }\r\n    if (options.ellipsis != null) {\r\n      this.ellipsis = options.ellipsis;\r\n    }\r\n\r\n    // make sure we're actually on the page\r\n    // and that the first line of is never by\r\n    // itself at the bottom of a page (orphans)\r\n    const nextY = this.document.y + this.document.currentLineHeight(true);\r\n    if (this.document.y > this.maxY || nextY > this.maxY) {\r\n      this.nextSection();\r\n    }\r\n\r\n    let buffer = '';\r\n    let textWidth = 0;\r\n    let wc = 0;\r\n    let lc = 0;\r\n\r\n    let { y } = this.document; // used to reset Y pos if options.continued (below)\r\n    const emitLine = () => {\r\n      options.textWidth = textWidth + this.wordSpacing * (wc - 1);\r\n      options.wordCount = wc;\r\n      options.lineWidth = this.lineWidth;\r\n      ({ y } = this.document);\r\n      this.emit('line', buffer, options, this);\r\n      return lc++;\r\n    };\r\n\r\n    this.emit('sectionStart', options, this);\r\n\r\n    this.eachWord(text, (word, w, bk, last) => {\r\n      if (last == null || last.required) {\r\n        this.emit('firstLine', options, this);\r\n        this.spaceLeft = this.lineWidth;\r\n      }\r\n\r\n      if (w <= this.spaceLeft) {\r\n        buffer += word;\r\n        textWidth += w;\r\n        wc++;\r\n      }\r\n\r\n      if (bk.required || w > this.spaceLeft) {\r\n        // if the user specified a max height and an ellipsis, and is about to pass the\r\n        // max height and max columns after the next line, append the ellipsis\r\n        const lh = this.document.currentLineHeight(true);\r\n        if (\r\n          this.height != null &&\r\n          this.ellipsis &&\r\n          this.document.y + lh * 2 > this.maxY &&\r\n          this.column >= this.columns\r\n        ) {\r\n          if (this.ellipsis === true) {\r\n            this.ellipsis = '…';\r\n          } // map default ellipsis character\r\n          buffer = buffer.replace(/\\s+$/, '');\r\n          textWidth = this.wordWidth(buffer + this.ellipsis);\r\n\r\n          // remove characters from the buffer until the ellipsis fits\r\n          // to avoid infinite loop need to stop while-loop if buffer is empty string\r\n          while (buffer && textWidth > this.lineWidth) {\r\n            buffer = buffer.slice(0, -1).replace(/\\s+$/, '');\r\n            textWidth = this.wordWidth(buffer + this.ellipsis);\r\n          }\r\n          // need to add ellipsis only if there is enough space for it\r\n          if (textWidth <= this.lineWidth) {\r\n            buffer = buffer + this.ellipsis;\r\n          }\r\n\r\n          textWidth = this.wordWidth(buffer);\r\n        }\r\n\r\n        if (bk.required) {\r\n          if (w > this.spaceLeft) {\r\n            emitLine();\r\n            buffer = word;\r\n            textWidth = w;\r\n            wc = 1;\r\n          }\r\n\r\n          this.emit('lastLine', options, this);\r\n        }\r\n\r\n        emitLine();\r\n\r\n        // if we've reached the edge of the page,\r\n        // continue on a new page or column\r\n        if (this.document.y + lh > this.maxY) {\r\n          const shouldContinue = this.nextSection();\r\n\r\n          // stop if we reached the maximum height\r\n          if (!shouldContinue) {\r\n            wc = 0;\r\n            buffer = '';\r\n            return false;\r\n          }\r\n        }\r\n\r\n        // reset the space left and buffer\r\n        if (bk.required) {\r\n          this.spaceLeft = this.lineWidth;\r\n          buffer = '';\r\n          textWidth = 0;\r\n          return (wc = 0);\r\n        } else {\r\n          // reset the space left and buffer\r\n          this.spaceLeft = this.lineWidth - w;\r\n          buffer = word;\r\n          textWidth = w;\r\n          return (wc = 1);\r\n        }\r\n      } else {\r\n        return (this.spaceLeft -= w);\r\n      }\r\n    });\r\n\r\n    if (wc > 0) {\r\n      this.emit('lastLine', options, this);\r\n      emitLine();\r\n    }\r\n\r\n    this.emit('sectionEnd', options, this);\r\n\r\n    // if the wrap is set to be continued, save the X position\r\n    // to start the first line of the next segment at, and reset\r\n    // the y position\r\n    if (options.continued === true) {\r\n      if (lc > 1) {\r\n        this.continuedX = 0;\r\n      }\r\n      this.continuedX += options.textWidth || 0;\r\n      return (this.document.y = y);\r\n    } else {\r\n      return (this.document.x = this.startX);\r\n    }\r\n  }\r\n\r\n  nextSection(options) {\r\n    this.emit('sectionEnd', options, this);\r\n\r\n    if (++this.column > this.columns) {\r\n      // if a max height was specified by the user, we're done.\r\n      // otherwise, the default is to make a new page at the bottom.\r\n      if (this.height != null) {\r\n        return false;\r\n      }\r\n\r\n      this.document.continueOnNewPage();\r\n      this.column = 1;\r\n      this.startY = this.document.page.margins.top;\r\n      this.maxY = this.document.page.maxY();\r\n      this.document.x = this.startX;\r\n      if (this.document._fillColor) {\r\n        this.document.fillColor(...this.document._fillColor);\r\n      }\r\n      this.emit('pageBreak', options, this);\r\n    } else {\r\n      this.document.x += this.lineWidth + this.columnGap;\r\n      this.document.y = this.startY;\r\n      this.emit('columnBreak', options, this);\r\n    }\r\n\r\n    this.emit('sectionStart', options, this);\r\n    return true;\r\n  }\r\n}\r\n\r\nexport default LineWrapper;\r\n","import LineWrapper from '../line_wrapper';\r\nimport PDFObject from '../object';\r\n\r\nconst { number } = PDFObject;\r\n\r\nexport default {\r\n  initText() {\r\n    this._line = this._line.bind(this);\r\n    // Current coordinates\r\n    this.x = 0;\r\n    this.y = 0;\r\n    return (this._lineGap = 0);\r\n  },\r\n\r\n  lineGap(_lineGap) {\r\n    this._lineGap = _lineGap;\r\n    return this;\r\n  },\r\n\r\n  moveDown(lines) {\r\n    if (lines == null) {\r\n      lines = 1;\r\n    }\r\n    this.y += this.currentLineHeight(true) * lines + this._lineGap;\r\n    return this;\r\n  },\r\n\r\n  moveUp(lines) {\r\n    if (lines == null) {\r\n      lines = 1;\r\n    }\r\n    this.y -= this.currentLineHeight(true) * lines + this._lineGap;\r\n    return this;\r\n  },\r\n\r\n  _text(text, x, y, options, lineCallback) {\r\n    options = this._initOptions(x, y, options);\r\n\r\n    // Convert text to a string\r\n    text = text == null ? '' : `${text}`;\r\n\r\n    // if the wordSpacing option is specified, remove multiple consecutive spaces\r\n    if (options.wordSpacing) {\r\n      text = text.replace(/\\s{2,}/g, ' ');\r\n    }\r\n\r\n    const addStructure = () => {\r\n      if (options.structParent) {\r\n        options.structParent.add(this.struct(options.structType || 'P',\r\n          [ this.markStructureContent(options.structType || 'P') ]));\r\n      }\r\n    };\r\n\r\n    // word wrapping\r\n    if (options.width) {\r\n      let wrapper = this._wrapper;\r\n      if (!wrapper) {\r\n        wrapper = new LineWrapper(this, options);\r\n        wrapper.on('line', lineCallback);\r\n        wrapper.on('firstLine', addStructure);\r\n      }\r\n\r\n      this._wrapper = options.continued ? wrapper : null;\r\n      this._textOptions = options.continued ? options : null;\r\n      wrapper.wrap(text, options);\r\n\r\n      // render paragraphs as single lines\r\n    } else {\r\n      for (let line of text.split('\\n')) {\r\n        addStructure();\r\n        lineCallback(line, options);\r\n      }\r\n    }\r\n\r\n    return this;\r\n  },\r\n\r\n  text(text, x, y, options) {\r\n    return this._text(text, x, y, options, this._line);\r\n  },\r\n\r\n  widthOfString(string, options = {}) {\r\n    return (\r\n      this._font.widthOfString(string, this._fontSize, options.features) +\r\n      (options.characterSpacing || 0) * (string.length - 1)\r\n    );\r\n  },\r\n\r\n  heightOfString(text, options) {\r\n    const { x, y } = this;\r\n\r\n    options = this._initOptions(options);\r\n    options.height = Infinity; // don't break pages\r\n\r\n    const lineGap = options.lineGap || this._lineGap || 0;\r\n    this._text(text, this.x, this.y, options, () => {\r\n      return (this.y += this.currentLineHeight(true) + lineGap);\r\n    });\r\n\r\n    const height = this.y - y;\r\n    this.x = x;\r\n    this.y = y;\r\n\r\n    return height;\r\n  },\r\n\r\n  list(list, x, y, options, wrapper) {\r\n    options = this._initOptions(x, y, options);\r\n\r\n    const listType = options.listType || 'bullet';\r\n    const unit = Math.round((this._font.ascender / 1000) * this._fontSize);\r\n    const midLine = unit / 2;\r\n    const r = options.bulletRadius || unit / 3;\r\n    const indent =\r\n      options.textIndent || (listType === 'bullet' ? r * 5 : unit * 2);\r\n    const itemIndent =\r\n      options.bulletIndent || (listType === 'bullet' ? r * 8 : unit * 2);\r\n\r\n    let level = 1;\r\n    const items = [];\r\n    const levels = [];\r\n    const numbers = [];\r\n\r\n    var flatten = function(list) {\r\n      let n = 1;\r\n      for (let i = 0; i < list.length; i++) {\r\n        const item = list[i];\r\n        if (Array.isArray(item)) {\r\n          level++;\r\n          flatten(item);\r\n          level--;\r\n        } else {\r\n          items.push(item);\r\n          levels.push(level);\r\n          if (listType !== 'bullet') {\r\n            numbers.push(n++);\r\n          }\r\n        }\r\n      }\r\n    };\r\n\r\n    flatten(list);\r\n\r\n    const label = function(n) {\r\n      switch (listType) {\r\n        case 'numbered':\r\n          return `${n}.`;\r\n        case 'lettered':\r\n          var letter = String.fromCharCode(((n - 1) % 26) + 65);\r\n          var times = Math.floor((n - 1) / 26 + 1);\r\n          var text = Array(times + 1).join(letter);\r\n          return `${text}.`;\r\n      }\r\n    };\r\n\r\n    wrapper = new LineWrapper(this, options);\r\n    wrapper.on('line', this._line);\r\n\r\n    level = 1;\r\n    let i = 0;\r\n    wrapper.on('firstLine', () => {\r\n      let item, itemType, labelType, bodyType;\r\n      if (options.structParent) {\r\n        if (options.structTypes) {\r\n          [ itemType, labelType, bodyType ] = options.structTypes;\r\n        } else {\r\n          [ itemType, labelType, bodyType ] = [ 'LI', 'Lbl', 'LBody' ];\r\n        }\r\n      }\r\n\r\n      if (itemType) {\r\n        item = this.struct(itemType);\r\n        options.structParent.add(item);\r\n      } else if (options.structParent) {\r\n        item = options.structParent;\r\n      }\r\n\r\n      let l;\r\n      if ((l = levels[i++]) !== level) {\r\n        const diff = itemIndent * (l - level);\r\n        this.x += diff;\r\n        wrapper.lineWidth -= diff;\r\n        level = l;\r\n      }\r\n\r\n      if (item && (labelType || bodyType)) {\r\n        item.add(this.struct(labelType || bodyType,\r\n          [ this.markStructureContent(labelType || bodyType) ]));\r\n      }\r\n      switch (listType) {\r\n        case 'bullet':\r\n          this.circle(this.x - indent + r, this.y + midLine, r);\r\n          this.fill();\r\n          break;\r\n        case 'numbered':\r\n        case 'lettered':\r\n          var text = label(numbers[i - 1]);\r\n          this._fragment(text, this.x - indent, this.y, options);\r\n          break;\r\n      }\r\n\r\n      if (item && labelType && bodyType) {\r\n        item.add(this.struct(bodyType, [ this.markStructureContent(bodyType) ]));\r\n      }\r\n      if (item && item !== options.structParent) {\r\n        item.end();\r\n      }\r\n    });\r\n\r\n    wrapper.on('sectionStart', () => {\r\n      const pos = indent + itemIndent * (level - 1);\r\n      this.x += pos;\r\n      return (wrapper.lineWidth -= pos);\r\n    });\r\n\r\n    wrapper.on('sectionEnd', () => {\r\n      const pos = indent + itemIndent * (level - 1);\r\n      this.x -= pos;\r\n      return (wrapper.lineWidth += pos);\r\n    });\r\n\r\n    wrapper.wrap(items.join('\\n'), options);\r\n\r\n    return this;\r\n  },\r\n\r\n  _initOptions(x = {}, y, options = {}) {\r\n    if (typeof x === 'object') {\r\n      options = x;\r\n      x = null;\r\n    }\r\n\r\n    // clone options object\r\n    const result = Object.assign({}, options);\r\n\r\n    // extend options with previous values for continued text\r\n    if (this._textOptions) {\r\n      for (let key in this._textOptions) {\r\n        const val = this._textOptions[key];\r\n        if (key !== 'continued') {\r\n          if (result[key] === undefined) {\r\n            result[key] = val;\r\n          }\r\n        }\r\n      }\r\n    }\r\n\r\n    // Update the current position\r\n    if (x != null) {\r\n      this.x = x;\r\n    }\r\n    if (y != null) {\r\n      this.y = y;\r\n    }\r\n\r\n    // wrap to margins if no x or y position passed\r\n    if (result.lineBreak !== false) {\r\n      if (result.width == null) {\r\n        result.width = this.page.width - this.x - this.page.margins.right;\r\n      }\r\n      result.width = Math.max(result.width, 0);\r\n    }\r\n\r\n    if (!result.columns) {\r\n      result.columns = 0;\r\n    }\r\n    if (result.columnGap == null) {\r\n      result.columnGap = 18;\r\n    } // 1/4 inch\r\n\r\n    return result;\r\n  },\r\n\r\n  _line(text, options = {}, wrapper) {\r\n    this._fragment(text, this.x, this.y, options);\r\n    const lineGap = options.lineGap || this._lineGap || 0;\r\n\r\n    if (!wrapper) {\r\n      return (this.x += this.widthOfString(text));\r\n    } else {\r\n      return (this.y += this.currentLineHeight(true) + lineGap);\r\n    }\r\n  },\r\n\r\n  _fragment(text, x, y, options) {\r\n    let dy, encoded, i, positions, textWidth, words;\r\n    text = `${text}`.replace(/\\n/g, '');\r\n    if (text.length === 0) {\r\n      return;\r\n    }\r\n\r\n    // handle options\r\n    const align = options.align || 'left';\r\n    let wordSpacing = options.wordSpacing || 0;\r\n    const characterSpacing = options.characterSpacing || 0;\r\n\r\n    // text alignments\r\n    if (options.width) {\r\n      switch (align) {\r\n        case 'right':\r\n          textWidth = this.widthOfString(text.replace(/\\s+$/, ''), options);\r\n          x += options.lineWidth - textWidth;\r\n          break;\r\n\r\n        case 'center':\r\n          x += options.lineWidth / 2 - options.textWidth / 2;\r\n          break;\r\n\r\n        case 'justify':\r\n          // calculate the word spacing value\r\n          words = text.trim().split(/\\s+/);\r\n          textWidth = this.widthOfString(text.replace(/\\s+/g, ''), options);\r\n          var spaceWidth = this.widthOfString(' ') + characterSpacing;\r\n          wordSpacing = Math.max(\r\n            0,\r\n            (options.lineWidth - textWidth) / Math.max(1, words.length - 1) -\r\n              spaceWidth\r\n          );\r\n          break;\r\n      }\r\n    }\r\n\r\n    // text baseline alignments based on http://wiki.apache.org/xmlgraphics-fop/LineLayout/AlignmentHandling\r\n    if (typeof options.baseline === 'number') {\r\n      dy = -options.baseline;\r\n    } else {\r\n      switch (options.baseline) {\r\n        case 'svg-middle':\r\n          dy = 0.5 * this._font.xHeight;\r\n          break;\r\n        case 'middle':\r\n        case 'svg-central':\r\n          dy = 0.5 * (this._font.descender + this._font.ascender);\r\n          break;\r\n        case 'bottom':\r\n        case 'ideographic':\r\n          dy = this._font.descender;\r\n          break;\r\n        case 'alphabetic':\r\n          dy = 0;\r\n          break;\r\n        case 'mathematical':\r\n          dy = 0.5 * this._font.ascender;\r\n          break;\r\n        case 'hanging':\r\n          dy = 0.8 * this._font.ascender;\r\n          break;\r\n        case 'top':\r\n          dy = this._font.ascender;\r\n          break;\r\n        default:\r\n          dy = this._font.ascender;\r\n      }\r\n      dy = (dy / 1000) * this._fontSize;\r\n    }\r\n\r\n    // calculate the actual rendered width of the string after word and character spacing\r\n    const renderedWidth =\r\n      options.textWidth +\r\n      wordSpacing * (options.wordCount - 1) +\r\n      characterSpacing * (text.length - 1);\r\n\r\n    // create link annotations if the link option is given\r\n    if (options.link != null) {\r\n      this.link(x, y, renderedWidth, this.currentLineHeight(), options.link);\r\n    }\r\n    if (options.goTo != null) {\r\n      this.goTo(x, y, renderedWidth, this.currentLineHeight(), options.goTo);\r\n    }\r\n    if (options.destination != null) {\r\n      this.addNamedDestination(options.destination, 'XYZ', x, y, null);\r\n    }\r\n\r\n    // create underline\r\n    if (options.underline) {\r\n      this.save();\r\n      if (!options.stroke) {\r\n        this.strokeColor(...(this._fillColor || []));\r\n      }\r\n\r\n      const lineWidth =\r\n        this._fontSize < 10 ? 0.5 : Math.floor(this._fontSize / 10);\r\n      this.lineWidth(lineWidth);\r\n\r\n      let lineY = (y + this.currentLineHeight())  - lineWidth\r\n      this.moveTo(x, lineY);\r\n      this.lineTo(x + renderedWidth, lineY);\r\n      this.stroke();\r\n      this.restore();\r\n    }\r\n    \r\n    // create strikethrough line\r\n    if (options.strike) {\r\n      this.save();\r\n      if (!options.stroke) {\r\n        this.strokeColor(...(this._fillColor || []));\r\n      }\r\n\r\n      const lineWidth =\r\n        this._fontSize < 10 ? 0.5 : Math.floor(this._fontSize / 10);\r\n      this.lineWidth(lineWidth);\r\n\r\n      let lineY = y + this.currentLineHeight() / 2;\r\n      this.moveTo(x, lineY);\r\n      this.lineTo(x + renderedWidth, lineY);\r\n      this.stroke();\r\n      this.restore();\r\n    }\r\n\r\n    this.save();\r\n\r\n    // oblique (angle in degrees or boolean)\r\n    if (options.oblique) {\r\n      let skew;\r\n      if (typeof options.oblique === 'number') {\r\n        skew = -Math.tan((options.oblique * Math.PI) / 180);\r\n      } else {\r\n        skew = -0.25;\r\n      }\r\n      this.transform(1, 0, 0, 1, x, y);\r\n      this.transform(1, 0, skew, 1, -skew * dy, 0);\r\n      this.transform(1, 0, 0, 1, -x, -y);\r\n    }\r\n\r\n    // flip coordinate system\r\n    this.transform(1, 0, 0, -1, 0, this.page.height);\r\n    y = this.page.height - y - dy;\r\n\r\n    // add current font to page if necessary\r\n    if (this.page.fonts[this._font.id] == null) {\r\n      this.page.fonts[this._font.id] = this._font.ref();\r\n    }\r\n\r\n    // begin the text object\r\n    this.addContent('BT');\r\n\r\n    // text position\r\n    this.addContent(`1 0 0 1 ${number(x)} ${number(y)} Tm`);\r\n\r\n    // font and font size\r\n    this.addContent(`/${this._font.id} ${number(this._fontSize)} Tf`);\r\n\r\n    // rendering mode\r\n    const mode = options.fill && options.stroke ? 2 : options.stroke ? 1 : 0;\r\n    if (mode) {\r\n      this.addContent(`${mode} Tr`);\r\n    }\r\n\r\n    // Character spacing\r\n    if (characterSpacing) {\r\n      this.addContent(`${number(characterSpacing)} Tc`);\r\n    }\r\n\r\n    // Add the actual text\r\n    // If we have a word spacing value, we need to encode each word separately\r\n    // since the normal Tw operator only works on character code 32, which isn't\r\n    // used for embedded fonts.\r\n    if (wordSpacing) {\r\n      words = text.trim().split(/\\s+/);\r\n      wordSpacing += this.widthOfString(' ') + characterSpacing;\r\n      wordSpacing *= 1000 / this._fontSize;\r\n\r\n      encoded = [];\r\n      positions = [];\r\n      for (let word of words) {\r\n        const [encodedWord, positionsWord] = this._font.encode(\r\n          word,\r\n          options.features\r\n        );\r\n        encoded = encoded.concat(encodedWord);\r\n        positions = positions.concat(positionsWord);\r\n\r\n        // add the word spacing to the end of the word\r\n        // clone object because of cache\r\n        const space = {};\r\n        const object = positions[positions.length - 1];\r\n        for (let key in object) {\r\n          const val = object[key];\r\n          space[key] = val;\r\n        }\r\n        space.xAdvance += wordSpacing;\r\n        positions[positions.length - 1] = space;\r\n      }\r\n    } else {\r\n      [encoded, positions] = this._font.encode(text, options.features);\r\n    }\r\n\r\n    const scale = this._fontSize / 1000;\r\n    const commands = [];\r\n    let last = 0;\r\n    let hadOffset = false;\r\n\r\n    // Adds a segment of text to the TJ command buffer\r\n    const addSegment = cur => {\r\n      if (last < cur) {\r\n        const hex = encoded.slice(last, cur).join('');\r\n        const advance =\r\n          positions[cur - 1].xAdvance - positions[cur - 1].advanceWidth;\r\n        commands.push(`<${hex}> ${number(-advance)}`);\r\n      }\r\n\r\n      return (last = cur);\r\n    };\r\n\r\n    // Flushes the current TJ commands to the output stream\r\n    const flush = i => {\r\n      addSegment(i);\r\n\r\n      if (commands.length > 0) {\r\n        this.addContent(`[${commands.join(' ')}] TJ`);\r\n        return (commands.length = 0);\r\n      }\r\n    };\r\n\r\n    for (i = 0; i < positions.length; i++) {\r\n      // If we have an x or y offset, we have to break out of the current TJ command\r\n      // so we can move the text position.\r\n      const pos = positions[i];\r\n      if (pos.xOffset || pos.yOffset) {\r\n        // Flush the current buffer\r\n        flush(i);\r\n\r\n        // Move the text position and flush just the current character\r\n        this.addContent(\r\n          `1 0 0 1 ${number(x + pos.xOffset * scale)} ${number(\r\n            y + pos.yOffset * scale\r\n          )} Tm`\r\n        );\r\n        flush(i + 1);\r\n\r\n        hadOffset = true;\r\n      } else {\r\n        // If the last character had an offset, reset the text position\r\n        if (hadOffset) {\r\n          this.addContent(`1 0 0 1 ${number(x)} ${number(y)} Tm`);\r\n          hadOffset = false;\r\n        }\r\n\r\n        // Group segments that don't have any advance adjustments\r\n        if (pos.xAdvance - pos.advanceWidth !== 0) {\r\n          addSegment(i + 1);\r\n        }\r\n      }\r\n\r\n      x += pos.xAdvance * scale;\r\n    }\r\n\r\n    // Flush any remaining commands\r\n    flush(i);\r\n\r\n    // end the text object\r\n    this.addContent('ET');\r\n\r\n    // restore flipped coordinate system\r\n    return this.restore();\r\n  }\r\n};\r\n","const MARKERS = [\r\n  0xffc0,\r\n  0xffc1,\r\n  0xffc2,\r\n  0xffc3,\r\n  0xffc5,\r\n  0xffc6,\r\n  0xffc7,\r\n  0xffc8,\r\n  0xffc9,\r\n  0xffca,\r\n  0xffcb,\r\n  0xffcc,\r\n  0xffcd,\r\n  0xffce,\r\n  0xffcf\r\n];\r\n\r\nconst COLOR_SPACE_MAP = {\r\n  1: 'DeviceGray',\r\n  3: 'DeviceRGB',\r\n  4: 'DeviceCMYK'\r\n};\r\n\r\nclass JPEG {\r\n  constructor(data, label) {\r\n    let marker;\r\n    this.data = data;\r\n    this.label = label;\r\n    if (this.data.readUInt16BE(0) !== 0xffd8) {\r\n      throw 'SOI not found in JPEG';\r\n    }\r\n\r\n    let pos = 2;\r\n    while (pos < this.data.length) {\r\n      marker = this.data.readUInt16BE(pos);\r\n      pos += 2;\r\n      if (MARKERS.includes(marker)) {\r\n        break;\r\n      }\r\n      pos += this.data.readUInt16BE(pos);\r\n    }\r\n\r\n    if (!MARKERS.includes(marker)) {\r\n      throw 'Invalid JPEG.';\r\n    }\r\n    pos += 2;\r\n\r\n    this.bits = this.data[pos++];\r\n    this.height = this.data.readUInt16BE(pos);\r\n    pos += 2;\r\n\r\n    this.width = this.data.readUInt16BE(pos);\r\n    pos += 2;\r\n\r\n    const channels = this.data[pos++];\r\n    this.colorSpace = COLOR_SPACE_MAP[channels];\r\n\r\n    this.obj = null;\r\n  }\r\n\r\n  embed(document) {\r\n    if (this.obj) {\r\n      return;\r\n    }\r\n\r\n    this.obj = document.ref({\r\n      Type: 'XObject',\r\n      Subtype: 'Image',\r\n      BitsPerComponent: this.bits,\r\n      Width: this.width,\r\n      Height: this.height,\r\n      ColorSpace: this.colorSpace,\r\n      Filter: 'DCTDecode'\r\n    });\r\n\r\n    // add extra decode params for CMYK images. By swapping the\r\n    // min and max values from the default, we invert the colors. See\r\n    // section 4.8.4 of the spec.\r\n    if (this.colorSpace === 'DeviceCMYK') {\r\n      this.obj.data['Decode'] = [1.0, 0.0, 1.0, 0.0, 1.0, 0.0, 1.0, 0.0];\r\n    }\r\n\r\n    this.obj.end(this.data);\r\n\r\n    // free memory\r\n    return (this.data = null);\r\n  }\r\n}\r\n\r\nexport default JPEG;\r\n","import zlib from 'zlib';\r\nimport PNG from 'png-js';\r\n\r\nclass PNGImage {\r\n  constructor(data, label) {\r\n    this.label = label;\r\n    this.image = new PNG(data);\r\n    this.width = this.image.width;\r\n    this.height = this.image.height;\r\n    this.imgData = this.image.imgData;\r\n    this.obj = null;\r\n  }\r\n\r\n  embed(document) {\r\n    let dataDecoded = false;\r\n\r\n    this.document = document;\r\n    if (this.obj) {\r\n      return;\r\n    }\r\n\r\n    const hasAlphaChannel = this.image.hasAlphaChannel;\r\n    const isInterlaced = this.image.interlaceMethod === 1;\r\n\r\n    this.obj = this.document.ref({\r\n      Type: 'XObject',\r\n      Subtype: 'Image',\r\n      BitsPerComponent: hasAlphaChannel ? 8 : this.image.bits,\r\n      Width: this.width,\r\n      Height: this.height,\r\n      Filter: 'FlateDecode'\r\n    });\r\n\r\n    if (!hasAlphaChannel) {\r\n      const params = this.document.ref({\r\n        Predictor: isInterlaced ? 1 : 15,\r\n        Colors: this.image.colors,\r\n        BitsPerComponent: this.image.bits,\r\n        Columns: this.width\r\n      });\r\n\r\n      this.obj.data['DecodeParms'] = params;\r\n      params.end();\r\n    }\r\n\r\n    if (this.image.palette.length === 0) {\r\n      this.obj.data['ColorSpace'] = this.image.colorSpace;\r\n    } else {\r\n      // embed the color palette in the PDF as an object stream\r\n      const palette = this.document.ref();\r\n      palette.end(Buffer.from(this.image.palette));\r\n\r\n      // build the color space array for the image\r\n      this.obj.data['ColorSpace'] = [\r\n        'Indexed',\r\n        'DeviceRGB',\r\n        this.image.palette.length / 3 - 1,\r\n        palette\r\n      ];\r\n    }\r\n\r\n    // For PNG color types 0, 2 and 3, the transparency data is stored in\r\n    // a dedicated PNG chunk.\r\n    if (this.image.transparency.grayscale != null) {\r\n      // Use Color Key Masking (spec section 4.8.5)\r\n      // An array with N elements, where N is two times the number of color components.\r\n      const val = this.image.transparency.grayscale;\r\n      this.obj.data['Mask'] = [val, val];\r\n    } else if (this.image.transparency.rgb) {\r\n      // Use Color Key Masking (spec section 4.8.5)\r\n      // An array with N elements, where N is two times the number of color components.\r\n      const { rgb } = this.image.transparency;\r\n      const mask = [];\r\n      for (let x of rgb) {\r\n        mask.push(x, x);\r\n      }\r\n\r\n      this.obj.data['Mask'] = mask;\r\n    } else if (this.image.transparency.indexed) {\r\n      // Create a transparency SMask for the image based on the data\r\n      // in the PLTE and tRNS sections. See below for details on SMasks.\r\n      dataDecoded = true;\r\n      return this.loadIndexedAlphaChannel();\r\n    } else if (hasAlphaChannel) {\r\n      // For PNG color types 4 and 6, the transparency data is stored as a alpha\r\n      // channel mixed in with the main image data. Separate this data out into an\r\n      // SMask object and store it separately in the PDF.\r\n      dataDecoded = true;\r\n      return this.splitAlphaChannel();\r\n    }\r\n\r\n    if (isInterlaced && !dataDecoded) {\r\n      return this.decodeData();\r\n    }\r\n\r\n    this.finalize();\r\n  }\r\n\r\n  finalize() {\r\n    if (this.alphaChannel) {\r\n      const sMask = this.document.ref({\r\n        Type: 'XObject',\r\n        Subtype: 'Image',\r\n        Height: this.height,\r\n        Width: this.width,\r\n        BitsPerComponent: 8,\r\n        Filter: 'FlateDecode',\r\n        ColorSpace: 'DeviceGray',\r\n        Decode: [0, 1]\r\n      });\r\n\r\n      sMask.end(this.alphaChannel);\r\n      this.obj.data['SMask'] = sMask;\r\n    }\r\n\r\n    // add the actual image data\r\n    this.obj.end(this.imgData);\r\n\r\n    // free memory\r\n    this.image = null;\r\n    return (this.imgData = null);\r\n  }\r\n\r\n  splitAlphaChannel() {\r\n    return this.image.decodePixels(pixels => {\r\n      let a, p;\r\n      const colorCount = this.image.colors;\r\n      const pixelCount = this.width * this.height;\r\n      const imgData = Buffer.alloc(pixelCount * colorCount);\r\n      const alphaChannel = Buffer.alloc(pixelCount);\r\n\r\n      let i = (p = a = 0);\r\n      const len = pixels.length;\r\n      // For 16bit images copy only most significant byte (MSB) - PNG data is always stored in network byte order (MSB first)\r\n      const skipByteCount = this.image.bits === 16 ? 1 : 0;\r\n      while (i < len) {\r\n        for (let colorIndex = 0; colorIndex < colorCount; colorIndex++) {\r\n          imgData[p++] = pixels[i++];\r\n          i += skipByteCount;\r\n        }\r\n        alphaChannel[a++] = pixels[i++];\r\n        i += skipByteCount;\r\n      }\r\n\r\n      this.imgData = zlib.deflateSync(imgData);\r\n      this.alphaChannel = zlib.deflateSync(alphaChannel);\r\n      return this.finalize();\r\n    });\r\n  }\r\n\r\n  loadIndexedAlphaChannel() {\r\n    const transparency = this.image.transparency.indexed;\r\n    return this.image.decodePixels(pixels => {\r\n      const alphaChannel = Buffer.alloc(this.width * this.height);\r\n\r\n      let i = 0;\r\n      for (let j = 0, end = pixels.length; j < end; j++) {\r\n        alphaChannel[i++] = transparency[pixels[j]];\r\n      }\r\n\r\n      this.alphaChannel = zlib.deflateSync(alphaChannel);\r\n      return this.finalize();\r\n    });\r\n  }\r\n\r\n  decodeData() {\r\n    this.image.decodePixels(pixels => {\r\n      this.imgData = zlib.deflateSync(pixels);\r\n      this.finalize();\r\n    });\r\n  }\r\n}\r\n\r\nexport default PNGImage;\r\n","/*\r\nPDFImage - embeds images in PDF documents\r\nBy Devon Govett\r\n*/\r\n\r\nimport fs from 'fs';\r\nimport JPEG from './image/jpeg';\r\nimport PNG from './image/png';\r\n\r\nclass PDFImage {\r\n  static open(src, label) {\r\n    let data;\r\n    if (Buffer.isBuffer(src)) {\r\n      data = src;\r\n    } else if (src instanceof ArrayBuffer) {\r\n      data = Buffer.from(new Uint8Array(src));\r\n    } else {\r\n      let match;\r\n      if ((match = /^data:.+;base64,(.*)$/.exec(src))) {\r\n        data = Buffer.from(match[1], 'base64');\r\n      } else {\r\n        data = fs.readFileSync(src);\r\n        if (!data) {\r\n          return;\r\n        }\r\n      }\r\n    }\r\n\r\n    if (data[0] === 0xff && data[1] === 0xd8) {\r\n      return new JPEG(data, label);\r\n    } else if (data[0] === 0x89 && data.toString('ascii', 1, 4) === 'PNG') {\r\n      return new PNG(data, label);\r\n    } else {\r\n      throw new Error('Unknown image format.');\r\n    }\r\n  }\r\n}\r\n\r\nexport default PDFImage;\r\n","import PDFImage from '../image';\r\n\r\nexport default {\r\n  initImages() {\r\n    this._imageRegistry = {};\r\n    return (this._imageCount = 0);\r\n  },\r\n\r\n  image(src, x, y, options = {}) {\r\n    let bh, bp, bw, image, ip, left, left1;\r\n    if (typeof x === 'object') {\r\n      options = x;\r\n      x = null;\r\n    }\r\n\r\n    x = (left = x != null ? x : options.x) != null ? left : this.x;\r\n    y = (left1 = y != null ? y : options.y) != null ? left1 : this.y;\r\n\r\n    if (typeof src === 'string') {\r\n      image = this._imageRegistry[src];\r\n    }\r\n\r\n    if (!image) {\r\n      if (src.width && src.height) {\r\n        image = src;\r\n      } else {\r\n        image = this.openImage(src);\r\n      }\r\n    }\r\n\r\n    if (!image.obj) {\r\n      image.embed(this);\r\n    }\r\n\r\n    if (this.page.xobjects[image.label] == null) {\r\n      this.page.xobjects[image.label] = image.obj;\r\n    }\r\n\r\n    let w = options.width || image.width;\r\n    let h = options.height || image.height;\r\n\r\n    if (options.width && !options.height) {\r\n      const wp = w / image.width;\r\n      w = image.width * wp;\r\n      h = image.height * wp;\r\n    } else if (options.height && !options.width) {\r\n      const hp = h / image.height;\r\n      w = image.width * hp;\r\n      h = image.height * hp;\r\n    } else if (options.scale) {\r\n      w = image.width * options.scale;\r\n      h = image.height * options.scale;\r\n    } else if (options.fit) {\r\n      [bw, bh] = options.fit;\r\n      bp = bw / bh;\r\n      ip = image.width / image.height;\r\n      if (ip > bp) {\r\n        w = bw;\r\n        h = bw / ip;\r\n      } else {\r\n        h = bh;\r\n        w = bh * ip;\r\n      }\r\n    } else if (options.cover) {\r\n      [bw, bh] = options.cover;\r\n      bp = bw / bh;\r\n      ip = image.width / image.height;\r\n      if (ip > bp) {\r\n        h = bh;\r\n        w = bh * ip;\r\n      } else {\r\n        w = bw;\r\n        h = bw / ip;\r\n      }\r\n    }\r\n\r\n    if (options.fit || options.cover) {\r\n      if (options.align === 'center') {\r\n        x = x + bw / 2 - w / 2;\r\n      } else if (options.align === 'right') {\r\n        x = x + bw - w;\r\n      }\r\n\r\n      if (options.valign === 'center') {\r\n        y = y + bh / 2 - h / 2;\r\n      } else if (options.valign === 'bottom') {\r\n        y = y + bh - h;\r\n      }\r\n    }\r\n\r\n    // create link annotations if the link option is given\r\n    if (options.link != null) {\r\n      this.link(x, y, w, h, options.link);\r\n    }\r\n    if (options.goTo != null) {\r\n      this.goTo(x, y, w, h, options.goTo);\r\n    }\r\n    if (options.destination != null) {\r\n      this.addNamedDestination(options.destination, 'XYZ', x, y, null);\r\n    }\r\n\r\n    // Set the current y position to below the image if it is in the document flow\r\n    if (this.y === y) {\r\n      this.y += h;\r\n    }\r\n\r\n    this.save();\r\n    this.transform(w, 0, 0, -h, x, y + h);\r\n    this.addContent(`/${image.label} Do`);\r\n    this.restore();\r\n\r\n    return this;\r\n  },\r\n\r\n  openImage(src) {\r\n    let image;\r\n    if (typeof src === 'string') {\r\n      image = this._imageRegistry[src];\r\n    }\r\n\r\n    if (!image) {\r\n      image = PDFImage.open(src, `I${++this._imageCount}`);\r\n      if (typeof src === 'string') {\r\n        this._imageRegistry[src] = image;\r\n      }\r\n    }\r\n\r\n    return image;\r\n  }\r\n};\r\n","export default {\r\n  annotate(x, y, w, h, options) {\r\n    options.Type = 'Annot';\r\n    options.Rect = this._convertRect(x, y, w, h);\r\n    options.Border = [0, 0, 0];\r\n\r\n    if (options.Subtype === 'Link' && typeof options.F === 'undefined') {\r\n      options.F = 1 << 2; // Print Annotation Flag\r\n    }\r\n\r\n    if (options.Subtype !== 'Link') {\r\n      if (options.C == null) {\r\n        options.C = this._normalizeColor(options.color || [0, 0, 0]);\r\n      }\r\n    } // convert colors\r\n    delete options.color;\r\n\r\n    if (typeof options.Dest === 'string') {\r\n      options.Dest = new String(options.Dest);\r\n    }\r\n\r\n    // Capitalize keys\r\n    for (let key in options) {\r\n      const val = options[key];\r\n      options[key[0].toUpperCase() + key.slice(1)] = val;\r\n    }\r\n\r\n    const ref = this.ref(options);\r\n    this.page.annotations.push(ref);\r\n    ref.end();\r\n    return this;\r\n  },\r\n\r\n  note(x, y, w, h, contents, options = {}) {\r\n    options.Subtype = 'Text';\r\n    options.Contents = new String(contents);\r\n    options.Name = 'Comment';\r\n    if (options.color == null) {\r\n      options.color = [243, 223, 92];\r\n    }\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  goTo(x, y, w, h, name, options = {}) {\r\n    options.Subtype = 'Link';\r\n    options.A = this.ref({\r\n      S: 'GoTo',\r\n      D: new String(name)\r\n    });\r\n    options.A.end();\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  link(x, y, w, h, url, options = {}) {\r\n    options.Subtype = 'Link';\r\n\r\n    if (typeof url === 'number') {\r\n      // Link to a page in the document (the page must already exist)\r\n      const pages = this._root.data.Pages.data;\r\n      if (url >= 0 && url < pages.Kids.length) {\r\n        options.A = this.ref({\r\n          S: 'GoTo',\r\n          D: [pages.Kids[url], 'XYZ', null, null, null]\r\n        });\r\n        options.A.end();\r\n      } else {\r\n        throw new Error(`The document has no page ${url}`);\r\n      }\r\n    } else {\r\n      // Link to an external url\r\n      options.A = this.ref({\r\n        S: 'URI',\r\n        URI: new String(url)\r\n      });\r\n      options.A.end();\r\n    }\r\n\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  _markup(x, y, w, h, options = {}) {\r\n    const [x1, y1, x2, y2] = this._convertRect(x, y, w, h);\r\n    options.QuadPoints = [x1, y2, x2, y2, x1, y1, x2, y1];\r\n    options.Contents = new String();\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  highlight(x, y, w, h, options = {}) {\r\n    options.Subtype = 'Highlight';\r\n    if (options.color == null) {\r\n      options.color = [241, 238, 148];\r\n    }\r\n    return this._markup(x, y, w, h, options);\r\n  },\r\n\r\n  underline(x, y, w, h, options = {}) {\r\n    options.Subtype = 'Underline';\r\n    return this._markup(x, y, w, h, options);\r\n  },\r\n\r\n  strike(x, y, w, h, options = {}) {\r\n    options.Subtype = 'StrikeOut';\r\n    return this._markup(x, y, w, h, options);\r\n  },\r\n\r\n  lineAnnotation(x1, y1, x2, y2, options = {}) {\r\n    options.Subtype = 'Line';\r\n    options.Contents = new String();\r\n    options.L = [x1, this.page.height - y1, x2, this.page.height - y2];\r\n    return this.annotate(x1, y1, x2, y2, options);\r\n  },\r\n\r\n  rectAnnotation(x, y, w, h, options = {}) {\r\n    options.Subtype = 'Square';\r\n    options.Contents = new String();\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  ellipseAnnotation(x, y, w, h, options = {}) {\r\n    options.Subtype = 'Circle';\r\n    options.Contents = new String();\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  textAnnotation(x, y, w, h, text, options = {}) {\r\n    options.Subtype = 'FreeText';\r\n    options.Contents = new String(text);\r\n    options.DA = new String();\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  fileAnnotation(x, y, w, h, file = {}, options = {}) {\r\n    // create hidden file\r\n    const filespec = this.file(\r\n      file.src,\r\n      Object.assign({ hidden: true }, file)\r\n    );\r\n\r\n    options.Subtype = 'FileAttachment';\r\n    options.FS = filespec;\r\n\r\n    // add description from filespec unless description (Contents) has already been set\r\n    if (options.Contents) {\r\n      options.Contents = new String(options.Contents);\r\n    } else if (filespec.data.Desc) {\r\n      options.Contents = filespec.data.Desc;\r\n    }\r\n\r\n    return this.annotate(x, y, w, h, options);\r\n  },\r\n\r\n  _convertRect(x1, y1, w, h) {\r\n    // flip y1 and y2\r\n    let y2 = y1;\r\n    y1 += h;\r\n\r\n    // make x2\r\n    let x2 = x1 + w;\r\n\r\n    // apply current transformation matrix to points\r\n    const [m0, m1, m2, m3, m4, m5] = this._ctm;\r\n    x1 = m0 * x1 + m2 * y1 + m4;\r\n    y1 = m1 * x1 + m3 * y1 + m5;\r\n    x2 = m0 * x2 + m2 * y2 + m4;\r\n    y2 = m1 * x2 + m3 * y2 + m5;\r\n\r\n    return [x1, y1, x2, y2];\r\n  }\r\n};\r\n","class PDFOutline {\r\n  constructor(document, parent, title, dest, options = { expanded: false }) {\r\n    this.document = document;\r\n    this.options = options;\r\n    this.outlineData = {};\r\n\r\n    if (dest !== null) {\r\n      this.outlineData['Dest'] = [dest.dictionary, 'Fit'];\r\n    }\r\n\r\n    if (parent !== null) {\r\n      this.outlineData['Parent'] = parent;\r\n    }\r\n\r\n    if (title !== null) {\r\n      this.outlineData['Title'] = new String(title);\r\n    }\r\n\r\n    this.dictionary = this.document.ref(this.outlineData);\r\n    this.children = [];\r\n  }\r\n\r\n  addItem(title, options = { expanded: false }) {\r\n    const result = new PDFOutline(\r\n      this.document,\r\n      this.dictionary,\r\n      title,\r\n      this.document.page,\r\n      options\r\n    );\r\n    this.children.push(result);\r\n\r\n    return result;\r\n  }\r\n\r\n  endOutline() {\r\n    if (this.children.length > 0) {\r\n      if (this.options.expanded) {\r\n        this.outlineData.Count = this.children.length;\r\n      }\r\n\r\n      const first = this.children[0],\r\n        last = this.children[this.children.length - 1];\r\n      this.outlineData.First = first.dictionary;\r\n      this.outlineData.Last = last.dictionary;\r\n\r\n      for (let i = 0, len = this.children.length; i < len; i++) {\r\n        const child = this.children[i];\r\n        if (i > 0) {\r\n          child.outlineData.Prev = this.children[i - 1].dictionary;\r\n        }\r\n        if (i < this.children.length - 1) {\r\n          child.outlineData.Next = this.children[i + 1].dictionary;\r\n        }\r\n        child.endOutline();\r\n      }\r\n    }\r\n\r\n    return this.dictionary.end();\r\n  }\r\n}\r\n\r\nexport default PDFOutline;\r\n","import PDFOutline from '../outline';\r\n\r\nexport default {\r\n  initOutline() {\r\n    return (this.outline = new PDFOutline(this, null, null, null));\r\n  },\r\n\r\n  endOutline() {\r\n    this.outline.endOutline();\r\n    if (this.outline.children.length > 0) {\r\n      this._root.data.Outlines = this.outline.dictionary;\r\n      return (this._root.data.PageMode = 'UseOutlines');\r\n    }\r\n  }\r\n};\r\n","/*\r\nPDFStructureContent - a reference to a marked structure content\r\nBy Ben Schmidt\r\n*/\r\n\r\nclass PDFStructureContent {\r\n  constructor(pageRef, mcid) {\r\n    this.refs = [{ pageRef, mcid }];\r\n  }\r\n\r\n  push(structContent) {\r\n    structContent.refs.forEach((ref) => this.refs.push(ref));\r\n  }\r\n}\r\n\r\nexport default PDFStructureContent;\r\n","/*\r\nPDFStructureElement - represents an element in the PDF logical structure tree\r\nBy Ben Schmidt\r\n*/\r\n\r\nimport PDFStructureContent from \"./structure_content\";\r\n\r\nclass PDFStructureElement {\r\n  constructor(document, type, options = {}, children = null) {\r\n    this.document = document;\r\n\r\n    this._attached = false;\r\n    this._ended = false;\r\n    this._flushed = false;\r\n    this.dictionary = document.ref({\r\n      // Type: \"StructElem\",\r\n      S: type\r\n    });\r\n\r\n    const data = this.dictionary.data;\r\n\r\n    if (Array.isArray(options) || this._isValidChild(options)) {\r\n      children = options;\r\n      options = {};\r\n    }\r\n\r\n    if (typeof options.title !== 'undefined') {\r\n      data.T = new String(options.title);\r\n    }\r\n    if (typeof options.lang !== 'undefined') {\r\n      data.Lang = new String(options.lang);\r\n    }\r\n    if (typeof options.alt !== 'undefined') {\r\n      data.Alt = new String(options.alt);\r\n    }\r\n    if (typeof options.expanded !== 'undefined') {\r\n      data.E = new String(options.expanded);\r\n    }\r\n    if (typeof options.actual !== 'undefined') {\r\n      data.ActualText = new String(options.actual);\r\n    }\r\n\r\n    this._children = [];\r\n\r\n    if (children) {\r\n      if (!Array.isArray(children)) {\r\n        children = [children];\r\n      }\r\n      children.forEach((child) => this.add(child));\r\n      this.end();\r\n    }\r\n  }\r\n\r\n  add(child) {\r\n    if (this._ended) {\r\n      throw new Error(`Cannot add child to already-ended structure element`);\r\n    }\r\n\r\n    if (!this._isValidChild(child)) {\r\n      throw new Error(`Invalid structure element child`);\r\n    }\r\n\r\n    if (child instanceof PDFStructureElement) {\r\n      child.setParent(this.dictionary);\r\n      if (this._attached) {\r\n        child.setAttached();\r\n      }\r\n    }\r\n\r\n    if (child instanceof PDFStructureContent) {\r\n      this._addContentToParentTree(child);\r\n    }\r\n\r\n    if (typeof child === 'function' && this._attached) {\r\n      // _contentForClosure() adds the content to the parent tree\r\n      child = this._contentForClosure(child);\r\n    }\r\n\r\n    this._children.push(child);\r\n\r\n    return this;\r\n  }\r\n\r\n  _addContentToParentTree(content) {\r\n    content.refs.forEach(({ pageRef, mcid }) => {\r\n      const pageStructParents = this.document.getStructParentTree()\r\n        .get(pageRef.data.StructParents);\r\n      pageStructParents[mcid] = this.dictionary;\r\n    });\r\n  }\r\n\r\n  setParent(parentRef) {\r\n    if (this.dictionary.data.P) {\r\n      throw new Error(`Structure element added to more than one parent`);\r\n    }\r\n\r\n    this.dictionary.data.P = parentRef;\r\n\r\n    this._flush();\r\n  }\r\n\r\n  setAttached() {\r\n    if (this._attached) {\r\n      return;\r\n    }\r\n\r\n    this._children.forEach((child, index) => {\r\n      if (child instanceof PDFStructureElement) {\r\n        child.setAttached();\r\n      }\r\n      if (typeof child === 'function') {\r\n        this._children[index] = this._contentForClosure(child);\r\n      }\r\n    });\r\n\r\n    this._attached = true;\r\n\r\n    this._flush();\r\n  }\r\n\r\n  end() {\r\n    if (this._ended) {\r\n      return;\r\n    }\r\n\r\n    this._children\r\n      .filter((child) => child instanceof PDFStructureElement)\r\n      .forEach((child) => child.end());\r\n\r\n    this._ended = true;\r\n\r\n    this._flush();\r\n  }\r\n\r\n  _isValidChild(child) {\r\n    return child instanceof PDFStructureElement ||\r\n        child instanceof PDFStructureContent ||\r\n        typeof child === 'function';\r\n  }\r\n\r\n  _contentForClosure(closure) {\r\n    const content = this.document.markStructureContent(this.dictionary.data.S);\r\n    closure();\r\n    this.document.endMarkedContent();\r\n\r\n    this._addContentToParentTree(content);\r\n\r\n    return content;\r\n  }\r\n\r\n  _isFlushable() {\r\n    if (!this.dictionary.data.P || !this._ended) {\r\n      return false;\r\n    }\r\n\r\n    return this._children.every((child) => {\r\n      if (typeof child === 'function') {\r\n        return false;\r\n      }\r\n      if (child instanceof PDFStructureElement) {\r\n        return child._isFlushable();\r\n      }\r\n      return true;\r\n    });\r\n  }\r\n\r\n  _flush() {\r\n    if (this._flushed || !this._isFlushable()) {\r\n      return;\r\n    }\r\n\r\n    this.dictionary.data.K = [];\r\n\r\n    this._children.forEach((child) => this._flushChild(child));\r\n\r\n    this.dictionary.end();\r\n\r\n    // free memory used by children; the dictionary itself may still be\r\n    // referenced by a parent structure element or root, but we can\r\n    // at least trim the tree here\r\n    this._children = [];\r\n    this.dictionary.data.K = null;\r\n\r\n    this._flushed = true;\r\n  }\r\n\r\n  _flushChild(child) {\r\n    if (child instanceof PDFStructureElement) {\r\n      this.dictionary.data.K.push(child.dictionary);\r\n    }\r\n\r\n    if (child instanceof PDFStructureContent) {\r\n      child.refs.forEach(({ pageRef, mcid }) => {\r\n        if (!this.dictionary.data.Pg) {\r\n          this.dictionary.data.Pg = pageRef;\r\n        }\r\n\r\n        if (this.dictionary.data.Pg === pageRef) {\r\n          this.dictionary.data.K.push(mcid);\r\n        } else {\r\n          this.dictionary.data.K.push({\r\n            Type: \"MCR\",\r\n            Pg: pageRef,\r\n            MCID: mcid\r\n          });\r\n        }\r\n      });\r\n    }\r\n  }\r\n}\r\n\r\nexport default PDFStructureElement;\r\n","/*\r\nPDFNumberTree - represents a number tree object\r\n*/\r\n\r\nimport PDFTree from \"./tree\";\r\n\r\nclass PDFNumberTree extends PDFTree {\r\n  _compareKeys(a, b) {\r\n    return parseInt(a) - parseInt(b);\r\n  }\r\n\r\n  _keysName() {\r\n    return \"Nums\";\r\n  }\r\n\r\n  _dataForKey(k) {\r\n    return parseInt(k);\r\n  }\r\n}\r\n\r\nexport default PDFNumberTree;\r\n","/*\r\nMarkings mixin - support marked content sequences in content streams\r\nBy Ben Schmidt\r\n*/\r\n\r\nimport PDFStructureElement from \"../structure_element\";\r\nimport PDFStructureContent from \"../structure_content\";\r\nimport PDFNumberTree from \"../number_tree\";\r\nimport PDFObject from \"../object\";\r\n\r\nexport default {\r\n\r\n  initMarkings(options) {\r\n    this.structChildren = [];\r\n\r\n    if (options.tagged) {\r\n      this.getMarkInfoDictionary().data.Marked = true;\r\n      this.getStructTreeRoot();\r\n    }\r\n  },\r\n\r\n  markContent(tag, options = null) {\r\n    if (tag === 'Artifact' || (options && options.mcid)) {\r\n      let toClose = 0;\r\n      this.page.markings.forEach((marking) => {\r\n        if (toClose || marking.structContent || marking.tag === 'Artifact') {\r\n          toClose++;\r\n        }\r\n      });\r\n      while (toClose--) {\r\n        this.endMarkedContent();\r\n      }\r\n    }\r\n\r\n    if (!options) {\r\n      this.page.markings.push({ tag });\r\n      this.addContent(`/${tag} BMC`);\r\n      return this;\r\n    }\r\n\r\n    this.page.markings.push({ tag, options });\r\n\r\n    const dictionary = {};\r\n\r\n    if (typeof options.mcid !== 'undefined') {\r\n      dictionary.MCID = options.mcid;\r\n    }\r\n    if (tag === 'Artifact') {\r\n      if (typeof options.type === 'string') {\r\n        dictionary.Type = options.type;\r\n      }\r\n      if (Array.isArray(options.bbox)) {\r\n        dictionary.BBox = [options.bbox[0], this.page.height - options.bbox[3],\r\n          options.bbox[2], this.page.height - options.bbox[1]];\r\n      }\r\n      if (Array.isArray(options.attached) &&\r\n        options.attached.every(val => typeof val === 'string')) {\r\n        dictionary.Attached = options.attached;\r\n      }\r\n    }\r\n    if (tag === 'Span') {\r\n      if (options.lang) {\r\n        dictionary.Lang = new String(options.lang);\r\n      }\r\n      if (options.alt) {\r\n        dictionary.Alt = new String(options.alt);\r\n      }\r\n      if (options.expanded) {\r\n        dictionary.E = new String(options.expanded);\r\n      }\r\n      if (options.actual) {\r\n        dictionary.ActualText = new String(options.actual);\r\n      }\r\n    }\r\n\r\n    this.addContent(`/${tag} ${PDFObject.convert(dictionary)} BDC`);\r\n    return this;\r\n  },\r\n\r\n  markStructureContent(tag, options = {}) {\r\n    const pageStructParents = this.getStructParentTree().get(this.page.structParentTreeKey);\r\n    const mcid = pageStructParents.length;\r\n    pageStructParents.push(null);\r\n\r\n    this.markContent(tag, { ...options, mcid });\r\n\r\n    const structContent = new PDFStructureContent(this.page.dictionary, mcid);\r\n    this.page.markings.slice(-1)[0].structContent = structContent;\r\n    return structContent;\r\n  },\r\n\r\n  endMarkedContent() {\r\n    this.page.markings.pop();\r\n    this.addContent('EMC');\r\n    return this;\r\n  },\r\n\r\n  struct(type, options = {}, children = null) {\r\n    return new PDFStructureElement(this, type, options, children);\r\n  },\r\n\r\n  addStructure(structElem) {\r\n    const structTreeRoot = this.getStructTreeRoot();\r\n    structElem.setParent(structTreeRoot);\r\n    structElem.setAttached();\r\n    this.structChildren.push(structElem);\r\n    if (!structTreeRoot.data.K) {\r\n      structTreeRoot.data.K = [];\r\n    }\r\n    structTreeRoot.data.K.push(structElem.dictionary);\r\n    return this;\r\n  },\r\n\r\n  initPageMarkings(pageMarkings) {\r\n    pageMarkings.forEach((marking) => {\r\n      if (marking.structContent) {\r\n        const structContent = marking.structContent;\r\n        const newStructContent = this.markStructureContent(marking.tag, marking.options);\r\n        structContent.push(newStructContent);\r\n        this.page.markings.slice(-1)[0].structContent = structContent;\r\n      } else {\r\n        this.markContent(marking.tag, marking.options);\r\n      }\r\n    });\r\n  },\r\n\r\n  endPageMarkings(page) {\r\n    const pageMarkings = page.markings;\r\n    pageMarkings.forEach(() => page.write('EMC'));\r\n    page.markings = [];\r\n    return pageMarkings;\r\n  },\r\n\r\n  getMarkInfoDictionary() {\r\n    if (!this._root.data.MarkInfo) {\r\n      this._root.data.MarkInfo = this.ref({});\r\n    }\r\n    return this._root.data.MarkInfo;\r\n  },\r\n\r\n  getStructTreeRoot() {\r\n    if (!this._root.data.StructTreeRoot) {\r\n      this._root.data.StructTreeRoot = this.ref({\r\n        Type: 'StructTreeRoot',\r\n        ParentTree: new PDFNumberTree(),\r\n        ParentTreeNextKey: 0\r\n      });\r\n    }\r\n    return this._root.data.StructTreeRoot;\r\n  },\r\n\r\n  getStructParentTree() {\r\n    return this.getStructTreeRoot().data.ParentTree;\r\n  },\r\n\r\n  createStructParentTreeNextKey() {\r\n    // initialise the MarkInfo dictionary\r\n    this.getMarkInfoDictionary();\r\n\r\n    const structTreeRoot = this.getStructTreeRoot();\r\n    const key = structTreeRoot.data.ParentTreeNextKey++;\r\n    structTreeRoot.data.ParentTree.add(key, []);\r\n    return key;\r\n  },\r\n\r\n  endMarkings() {\r\n    const structTreeRoot = this._root.data.StructTreeRoot;\r\n    if (structTreeRoot) {\r\n      structTreeRoot.end();\r\n      this.structChildren.forEach((structElem) => structElem.end());\r\n    }\r\n    if (this._root.data.MarkInfo) {\r\n      this._root.data.MarkInfo.end();\r\n    }\r\n  }\r\n\r\n};\r\n","const FIELD_FLAGS = {\r\n  readOnly: 1,\r\n  required: 2,\r\n  noExport: 4,\r\n  multiline: 0x1000,\r\n  password: 0x2000,\r\n  toggleToOffButton: 0x4000,\r\n  radioButton: 0x8000,\r\n  pushButton: 0x10000,\r\n  combo: 0x20000,\r\n  edit: 0x40000,\r\n  sort: 0x80000,\r\n  multiSelect: 0x200000,\r\n  noSpell: 0x400000\r\n};\r\nconst FIELD_JUSTIFY = {\r\n  left: 0,\r\n  center: 1,\r\n  right: 2\r\n};\r\nconst VALUE_MAP = { value: 'V', defaultValue: 'DV' };\r\nconst FORMAT_SPECIAL = {\r\n  zip: '0',\r\n  zipPlus4: '1',\r\n  zip4: '1',\r\n  phone: '2',\r\n  ssn: '3'\r\n};\r\nconst FORMAT_DEFAULT = {\r\n  number: {\r\n    nDec: 0,\r\n    sepComma: false,\r\n    negStyle: 'MinusBlack',\r\n    currency: '',\r\n    currencyPrepend: true\r\n  },\r\n  percent: {\r\n    nDec: 0,\r\n    sepComma: false\r\n  }\r\n};\r\n\r\nexport default {\r\n  /**\r\n   * Must call if adding AcroForms to a document. Must also call font() before\r\n   * this method to set the default font.\r\n   */\r\n  initForm() {\r\n    if (!this._font) {\r\n      throw new Error('Must set a font before calling initForm method');\r\n    }\r\n    this._acroform = {\r\n      fonts: {},\r\n      defaultFont: this._font.name\r\n    };\r\n    this._acroform.fonts[this._font.id] = this._font.ref();\r\n\r\n    let data = {\r\n      Fields: [],\r\n      NeedAppearances: true,\r\n      DA: new String(`/${this._font.id} 0 Tf 0 g`),\r\n      DR: {\r\n        Font: {}\r\n      }\r\n    };\r\n    data.DR.Font[this._font.id] = this._font.ref();\r\n    const AcroForm = this.ref(data);\r\n    this._root.data.AcroForm = AcroForm;\r\n    return this;\r\n  },\r\n\r\n  /**\r\n   * Called automatically by document.js\r\n   */\r\n  endAcroForm() {\r\n    if (this._root.data.AcroForm) {\r\n      if (\r\n        !Object.keys(this._acroform.fonts).length &&\r\n        !this._acroform.defaultFont\r\n      ) {\r\n        throw new Error('No fonts specified for PDF form');\r\n      }\r\n      let fontDict = this._root.data.AcroForm.data.DR.Font;\r\n      Object.keys(this._acroform.fonts).forEach(name => {\r\n        fontDict[name] = this._acroform.fonts[name];\r\n      });\r\n      this._root.data.AcroForm.data.Fields.forEach(fieldRef => {\r\n        this._endChild(fieldRef);\r\n      });\r\n      this._root.data.AcroForm.end();\r\n    }\r\n    return this;\r\n  },\r\n\r\n  _endChild(ref) {\r\n    if (Array.isArray(ref.data.Kids)) {\r\n      ref.data.Kids.forEach(childRef => {\r\n        this._endChild(childRef);\r\n      });\r\n      ref.end();\r\n    }\r\n    return this;\r\n  },\r\n\r\n  /**\r\n   * Creates and adds a form field to the document. Form fields are intermediate\r\n   * nodes in a PDF form that are used to specify form name heirarchy and form\r\n   * value defaults.\r\n   * @param {string} name - field name (T attribute in field dictionary)\r\n   * @param {object} options  - other attributes to include in field dictionary\r\n   */\r\n  formField(name, options = {}) {\r\n    let fieldDict = this._fieldDict(name, null, options);\r\n    let fieldRef = this.ref(fieldDict);\r\n    this._addToParent(fieldRef);\r\n    return fieldRef;\r\n  },\r\n\r\n  /**\r\n   * Creates and adds a Form Annotation to the document. Form annotations are\r\n   * called Widget annotations internally within a PDF file.\r\n   * @param {string} name - form field name (T attribute of widget annotation\r\n   * dictionary)\r\n   * @param {number} x\r\n   * @param {number} y\r\n   * @param {number} w\r\n   * @param {number} h\r\n   * @param {object} options\r\n   */\r\n  formAnnotation(name, type, x, y, w, h, options = {}) {\r\n    let fieldDict = this._fieldDict(name, type, options);\r\n    fieldDict.Subtype = 'Widget';\r\n    if (fieldDict.F === undefined) {\r\n      fieldDict.F = 4; // print the annotation\r\n    }\r\n\r\n    // Add Field annot to page, and get it's ref\r\n    this.annotate(x, y, w, h, fieldDict);\r\n    let annotRef = this.page.annotations[this.page.annotations.length - 1];\r\n\r\n    return this._addToParent(annotRef);\r\n  },\r\n\r\n  formText(name, x, y, w, h, options = {}) {\r\n    return this.formAnnotation(name, 'text', x, y, w, h, options);\r\n  },\r\n\r\n  formPushButton(name, x, y, w, h, options = {}) {\r\n    return this.formAnnotation(name, 'pushButton', x, y, w, h, options);\r\n  },\r\n\r\n  formCombo(name, x, y, w, h, options = {}) {\r\n    return this.formAnnotation(name, 'combo', x, y, w, h, options);\r\n  },\r\n\r\n  formList(name, x, y, w, h, options = {}) {\r\n    return this.formAnnotation(name, 'list', x, y, w, h, options);\r\n  },\r\n\r\n  formRadioButton(name, x, y, w, h, options = {}) {\r\n    return this.formAnnotation(name, 'radioButton', x, y, w, h, options);\r\n  },\r\n\r\n  formCheckbox(name, x, y, w, h, options = {}) {\r\n    return this.formAnnotation(name, 'checkbox', x, y, w, h, options);\r\n  },\r\n\r\n  _addToParent(fieldRef) {\r\n    let parent = fieldRef.data.Parent;\r\n    if (parent) {\r\n      if (!parent.data.Kids) {\r\n        parent.data.Kids = [];\r\n      }\r\n      parent.data.Kids.push(fieldRef);\r\n    } else {\r\n      this._root.data.AcroForm.data.Fields.push(fieldRef);\r\n    }\r\n    return this;\r\n  },\r\n\r\n  _fieldDict(name, type, options = {}) {\r\n    if (!this._acroform) {\r\n      throw new Error(\r\n        'Call document.initForms() method before adding form elements to document'\r\n      );\r\n    }\r\n    let opts = Object.assign({}, options);\r\n    if (type !== null) {\r\n      opts = this._resolveType(type, options);\r\n    }\r\n    opts = this._resolveFlags(opts);\r\n    opts = this._resolveJustify(opts);\r\n    opts = this._resolveFont(opts);\r\n    opts = this._resolveStrings(opts);\r\n    opts = this._resolveColors(opts);\r\n    opts = this._resolveFormat(opts);\r\n    opts.T = new String(name);\r\n    if (opts.parent) {\r\n      opts.Parent = opts.parent;\r\n      delete opts.parent;\r\n    }\r\n    return opts;\r\n  },\r\n\r\n  _resolveType(type, opts) {\r\n    if (type === 'text') {\r\n      opts.FT = 'Tx';\r\n    } else if (type === 'pushButton') {\r\n      opts.FT = 'Btn';\r\n      opts.pushButton = true;\r\n    } else if (type === 'radioButton') {\r\n      opts.FT = 'Btn';\r\n      opts.radioButton = true;\r\n    } else if (type === 'checkbox') {\r\n      opts.FT = 'Btn';\r\n    } else if (type === 'combo') {\r\n      opts.FT = 'Ch';\r\n      opts.combo = true;\r\n    } else if (type === 'list') {\r\n      opts.FT = 'Ch';\r\n    } else {\r\n      throw new Error(`Invalid form annotation type '${type}'`);\r\n    }\r\n    return opts;\r\n  },\r\n\r\n  _resolveFormat(opts) {\r\n    const f = opts.format;\r\n    if (f && f.type) {\r\n      let fnKeystroke;\r\n      let fnFormat;\r\n      let params = '';\r\n      if (FORMAT_SPECIAL[f.type] !== undefined) {\r\n        fnKeystroke = `AFSpecial_Keystroke`;\r\n        fnFormat = `AFSpecial_Format`;\r\n        params = FORMAT_SPECIAL[f.type];\r\n      } else {\r\n        let format = f.type.charAt(0).toUpperCase() + f.type.slice(1);\r\n        fnKeystroke = `AF${format}_Keystroke`;\r\n        fnFormat = `AF${format}_Format`;\r\n\r\n        if (f.type === 'date') {\r\n          fnKeystroke += 'Ex';\r\n          params = String(f.param);\r\n        } else if (f.type === 'time') {\r\n          params = String(f.param);\r\n        } else if (f.type === 'number') {\r\n          let p = Object.assign({}, FORMAT_DEFAULT.number, f);\r\n          params = String(\r\n            [\r\n              String(p.nDec),\r\n              p.sepComma ? '0' : '1',\r\n              '\"' + p.negStyle + '\"',\r\n              'null',\r\n              '\"' + p.currency + '\"',\r\n              String(p.currencyPrepend)\r\n            ].join(',')\r\n          );\r\n        } else if (f.type === 'percent') {\r\n          let p = Object.assign({}, FORMAT_DEFAULT.percent, f);\r\n          params = String([String(p.nDec), p.sepComma ? '0' : '1'].join(','));\r\n        }\r\n      }\r\n      opts.AA = opts.AA ? opts.AA : {};\r\n      opts.AA.K = {\r\n        S: 'JavaScript',\r\n        JS: new String(`${fnKeystroke}(${params});`)\r\n      };\r\n      opts.AA.F = {\r\n        S: 'JavaScript',\r\n        JS: new String(`${fnFormat}(${params});`)\r\n      };\r\n    }\r\n    delete opts.format;\r\n    return opts;\r\n  },\r\n\r\n  _resolveColors(opts) {\r\n    let color = this._normalizeColor(opts.backgroundColor);\r\n    if (color) {\r\n      if (!opts.MK) {\r\n        opts.MK = {};\r\n      }\r\n      opts.MK.BG = color;\r\n    }\r\n    color = this._normalizeColor(opts.borderColor);\r\n    if (color) {\r\n      if (!opts.MK) {\r\n        opts.MK = {};\r\n      }\r\n      opts.MK.BC = color;\r\n    }\r\n    delete opts.backgroundColor;\r\n    delete opts.borderColor;\r\n    return opts;\r\n  },\r\n\r\n  _resolveFlags(options) {\r\n    let result = 0;\r\n    Object.keys(options).forEach(key => {\r\n      if (FIELD_FLAGS[key]) {\r\n        result |= FIELD_FLAGS[key];\r\n        delete options[key];\r\n      }\r\n    });\r\n    if (result !== 0) {\r\n      options.Ff = options.Ff ? options.Ff : 0;\r\n      options.Ff |= result;\r\n    }\r\n    return options;\r\n  },\r\n\r\n  _resolveJustify(options) {\r\n    let result = 0;\r\n    if (options.align !== undefined) {\r\n      if (typeof FIELD_JUSTIFY[options.align] === 'number') {\r\n        result = FIELD_JUSTIFY[options.align];\r\n      }\r\n      delete options.align;\r\n    }\r\n    if (result !== 0) {\r\n      options.Q = result; // default\r\n    }\r\n    return options;\r\n  },\r\n\r\n  _resolveFont(options) {\r\n    // add current font to document-level AcroForm dict if necessary\r\n    if (this._acroform.fonts[this._font.id] === null) {\r\n      this._acroform.fonts[this._font.id] = this._font.ref();\r\n    }\r\n\r\n    // add current font to field's resource dict (RD) if not the default acroform font\r\n    if (this._acroform.defaultFont !== this._font.name) {\r\n      options.DR = { Font: {} };\r\n\r\n      // Get the fontSize option. If not set use auto sizing\r\n      const fontSize = options.fontSize || 0;\r\n\r\n      options.DR.Font[this._font.id] = this._font.ref();\r\n      options.DA = new String(`/${this._font.id} ${fontSize} Tf 0 g`);\r\n    }\r\n    return options;\r\n  },\r\n\r\n  _resolveStrings(options) {\r\n    let select = [];\r\n    function appendChoices(a) {\r\n      if (Array.isArray(a)) {\r\n        for (let idx = 0; idx < a.length; idx++) {\r\n          if (typeof a[idx] === 'string') {\r\n            select.push(new String(a[idx]));\r\n          } else {\r\n            select.push(a[idx]);\r\n          }\r\n        }\r\n      }\r\n    }\r\n    appendChoices(options.Opt);\r\n    if (options.select) {\r\n      appendChoices(options.select);\r\n      delete options.select;\r\n    }\r\n    if (select.length) {\r\n      options.Opt = select;\r\n    }\r\n\r\n    Object.keys(VALUE_MAP).forEach(key => {\r\n      if (options[key] !== undefined) {\r\n        options[VALUE_MAP[key]] = options[key];\r\n        delete options[key];\r\n      }\r\n    });\r\n    ['V', 'DV'].forEach(key => {\r\n      if (typeof options[key] === 'string') {\r\n        options[key] = new String(options[key]);\r\n      }\r\n    });\r\n\r\n    if (options.MK && options.MK.CA) {\r\n      options.MK.CA = new String(options.MK.CA);\r\n    }\r\n    if (options.label) {\r\n      options.MK = options.MK ? options.MK : {};\r\n      options.MK.CA = new String(options.label);\r\n      delete options.label;\r\n    }\r\n    return options;\r\n  }\r\n};\r\n","import fs from 'fs';\r\nimport CryptoJS from 'crypto-js';\r\n\r\nexport default {\r\n  /**\r\n   * Embed contents of `src` in PDF\r\n   * @param {Buffer | ArrayBuffer | string} src input Buffer, ArrayBuffer, base64 encoded string or path to file\r\n   * @param {object} options\r\n   *  * options.name: filename to be shown in PDF, will use `src` if none set\r\n   *  * options.type: filetype to be shown in PDF\r\n   *  * options.description: description to be shown in PDF\r\n   *  * options.hidden: if true, do not add attachment to EmbeddedFiles dictionary. Useful for file attachment annotations\r\n   *  * options.creationDate: override creation date\r\n   *  * options.modifiedDate: override modified date\r\n   * @returns filespec reference\r\n   */\r\n  file(src, options = {}) {\r\n    options.name = options.name || src;\r\n\r\n    const refBody = {\r\n      Type: 'EmbeddedFile',\r\n      Params: {}\r\n    };\r\n    let data;\r\n\r\n    if (!src) {\r\n      throw new Error('No src specified');\r\n    }\r\n    if (Buffer.isBuffer(src)) {\r\n      data = src;\r\n    } else if (src instanceof ArrayBuffer) {\r\n      data = Buffer.from(new Uint8Array(src));\r\n    } else {\r\n      let match;\r\n      if ((match = /^data:(.*);base64,(.*)$/.exec(src))) {\r\n        if (match[1]) {\r\n          refBody.Subtype = match[1].replace('/', '#2F');\r\n        }\r\n        data = Buffer.from(match[2], 'base64');\r\n      } else {\r\n        data = fs.readFileSync(src);\r\n        if (!data) {\r\n          throw new Error(`Could not read contents of file at filepath ${src}`);\r\n        }\r\n\r\n        // update CreationDate and ModDate\r\n        const { birthtime, ctime } = fs.statSync(src);\r\n        refBody.Params.CreationDate = birthtime;\r\n        refBody.Params.ModDate = ctime;\r\n      }\r\n    }\r\n\r\n    // override creation date and modified date\r\n    if (options.creationDate instanceof Date) {\r\n      refBody.Params.CreationDate = options.creationDate;\r\n    }\r\n    if (options.modifiedDate instanceof Date) {\r\n      refBody.Params.ModDate = options.modifiedDate;\r\n    }\r\n    // add optional subtype\r\n    if (options.type) {\r\n      refBody.Subtype = options.type.replace('/', '#2F');\r\n    }\r\n\r\n    // add checksum and size information\r\n    const checksum = CryptoJS.MD5(\r\n      CryptoJS.lib.WordArray.create(new Uint8Array(data))\r\n    );\r\n    refBody.Params.CheckSum = new String(checksum);\r\n    refBody.Params.Size = data.byteLength;\r\n\r\n    // save some space when embedding the same file again\r\n    // if a file with the same name and metadata exists, reuse its reference\r\n    let ref;\r\n    if (!this._fileRegistry) this._fileRegistry = {};\r\n    let file = this._fileRegistry[options.name];\r\n    if (file && isEqual(refBody, file)) {\r\n      ref = file.ref;\r\n    } else {\r\n      ref = this.ref(refBody);\r\n      ref.end(data);\r\n\r\n      this._fileRegistry[options.name] = { ...refBody, ref };\r\n    }\r\n    // add filespec for embedded file\r\n    const fileSpecBody = {\r\n      Type: 'Filespec',\r\n      F: new String(options.name),\r\n      EF: { F: ref },\r\n      UF: new String(options.name)\r\n    };\r\n    if (options.description) {\r\n      fileSpecBody.Desc = new String(options.description);\r\n    }\r\n    const filespec = this.ref(fileSpecBody);\r\n    filespec.end();\r\n\r\n    if (!options.hidden) {\r\n      this.addNamedEmbeddedFile(options.name, filespec);\r\n    }\r\n\r\n    return filespec;\r\n  }\r\n};\r\n\r\n/** check two embedded file metadata objects for equality */\r\nfunction isEqual(a, b) {\r\n  return (\r\n    a.Subtype === b.Subtype &&\r\n    a.Params.CheckSum.toString() === b.Params.CheckSum.toString() &&\r\n    a.Params.Size === b.Params.Size &&\r\n    a.Params.CreationDate === b.Params.CreationDate &&\r\n    a.Params.ModDate === b.Params.ModDate\r\n  );\r\n}\r\n","/*\r\nPDFDocument - represents an entire PDF document\r\nBy Devon Govett\r\n*/\r\n\r\nimport stream from 'stream';\r\nimport fs from 'fs';\r\nimport PDFObject from './object';\r\nimport PDFReference from './reference';\r\nimport PDFPage from './page';\r\nimport PDFNameTree from './name_tree';\r\nimport PDFSecurity from './security';\r\nimport ColorMixin from './mixins/color';\r\nimport VectorMixin from './mixins/vector';\r\nimport FontsMixin from './mixins/fonts';\r\nimport TextMixin from './mixins/text';\r\nimport ImagesMixin from './mixins/images';\r\nimport AnnotationsMixin from './mixins/annotations';\r\nimport OutlineMixin from './mixins/outline';\r\nimport MarkingsMixin from './mixins/markings';\r\nimport AcroFormMixin from './mixins/acroform';\r\nimport AttachmentsMixin from './mixins/attachments';\r\nimport LineWrapper from './line_wrapper';\r\n\r\nclass PDFDocument extends stream.Readable {\r\n  constructor(options = {}) {\r\n    super(options);\r\n    this.options = options;\r\n\r\n    // PDF version\r\n    switch (options.pdfVersion) {\r\n      case '1.4':\r\n        this.version = 1.4;\r\n        break;\r\n      case '1.5':\r\n        this.version = 1.5;\r\n        break;\r\n      case '1.6':\r\n        this.version = 1.6;\r\n        break;\r\n      case '1.7':\r\n      case '1.7ext3':\r\n        this.version = 1.7;\r\n        break;\r\n      default:\r\n        this.version = 1.3;\r\n        break;\r\n    }\r\n\r\n    // Whether streams should be compressed\r\n    this.compress =\r\n      this.options.compress != null ? this.options.compress : true;\r\n\r\n    this._pageBuffer = [];\r\n    this._pageBufferStart = 0;\r\n\r\n    // The PDF object store\r\n    this._offsets = [];\r\n    this._waiting = 0;\r\n    this._ended = false;\r\n    this._offset = 0;\r\n    const Pages = this.ref({\r\n      Type: 'Pages',\r\n      Count: 0,\r\n      Kids: []\r\n    });\r\n\r\n    const Names = this.ref({\r\n      Dests: new PDFNameTree()\r\n    });\r\n\r\n    this._root = this.ref({\r\n      Type: 'Catalog',\r\n      Pages,\r\n      Names\r\n    });\r\n\r\n    if (this.options.lang) {\r\n      this._root.data.Lang = new String(this.options.lang);\r\n    }\r\n\r\n    // The current page\r\n    this.page = null;\r\n\r\n    // Initialize mixins\r\n    this.initColor();\r\n    this.initVector();\r\n    this.initFonts(options.font);\r\n    this.initText();\r\n    this.initImages();\r\n    this.initOutline();\r\n    this.initMarkings(options);\r\n\r\n    // Initialize the metadata\r\n    this.info = {\r\n      Producer: 'PDFKit',\r\n      Creator: 'PDFKit',\r\n      CreationDate: new Date()\r\n    };\r\n\r\n    if (this.options.info) {\r\n      for (let key in this.options.info) {\r\n        const val = this.options.info[key];\r\n        this.info[key] = val;\r\n      }\r\n    }\r\n\r\n    if (this.options.displayTitle) {\r\n      this._root.data.ViewerPreferences = this.ref({\r\n        DisplayDocTitle: true\r\n      });\r\n    }\r\n\r\n    // Generate file ID\r\n    this._id = PDFSecurity.generateFileID(this.info);\r\n\r\n    // Initialize security settings\r\n    this._security = PDFSecurity.create(this, options);\r\n\r\n    // Write the header\r\n    // PDF version\r\n    this._write(`%PDF-${this.version}`);\r\n\r\n    // 4 binary chars, as recommended by the spec\r\n    this._write('%\\xFF\\xFF\\xFF\\xFF');\r\n\r\n    // Add the first page\r\n    if (this.options.autoFirstPage !== false) {\r\n      this.addPage();\r\n    }\r\n  }\r\n\r\n  addPage(options) {\r\n    if (options == null) {\r\n      ({ options } = this);\r\n    }\r\n\r\n    // end the current page if needed\r\n    if (!this.options.bufferPages) {\r\n      this.flushPages();\r\n    }\r\n\r\n    // create a page object\r\n    this.page = new PDFPage(this, options);\r\n    this._pageBuffer.push(this.page);\r\n\r\n    // add the page to the object store\r\n    const pages = this._root.data.Pages.data;\r\n    pages.Kids.push(this.page.dictionary);\r\n    pages.Count++;\r\n\r\n    // reset x and y coordinates\r\n    this.x = this.page.margins.left;\r\n    this.y = this.page.margins.top;\r\n\r\n    // flip PDF coordinate system so that the origin is in\r\n    // the top left rather than the bottom left\r\n    this._ctm = [1, 0, 0, 1, 0, 0];\r\n    this.transform(1, 0, 0, -1, 0, this.page.height);\r\n\r\n    this.emit('pageAdded');\r\n\r\n    return this;\r\n  }\r\n\r\n  continueOnNewPage(options) {\r\n    const pageMarkings = this.endPageMarkings(this.page);\r\n\r\n    this.addPage(options);\r\n\r\n    this.initPageMarkings(pageMarkings);\r\n\r\n    return this;\r\n  }\r\n\r\n  bufferedPageRange() {\r\n    return { start: this._pageBufferStart, count: this._pageBuffer.length };\r\n  }\r\n\r\n  switchToPage(n) {\r\n    let page;\r\n    if (!(page = this._pageBuffer[n - this._pageBufferStart])) {\r\n      throw new Error(\r\n        `switchToPage(${n}) out of bounds, current buffer covers pages ${\r\n          this._pageBufferStart\r\n        } to ${this._pageBufferStart + this._pageBuffer.length - 1}`\r\n      );\r\n    }\r\n\r\n    return (this.page = page);\r\n  }\r\n\r\n  flushPages() {\r\n    // this local variable exists so we're future-proof against\r\n    // reentrant calls to flushPages.\r\n    const pages = this._pageBuffer;\r\n    this._pageBuffer = [];\r\n    this._pageBufferStart += pages.length;\r\n    for (let page of pages) {\r\n      this.endPageMarkings(page);\r\n      page.end();\r\n    }\r\n  }\r\n\r\n  addNamedDestination(name, ...args) {\r\n    if (args.length === 0) {\r\n      args = ['XYZ', null, null, null];\r\n    }\r\n    if (args[0] === 'XYZ' && args[2] !== null) {\r\n      args[2] = this.page.height - args[2];\r\n    }\r\n    args.unshift(this.page.dictionary);\r\n    this._root.data.Names.data.Dests.add(name, args);\r\n  }\r\n\r\n  addNamedEmbeddedFile(name, ref) {\r\n    if (!this._root.data.Names.data.EmbeddedFiles) {\r\n      // disabling /Limits for this tree fixes attachments not showing in Adobe Reader\r\n      this._root.data.Names.data.EmbeddedFiles = new PDFNameTree({ limits: false });\r\n    }\r\n\r\n    // add filespec to EmbeddedFiles\r\n    this._root.data.Names.data.EmbeddedFiles.add(name, ref);\r\n  }\r\n\r\n  addNamedJavaScript(name, js) {\r\n    if (!this._root.data.Names.data.JavaScript) {\r\n      this._root.data.Names.data.JavaScript = new PDFNameTree();\r\n    }\r\n    let data = {\r\n      JS: new String(js),\r\n      S: 'JavaScript'\r\n    };\r\n    this._root.data.Names.data.JavaScript.add(name, data);\r\n  }\r\n\r\n  ref(data) {\r\n    const ref = new PDFReference(this, this._offsets.length + 1, data);\r\n    this._offsets.push(null); // placeholder for this object's offset once it is finalized\r\n    this._waiting++;\r\n    return ref;\r\n  }\r\n\r\n  _read() {}\r\n  // do nothing, but this method is required by node\r\n\r\n  _write(data) {\r\n    if (!Buffer.isBuffer(data)) {\r\n      data = Buffer.from(data + '\\n', 'binary');\r\n    }\r\n\r\n    this.push(data);\r\n    return (this._offset += data.length);\r\n  }\r\n\r\n  addContent(data) {\r\n    this.page.write(data);\r\n    return this;\r\n  }\r\n\r\n  _refEnd(ref) {\r\n    this._offsets[ref.id - 1] = ref.offset;\r\n    if (--this._waiting === 0 && this._ended) {\r\n      this._finalize();\r\n      return (this._ended = false);\r\n    }\r\n  }\r\n\r\n  write(filename, fn) {\r\n    // print a deprecation warning with a stacktrace\r\n    const err = new Error(`\\\r\nPDFDocument#write is deprecated, and will be removed in a future version of PDFKit. \\\r\nPlease pipe the document into a Node stream.\\\r\n`);\r\n\r\n    console.warn(err.stack);\r\n\r\n    this.pipe(fs.createWriteStream(filename));\r\n    this.end();\r\n    return this.once('end', fn);\r\n  }\r\n\r\n  end() {\r\n    this.flushPages();\r\n    this._info = this.ref();\r\n    for (let key in this.info) {\r\n      let val = this.info[key];\r\n      if (typeof val === 'string') {\r\n        val = new String(val);\r\n      }\r\n\r\n      let entry = this.ref(val);\r\n      entry.end();\r\n\r\n      this._info.data[key] = entry;\r\n    }\r\n\r\n    this._info.end();\r\n\r\n    for (let name in this._fontFamilies) {\r\n      const font = this._fontFamilies[name];\r\n      font.finalize();\r\n    }\r\n\r\n    this.endOutline();\r\n    this.endMarkings();\r\n\r\n    this._root.end();\r\n    this._root.data.Pages.end();\r\n    this._root.data.Names.end();\r\n    this.endAcroForm();\r\n\r\n    if (this._root.data.ViewerPreferences) {\r\n      this._root.data.ViewerPreferences.end();\r\n    }\r\n\r\n    if (this._security) {\r\n      this._security.end();\r\n    }\r\n\r\n    if (this._waiting === 0) {\r\n      return this._finalize();\r\n    } else {\r\n      return (this._ended = true);\r\n    }\r\n  }\r\n\r\n  _finalize() {\r\n    // generate xref\r\n    const xRefOffset = this._offset;\r\n    this._write('xref');\r\n    this._write(`0 ${this._offsets.length + 1}`);\r\n    this._write('0000000000 65535 f ');\r\n\r\n    for (let offset of this._offsets) {\r\n      offset = `0000000000${offset}`.slice(-10);\r\n      this._write(offset + ' 00000 n ');\r\n    }\r\n\r\n    // trailer\r\n    const trailer = {\r\n      Size: this._offsets.length + 1,\r\n      Root: this._root,\r\n      Info: this._info,\r\n      ID: [this._id, this._id]\r\n    };\r\n    if (this._security) {\r\n      trailer.Encrypt = this._security.dictionary;\r\n    }\r\n\r\n    this._write('trailer');\r\n    this._write(PDFObject.convert(trailer));\r\n\r\n    this._write('startxref');\r\n    this._write(`${xRefOffset}`);\r\n    this._write('%%EOF');\r\n\r\n    // end the stream\r\n    return this.push(null);\r\n  }\r\n\r\n  toString() {\r\n    return '[object PDFDocument]';\r\n  }\r\n}\r\n\r\nconst mixin = methods => {\r\n  Object.assign(PDFDocument.prototype, methods);\r\n};\r\n\r\nmixin(ColorMixin);\r\nmixin(VectorMixin);\r\nmixin(FontsMixin);\r\nmixin(TextMixin);\r\nmixin(ImagesMixin);\r\nmixin(AnnotationsMixin);\r\nmixin(OutlineMixin);\r\nmixin(MarkingsMixin);\r\nmixin(AcroFormMixin);\r\nmixin(AttachmentsMixin);\r\n\r\nPDFDocument.LineWrapper = LineWrapper;\r\n\r\nexport default PDFDocument;\r\n","/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n  for (var key in src) {\n    dst[key] = src[key]\n  }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n  module.exports = buffer\n} else {\n  // Copy properties from require('buffer')\n  copyProps(buffer, exports)\n  exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n  return Buffer(arg, encodingOrOffset, length)\n}\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n  if (typeof arg === 'number') {\n    throw new TypeError('Argument must not be a number')\n  }\n  return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  var buf = Buffer(size)\n  if (fill !== undefined) {\n    if (typeof encoding === 'string') {\n      buf.fill(fill, encoding)\n    } else {\n      buf.fill(fill)\n    }\n  } else {\n    buf.fill(0)\n  }\n  return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('Argument must be a number')\n  }\n  return buffer.SlowBuffer(size)\n}\n","const inflate = require('tiny-inflate');\nconst { swap32LE } = require('./swap');\n\n// Shift size for getting the index-1 table offset.\nconst SHIFT_1 = 6 + 5;\n\n// Shift size for getting the index-2 table offset.\nconst SHIFT_2 = 5;\n\n// Difference between the two shift sizes,\n// for getting an index-1 offset from an index-2 offset. 6=11-5\nconst SHIFT_1_2 = SHIFT_1 - SHIFT_2;\n\n// Number of index-1 entries for the BMP. 32=0x20\n// This part of the index-1 table is omitted from the serialized form.\nconst OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> SHIFT_1;\n\n// Number of entries in an index-2 block. 64=0x40\nconst INDEX_2_BLOCK_LENGTH = 1 << SHIFT_1_2;\n\n// Mask for getting the lower bits for the in-index-2-block offset. */\nconst INDEX_2_MASK = INDEX_2_BLOCK_LENGTH - 1;\n\n// Shift size for shifting left the index array values.\n// Increases possible data size with 16-bit index values at the cost\n// of compactability.\n// This requires data blocks to be aligned by DATA_GRANULARITY.\nconst INDEX_SHIFT = 2;\n\n// Number of entries in a data block. 32=0x20\nconst DATA_BLOCK_LENGTH = 1 << SHIFT_2;\n\n// Mask for getting the lower bits for the in-data-block offset.\nconst DATA_MASK = DATA_BLOCK_LENGTH - 1;\n\n// The part of the index-2 table for U+D800..U+DBFF stores values for\n// lead surrogate code _units_ not code _points_.\n// Values for lead surrogate code _points_ are indexed with this portion of the table.\n// Length=32=0x20=0x400>>SHIFT_2. (There are 1024=0x400 lead surrogates.)\nconst LSCP_INDEX_2_OFFSET = 0x10000 >> SHIFT_2;\nconst LSCP_INDEX_2_LENGTH = 0x400 >> SHIFT_2;\n\n// Count the lengths of both BMP pieces. 2080=0x820\nconst INDEX_2_BMP_LENGTH = LSCP_INDEX_2_OFFSET + LSCP_INDEX_2_LENGTH;\n\n// The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n// Length 32=0x20 for lead bytes C0..DF, regardless of SHIFT_2.\nconst UTF8_2B_INDEX_2_OFFSET = INDEX_2_BMP_LENGTH;\nconst UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6;  // U+0800 is the first code point after 2-byte UTF-8\n\n// The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n// Variable length, for code points up to highStart, where the last single-value range starts.\n// Maximum length 512=0x200=0x100000>>SHIFT_1.\n// (For 0x100000 supplementary code points U+10000..U+10ffff.)\n//\n// The part of the index-2 table for supplementary code points starts\n// after this index-1 table.\n//\n// Both the index-1 table and the following part of the index-2 table\n// are omitted completely if there is only BMP data.\nconst INDEX_1_OFFSET = UTF8_2B_INDEX_2_OFFSET + UTF8_2B_INDEX_2_LENGTH;\n\n// The alignment size of a data block. Also the granularity for compaction.\nconst DATA_GRANULARITY = 1 << INDEX_SHIFT;\n\nclass UnicodeTrie {\n  constructor(data) {\n    const isBuffer = (typeof data.readUInt32BE === 'function') && (typeof data.slice === 'function');\n\n    if (isBuffer || data instanceof Uint8Array) {\n      // read binary format\n      let uncompressedLength;\n      if (isBuffer) {\n        this.highStart = data.readUInt32LE(0);\n        this.errorValue = data.readUInt32LE(4);\n        uncompressedLength = data.readUInt32LE(8);\n        data = data.slice(12);\n      } else {\n        const view = new DataView(data.buffer);\n        this.highStart = view.getUint32(0, true);\n        this.errorValue = view.getUint32(4, true);\n        uncompressedLength = view.getUint32(8, true);\n        data = data.subarray(12);\n      }\n\n      // double inflate the actual trie data\n      data = inflate(data, new Uint8Array(uncompressedLength));\n      data = inflate(data, new Uint8Array(uncompressedLength));\n\n      // swap bytes from little-endian\n      swap32LE(data);\n\n      this.data = new Uint32Array(data.buffer);\n\n    } else {\n      // pre-parsed data\n      ({ data: this.data, highStart: this.highStart, errorValue: this.errorValue } = data);\n    }\n  }\n\n  get(codePoint) {\n    let index;\n    if ((codePoint < 0) || (codePoint > 0x10ffff)) {\n      return this.errorValue;\n    }\n\n    if ((codePoint < 0xd800) || ((codePoint > 0xdbff) && (codePoint <= 0xffff))) {\n      // Ordinary BMP code point, excluding leading surrogates.\n      // BMP uses a single level lookup.  BMP index starts at offset 0 in the index.\n      // data is stored in the index array itself.\n      index = (this.data[codePoint >> SHIFT_2] << INDEX_SHIFT) + (codePoint & DATA_MASK);\n      return this.data[index];\n    }\n\n    if (codePoint <= 0xffff) {\n      // Lead Surrogate Code Point.  A Separate index section is stored for\n      // lead surrogate code units and code points.\n      //   The main index has the code unit data.\n      //   For this function, we need the code point data.\n      index = (this.data[LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> SHIFT_2)] << INDEX_SHIFT) + (codePoint & DATA_MASK);\n      return this.data[index];\n    }\n\n    if (codePoint < this.highStart) {\n      // Supplemental code point, use two-level lookup.\n      index = this.data[(INDEX_1_OFFSET - OMITTED_BMP_INDEX_1_LENGTH) + (codePoint >> SHIFT_1)];\n      index = this.data[index + ((codePoint >> SHIFT_2) & INDEX_2_MASK)];\n      index = (index << INDEX_SHIFT) + (codePoint & DATA_MASK);\n      return this.data[index];\n    }\n\n    return this.data[this.data.length - DATA_GRANULARITY];\n  }\n}\n\nmodule.exports = UnicodeTrie;","const isBigEndian = (new Uint8Array(new Uint32Array([0x12345678]).buffer)[0] === 0x12);\n\nconst swap = (b, n, m) => {\n  let i = b[n];\n  b[n] = b[m];\n  b[m] = i;\n};\n\nconst swap32 = array => {\n  const len = array.length;\n  for (let i = 0; i < len; i += 4) {\n    swap(array, i, i + 3);\n    swap(array, i + 1, i + 2);\n  }\n};\n\nconst swap32LE = array => {\n  if (isBigEndian) {\n    swap32(array);\n  }\n};\n\nmodule.exports = {\n  swap32LE: swap32LE\n};\n","var SVGtoPDF = require('./svg-to-pdfkit/source.js');\r\n\r\nmodule.exports = SVGtoPDF;\r\n","var SVGtoPDF = function(doc, svg, x, y, options) {\r\n    \"use strict\";\r\n\r\n    const NamedColors = {aliceblue: [240,248,255], antiquewhite: [250,235,215], aqua: [0,255,255], aquamarine: [127,255,212], azure: [240,255,255], beige: [245,245,220], bisque: [255,228,196], black: [0,0,0], blanchedalmond: [255,235,205], blue: [0,0,255], blueviolet: [138,43,226], brown: [165,42,42], burlywood: [222,184,135], cadetblue: [95,158,160], chartreuse: [127,255,0],\r\n      chocolate: [210,105,30], coral: [255,127,80], cornflowerblue: [100,149,237], cornsilk: [255,248,220], crimson: [220,20,60], cyan: [0,255,255], darkblue: [0,0,139], darkcyan: [0,139,139], darkgoldenrod: [184,134,11], darkgray: [169,169,169], darkgrey: [169,169,169], darkgreen: [0,100,0], darkkhaki: [189,183,107], darkmagenta: [139,0,139], darkolivegreen: [85,107,47],\r\n      darkorange: [255,140,0], darkorchid: [153,50,204], darkred: [139,0,0], darksalmon: [233,150,122], darkseagreen: [143,188,143], darkslateblue: [72,61,139], darkslategray: [47,79,79], darkslategrey: [47,79,79], darkturquoise: [0,206,209], darkviolet: [148,0,211], deeppink: [255,20,147], deepskyblue: [0,191,255], dimgray: [105,105,105], dimgrey: [105,105,105],\r\n      dodgerblue: [30,144,255], firebrick: [178,34,34], floralwhite: [255,250,240], forestgreen: [34,139,34], fuchsia: [255,0,255], gainsboro: [220,220,220], ghostwhite: [248,248,255], gold: [255,215,0], goldenrod: [218,165,32], gray: [128,128,128], grey: [128,128,128], green: [0,128,0], greenyellow: [173,255,47], honeydew: [240,255,240], hotpink: [255,105,180],\r\n      indianred: [205,92,92], indigo: [75,0,130], ivory: [255,255,240], khaki: [240,230,140], lavender: [230,230,250], lavenderblush: [255,240,245], lawngreen: [124,252,0], lemonchiffon: [255,250,205], lightblue: [173,216,230], lightcoral: [240,128,128], lightcyan: [224,255,255], lightgoldenrodyellow: [250,250,210], lightgray: [211,211,211], lightgrey: [211,211,211],\r\n      lightgreen: [144,238,144], lightpink: [255,182,193], lightsalmon: [255,160,122], lightseagreen: [32,178,170], lightskyblue: [135,206,250], lightslategray: [119,136,153], lightslategrey: [119,136,153], lightsteelblue: [176,196,222], lightyellow: [255,255,224], lime: [0,255,0], limegreen: [50,205,50], linen: [250,240,230], magenta: [255,0,255], maroon: [128,0,0],\r\n      mediumaquamarine: [102,205,170], mediumblue: [0,0,205], mediumorchid: [186,85,211], mediumpurple: [147,112,219], mediumseagreen: [60,179,113], mediumslateblue: [123,104,238], mediumspringgreen: [0,250,154], mediumturquoise: [72,209,204], mediumvioletred: [199,21,133], midnightblue: [25,25,112], mintcream: [245,255,250], mistyrose: [255,228,225], moccasin: [255,228,181],\r\n      navajowhite: [255,222,173], navy: [0,0,128], oldlace: [253,245,230], olive: [128,128,0], olivedrab: [107,142,35], orange: [255,165,0], orangered: [255,69,0], orchid: [218,112,214], palegoldenrod: [238,232,170], palegreen: [152,251,152], paleturquoise: [175,238,238], palevioletred: [219,112,147], papayawhip: [255,239,213], peachpuff: [255,218,185], peru: [205,133,63],\r\n      pink: [255,192,203], plum: [221,160,221], powderblue: [176,224,230], purple: [128,0,128], rebeccapurple: [102,51,153], red: [255,0,0], rosybrown: [188,143,143], royalblue: [65,105,225], saddlebrown: [139,69,19], salmon: [250,128,114], sandybrown: [244,164,96], seagreen: [46,139,87], seashell: [255,245,238], sienna: [160,82,45], silver: [192,192,192], skyblue: [135,206,235],\r\n      slateblue: [106,90,205], slategray: [112,128,144], slategrey: [112,128,144], snow: [255,250,250], springgreen: [0,255,127], steelblue: [70,130,180], tan: [210,180,140], teal: [0,128,128], thistle: [216,191,216], tomato: [255,99,71], turquoise: [64,224,208], violet: [238,130,238], wheat: [245,222,179], white: [255,255,255], whitesmoke: [245,245,245], yellow: [255,255,0]};\r\n    const DefaultColors = {black: [NamedColors.black, 1], white: [NamedColors.white, 1], transparent: [NamedColors.black, 0]};\r\n    const Entities = {quot: 34, amp: 38, lt: 60, gt: 62, apos: 39, OElig: 338, oelig: 339, Scaron: 352, scaron: 353, Yuml: 376, circ: 710, tilde: 732, ensp: 8194, emsp: 8195, thinsp: 8201, zwnj: 8204, zwj: 8205, lrm: 8206, rlm: 8207, ndash: 8211, mdash: 8212, lsquo: 8216, rsquo: 8217, sbquo: 8218, ldquo: 8220, rdquo: 8221, bdquo: 8222, dagger: 8224, Dagger: 8225, permil: 8240, lsaquo: 8249,\r\n      rsaquo: 8250, euro: 8364, nbsp: 160, iexcl: 161, cent: 162, pound: 163, curren: 164, yen: 165, brvbar: 166, sect: 167, uml: 168, copy: 169, ordf: 170, laquo: 171, not: 172, shy: 173, reg: 174, macr: 175, deg: 176, plusmn: 177, sup2: 178, sup3: 179, acute: 180, micro: 181, para: 182, middot: 183, cedil: 184, sup1: 185, ordm: 186, raquo: 187, frac14: 188, frac12: 189, frac34: 190,\r\n      iquest: 191, Agrave: 192, Aacute: 193, Acirc: 194, Atilde: 195, Auml: 196, Aring: 197, AElig: 198, Ccedil: 199, Egrave: 200, Eacute: 201, Ecirc: 202, Euml: 203, Igrave: 204, Iacute: 205, Icirc: 206, Iuml: 207, ETH: 208, Ntilde: 209, Ograve: 210, Oacute: 211, Ocirc: 212, Otilde: 213, Ouml: 214, times: 215, Oslash: 216, Ugrave: 217, Uacute: 218, Ucirc: 219, Uuml: 220, Yacute: 221,\r\n      THORN: 222, szlig: 223, agrave: 224, aacute: 225, acirc: 226, atilde: 227, auml: 228, aring: 229, aelig: 230, ccedil: 231, egrave: 232, eacute: 233, ecirc: 234, euml: 235, igrave: 236, iacute: 237, icirc: 238, iuml: 239, eth: 240, ntilde: 241, ograve: 242, oacute: 243, ocirc: 244, otilde: 245, ouml: 246, divide: 247, oslash: 248, ugrave: 249, uacute: 250, ucirc: 251, uuml: 252,\r\n      yacute: 253, thorn: 254, yuml: 255, fnof: 402, Alpha: 913, Beta: 914, Gamma: 915, Delta: 916, Epsilon: 917, Zeta: 918, Eta: 919, Theta: 920, Iota: 921, Kappa: 922, Lambda: 923, Mu: 924, Nu: 925, Xi: 926, Omicron: 927, Pi: 928, Rho: 929, Sigma: 931, Tau: 932, Upsilon: 933, Phi: 934, Chi: 935, Psi: 936, Omega: 937, alpha: 945, beta: 946, gamma: 947, delta: 948, epsilon: 949,\r\n      zeta: 950, eta: 951, theta: 952, iota: 953, kappa: 954, lambda: 955, mu: 956, nu: 957, xi: 958, omicron: 959, pi: 960, rho: 961, sigmaf: 962, sigma: 963, tau: 964, upsilon: 965, phi: 966, chi: 967, psi: 968, omega: 969, thetasym: 977, upsih: 978, piv: 982, bull: 8226, hellip: 8230, prime: 8242, Prime: 8243, oline: 8254, frasl: 8260, weierp: 8472, image: 8465, real: 8476,\r\n      trade: 8482, alefsym: 8501, larr: 8592, uarr: 8593, rarr: 8594, darr: 8595, harr: 8596, crarr: 8629, lArr: 8656, uArr: 8657, rArr: 8658, dArr: 8659, hArr: 8660, forall: 8704, part: 8706, exist: 8707, empty: 8709, nabla: 8711, isin: 8712, notin: 8713, ni: 8715, prod: 8719, sum: 8721, minus: 8722, lowast: 8727, radic: 8730, prop: 8733, infin: 8734, ang: 8736, and: 8743, or: 8744,\r\n      cap: 8745, cup: 8746, int: 8747, there4: 8756, sim: 8764, cong: 8773, asymp: 8776, ne: 8800, equiv: 8801, le: 8804, ge: 8805, sub: 8834, sup: 8835, nsub: 8836, sube: 8838, supe: 8839, oplus: 8853, otimes: 8855, perp: 8869, sdot: 8901, lceil: 8968, rceil: 8969, lfloor: 8970, rfloor: 8971, lang: 9001, rang: 9002, loz: 9674, spades: 9824, clubs: 9827, hearts: 9829, diams: 9830};\r\n    const PathArguments = {A: 7, a: 7, C: 6, c: 6, H: 1, h: 1, L: 2, l: 2, M: 2, m: 2, Q: 4, q: 4, S: 4, s: 4, T: 2, t: 2, V: 1, v: 1, Z: 0, z: 0};\r\n    const PathFlags = {A3: true, A4: true, a3: true, a4: true};\r\n    const Properties = {\r\n      'color':              {inherit: true, initial: undefined},\r\n      'visibility':         {inherit: true, initial: 'visible', values: {'hidden': 'hidden', 'collapse': 'hidden', 'visible':'visible'}},\r\n      'fill':               {inherit: true, initial: DefaultColors.black},\r\n      'stroke':             {inherit: true, initial: 'none'},\r\n      'stop-color':         {inherit: false, initial: DefaultColors.black},\r\n      'fill-opacity':       {inherit: true, initial: 1},\r\n      'stroke-opacity':     {inherit: true, initial: 1},\r\n      'stop-opacity':       {inherit: false, initial: 1},\r\n      'fill-rule':          {inherit: true, initial: 'nonzero', values: {'nonzero':'nonzero', 'evenodd':'evenodd'}},\r\n      'clip-rule':          {inherit: true, initial: 'nonzero', values: {'nonzero':'nonzero', 'evenodd':'evenodd'}},\r\n      'stroke-width':       {inherit: true, initial: 1},\r\n      'stroke-dasharray':   {inherit: true, initial: []},\r\n      'stroke-dashoffset':  {inherit: true, initial: 0},\r\n      'stroke-miterlimit':  {inherit: true, initial: 4},\r\n      'stroke-linejoin':    {inherit: true, initial: 'miter', values: {'miter':'miter', 'round':'round', 'bevel':'bevel'}},\r\n      'stroke-linecap':     {inherit: true, initial: 'butt', values: {'butt':'butt', 'round':'round', 'square':'square'}},\r\n      'font-size':          {inherit: true, initial: 16, values: {'xx-small':9, 'x-small':10, 'small':13, 'medium':16, 'large':18, 'x-large':24, 'xx-large':32}},\r\n      'font-family':        {inherit: true, initial: 'sans-serif'},\r\n      'font-weight':        {inherit: true, initial: 'normal', values: {'600':'bold', '700':'bold', '800':'bold', '900':'bold', 'bold':'bold', 'bolder':'bold', '500':'normal', '400':'normal', '300':'normal', '200':'normal', '100':'normal', 'normal':'normal', 'lighter':'normal'}},\r\n      'font-style':         {inherit: true, initial: 'normal', values: {'italic':'italic', 'oblique':'italic', 'normal':'normal'}},\r\n      'text-anchor':        {inherit: true, initial: 'start', values: {'start':'start', 'middle':'middle', 'end':'end'}},\r\n      'direction':          {inherit: true, initial: 'ltr', values: {'ltr':'ltr', 'rtl':'rtl'}},\r\n      'dominant-baseline':  {inherit: true, initial: 'baseline', values: {'auto':'baseline', 'baseline':'baseline', 'before-edge':'before-edge', 'text-before-edge':'before-edge', 'middle':'middle', 'central':'central', 'after-edge':'after-edge', 'text-after-edge':'after-edge', 'ideographic':'ideographic', 'alphabetic':'alphabetic', 'hanging':'hanging', 'mathematical':'mathematical'}},\r\n      'alignment-baseline': {inherit: false, initial: undefined, values: {'auto':'baseline', 'baseline':'baseline', 'before-edge':'before-edge', 'text-before-edge':'before-edge', 'middle':'middle', 'central':'central', 'after-edge':'after-edge', 'text-after-edge':'after-edge', 'ideographic':'ideographic', 'alphabetic':'alphabetic', 'hanging':'hanging', 'mathematical':'mathematical'}},\r\n      'baseline-shift':     {inherit: true, initial: 'baseline', values: {'baseline':'baseline', 'sub':'sub', 'super':'super'}},\r\n      'word-spacing':       {inherit: true, initial: 0, values: {normal:0}},\r\n      'letter-spacing':     {inherit: true, initial: 0, values: {normal:0}},\r\n      'text-decoration':    {inherit: false, initial: 'none', values: {'none':'none', 'underline':'underline', 'overline':'overline', 'line-through':'line-through'}},\r\n      'xml:space':          {inherit: true, initial: 'default', css: 'white-space', values: {'preserve':'preserve', 'default':'default', 'pre':'preserve', 'pre-line':'preserve', 'pre-wrap':'preserve', 'nowrap': 'default'}},\r\n      'marker-start':       {inherit: true, initial: 'none'},\r\n      'marker-mid':         {inherit: true, initial: 'none'},\r\n      'marker-end':         {inherit: true, initial: 'none'},\r\n      'opacity':            {inherit: false, initial: 1},\r\n      'transform':          {inherit: false, initial: [1, 0, 0, 1, 0, 0]},\r\n      'display':            {inherit: false, initial: 'inline', values: {'none':'none', 'inline':'inline', 'block':'inline'}},\r\n      'clip-path':          {inherit: false, initial: 'none'},\r\n      'mask':               {inherit: false, initial: 'none'},\r\n      'overflow':           {inherit: false, initial: 'hidden', values: {'hidden':'hidden', 'scroll':'hidden', 'visible':'visible'}}\r\n    };\r\n\r\n    function docBeginGroup(bbox) {\r\n      let group = new (function PDFGroup() {})();\r\n      group.name = 'G' + (doc._groupCount = (doc._groupCount || 0) + 1);\r\n      group.resources = doc.ref();\r\n      group.xobj = doc.ref({\r\n        Type: 'XObject',\r\n        Subtype: 'Form',\r\n        FormType: 1,\r\n        BBox: bbox,\r\n        Group: {S: 'Transparency', CS: 'DeviceRGB', I: true, K: false},\r\n        Resources: group.resources\r\n      });\r\n      group.xobj.write('');\r\n      group.savedMatrix = doc._ctm;\r\n      group.savedPage = doc.page;\r\n      groupStack.push(group);\r\n      doc._ctm = [1, 0, 0, 1, 0, 0];\r\n      doc.page = {\r\n        width: doc.page.width, height: doc.page.height,\r\n        write: function(data) {group.xobj.write(data);},\r\n        fonts: {}, xobjects: {}, ext_gstates: {}, patterns: {}\r\n      };\r\n      return group;\r\n    }\r\n    function docEndGroup(group) {\r\n      if (group !== groupStack.pop()) {throw('Group not matching');}\r\n      if (Object.keys(doc.page.fonts).length) {group.resources.data.Font = doc.page.fonts;}\r\n      if (Object.keys(doc.page.xobjects).length) {group.resources.data.XObject = doc.page.xobjects;}\r\n      if (Object.keys(doc.page.ext_gstates).length) {group.resources.data.ExtGState = doc.page.ext_gstates;}\r\n      if (Object.keys(doc.page.patterns).length) {group.resources.data.Pattern = doc.page.patterns;}\r\n      group.resources.end();\r\n      group.xobj.end();\r\n      doc._ctm = group.savedMatrix;\r\n      doc.page = group.savedPage;\r\n    }\r\n    function docInsertGroup(group) {\r\n      doc.page.xobjects[group.name] = group.xobj;\r\n      doc.addContent('/' + group.name + ' Do');\r\n    }\r\n    function docApplyMask(group, clip) {\r\n      let name = 'M' + (doc._maskCount = (doc._maskCount || 0) + 1);\r\n      let gstate = doc.ref({\r\n        Type: 'ExtGState', CA: 1, ca: 1, BM: 'Normal',\r\n        SMask: {S: 'Luminosity', G: group.xobj, BC: (clip ? [0, 0, 0] : [1, 1, 1])}\r\n      });\r\n      gstate.end();\r\n      doc.page.ext_gstates[name] = gstate;\r\n      doc.addContent('/' + name + ' gs');\r\n    }\r\n    function docCreatePattern(group, dx, dy, matrix) {\r\n      let pattern = new (function PDFPattern() {})();\r\n      pattern.group = group;\r\n      pattern.dx = dx;\r\n      pattern.dy = dy;\r\n      pattern.matrix = matrix || [1, 0, 0, 1, 0, 0];\r\n      return pattern;\r\n    }\r\n    function docUsePattern(pattern, stroke) {\r\n      let name = 'P' + (doc._patternCount = (doc._patternCount || 0) + 1);\r\n      let ref = doc.ref({\r\n        Type: 'Pattern', PatternType: 1, PaintType: 1, TilingType: 2,\r\n        BBox: [0, 0, pattern.dx, pattern.dy], XStep: pattern.dx, YStep: pattern.dy,\r\n        Matrix: multiplyMatrix(doc._ctm, pattern.matrix),\r\n        Resources: {\r\n          ProcSet: ['PDF', 'Text', 'ImageB', 'ImageC', 'ImageI'],\r\n          XObject: (function() {let temp = {}; temp[pattern.group.name] = pattern.group.xobj; return temp;})()\r\n        }\r\n      });\r\n      ref.write('/' + pattern.group.name + ' Do');\r\n      ref.end();\r\n      doc.page.patterns[name] = ref;\r\n      if (stroke) {\r\n        doc.addContent('/Pattern CS');\r\n        doc.addContent('/' + name + ' SCN');\r\n      } else {\r\n        doc.addContent('/Pattern cs');\r\n        doc.addContent('/' + name + ' scn');\r\n      }\r\n    }\r\n    function docBeginText(font, size) {\r\n      if (!doc.page.fonts[font.id]) {doc.page.fonts[font.id] = font.ref();}\r\n      doc.addContent('BT').addContent('/' + font.id + ' ' + size + ' Tf');\r\n    }\r\n    function docSetTextMatrix(a, b, c, d, e, f) {\r\n      doc.addContent(validateNumber(a) + ' ' + validateNumber(b) + ' ' + validateNumber(-c) + ' '  + validateNumber(-d) + ' ' + validateNumber(e) + ' ' + validateNumber(f) + ' Tm');\r\n    }\r\n    function docSetTextMode(fill, stroke) {\r\n      let mode = fill && stroke ? 2 : stroke ? 1 : fill ? 0 : 3;\r\n      doc.addContent(mode + ' Tr');\r\n    }\r\n    function docWriteGlyph(glyph) {\r\n      doc.addContent('<' + glyph + '> Tj');\r\n    }\r\n    function docEndText() {\r\n      doc.addContent('ET');\r\n    }\r\n    function docFillColor(color) {\r\n      if (color[0].constructor.name === 'PDFPattern') {\r\n        doc.fillOpacity(color[1]);\r\n        docUsePattern(color[0], false);\r\n      } else {\r\n        doc.fillColor(color[0], color[1]);\r\n      }\r\n    }\r\n    function docStrokeColor(color) {\r\n      if (color[0].constructor.name === 'PDFPattern') {\r\n        doc.strokeOpacity(color[1]);\r\n        docUsePattern(color[0], true);\r\n      } else {\r\n        doc.strokeColor(color[0], color[1]);\r\n      }\r\n    }\r\n    function docInsertLink(x, y, w, h, url) {\r\n      let ref = doc.ref({\r\n        Type: 'Annot',\r\n        Subtype: 'Link',\r\n        Rect: [x, y, w, h],\r\n        Border: [0, 0, 0],\r\n        A: {\r\n          S: 'URI',\r\n          URI: new String(url)\r\n        }\r\n      });\r\n      ref.end();\r\n      links.push(ref);\r\n    }\r\n    function parseXml(xml) {\r\n      let SvgNode = function(tag, type, value, error) {\r\n        this.error = error;\r\n        this.nodeName = tag;\r\n        this.nodeValue = value;\r\n        this.nodeType = type;\r\n        this.attributes = Object.create(null);\r\n        this.childNodes = [];\r\n        this.parentNode = null;\r\n        this.id = '';\r\n        this.textContent = '';\r\n        this.classList = [];\r\n      };\r\n      SvgNode.prototype.getAttribute = function(attr) {\r\n        return this.attributes[attr] != null ? this.attributes[attr] : null;\r\n      };\r\n      SvgNode.prototype.getElementById = function(id) {\r\n        let result = null;\r\n        (function recursive(node) {\r\n          if (result) {return;}\r\n          if (node.nodeType === 1) {\r\n            if (node.id === id) {result = node;}\r\n            for (let i = 0; i < node.childNodes.length; i++) {\r\n              recursive(node.childNodes[i]);\r\n            }\r\n          }\r\n        })(this);\r\n        return result;\r\n      };\r\n      SvgNode.prototype.getElementsByTagName = function(tag) {\r\n        let result = [];\r\n        (function recursive(node) {\r\n          if (node.nodeType === 1) {\r\n            if (node.nodeName === tag) {result.push(node);}\r\n            for (let i = 0; i < node.childNodes.length; i++) {\r\n              recursive(node.childNodes[i]);\r\n            }\r\n          }\r\n        })(this);\r\n        return result;\r\n      };\r\n      let parser = new StringParser(xml.trim()), result, child, error = false; \r\n      let recursive = function() {\r\n        let temp, child;\r\n        if (temp = parser.match(/^<([\\w:.-]+)\\s*/, true)) { // Opening tag\r\n          let node = new SvgNode(temp[1], 1, null, error);\r\n          while (temp = parser.match(/^([\\w:.-]+)(?:\\s*=\\s*\"([^\"]*)\"|\\s*=\\s*'([^']*)')?\\s*/, true)) { // Attribute\r\n            let attr = temp[1], value = decodeEntities(temp[2] || temp[3] || '');\r\n            if (!node.attributes[attr]) {\r\n              node.attributes[attr] = value;\r\n              if (attr === 'id') {node.id = value;}\r\n              if (attr === 'class') {node.classList = value.split(' ');}\r\n            } else {\r\n              warningCallback('parseXml: duplicate attribute \"' + attr + '\"');\r\n              error = true;\r\n            }\r\n          }\r\n          if (parser.match(/^>/)) { // End of opening tag\r\n            while (child = recursive()) {\r\n              node.childNodes.push(child);\r\n              child.parentNode = node;\r\n              node.textContent += (child.nodeType === 3 || child.nodeType === 4 ? child.nodeValue : child.textContent);\r\n            }\r\n            if (temp = parser.match(/^<\\/([\\w:.-]+)\\s*>/, true)) { // Closing tag\r\n              if (temp[1] === node.nodeName) {\r\n                return node;\r\n              } else {\r\n                warningCallback('parseXml: tag not matching, opening \"' + node.nodeName + '\" & closing \"' + temp[1] + '\"');\r\n                error = true;\r\n                return node;\r\n              }\r\n            } else {\r\n              warningCallback('parseXml: tag not matching, opening \"' + node.nodeName + '\" & not closing');\r\n              error = true;\r\n              return node;\r\n            }\r\n          } else if (parser.match(/^\\/>/)) { // Self-closing tag\r\n            return node;\r\n          } else {\r\n            warningCallback('parseXml: tag could not be parsed \"' + node.nodeName + '\"');\r\n            error = true;\r\n          }\r\n        } else if (temp = parser.match(/^<!--[\\s\\S]*?-->/)) { // Comment\r\n          return new SvgNode(null, 8, temp, error);\r\n        } else if (temp = parser.match(/^<\\?[\\s\\S]*?\\?>/)) { // Processing instructions\r\n          return new SvgNode(null, 7, temp, error);\r\n        } else if (temp = parser.match(/^<!DOCTYPE\\s*([\\s\\S]*?)>/)) { // Doctype\r\n          return new SvgNode(null, 10, temp, error);\r\n        } else if (temp = parser.match(/^<!\\[CDATA\\[([\\s\\S]*?)\\]\\]>/, true)) { // Cdata node\r\n          return new SvgNode('#cdata-section', 4, temp[1], error);\r\n        } else if (temp = parser.match(/^([^<]+)/, true)) { // Text node\r\n          return new SvgNode('#text', 3, decodeEntities(temp[1]), error);\r\n        }\r\n      };\r\n      while (child = recursive()) {\r\n        if (child.nodeType === 1 && !result) {\r\n          result = child;\r\n        } else if (child.nodeType === 1 || (child.nodeType === 3 && child.nodeValue.trim() !== '')) {\r\n          warningCallback('parseXml: data after document end has been discarded');\r\n        }\r\n      }\r\n      if (parser.matchAll()) {\r\n        warningCallback('parseXml: parsing error');\r\n      }\r\n      return result;\r\n    };\r\n    function decodeEntities(str) {\r\n      return(str.replace(/&(?:#([0-9]+)|#[xX]([0-9A-Fa-f]+)|([0-9A-Za-z]+));/g, function(mt, m0, m1, m2) {\r\n        if (m0) {return String.fromCharCode(parseInt(m0, 10));}\r\n        else if (m1) {return String.fromCharCode(parseInt(m1, 16));}\r\n        else if (m2 && Entities[m2]) {return String.fromCharCode(Entities[m2]);}\r\n        else {return mt;}\r\n      }));\r\n    }\r\n    function parseColor(raw) {\r\n      let temp, result;\r\n      raw = (raw || '').trim();\r\n      if (temp = NamedColors[raw]) {\r\n        result = [temp.slice(), 1];\r\n      } else if (temp = raw.match(/^rgba\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9.]+)\\s*\\)$/i)) {\r\n        temp[1] = parseInt(temp[1]); temp[2] = parseInt(temp[2]); temp[3] = parseInt(temp[3]); temp[4] = parseFloat(temp[4]);\r\n        if (temp[1] < 256 && temp[2] < 256 && temp[3] < 256 && temp[4] <= 1) {\r\n          result = [temp.slice(1, 4), temp[4]];\r\n        }\r\n      } else if (temp = raw.match(/^rgb\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)$/i)) {\r\n        temp[1] = parseInt(temp[1]); temp[2] = parseInt(temp[2]); temp[3] = parseInt(temp[3]);\r\n        if (temp[1] < 256 && temp[2] < 256 && temp[3] < 256) {\r\n          result = [temp.slice(1, 4), 1];\r\n        }\r\n      } else if (temp = raw.match(/^rgb\\(\\s*([0-9.]+)%\\s*,\\s*([0-9.]+)%\\s*,\\s*([0-9.]+)%\\s*\\)$/i)) {\r\n        temp[1] = 2.55 * parseFloat(temp[1]); temp[2] = 2.55 * parseFloat(temp[2]); temp[3] = 2.55 * parseFloat(temp[3]);\r\n        if (temp[1] < 256 && temp[2] < 256 && temp[3] < 256) {\r\n          result = [temp.slice(1, 4), 1];\r\n        }\r\n      } else if (temp = raw.match(/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i)) {\r\n        result = [[parseInt(temp[1], 16), parseInt(temp[2], 16), parseInt(temp[3], 16)], 1];\r\n      } else if (temp = raw.match(/^#([0-9a-f])([0-9a-f])([0-9a-f])$/i)) {\r\n        result = [[0x11 * parseInt(temp[1], 16), 0x11 * parseInt(temp[2], 16), 0x11 * parseInt(temp[3], 16)], 1];\r\n      }\r\n      return colorCallback ? colorCallback(result, raw) : result;\r\n    }\r\n    function opacityToColor(color, opacity, isMask) {\r\n      let newColor = color[0].slice(),\r\n          newOpacity = color[1] * opacity;\r\n      if (isMask) {\r\n        for (let i = 0; i < color.length; i++) {\r\n          newColor[i] *= newOpacity;\r\n        }\r\n        return [newColor, 1];\r\n      } else {\r\n        return [newColor, newOpacity];\r\n      }\r\n    }\r\n    function multiplyMatrix() {\r\n      function multiply(a, b) {\r\n        return [ a[0]*b[0]+a[2]*b[1], a[1]*b[0]+a[3]*b[1], a[0]*b[2]+a[2]*b[3],\r\n                 a[1]*b[2]+a[3]*b[3], a[0]*b[4]+a[2]*b[5]+a[4], a[1]*b[4]+a[3]*b[5]+a[5] ];\r\n      }\r\n      let result = arguments[0];\r\n      for (let i = 1; i < arguments.length; i++) {\r\n        result = multiply(result, arguments[i]);\r\n      }\r\n      return result;\r\n    }\r\n    function transformPoint(p, m) {\r\n      return [m[0] * p[0] + m[2] * p[1] + m[4], m[1] * p[0] + m[3] * p[1] + m[5]];\r\n    }\r\n    function getGlobalMatrix() {\r\n      let ctm = doc._ctm;\r\n      for (let i = groupStack.length - 1; i >= 0; i--) {\r\n        ctm = multiplyMatrix(groupStack[i].savedMatrix, ctm);\r\n      }\r\n      return ctm;\r\n    }\r\n    function getPageBBox() {\r\n      return new SvgShape().M(0, 0).L(doc.page.width, 0).L(doc.page.width, doc.page.height).L(0, doc.page.height)\r\n                           .transform(inverseMatrix(getGlobalMatrix())).getBoundingBox();\r\n    }\r\n    function inverseMatrix(m) {\r\n      let dt = m[0] * m[3] - m[1] * m[2];\r\n      return [m[3] / dt, -m[1] / dt, -m[2] / dt, m[0] / dt, (m[2]*m[5] - m[3]*m[4]) / dt, (m[1]*m[4] - m[0]*m[5]) / dt];\r\n    }\r\n    function validateMatrix(m) {\r\n      let m0 = validateNumber(m[0]), m1 = validateNumber(m[1]), m2 = validateNumber(m[2]),\r\n          m3 = validateNumber(m[3]), m4 = validateNumber(m[4]), m5 = validateNumber(m[5]);\r\n      if (isNotEqual(m0 * m3 - m1 * m2, 0)) {\r\n        return [m0, m1, m2, m3, m4, m5];\r\n      }\r\n    }\r\n    function solveEquation(curve) {\r\n      let a = curve[2] || 0, b = curve[1] || 0, c = curve[0] || 0;\r\n      if (isEqual(a, 0) && isEqual(b, 0)) {\r\n        return [];\r\n      } else if (isEqual(a, 0)) {\r\n        return [(-c) / b];\r\n      } else {\r\n        let d = b * b - 4 * a * c;\r\n        if (isNotEqual(d, 0) && d > 0) {\r\n          return [(-b + Math.sqrt(d)) / (2 * a), (-b - Math.sqrt(d)) / (2 * a)];\r\n        } else if (isEqual(d, 0)) {\r\n          return [(-b) / (2 * a)];\r\n        } else {\r\n          return [];\r\n        }\r\n      }\r\n    }\r\n    function getCurveValue(t, curve) {\r\n      return (curve[0] || 0) + (curve[1] || 0) * t + (curve[2] || 0) * t * t + (curve[3] || 0) * t * t * t;\r\n    }\r\n    function isEqual(number, ref) {\r\n      return Math.abs(number - ref) < 1e-10;\r\n    }\r\n    function isNotEqual(number, ref) {\r\n      return Math.abs(number - ref) >= 1e-10;\r\n    }\r\n    function validateNumber(n) {\r\n      return n > -1e21 && n < 1e21 ? Math.round(n * 1e6) / 1e6 : 0;\r\n    }\r\n    function isArrayLike(v) {\r\n      return typeof v === 'object' && v !== null && typeof v.length === 'number';\r\n    }\r\n    function parseTranform(v) {\r\n      let parser = new StringParser((v || '').trim()), result = [1, 0, 0, 1, 0, 0], temp;\r\n      while (temp = parser.match(/^([A-Za-z]+)\\s*[(]([^(]+)[)]/, true)) {\r\n        let func = temp[1], nums = [], parser2 = new StringParser(temp[2].trim()), temp2;\r\n        while (temp2 = parser2.matchNumber()) {\r\n          nums.push(Number(temp2));\r\n          parser2.matchSeparator();\r\n        }\r\n        if (func === 'matrix' && nums.length === 6) {\r\n          result = multiplyMatrix(result, [nums[0], nums[1], nums[2], nums[3], nums[4], nums[5]]);\r\n        } else if (func === 'translate' && nums.length === 2) {\r\n          result = multiplyMatrix(result, [1, 0, 0, 1, nums[0], nums[1]]);\r\n        } else if (func === 'translate' && nums.length === 1) {\r\n          result = multiplyMatrix(result, [1, 0, 0, 1, nums[0], 0]);\r\n        } else if (func === 'scale' && nums.length === 2) {\r\n          result = multiplyMatrix(result, [nums[0], 0, 0, nums[1], 0, 0]);\r\n        } else if (func === 'scale' && nums.length === 1) {\r\n          result = multiplyMatrix(result, [nums[0], 0, 0, nums[0], 0, 0]);\r\n        } else if (func === 'rotate' && nums.length === 3) {\r\n          let a = nums[0] * Math.PI / 180;\r\n          result = multiplyMatrix(result, [1, 0, 0, 1, nums[1], nums[2]], [Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0], [1, 0, 0, 1, -nums[1], -nums[2]]);\r\n        } else if (func === 'rotate' && nums.length === 1) {\r\n          let a = nums[0] * Math.PI / 180;\r\n          result = multiplyMatrix(result, [Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0]);\r\n        } else if (func === 'skewX' && nums.length === 1) {\r\n          let a = nums[0] * Math.PI / 180;\r\n          result = multiplyMatrix(result, [1, 0, Math.tan(a), 1, 0, 0]);\r\n        } else if (func === 'skewY' && nums.length === 1) {\r\n          let a = nums[0] * Math.PI / 180;\r\n          result = multiplyMatrix(result, [1, Math.tan(a), 0, 1, 0, 0]);\r\n        } else {return;}\r\n        parser.matchSeparator();\r\n      }\r\n      if (parser.matchAll()) {return;}\r\n      return result;\r\n    }\r\n    function parseAspectRatio(aspectRatio, availWidth, availHeight, elemWidth, elemHeight, initAlign) {\r\n      let temp = (aspectRatio || '').trim().match(/^(none)$|^x(Min|Mid|Max)Y(Min|Mid|Max)(?:\\s+(meet|slice))?$/) || [],\r\n          ratioType = temp[1] || temp[4] || 'meet',\r\n          xAlign = temp[2] || 'Mid',\r\n          yAlign = temp[3] || 'Mid',\r\n          scaleX = availWidth / elemWidth,\r\n          scaleY = availHeight / elemHeight,\r\n          dx = {'Min':0, 'Mid':0.5, 'Max':1}[xAlign] - (initAlign || 0),\r\n          dy = {'Min':0, 'Mid':0.5, 'Max':1}[yAlign] - (initAlign || 0);\r\n      if (ratioType === 'slice') {\r\n        scaleY = scaleX = Math.max(scaleX, scaleY);\r\n      } else if (ratioType === 'meet') {\r\n        scaleY = scaleX = Math.min(scaleX, scaleY);\r\n      }\r\n      return [scaleX, 0, 0, scaleY, dx * (availWidth - elemWidth * scaleX), dy * (availHeight - elemHeight * scaleY)];\r\n    }\r\n    function parseStyleAttr(v) {\r\n      let result = Object.create(null);\r\n      v = (v || '').trim().split(/;/);\r\n      for (let i = 0; i < v.length; i++) {\r\n        let key = (v[i].split(':')[0] || '').trim(),\r\n            value = (v[i].split(':')[1] || '').trim();\r\n        if (key) {\r\n          result[key] = value;\r\n        }\r\n      }\r\n      if (result['marker']) {\r\n        if (!result['marker-start']) {result['marker-start'] = result['marker'];}\r\n        if (!result['marker-mid']) {result['marker-mid'] = result['marker'];}\r\n        if (!result['marker-end']) {result['marker-end'] = result['marker'];}\r\n      }\r\n      if (result['font']) {\r\n        let fontFamily = null, fontSize = null, fontStyle = \"normal\", fontWeight = \"normal\", fontVariant = \"normal\";\r\n        let parts = result['font'].split(/\\s+/);\r\n        for (let i = 0; i < parts.length; i++) {\r\n          switch (parts[i]) {\r\n            case \"normal\":\r\n              break;\r\n            case \"italic\": case \"oblique\":\r\n              fontStyle = parts[i];\r\n              break;\r\n            case \"small-caps\":\r\n              fontVariant = parts[i];\r\n              break;\r\n            case \"bold\": case \"bolder\": case \"lighter\": case \"100\": case \"200\": case \"300\":\r\n            case \"400\": case \"500\": case \"600\": case \"700\": case \"800\": case \"900\":\r\n              fontWeight = parts[i];\r\n              break;\r\n            default:\r\n              if (!fontSize) {\r\n                fontSize = parts[i].split('/')[0];\r\n              } else {\r\n                if (!fontFamily) {\r\n                  fontFamily = parts[i];\r\n                } else {\r\n                  fontFamily += ' ' + parts[i];\r\n                }\r\n              }\r\n              break;\r\n          }\r\n        }\r\n        if (!result['font-style']) {result['font-style'] = fontStyle;}\r\n        if (!result['font-variant']) {result['font-variant'] = fontVariant;}\r\n        if (!result['font-weight']) {result['font-weight'] = fontWeight;}\r\n        if (!result['font-size']) {result['font-size'] = fontSize;}\r\n        if (!result['font-family']) {result['font-family'] = fontFamily;}\r\n      }\r\n      return result;\r\n    }\r\n    function parseSelector(v) {\r\n      let parts = v.split(/(?=[.#])/g), ids = [], classes = [], tags = [], temp;\r\n      for (let i = 0; i < parts.length; i++) {\r\n        if (temp = parts[i].match(/^[#]([_A-Za-z0-9-]+)$/)) {\r\n          ids.push(temp[1]);\r\n        } else if (temp = parts[i].match(/^[.]([_A-Za-z0-9-]+)$/)) {\r\n          classes.push(temp[1]);\r\n        } else if (temp = parts[i].match(/^([_A-Za-z0-9-]+)$/)) {\r\n          tags.push(temp[1]);\r\n        } else if (parts[i] !== '*') {\r\n          return;\r\n        }\r\n      }\r\n      return {\r\n        tags: tags, ids: ids, classes: classes,\r\n        specificity: ids.length * 10000 + classes.length * 100 + tags.length\r\n      };\r\n    }\r\n    function parseStyleSheet(v) {\r\n      let parser = new StringParser(v.trim()), rules = [], rule;\r\n      while (rule = parser.match(/^\\s*([^\\{\\}]*?)\\s*\\{([^\\{\\}]*?)\\}/, true)) {\r\n        let selectors = rule[1].split(/\\s*,\\s*/g),\r\n            css = parseStyleAttr(rule[2]);\r\n        for (let i = 0; i < selectors.length; i++) {\r\n          let selector = parseSelector(selectors[i]);\r\n          if (selector) {\r\n            rules.push({selector: selector, css:css});\r\n          }\r\n        }\r\n      }\r\n      return rules;\r\n    }\r\n    function matchesSelector(elem, selector) {\r\n      if (elem.nodeType !== 1) {return false;}\r\n      for (let i = 0; i < selector.tags.length; i++) {\r\n        if (selector.tags[i] !== elem.nodeName) {return false;}\r\n      }\r\n      for (let i = 0; i < selector.ids.length; i++) {\r\n        if (selector.ids[i] !== elem.id) {return false;}\r\n      }\r\n      for (let i = 0; i < selector.classes.length; i++) {\r\n        if (elem.classList.indexOf(selector.classes[i]) === -1) {return false;}\r\n      }\r\n      return true;\r\n    }\r\n    function getStyle(elem) {\r\n      let result = Object.create(null);\r\n      let specificities = Object.create(null);\r\n      for (let i = 0; i < styleRules.length; i++) {\r\n        let rule = styleRules[i];\r\n        if (matchesSelector(elem, rule.selector)) {\r\n          for (let key in rule.css) {\r\n            if (!(specificities[key] > rule.selector.specificity)) {\r\n              result[key] = rule.css[key];\r\n              specificities[key] = rule.selector.specificity;\r\n            }\r\n          }\r\n        }\r\n      }\r\n      return result;\r\n    }\r\n    function combineArrays(array1, array2) {\r\n      return array1.concat(array2.slice(array1.length));\r\n    }\r\n    function getAscent(font, size) {\r\n      return Math.max(font.ascender, (font.bbox[3] || font.bbox.maxY) * (font.scale || 1)) * size / 1000;\r\n    }\r\n    function getDescent(font, size) {\r\n      return Math.min(font.descender, (font.bbox[1] || font.bbox.minY) * (font.scale || 1)) * size / 1000;\r\n    }\r\n    function getXHeight(font, size) {\r\n      return (font.xHeight || 0.5 * (font.ascender - font.descender)) * size / 1000;\r\n    }\r\n    function getBaseline(font, size, baseline, shift) {\r\n      let dy1, dy2;\r\n      switch (baseline) {\r\n        case 'middle': dy1 = 0.5 * getXHeight(font, size); break;\r\n        case 'central': dy1 = 0.5 * (getDescent(font, size) + getAscent(font, size)); break;\r\n        case 'after-edge': case 'text-after-edge': dy1 = getDescent(font, size); break;\r\n        case 'alphabetic': case 'auto': case 'baseline': dy1 = 0; break;\r\n        case 'mathematical': dy1 = 0.5 * getAscent(font, size); break;\r\n        case 'hanging': dy1 = 0.8 * getAscent(font, size); break;\r\n        case 'before-edge': case 'text-before-edge': dy1 = getAscent(font, size); break;\r\n        default: dy1 = 0; break;\r\n      }\r\n      switch (shift) {\r\n        case 'baseline': dy2 = 0; break;\r\n        case 'super': dy2 = 0.6 * size; break;\r\n        case 'sub': dy2 = -0.6 * size; break;\r\n        default: dy2 = shift; break;\r\n      }\r\n      return dy1 - dy2;\r\n    }\r\n    function getTextPos(font, size, text) {\r\n      let encoded = font.encode('' + text), hex = encoded[0], pos = encoded[1], data = [];\r\n      for (let i = 0; i < hex.length; i++) {\r\n        let unicode = font.unicode ? font.unicode[parseInt(hex[i], 16)] : [text.charCodeAt(i)];\r\n        data.push({\r\n          glyph: hex[i],\r\n          unicode: unicode,\r\n          width: pos[i].advanceWidth * size / 1000,\r\n          xOffset: pos[i].xOffset * size / 1000,\r\n          yOffset: pos[i].yOffset * size / 1000,\r\n          xAdvance: pos[i].xAdvance * size / 1000,\r\n          yAdvance: pos[i].yAdvance * size / 1000\r\n        });\r\n      }\r\n      return data;\r\n    }\r\n    function createSVGElement(obj, inherits) {\r\n      switch (obj.nodeName) {\r\n        case 'use': return new SvgElemUse(obj, inherits);\r\n        case 'symbol': return new SvgElemSymbol(obj, inherits);\r\n        case 'g': return new SvgElemGroup(obj, inherits);\r\n        case 'a': return new SvgElemLink(obj, inherits);\r\n        case 'svg': return new SvgElemSvg(obj, inherits);\r\n        case 'image': return new SVGElemImage(obj, inherits);\r\n        case 'rect': return new SvgElemRect(obj, inherits);\r\n        case 'circle': return new SvgElemCircle(obj, inherits);\r\n        case 'ellipse': return new SvgElemEllipse(obj, inherits);\r\n        case 'line': return new SvgElemLine(obj, inherits);\r\n        case 'polyline': return new SvgElemPolyline(obj, inherits);\r\n        case 'polygon': return new SvgElemPolygon(obj, inherits);\r\n        case 'path': return new SvgElemPath(obj, inherits);\r\n        case 'text': return new SvgElemText(obj, inherits);\r\n        case 'tspan': return new SvgElemTspan(obj, inherits);\r\n        case 'textPath': return new SvgElemTextPath(obj, inherits);\r\n        case '#text': case '#cdata-section': return new SvgElemTextNode(obj, inherits);\r\n        default: return new SvgElem(obj, inherits);\r\n      }\r\n    }\r\n\r\n    var StringParser = function(str) {\r\n      this.match = function(exp, all) {\r\n        let temp = str.match(exp);\r\n        if (!temp || temp.index !== 0) {return;}\r\n        str = str.substring(temp[0].length);\r\n        return (all ? temp : temp[0]);\r\n      };\r\n      this.matchSeparator = function() {\r\n        return this.match(/^(?:\\s*,\\s*|\\s*|)/);\r\n      };\r\n      this.matchSpace = function() {\r\n        return this.match(/^(?:\\s*)/);\r\n      };\r\n      this.matchLengthUnit = function() {\r\n        return this.match(/^(?:px|pt|cm|mm|in|pc|em|ex|%|)/);\r\n      };\r\n      this.matchNumber = function() {\r\n        return this.match(/^(?:[-+]?(?:[0-9]+[.][0-9]+|[0-9]+[.]|[.][0-9]+|[0-9]+)(?:[eE][-+]?[0-9]+)?)/);\r\n      };\r\n      this.matchAll = function() {\r\n        return this.match(/^[\\s\\S]+/);\r\n      };\r\n    };\r\n\r\n    var BezierSegment = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {\r\n      let divisions = 6 * precision;\r\n      let equationX = [p1x, -3 * p1x + 3 * c1x, 3 * p1x - 6 * c1x + 3 * c2x, -p1x + 3 * c1x - 3 * c2x + p2x];\r\n      let equationY = [p1y, -3 * p1y + 3 * c1y, 3 * p1y - 6 * c1y + 3 * c2y, -p1y + 3 * c1y - 3 * c2y + p2y];\r\n      let derivativeX = [-3 * p1x + 3 * c1x, 6 * p1x - 12 * c1x + 6 * c2x, -3 * p1x + 9 * c1x - 9 * c2x + 3 * p2x];\r\n      let derivativeY = [-3 * p1y + 3 * c1y, 6 * p1y - 12 * c1y + 6 * c2y, -3 * p1y + 9 * c1y - 9 * c2y + 3 * p2y];\r\n      let lengthMap = [0];\r\n      for (let i = 1; i <= divisions; i++) {\r\n        let t = (i - 0.5) / divisions;\r\n        let dx = getCurveValue(t, derivativeX) / divisions,\r\n            dy = getCurveValue(t, derivativeY) / divisions,\r\n            l = Math.sqrt(dx * dx + dy * dy);\r\n        lengthMap[i] = lengthMap[i - 1] + l;\r\n      }\r\n      this.totalLength = lengthMap[divisions];\r\n      this.startPoint = [p1x, p1y, isEqual(p1x, c1x) && isEqual(p1y, c1y) ? Math.atan2(c2y - c1y, c2x - c1x) : Math.atan2(c1y - p1y, c1x - p1x)];\r\n      this.endPoint = [p2x, p2y, isEqual(c2x, p2x) && isEqual(c2y, p2y) ? Math.atan2(c2y - c1y, c2x - c1x) : Math.atan2(p2y - c2y, p2x - c2x)];\r\n      this.getBoundingBox = function() {\r\n        let temp;\r\n        let minX = getCurveValue(0, equationX), minY = getCurveValue(0, equationY),\r\n            maxX = getCurveValue(1, equationX), maxY = getCurveValue(1, equationY);\r\n        if (minX > maxX) {temp = maxX; maxX = minX; minX = temp;}\r\n        if (minY > maxY) {temp = maxY; maxY = minY; minY = temp;}\r\n        let rootsX = solveEquation(derivativeX);\r\n        for (let i = 0; i < rootsX.length; i++) {\r\n          if (rootsX[i] >= 0 && rootsX[i] <= 1) {\r\n            let x = getCurveValue(rootsX[i], equationX);\r\n            if (x < minX) {minX = x;}\r\n            if (x > maxX) {maxX = x;}\r\n          }\r\n        }\r\n        let rootsY = solveEquation(derivativeY);\r\n        for (let i = 0; i < rootsY.length; i++) {\r\n          if (rootsY[i] >= 0 && rootsY[i] <= 1) {\r\n            let y = getCurveValue(rootsY[i], equationY);\r\n            if (y < minY) {minY = y;}\r\n            if (y > maxY) {maxY = y;}\r\n          }\r\n        }\r\n        return [minX, minY, maxX, maxY];\r\n      };\r\n      this.getPointAtLength = function(l) {\r\n        if (isEqual(l, 0)) {return this.startPoint;}\r\n        if (isEqual(l, this.totalLength)) {return this.endPoint;}\r\n        if (l < 0 || l > this.totalLength) {return;}\r\n        for (let i = 1; i <= divisions; i++) {\r\n          let l1 = lengthMap[i-1], l2 = lengthMap[i];\r\n          if (l1 <= l && l <= l2) {\r\n            let t = (i - (l2 - l) / (l2 - l1)) / divisions,\r\n                x = getCurveValue(t, equationX), y = getCurveValue(t, equationY),\r\n                dx = getCurveValue(t, derivativeX), dy = getCurveValue(t, derivativeY);\r\n            return [x, y, Math.atan2(dy, dx)];\r\n          }\r\n        }\r\n      };\r\n    };\r\n\r\n    var LineSegment = function(p1x, p1y, p2x, p2y) {\r\n      this.totalLength = Math.sqrt((p2x - p1x) * (p2x - p1x) + (p2y - p1y) * (p2y - p1y));\r\n      this.startPoint = [p1x, p1y, Math.atan2(p2y - p1y, p2x - p1x)];\r\n      this.endPoint = [p2x, p2y, Math.atan2(p2y - p1y, p2x - p1x)];\r\n      this.getBoundingBox = function() {\r\n        return [Math.min(this.startPoint[0], this.endPoint[0]), Math.min(this.startPoint[1], this.endPoint[1]),\r\n                Math.max(this.startPoint[0], this.endPoint[0]), Math.max(this.startPoint[1], this.endPoint[1])];\r\n      };\r\n      this.getPointAtLength = function(l) {\r\n        if (l >= 0 && l <= this.totalLength) {\r\n          let r = l / this.totalLength || 0,\r\n              x = this.startPoint[0] + r * (this.endPoint[0] - this.startPoint[0]),\r\n              y = this.startPoint[1] + r * (this.endPoint[1] - this.startPoint[1]);\r\n          return [x, y, this.startPoint[2]];\r\n        }\r\n      };\r\n    };\r\n\r\n    var SvgShape = function() {\r\n      this.pathCommands = [];\r\n      this.pathSegments = [];\r\n      this.startPoint = null;\r\n      this.endPoint = null;\r\n      this.totalLength = 0;\r\n      let startX = 0, startY = 0, currX = 0, currY = 0, lastCom, lastCtrlX, lastCtrlY;\r\n      this.move = function(x, y) {\r\n        startX = currX = x; startY = currY = y;\r\n        return null;\r\n      };\r\n      this.line = function(x, y) {\r\n        let segment = new LineSegment(currX, currY, x, y);\r\n        currX = x; currY = y;\r\n        return segment;\r\n      };\r\n      this.curve = function(c1x, c1y, c2x, c2y, x, y) {\r\n        let segment = new BezierSegment(currX, currY, c1x, c1y, c2x, c2y, x, y);\r\n        currX = x; currY = y;\r\n        return segment;\r\n      };\r\n      this.close = function() {\r\n        let segment = new LineSegment(currX, currY, startX, startY);\r\n        currX = startX; currY = startY;\r\n        return segment;\r\n      };\r\n      this.addCommand = function(data) {\r\n        this.pathCommands.push(data);\r\n        let segment = this[data[0]].apply(this, data.slice(3));\r\n        if (segment) {\r\n          segment.hasStart = data[1];\r\n          segment.hasEnd = data[2];\r\n          this.startPoint = this.startPoint || segment.startPoint;\r\n          this.endPoint = segment.endPoint;\r\n          this.pathSegments.push(segment);\r\n          this.totalLength += segment.totalLength;\r\n        }\r\n      };\r\n      this.M = function(x, y) {\r\n        this.addCommand(['move', true, true, x, y]);\r\n        lastCom = 'M';\r\n        return this;\r\n      };\r\n      this.m = function(x, y) {\r\n        return this.M(currX + x, currY + y);\r\n      };\r\n      this.Z = this.z = function() {\r\n        this.addCommand(['close', true, true]);\r\n        lastCom = 'Z';\r\n        return this;\r\n      };\r\n      this.L = function(x, y) {\r\n        this.addCommand(['line', true, true, x, y]);\r\n        lastCom = 'L';\r\n        return this;\r\n      };\r\n      this.l = function(x, y) {\r\n        return this.L(currX + x, currY + y);\r\n      };\r\n      this.H = function(x) {\r\n        return this.L(x, currY);\r\n      };\r\n      this.h = function(x) {\r\n        return this.L(currX + x, currY);\r\n      };\r\n      this.V = function(y) {\r\n        return this.L(currX, y);\r\n      };\r\n      this.v = function(y) {\r\n        return this.L(currX, currY + y);\r\n      };\r\n      this.C = function(c1x, c1y, c2x, c2y, x, y) {\r\n        this.addCommand(['curve', true, true, c1x, c1y, c2x, c2y, x, y]);\r\n        lastCom = 'C'; lastCtrlX = c2x; lastCtrlY = c2y;\r\n        return this;\r\n      };\r\n      this.c = function(c1x, c1y, c2x, c2y, x, y) {\r\n        return this.C(currX + c1x, currY + c1y, currX + c2x, currY + c2y, currX + x, currY + y);\r\n      };\r\n      this.S = function(c1x, c1y, x, y) {\r\n        return this.C(currX + (lastCom === 'C' ? currX - lastCtrlX : 0), currY + (lastCom === 'C' ? currY - lastCtrlY : 0), c1x, c1y, x, y);\r\n      };\r\n      this.s = function(c1x, c1y, x, y) {\r\n        return this.C(currX + (lastCom === 'C' ? currX - lastCtrlX : 0), currY + (lastCom === 'C' ? currY - lastCtrlY : 0), currX + c1x, currY + c1y, currX + x, currY + y);\r\n      };\r\n      this.Q = function(cx, cy, x, y) {\r\n        let c1x = currX + 2 / 3 * (cx - currX), c1y = currY + 2 / 3 * (cy - currY),\r\n            c2x = x + 2 / 3 * (cx - x), c2y = y + 2 / 3 * (cy - y);\r\n        this.addCommand(['curve', true, true, c1x, c1y, c2x, c2y, x, y]);\r\n        lastCom = 'Q'; lastCtrlX = cx; lastCtrlY = cy;\r\n        return this;\r\n      };\r\n      this.q = function(c1x, c1y, x, y) {\r\n        return this.Q(currX + c1x, currY + c1y, currX + x, currY + y);\r\n      };\r\n      this.T = function(x, y) {\r\n        return this.Q(currX + (lastCom === 'Q' ? currX - lastCtrlX : 0), currY + (lastCom === 'Q' ? currY - lastCtrlY : 0), x, y);\r\n      };\r\n      this.t = function(x, y) {\r\n        return this.Q(currX + (lastCom === 'Q' ? currX - lastCtrlX : 0), currY + (lastCom === 'Q' ? currY - lastCtrlY : 0), currX + x, currY + y);\r\n      };\r\n      this.A = function(rx, ry, fi, fa, fs, x, y) {\r\n        if (isEqual(rx, 0) || isEqual(ry, 0)) {\r\n          this.addCommand(['line', true, true, x, y]);\r\n        } else {\r\n          fi = fi * (Math.PI / 180);\r\n          rx = Math.abs(rx);\r\n          ry = Math.abs(ry);\r\n          fa = 1 * !!fa;\r\n          fs = 1 * !!fs;\r\n          let x1 = Math.cos(fi) * (currX - x) / 2 + Math.sin(fi) * (currY - y) / 2,\r\n              y1 = Math.cos(fi) * (currY - y) / 2 - Math.sin(fi) * (currX - x) / 2,\r\n              lambda = (x1 * x1) / (rx * rx) + (y1 * y1) / (ry * ry);\r\n          if (lambda > 1) {\r\n            rx *= Math.sqrt(lambda);\r\n            ry *= Math.sqrt(lambda);\r\n          }\r\n          let r = Math.sqrt(Math.max(0, rx * rx * ry * ry - rx * rx * y1 * y1 - ry * ry * x1 * x1) / (rx * rx * y1 * y1 + ry * ry * x1 * x1)),\r\n              x2 = (fa === fs ? -1 : 1) * r * rx * y1 / ry,\r\n              y2 = (fa === fs ? 1 : -1) * r * ry * x1 / rx;\r\n          let cx = Math.cos(fi) * x2 - Math.sin(fi) * y2 + (currX + x) / 2,\r\n              cy = Math.sin(fi) * x2 + Math.cos(fi) * y2 + (currY + y) / 2,\r\n              th1 = Math.atan2((y1 - y2) / ry, (x1 - x2) / rx),\r\n              th2 = Math.atan2((-y1 - y2) / ry, (-x1 - x2) / rx);\r\n          if (fs === 0 && th2 - th1 > 0) {\r\n            th2 -= 2 * Math.PI;\r\n          } else if (fs === 1 && th2 - th1 < 0) {\r\n            th2 += 2 * Math.PI;\r\n          }\r\n          let segms = Math.ceil(Math.abs(th2 - th1) / (Math.PI / precision));\r\n          for (let i = 0; i < segms; i++) {\r\n            let th3 = th1 + i * (th2 - th1) / segms,\r\n                th4 = th1 + (i + 1) * (th2 - th1) / segms,\r\n                t = 4/3 * Math.tan((th4 - th3) / 4);\r\n            let c1x = cx + Math.cos(fi) * rx * (Math.cos(th3) - t * Math.sin(th3)) - Math.sin(fi) * ry * (Math.sin(th3) + t * Math.cos(th3)),\r\n                c1y = cy + Math.sin(fi) * rx * (Math.cos(th3) - t * Math.sin(th3)) + Math.cos(fi) * ry * (Math.sin(th3) + t * Math.cos(th3)),\r\n                c2x = cx + Math.cos(fi) * rx * (Math.cos(th4) + t * Math.sin(th4)) - Math.sin(fi) * ry * (Math.sin(th4) - t * Math.cos(th4)),\r\n                c2y = cy + Math.sin(fi) * rx * (Math.cos(th4) + t * Math.sin(th4)) + Math.cos(fi) * ry * (Math.sin(th4) - t * Math.cos(th4)),\r\n                endX = cx + Math.cos(fi) * rx * Math.cos(th4) - Math.sin(fi) * ry * Math.sin(th4),\r\n                endY = cy + Math.sin(fi) * rx * Math.cos(th4) + Math.cos(fi) * ry * Math.sin(th4);\r\n            this.addCommand(['curve', (i === 0), (i === segms - 1), c1x, c1y, c2x, c2y, endX, endY]);\r\n          }\r\n        }\r\n        lastCom = 'A';\r\n        return this;\r\n      };\r\n      this.a = function(rx, ry, fi, fa, fs, x, y) {\r\n        return this.A(rx, ry, fi, fa, fs, currX + x, currY + y);\r\n      };\r\n      this.path = function(d) {\r\n        let command, value, temp,\r\n            parser = new StringParser((d || '').trim());\r\n        while (command = parser.match(/^[astvzqmhlcASTVZQMHLC]/)) {\r\n          parser.matchSeparator();\r\n          let values = [];\r\n          while (value = (PathFlags[command + values.length] ? parser.match(/^[01]/) : parser.matchNumber())) {\r\n            parser.matchSeparator();\r\n            if (values.length === PathArguments[command]) {\r\n              this[command].apply(this, values);\r\n              values = [];\r\n              if (command === 'M') {command = 'L';}\r\n              else if (command === 'm') {command = 'l';}\r\n            }\r\n            values.push(Number(value));\r\n          }\r\n          if (values.length === PathArguments[command]) {\r\n            this[command].apply(this, values);\r\n          } else {\r\n            warningCallback('SvgPath: command ' + command + ' with ' + values.length + ' numbers'); return;\r\n          }\r\n        }\r\n        if (temp = parser.matchAll()) {\r\n          warningCallback('SvgPath: unexpected string ' + temp);\r\n        }\r\n        return this;\r\n      };\r\n      this.getBoundingBox = function() {\r\n        let bbox = [Infinity, Infinity, -Infinity, -Infinity];\r\n        function addBounds(bbox1) {\r\n          if (bbox1[0] < bbox[0]) {bbox[0] = bbox1[0];}\r\n          if (bbox1[2] > bbox[2]) {bbox[2] = bbox1[2];}\r\n          if (bbox1[1] < bbox[1]) {bbox[1] = bbox1[1];}\r\n          if (bbox1[3] > bbox[3]) {bbox[3] = bbox1[3];}\r\n        }\r\n        for (let i = 0; i < this.pathSegments.length; i++) {\r\n          addBounds(this.pathSegments[i].getBoundingBox());\r\n        }\r\n        if (bbox[0] === Infinity) {bbox[0] = 0;}\r\n        if (bbox[1] === Infinity) {bbox[1] = 0;}\r\n        if (bbox[2] === -Infinity) {bbox[2] = 0;}\r\n        if (bbox[3] === -Infinity) {bbox[3] = 0;}\r\n        return bbox;\r\n      };\r\n      this.getPointAtLength = function(l) {\r\n        if (l >= 0 && l <= this.totalLength) {\r\n          let temp;\r\n          for (let i = 0; i < this.pathSegments.length; i++) {\r\n            if (temp = this.pathSegments[i].getPointAtLength(l)) {\r\n              return temp;\r\n            }\r\n            l -= this.pathSegments[i].totalLength;\r\n          }\r\n          return this.endPoint;\r\n        }\r\n      };\r\n      this.transform = function(m) {\r\n        this.pathSegments = [];\r\n        this.startPoint = null;\r\n        this.endPoint = null;\r\n        this.totalLength = 0;\r\n        for (let i = 0; i < this.pathCommands.length; i++) {\r\n          let data = this.pathCommands.shift();\r\n          for (let j = 3; j < data.length; j+=2) {\r\n            let p = transformPoint([data[j], data[j + 1]], m)\r\n            data[j] = p[0];\r\n            data[j + 1] = p[1];\r\n          }\r\n          this.addCommand(data);\r\n        }\r\n        return this;        \r\n      };\r\n      this.mergeShape = function(shape) {\r\n        for (let i = 0; i < shape.pathCommands.length; i++) {\r\n          this.addCommand(shape.pathCommands[i].slice());\r\n        }\r\n        return this;\r\n      };\r\n      this.clone = function() {\r\n        return new SvgShape().mergeShape(this);\r\n      };\r\n      this.insertInDocument = function() {\r\n        for (let i = 0; i < this.pathCommands.length; i++) {\r\n          let command = this.pathCommands[i][0], values = this.pathCommands[i].slice(3);\r\n          switch(command) {\r\n            case 'move':  doc.moveTo(values[0], values[1]);  break;\r\n            case 'line':  doc.lineTo(values[0], values[1]);  break;\r\n            case 'curve':  doc.bezierCurveTo(values[0], values[1], values[2], values[3], values[4], values[5]);  break;\r\n            case 'close':  doc.closePath();  break;\r\n          }\r\n        }\r\n      };\r\n      this.getSubPaths = function() {\r\n        let subPaths = [], shape = new SvgShape();\r\n        for (let i = 0; i < this.pathCommands.length; i++) {\r\n          let data = this.pathCommands[i], command = this.pathCommands[i][0];\r\n          if (command === 'move' && i !== 0) {\r\n            subPaths.push(shape);\r\n            shape = new SvgShape();\r\n          }\r\n          shape.addCommand(data);\r\n        }\r\n        subPaths.push(shape);\r\n        return subPaths;\r\n      };\r\n      this.getMarkers = function() {\r\n        let markers = [], subPaths = this.getSubPaths();\r\n        for (let i = 0; i < subPaths.length; i++) {\r\n          let subPath = subPaths[i], subPathMarkers = [];\r\n          for (let j = 0; j < subPath.pathSegments.length; j++) {\r\n            let segment = subPath.pathSegments[j];\r\n            if (isNotEqual(segment.totalLength, 0) || j === 0 || j === subPath.pathSegments.length - 1) {\r\n              if (segment.hasStart) {\r\n                let startMarker = segment.getPointAtLength(0), prevEndMarker = subPathMarkers.pop();\r\n                if (prevEndMarker) {startMarker[2] = 0.5 * (prevEndMarker[2] + startMarker[2]);}\r\n                subPathMarkers.push(startMarker);\r\n              }\r\n              if (segment.hasEnd) {\r\n                let endMarker = segment.getPointAtLength(segment.totalLength);\r\n                subPathMarkers.push(endMarker);\r\n              }\r\n            }\r\n          }\r\n          markers = markers.concat(subPathMarkers);\r\n        }\r\n        return markers;\r\n      };\r\n    };\r\n\r\n    var SvgElem = function(obj, inherits) {\r\n      let styleCache = Object.create(null);\r\n      let childrenCache = null;\r\n      this.name = obj.nodeName;\r\n      this.isOuterElement = obj === svg || !obj.parentNode;\r\n      this.inherits = inherits || (!this.isOuterElement ? createSVGElement(obj.parentNode, null) : null);\r\n      this.stack = (this.inherits ? this.inherits.stack.concat(obj) : [obj]);\r\n      this.style = parseStyleAttr(typeof obj.getAttribute === 'function' && obj.getAttribute('style'));\r\n      this.css = useCSS ? getComputedStyle(obj) : getStyle(obj);\r\n      this.allowedChildren = [];\r\n      this.attr = function(key) {\r\n        if (typeof obj.getAttribute === 'function') {\r\n          return obj.getAttribute(key);\r\n        }\r\n      };\r\n      this.resolveUrl = function(value) {\r\n        let temp = (value || '').match(/^\\s*(?:url\\(\"(.*)#(.*)\"\\)|url\\('(.*)#(.*)'\\)|url\\((.*)#(.*)\\)|(.*)#(.*))\\s*$/) || [];\r\n        let file = temp[1] || temp[3] || temp[5] || temp[7],\r\n            id = temp[2] || temp[4] || temp[6] || temp[8];\r\n        if (id) {\r\n          if (!file) {\r\n            let svgObj = svg.getElementById(id);\r\n            if (svgObj) {\r\n              if (this.stack.indexOf(svgObj) === -1) {\r\n                return svgObj;\r\n              } else {\r\n                warningCallback('SVGtoPDF: loop of circular references for id \"' + id + '\"');\r\n                return;\r\n              }\r\n            }\r\n          }\r\n          if (documentCallback) {\r\n            let svgs = documentCache[file];\r\n            if (!svgs) {\r\n              svgs = documentCallback(file);\r\n              if (!isArrayLike(svgs)) {svgs = [svgs];}\r\n              for (let i = 0; i < svgs.length; i++) {\r\n                if (typeof svgs[i] === 'string') {svgs[i] = parseXml(svgs[i]);}\r\n              }\r\n              documentCache[file] = svgs;\r\n            }\r\n            for (let i = 0; i < svgs.length; i++) {\r\n              let svgObj = svgs[i].getElementById(id);\r\n              if (svgObj) {\r\n                if (this.stack.indexOf(svgObj) === -1) {\r\n                  return svgObj;\r\n                } else {\r\n                  warningCallback('SVGtoPDF: loop of circular references for id \"' + file + '#' + id + '\"');\r\n                  return;\r\n                }\r\n              }\r\n            }\r\n          }\r\n        }\r\n      };\r\n      this.computeUnits = function(value, unit, percent, isFontSize) {\r\n        if (unit === '%') {\r\n          return parseFloat(value) / 100 * (isFontSize || percent != null ? percent : this.getViewport());\r\n        } else if (unit === 'ex' || unit === 'em') {\r\n          return value * {'em':1, 'ex':0.5}[unit] * (isFontSize ? percent : this.get('font-size'));\r\n        } else {\r\n          return value * {'':1, 'px':1, 'pt':96/72, 'cm':96/2.54, 'mm':96/25.4, 'in':96, 'pc':96/6}[unit];\r\n        }\r\n      };\r\n      this.computeLength = function(value, percent, initial, isFontSize) {\r\n        let parser = new StringParser((value || '').trim()), temp1, temp2;\r\n        if (typeof (temp1 = parser.matchNumber()) === 'string' && typeof (temp2 = parser.matchLengthUnit()) === 'string' && !parser.matchAll()) {\r\n          return this.computeUnits(temp1, temp2, percent, isFontSize);\r\n        }\r\n        return initial;\r\n      };\r\n      this.computeLengthList = function(value, percent, strict) {\r\n        let parser = new StringParser((value || '').trim()), result = [], temp1, temp2;\r\n        while (typeof (temp1 = parser.matchNumber()) === 'string' && typeof (temp2 = parser.matchLengthUnit()) === 'string') {\r\n          result.push(this.computeUnits(temp1, temp2, percent));\r\n          parser.matchSeparator();\r\n        }\r\n        if (strict && parser.matchAll()) {return;}\r\n        return result;\r\n      };\r\n      this.getLength = function(key, percent, initial) {\r\n        return this.computeLength(this.attr(key), percent, initial);\r\n      };\r\n      this.getLengthList = function(key, percent) {\r\n        return this.computeLengthList(this.attr(key), percent);\r\n      };\r\n      this.getUrl = function(key) {\r\n        return this.resolveUrl(this.attr(key))\r\n      };\r\n      this.getNumberList = function(key) {\r\n        let parser = new StringParser((this.attr(key) || '').trim()), result = [], temp;\r\n        while (temp = parser.matchNumber()) {\r\n          result.push(Number(temp));\r\n          parser.matchSeparator();\r\n        }\r\n        result.error = parser.matchAll();\r\n        return result;\r\n      }\r\n      this.getViewbox = function(key, initial) {\r\n        let viewBox = this.getNumberList(key);\r\n        if (viewBox.length === 4 && viewBox[2] >= 0 && viewBox[3] >= 0) {return viewBox;}\r\n        return initial;\r\n      };\r\n      this.getPercent = function(key, initial) {\r\n        let value = this.attr(key);\r\n        let parser = new StringParser((value || '').trim()), temp1, temp2;\r\n        let number = parser.matchNumber();\r\n        if (!number) {return initial;}\r\n        if (parser.match('%')) {number *= 0.01;}\r\n        if (parser.matchAll()) {return initial;}\r\n        return Math.max(0, Math.min(1, number));\r\n      };\r\n      this.chooseValue = function(args) {\r\n        for (let i = 0; i < arguments.length; i++) {\r\n          if (arguments[i] != null && arguments[i] === arguments[i]) {return arguments[i];}\r\n        }\r\n        return arguments[arguments.length - 1];\r\n      };\r\n      this.get = function(key) {\r\n        if (styleCache[key] !== undefined) {return styleCache[key];}\r\n        let keyInfo = Properties[key] || {}, value, result;\r\n        for (let i = 0; i < 3; i++) {\r\n          switch (i) {\r\n            case 0:\r\n              if (key !== 'transform') { // the CSS transform behaves strangely\r\n                value = this.css[keyInfo.css || key];\r\n              }\r\n              break;\r\n            case 1:\r\n              value = this.style[key];\r\n              break;\r\n            case 2:\r\n              value = this.attr(key);\r\n              break;\r\n          }\r\n          if (value === 'inherit') {\r\n            result = (this.inherits ? this.inherits.get(key) : keyInfo.initial);\r\n            if (result != null) {return styleCache[key] = result;}\r\n          }\r\n          if (keyInfo.values != null) {\r\n            result = keyInfo.values[value];\r\n            if (result != null) {return styleCache[key] = result;}\r\n          }\r\n          if (value != null) {\r\n            let parsed;\r\n            switch (key) {\r\n              case 'font-size':\r\n                result = this.computeLength(value, this.inherits ? this.inherits.get(key) : keyInfo.initial, undefined, true);\r\n                break;\r\n              case 'baseline-shift':\r\n                result = this.computeLength(value, this.get('font-size'));\r\n                break;\r\n              case 'font-family':\r\n                result = value || undefined;\r\n                break;\r\n              case 'opacity': case 'stroke-opacity': case 'fill-opacity': case 'stop-opacity':\r\n                parsed = parseFloat(value);\r\n                if (!isNaN(parsed)) {\r\n                  result = Math.max(0, Math.min(1, parsed));\r\n                }\r\n                break;\r\n              case 'transform':\r\n                result = parseTranform(value);\r\n                break;\r\n              case 'stroke-dasharray':\r\n                if (value === 'none') {\r\n                  result = [];\r\n                } else if (parsed = this.computeLengthList(value, this.getViewport(), true)) {\r\n                  let sum = 0, error = false;\r\n                  for (let j = 0; j < parsed.length; j++) {\r\n                    if (parsed[j] < 0) {error = true;}\r\n                    sum += parsed[j];\r\n                  }\r\n                  if (!error) {\r\n                    if (parsed.length % 2 === 1) {\r\n                      parsed = parsed.concat(parsed);\r\n                    }\r\n                    result = (sum === 0 ? [] : parsed);\r\n                  }\r\n                }\r\n                break;\r\n              case 'color':\r\n                if (value === 'none' || value === 'transparent') {\r\n                  result = 'none';\r\n                } else {\r\n                  result = parseColor(value);\r\n                }\r\n                break;\r\n              case 'fill': case 'stroke':\r\n                if (value === 'none' || value === 'transparent') {\r\n                  result = 'none';\r\n                } else if (value === 'currentColor') {\r\n                  result = this.get('color');\r\n                } else if (parsed = parseColor(value)) {\r\n                  return parsed;\r\n                } else if (parsed = (value || '').split(' ')) {\r\n                  let object = this.resolveUrl(parsed[0]),\r\n                      fallbackColor = parseColor(parsed[1]);\r\n                  if (object == null) {\r\n                    result = fallbackColor;\r\n                  } else if (object.nodeName === 'linearGradient' || object.nodeName === 'radialGradient') {\r\n                    result = new SvgElemGradient(object, null, fallbackColor);\r\n                  } else if (object.nodeName === 'pattern') {\r\n                    result = new SvgElemPattern(object, null, fallbackColor);\r\n                  } else {\r\n                    result = fallbackColor;\r\n                  }\r\n                }\r\n                break;\r\n              case 'stop-color':\r\n                if (value === 'none' || value === 'transparent') {\r\n                  result = 'none';\r\n                } else if (value === 'currentColor') {\r\n                  result = this.get('color');\r\n                } else {\r\n                  result = parseColor(value);\r\n                }\r\n                break;\r\n              case 'marker-start': case 'marker-mid': case 'marker-end': case 'clip-path': case 'mask':\r\n                if (value === 'none') {\r\n                  result = 'none';\r\n                } else {\r\n                  result = this.resolveUrl(value);\r\n                }\r\n                break;\r\n              case 'stroke-width':\r\n                parsed = this.computeLength(value, this.getViewport());\r\n                if (parsed != null && parsed >= 0) {\r\n                  result = parsed;\r\n                }\r\n                break;\r\n              case 'stroke-miterlimit':\r\n                parsed = parseFloat(value);\r\n                if (parsed != null && parsed >= 1) {\r\n                  result = parsed;\r\n                }\r\n                break;\r\n              case 'word-spacing': case 'letter-spacing':\r\n                result = this.computeLength(value, this.getViewport());\r\n                break;\r\n              case 'stroke-dashoffset':\r\n                result = this.computeLength(value, this.getViewport());\r\n                if (result != null) {\r\n                  if (result < 0) { // fix for crbug.com/660850\r\n                    let dasharray = this.get('stroke-dasharray');\r\n                    for (let j = 0; j < dasharray.length; j++) {result += dasharray[j];}\r\n                  }\r\n                }\r\n                break;\r\n            }\r\n            if (result != null) {return styleCache[key] = result;}\r\n          }\r\n        }\r\n        return styleCache[key] = (keyInfo.inherit && this.inherits ? this.inherits.get(key) : keyInfo.initial);\r\n      };\r\n      this.getChildren = function() {\r\n        if (childrenCache != null) {return childrenCache;}\r\n        let children = [];\r\n        for (let i = 0; i < obj.childNodes.length; i++) {\r\n          let child = obj.childNodes[i];\r\n          if (!child.error && this.allowedChildren.indexOf(child.nodeName) !== -1) {\r\n            children.push(createSVGElement(child, this));\r\n          }\r\n        }\r\n        return childrenCache = children;\r\n      };\r\n      this.getParentVWidth = function() {\r\n        return (this.inherits ? this.inherits.getVWidth(): viewportWidth);\r\n      };\r\n      this.getParentVHeight = function() {\r\n        return (this.inherits ? this.inherits.getVHeight() : viewportHeight);\r\n      };\r\n      this.getParentViewport = function() {\r\n        return Math.sqrt(0.5 * this.getParentVWidth() * this.getParentVWidth() + 0.5 * this.getParentVHeight() * this.getParentVHeight());\r\n      };\r\n      this.getVWidth = function() {\r\n        return this.getParentVWidth();\r\n      };\r\n      this.getVHeight = function() {\r\n        return this.getParentVHeight();\r\n      };\r\n      this.getViewport = function() {\r\n        return Math.sqrt(0.5 * this.getVWidth() * this.getVWidth() + 0.5 * this.getVHeight() * this.getVHeight());\r\n      };\r\n      this.getBoundingBox = function() {\r\n        let shape = this.getBoundingShape();\r\n        return shape.getBoundingBox();\r\n      };\r\n    };\r\n\r\n    var SvgElemStylable = function(obj, inherits) {\r\n      SvgElem.call(this, obj, inherits);\r\n      this.transform = function() {\r\n        doc.transform.apply(doc, this.getTransformation());\r\n      };\r\n      this.clip = function() {\r\n        if (this.get('clip-path') !== 'none') {\r\n          let clipPath = new SvgElemClipPath(this.get('clip-path'), null);\r\n          clipPath.useMask(this.getBoundingBox());\r\n          return true;\r\n        }\r\n      };\r\n      this.mask = function() {\r\n        if (this.get('mask') !== 'none') {\r\n          let mask = new SvgElemMask(this.get('mask'), null);\r\n          mask.useMask(this.getBoundingBox());\r\n          return true;\r\n        }\r\n      };\r\n      this.getFill = function(isClip, isMask) {\r\n        let opacity = this.get('opacity'),\r\n            fill = this.get('fill'),\r\n            fillOpacity = this.get('fill-opacity');\r\n        if (isClip) {return DefaultColors.white;}\r\n        if (fill !== 'none' && opacity && fillOpacity) {\r\n          if (fill instanceof SvgElemGradient || fill instanceof SvgElemPattern) {\r\n            return fill.getPaint(this.getBoundingBox(), fillOpacity * opacity, isClip, isMask);\r\n          }\r\n          return opacityToColor(fill, fillOpacity * opacity, isMask);\r\n        }\r\n      };\r\n      this.getStroke = function(isClip, isMask) {\r\n        let opacity = this.get('opacity'),\r\n            stroke = this.get('stroke'),\r\n            strokeOpacity = this.get('stroke-opacity');\r\n        if (isClip || isEqual(this.get('stroke-width'), 0)) {return;}\r\n        if (stroke !== 'none' && opacity && strokeOpacity) {\r\n          if (stroke instanceof SvgElemGradient || stroke instanceof SvgElemPattern) {\r\n            return stroke.getPaint(this.getBoundingBox(), strokeOpacity * opacity, isClip, isMask);\r\n          }\r\n          return opacityToColor(stroke, strokeOpacity * opacity, isMask);\r\n        }\r\n      };\r\n    };\r\n\r\n    var SvgElemHasChildren = function(obj, inherits) {\r\n      SvgElemStylable.call(this, obj, inherits);\r\n      this.allowedChildren = ['use', 'g', 'a', 'svg', 'image', 'rect', 'circle', 'ellipse', 'line', 'polyline', 'polygon', 'path', 'text'];\r\n      this.getBoundingShape = function() {\r\n        let shape = new SvgShape(),\r\n            children = this.getChildren();\r\n        for (let i = 0; i < children.length; i++) {\r\n          if (children[i].get('display') !== 'none') {\r\n            if (typeof children[i].getBoundingShape === 'function') {\r\n              let childShape = children[i].getBoundingShape().clone();\r\n              if (typeof children[i].getTransformation === 'function') {\r\n                childShape.transform(children[i].getTransformation());\r\n              }\r\n              shape.mergeShape(childShape);\r\n            }\r\n          }\r\n        }\r\n        return shape;\r\n      };\r\n      this.drawChildren = function(isClip, isMask) {\r\n        let children = this.getChildren();\r\n        for (let i = 0; i < children.length; i++) {\r\n          if (children[i].get('display') !== 'none') {\r\n            if (typeof children[i].drawInDocument === 'function') {\r\n              children[i].drawInDocument(isClip, isMask);\r\n            }\r\n          }\r\n        }\r\n      };\r\n    };\r\n\r\n    var SvgElemContainer = function(obj, inherits) {\r\n      SvgElemHasChildren.call(this, obj, inherits);\r\n      this.drawContent = function(isClip, isMask) {\r\n        this.transform();\r\n        let clipped = this.clip(),\r\n            masked = this.mask(),\r\n            group;\r\n        if ((this.get('opacity') < 1 || clipped || masked) && !isClip) {\r\n          group = docBeginGroup(getPageBBox());\r\n        }\r\n        this.drawChildren(isClip, isMask);\r\n        if (group) {\r\n          docEndGroup(group);\r\n          doc.fillOpacity(this.get('opacity'));\r\n          docInsertGroup(group);\r\n        }\r\n      };\r\n    };\r\n\r\n    var SvgElemUse = function(obj, inherits) {\r\n      SvgElemContainer.call(this, obj, inherits);\r\n      let x = this.getLength('x', this.getVWidth(), 0),\r\n          y = this.getLength('y', this.getVHeight(), 0),\r\n          child = this.getUrl('href') || this.getUrl('xlink:href');\r\n      if (child) {child = createSVGElement(child, this);}\r\n      this.getChildren  = function() {\r\n        return child ? [child] : [];\r\n      };\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        doc.save();\r\n        this.drawContent(isClip, isMask);\r\n        doc.restore();\r\n      };\r\n      this.getTransformation = function() {\r\n        return multiplyMatrix(this.get('transform'), [1, 0, 0, 1, x, y]);\r\n      };\r\n    };\r\n\r\n    var SvgElemSymbol = function(obj, inherits) {\r\n      SvgElemContainer.call(this, obj, inherits);\r\n      let width = this.getLength('width', this.getParentVWidth(), this.getParentVWidth()),\r\n          height = this.getLength('height', this.getParentVHeight(), this.getParentVHeight());\r\n      if (inherits instanceof SvgElemUse) {\r\n        width = inherits.getLength('width', inherits.getParentVWidth(), width);\r\n        height = inherits.getLength('height', inherits.getParentVHeight(), height);\r\n      }\r\n      let aspectRatio = (this.attr('preserveAspectRatio') || '').trim(),\r\n          viewBox = this.getViewbox('viewBox', [0, 0, width, height]);\r\n      this.getVWidth = function() {\r\n        return viewBox[2];\r\n      };\r\n      this.getVHeight = function() {\r\n        return viewBox[3];\r\n      };\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        doc.save();\r\n        this.drawContent(isClip, isMask);\r\n        doc.restore();\r\n      };\r\n      this.getTransformation = function() {\r\n        return multiplyMatrix(parseAspectRatio(aspectRatio, width, height, viewBox[2], viewBox[3]), [1, 0, 0, 1, -viewBox[0], -viewBox[1]]);\r\n      };\r\n    };\r\n\r\n    var SvgElemGroup = function(obj, inherits) {\r\n      SvgElemContainer.call(this, obj, inherits);\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        doc.save();\r\n        if (this.link && !isClip && !isMask) {this.addLink();}\r\n        this.drawContent(isClip, isMask);\r\n        doc.restore();\r\n      };\r\n      this.getTransformation = function() {\r\n        return this.get('transform');\r\n      };\r\n    };\r\n\r\n    var SvgElemLink = function(obj, inherits) {\r\n      if (inherits && inherits.isText) {\r\n        SvgElemTspan.call(this, obj, inherits);\r\n        this.allowedChildren = ['textPath', 'tspan', '#text', '#cdata-section', 'a'];\r\n      } else {\r\n        SvgElemGroup.call(this, obj, inherits);\r\n      }\r\n      this.link = this.attr('href') || this.attr('xlink:href');\r\n      this.addLink = function() {\r\n        if (this.link.match(/^(?:[a-z][a-z0-9+.-]*:|\\/\\/)?/i) && this.getChildren().length) {\r\n          let bbox = this.getBoundingShape().transform(getGlobalMatrix()).getBoundingBox();\r\n          docInsertLink(bbox[0], bbox[1], bbox[2], bbox[3], this.link);\r\n        }\r\n      }\r\n    };\r\n\r\n    var SvgElemSvg = function(obj, inherits) {\r\n      SvgElemContainer.call(this, obj, inherits);\r\n      let width = this.getLength('width', this.getParentVWidth(), this.getParentVWidth()),\r\n          height = this.getLength('height', this.getParentVHeight(), this.getParentVHeight()),\r\n          x = this.getLength('x', this.getParentVWidth(), 0),\r\n          y = this.getLength('y', this.getParentVHeight(), 0);\r\n      if (inherits instanceof SvgElemUse) {\r\n        width = inherits.getLength('width', inherits.getParentVWidth(), width);\r\n        height = inherits.getLength('height', inherits.getParentVHeight(), height);\r\n      }\r\n      let aspectRatio = this.attr('preserveAspectRatio'),\r\n          viewBox = this.getViewbox('viewBox', [0, 0, width, height]);\r\n      if (this.isOuterElement && preserveAspectRatio) {\r\n        x = y = 0;\r\n        width = viewportWidth;\r\n        height = viewportHeight;\r\n        aspectRatio = preserveAspectRatio;\r\n      }\r\n      this.getVWidth = function() {\r\n        return viewBox[2];\r\n      };\r\n      this.getVHeight = function() {\r\n        return viewBox[3];\r\n      };\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        doc.save();\r\n        if (this.get('overflow') === 'hidden') {\r\n          new SvgShape().M(x, y).L(x + width, y).L(x + width, y + height).L(x, y + height).Z()\r\n                        .transform(this.get('transform'))\r\n                        .insertInDocument();\r\n          doc.clip();\r\n        }\r\n        this.drawContent(isClip, isMask);\r\n        doc.restore();\r\n      };\r\n      this.getTransformation = function() {\r\n        return multiplyMatrix(\r\n          this.get('transform'),\r\n          [1, 0, 0, 1, x, y],\r\n          parseAspectRatio(aspectRatio, width, height, viewBox[2], viewBox[3]),\r\n          [1, 0, 0, 1, -viewBox[0], -viewBox[1]]\r\n        );\r\n      };\r\n    };\r\n\r\n    var SVGElemImage = function(obj, inherits) {\r\n      SvgElemStylable.call(this, obj, inherits);\r\n      let link = imageCallback(this.attr('href') || this.attr('xlink:href') || ''),\r\n          x = this.getLength('x', this.getVWidth(), 0),\r\n          y = this.getLength('y', this.getVHeight(), 0),\r\n          width = this.getLength('width', this.getVWidth(), 'auto'),\r\n          height = this.getLength('height', this.getVHeight(), 'auto'),\r\n          image;\r\n      try {\r\n        image = doc.openImage(link);\r\n      } catch(e) {\r\n        warningCallback('SVGElemImage: failed to open image \"' + link + '\" in PDFKit');\r\n      }\r\n      if (image) {\r\n        if (width === 'auto' && height !== 'auto') {\r\n          width = height * image.width / image.height;\r\n        } else if (height === 'auto' && width !== 'auto') {\r\n          height = width * image.height / image.width;\r\n        } else if (width === 'auto' && height === 'auto') {\r\n          width = image.width;\r\n          height = image.height;\r\n        }\r\n      }\r\n      if (width === 'auto' || width < 0) {width = 0;}\r\n      if (height === 'auto' || height < 0) {height = 0;}\r\n      this.getTransformation = function() {\r\n        return this.get('transform');\r\n      };\r\n      this.getBoundingShape = function() {\r\n        return new SvgShape().M(x, y).L(x + width, y).M(x + width, y + height).L(x, y + height);\r\n      };\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        if (this.get('visibility') === 'hidden' || !image) {return;}\r\n        doc.save();\r\n        this.transform();\r\n        if (this.get('overflow') === 'hidden') {\r\n          doc.rect(x, y, width, height).clip();\r\n        }\r\n        this.clip();\r\n        this.mask();\r\n        doc.translate(x, y);\r\n        doc.transform.apply(doc, parseAspectRatio(this.attr('preserveAspectRatio'), width, height, image ? image.width : width, image ? image.height : height));\r\n        if (!isClip) {\r\n          doc.fillOpacity(this.get('opacity'));\r\n          doc.image(image, 0, 0);\r\n        } else {\r\n          doc.rect(0, 0, image.width, image.height);\r\n          docFillColor(DefaultColors.white).fill();\r\n        }\r\n        doc.restore();\r\n      };\r\n    };\r\n\r\n    var SvgElemPattern = function(obj, inherits, fallback) {\r\n      SvgElemHasChildren.call(this, obj, inherits);\r\n      this.ref = (function() {\r\n        let ref = this.getUrl('href') || this.getUrl('xlink:href');\r\n        if (ref && ref.nodeName === obj.nodeName) {\r\n          return new SvgElemPattern(ref, inherits, fallback);\r\n        }\r\n      }).call(this);\r\n      let _attr = this.attr;\r\n      this.attr = function(key) {\r\n        let attr = _attr.call(this, key);\r\n        if (attr != null || key === 'href' || key === 'xlink:href') {return attr;}\r\n        return this.ref ? this.ref.attr(key) : null;\r\n      };\r\n      let _getChildren = this.getChildren;\r\n      this.getChildren = function() {\r\n        let children = _getChildren.call(this);\r\n        if (children.length > 0) {return children;}\r\n        return this.ref ? this.ref.getChildren() : [];\r\n      };\r\n      this.getPaint = function(bBox, gOpacity, isClip, isMask) {\r\n        let bBoxUnitsPattern = (this.attr('patternUnits') !== 'userSpaceOnUse'),\r\n            bBoxUnitsContent = (this.attr('patternContentUnits') === 'objectBoundingBox'),\r\n            x = this.getLength('x', (bBoxUnitsPattern ? 1 : this.getParentVWidth()), 0),\r\n            y = this.getLength('y', (bBoxUnitsPattern ? 1 : this.getParentVHeight()), 0),\r\n            width = this.getLength('width', (bBoxUnitsPattern ? 1 : this.getParentVWidth()), 0),\r\n            height = this.getLength('height', (bBoxUnitsPattern ? 1 : this.getParentVHeight()), 0);\r\n        if (bBoxUnitsContent && !bBoxUnitsPattern) { // Use the same units for pattern & pattern content\r\n          x = (x - bBox[0]) / (bBox[2] - bBox[0]) || 0;\r\n          y = (y - bBox[1]) / (bBox[3] - bBox[1]) || 0;\r\n          width = width / (bBox[2] - bBox[0]) || 0;\r\n          height = height / (bBox[3] - bBox[1]) || 0;\r\n        } else if (!bBoxUnitsContent && bBoxUnitsPattern) {\r\n          x = bBox[0] + x * (bBox[2] - bBox[0]);\r\n          y = bBox[1] + y * (bBox[3] - bBox[1]);\r\n          width = width * (bBox[2] - bBox[0]);\r\n          height = height * (bBox[3] - bBox[1]);\r\n        }\r\n        let viewBox = this.getViewbox('viewBox', [0, 0, width, height]),\r\n            aspectRatio = (this.attr('preserveAspectRatio') || '').trim(),\r\n            aspectRatioMatrix = multiplyMatrix(\r\n              parseAspectRatio(aspectRatio, width, height, viewBox[2], viewBox[3], 0),\r\n              [1, 0, 0, 1, -viewBox[0], -viewBox[1]]\r\n            ),\r\n            matrix = parseTranform(this.attr('patternTransform'));\r\n        if (bBoxUnitsContent) {\r\n          matrix = multiplyMatrix([bBox[2] - bBox[0], 0, 0, bBox[3] - bBox[1], bBox[0], bBox[1]], matrix);\r\n        }\r\n        matrix = multiplyMatrix(matrix, [1, 0, 0, 1, x, y]);\r\n        if ((matrix = validateMatrix(matrix)) && (aspectRatioMatrix = validateMatrix(aspectRatioMatrix)) && (width = validateNumber(width)) && (height = validateNumber(height))) {\r\n          let group = docBeginGroup([0, 0, width, height]);\r\n          doc.transform.apply(doc, aspectRatioMatrix);\r\n          this.drawChildren(isClip, isMask);\r\n          docEndGroup(group);\r\n          return [docCreatePattern(group, width, height, matrix), gOpacity];\r\n        } else {\r\n          return fallback ? [fallback[0], fallback[1] * gOpacity] : undefined;\r\n        }\r\n      };\r\n      this.getVWidth = function() {\r\n        let bBoxUnitsPattern = (this.attr('patternUnits') !== 'userSpaceOnUse'),\r\n            width = this.getLength('width', (bBoxUnitsPattern ? 1 : this.getParentVWidth()), 0);\r\n        return this.getViewbox('viewBox', [0, 0, width, 0])[2];\r\n      };\r\n      this.getVHeight = function() {\r\n        let bBoxUnitsPattern = (this.attr('patternUnits') !== 'userSpaceOnUse'),\r\n            height = this.getLength('height', (bBoxUnitsPattern ? 1 : this.getParentVHeight()), 0);\r\n        return this.getViewbox('viewBox', [0, 0, 0, height])[3];\r\n      };\r\n    };\r\n\r\n    var SvgElemGradient = function(obj, inherits, fallback) {\r\n      SvgElem.call(this, obj, inherits);\r\n      this.allowedChildren = ['stop'];\r\n      this.ref = (function() {\r\n        let ref = this.getUrl('href') || this.getUrl('xlink:href');\r\n        if (ref && ref.nodeName === obj.nodeName) {\r\n          return new SvgElemGradient(ref, inherits, fallback);\r\n        }\r\n      }).call(this);\r\n      let _attr = this.attr;\r\n      this.attr = function(key) {\r\n        let attr = _attr.call(this, key);\r\n        if (attr != null || key === 'href' || key === 'xlink:href') {return attr;}\r\n        return this.ref ? this.ref.attr(key) : null;\r\n      };\r\n      let _getChildren = this.getChildren;\r\n      this.getChildren = function() {\r\n        let children = _getChildren.call(this);\r\n        if (children.length > 0) {return children;}\r\n        return this.ref ? this.ref.getChildren() : [];\r\n      };\r\n      this.getPaint = function(bBox, gOpacity, isClip, isMask) {\r\n        let children = this.getChildren();\r\n        if (children.length === 0) {return;}\r\n        if (children.length === 1) {\r\n          let child = children[0],\r\n              stopColor = child.get('stop-color');\r\n          if (stopColor === 'none') {return;}\r\n          return opacityToColor(stopColor, child.get('stop-opacity') * gOpacity, isMask);\r\n        }\r\n        let bBoxUnits = (this.attr('gradientUnits') !== 'userSpaceOnUse'),\r\n            matrix = parseTranform(this.attr('gradientTransform')),\r\n            spread = this.attr('spreadMethod'),\r\n            grad,\r\n            x1, x2, y1, y2, r2,\r\n            nAfter = 0,\r\n            nBefore = 0,\r\n            nTotal = 1;\r\n        if (bBoxUnits) {\r\n          matrix = multiplyMatrix([bBox[2] - bBox[0], 0, 0, bBox[3] - bBox[1], bBox[0], bBox[1]], matrix);\r\n        }\r\n        if (matrix = validateMatrix(matrix)) {\r\n          if (this.name === 'linearGradient') {\r\n            x1 = this.getLength('x1', (bBoxUnits ? 1 : this.getVWidth()), 0);\r\n            x2 = this.getLength('x2', (bBoxUnits ? 1 : this.getVWidth()), (bBoxUnits ? 1 : this.getVWidth()));\r\n            y1 = this.getLength('y1', (bBoxUnits ? 1 : this.getVHeight()), 0);\r\n            y2 = this.getLength('y2', (bBoxUnits ? 1 : this.getVHeight()), 0);\r\n          } else {\r\n            x2 = this.getLength('cx', (bBoxUnits ? 1 : this.getVWidth()), (bBoxUnits ? 0.5 : 0.5 * this.getVWidth()));\r\n            y2 = this.getLength('cy', (bBoxUnits ? 1 : this.getVHeight()), (bBoxUnits ? 0.5 : 0.5 * this.getVHeight()));\r\n            r2 = this.getLength('r', (bBoxUnits ? 1 : this.getViewport()), (bBoxUnits ? 0.5 : 0.5 * this.getViewport()));\r\n            x1 = this.getLength('fx', (bBoxUnits ? 1 : this.getVWidth()), x2);\r\n            y1 = this.getLength('fy', (bBoxUnits ? 1 : this.getVHeight()), y2);\r\n            if (r2 < 0) {\r\n              warningCallback('SvgElemGradient: negative r value');\r\n            }\r\n            let d = Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2)),\r\n                multiplier = 1;\r\n            if (d > r2) { // according to specification\r\n              multiplier = r2 / d;\r\n              x1 = x2 + (x1 - x2) * multiplier;\r\n              y1 = y2 + (y1 - y2) * multiplier;\r\n            }\r\n            r2 = Math.max(r2, d * multiplier * (1 + 1e-6)); // fix for edge-case gradients see issue #84\r\n          }\r\n          if (spread === 'reflect' || spread === 'repeat') {\r\n            let inv = inverseMatrix(matrix),\r\n                corner1 = transformPoint([bBox[0], bBox[1]], inv),\r\n                corner2 = transformPoint([bBox[2], bBox[1]], inv),\r\n                corner3 = transformPoint([bBox[2], bBox[3]], inv),\r\n                corner4 = transformPoint([bBox[0], bBox[3]], inv);\r\n            if (this.name === 'linearGradient') { // See file 'gradient-repeat-maths.png'\r\n              nAfter  = Math.max((corner1[0] - x2) * (x2 - x1) + (corner1[1] - y2) * (y2 - y1),\r\n                                 (corner2[0] - x2) * (x2 - x1) + (corner2[1] - y2) * (y2 - y1),\r\n                                 (corner3[0] - x2) * (x2 - x1) + (corner3[1] - y2) * (y2 - y1),\r\n                                 (corner4[0] - x2) * (x2 - x1) + (corner4[1] - y2) * (y2 - y1))\r\n                                / (Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\r\n              nBefore = Math.max((corner1[0] - x1) * (x1 - x2) + (corner1[1] - y1) * (y1 - y2),\r\n                                 (corner2[0] - x1) * (x1 - x2) + (corner2[1] - y1) * (y1 - y2),\r\n                                 (corner3[0] - x1) * (x1 - x2) + (corner3[1] - y1) * (y1 - y2),\r\n                                 (corner4[0] - x1) * (x1 - x2) + (corner4[1] - y1) * (y1 - y2))\r\n                                / (Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));\r\n            } else {\r\n              nAfter  = Math.sqrt(Math.max(Math.pow(corner1[0] - x2, 2) + Math.pow(corner1[1] - y2, 2),\r\n                                           Math.pow(corner2[0] - x2, 2) + Math.pow(corner2[1] - y2, 2),\r\n                                           Math.pow(corner3[0] - x2, 2) + Math.pow(corner3[1] - y2, 2),\r\n                                           Math.pow(corner4[0] - x2, 2) + Math.pow(corner4[1] - y2, 2))) / r2 - 1;\r\n            }\r\n            nAfter = Math.ceil(nAfter + 0.5); // Add a little more because the stroke can extend outside of the bounding box\r\n            nBefore = Math.ceil(nBefore + 0.5);\r\n            nTotal = nBefore + 1 + nAfter; // How many times the gradient needs to be repeated to fill the object bounding box\r\n          }\r\n          if (this.name === 'linearGradient') {\r\n            grad = doc.linearGradient(x1 - nBefore * (x2 - x1), y1 - nBefore * (y2 - y1), x2 + nAfter * (x2 - x1), y2 + nAfter * (y2 - y1));\r\n          } else {\r\n            grad = doc.radialGradient(x1, y1, 0, x2, y2, r2 + nAfter * r2);\r\n          }\r\n          for (let n = 0; n < nTotal; n++) {\r\n            let offset = 0,\r\n                inOrder = (spread !== 'reflect' || (n - nBefore) % 2 === 0);\r\n            for (let i = 0; i < children.length; i++) {\r\n              let child = children[inOrder ? i : children.length - 1 - i],\r\n                  stopColor = child.get('stop-color');\r\n              if (stopColor === 'none') {stopColor = DefaultColors.transparent;}\r\n              stopColor = opacityToColor(stopColor, child.get('stop-opacity') * gOpacity, isMask);\r\n              offset = Math.max(offset, inOrder ? child.getPercent('offset', 0) : 1 - child.getPercent('offset', 0));\r\n              if (i === 0 && stopColor[0].length === 4) {grad._colorSpace = 'DeviceCMYK';} // Fix until PR #763 is merged into PDFKit\r\n              if (i === 0 && offset > 0) {\r\n                grad.stop((n + 0) / nTotal, stopColor[0], stopColor[1]);\r\n              }\r\n              grad.stop((n + offset) / (nAfter + nBefore + 1), stopColor[0], stopColor[1]);\r\n              if (i === children.length - 1 && offset < 1) {\r\n                grad.stop((n + 1) / nTotal, stopColor[0], stopColor[1]);\r\n              }\r\n            }\r\n          }\r\n          grad.setTransform.apply(grad, matrix);\r\n          return [grad, 1];\r\n        } else {\r\n          return fallback ? [fallback[0], fallback[1] * gOpacity] : undefined;\r\n        }\r\n      }\r\n    };\r\n\r\n    var SvgElemBasicShape = function(obj, inherits) {\r\n      SvgElemStylable.call(this, obj, inherits);\r\n      this.dashScale = 1;\r\n      this.getBoundingShape = function() {\r\n        return this.shape;\r\n      };\r\n      this.getTransformation = function() {\r\n        return this.get('transform');\r\n      };\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        if (this.get('visibility') === 'hidden' || !this.shape) {return;}\r\n        doc.save();\r\n        this.transform();\r\n        this.clip();\r\n        if (!isClip) {\r\n          let masked = this.mask(),\r\n              group;\r\n          if (masked) {\r\n            group = docBeginGroup(getPageBBox());\r\n          }\r\n          let subPaths = this.shape.getSubPaths(),\r\n              fill = this.getFill(isClip, isMask),\r\n              stroke = this.getStroke(isClip, isMask),\r\n              lineWidth = this.get('stroke-width'),\r\n              lineCap = this.get('stroke-linecap');\r\n          if (fill || stroke) {\r\n            if (fill) {\r\n              docFillColor(fill);\r\n            }\r\n            if (stroke) {\r\n              for (let j = 0; j < subPaths.length; j++) {\r\n                if (isEqual(subPaths[j].totalLength, 0)) {\r\n                  if ((lineCap === 'square' || lineCap === 'round') && lineWidth > 0) {\r\n                    if (subPaths[j].startPoint && subPaths[j].startPoint.length > 1) {\r\n                      let x = subPaths[j].startPoint[0],\r\n                          y = subPaths[j].startPoint[1];\r\n                      docFillColor(stroke);\r\n                      if (lineCap === 'square') {\r\n                        doc.rect(x - 0.5 * lineWidth, y - 0.5 * lineWidth, lineWidth, lineWidth);\r\n                      } else if (lineCap === 'round') {\r\n                        doc.circle(x, y, 0.5 * lineWidth);\r\n                      }\r\n                      doc.fill();\r\n                    }\r\n                  }\r\n                }\r\n              }\r\n              let dashArray = this.get('stroke-dasharray'),\r\n                  dashOffset = this.get('stroke-dashoffset');\r\n              if (isNotEqual(this.dashScale, 1)) {\r\n                for (let j = 0; j < dashArray.length; j++) {\r\n                  dashArray[j] *= this.dashScale;\r\n                }\r\n                dashOffset *= this.dashScale;\r\n              }\r\n              docStrokeColor(stroke);\r\n              doc.lineWidth(lineWidth)\r\n                 .miterLimit(this.get('stroke-miterlimit'))\r\n                 .lineJoin(this.get('stroke-linejoin'))\r\n                 .lineCap(lineCap)\r\n                 .dash(dashArray, {phase: dashOffset});\r\n            }\r\n            for (let j = 0; j < subPaths.length; j++) {\r\n              if (subPaths[j].totalLength > 0) {\r\n                subPaths[j].insertInDocument();\r\n              }\r\n            }\r\n            if (fill && stroke) {\r\n              doc.fillAndStroke(this.get('fill-rule'));\r\n            } else if (fill) {\r\n              doc.fill(this.get('fill-rule'));\r\n            } else if (stroke) {\r\n              doc.stroke();\r\n            }\r\n          }\r\n          let markerStart = this.get('marker-start'),\r\n              markerMid = this.get('marker-mid'),\r\n              markerEnd = this.get('marker-end');\r\n          if (markerStart !== 'none' || markerMid !== 'none' || markerEnd !== 'none') {\r\n            let markersPos = this.shape.getMarkers();\r\n            if (markerStart !== 'none') {\r\n              let marker = new SvgElemMarker(markerStart, null);\r\n              marker.drawMarker(false, isMask, markersPos[0], lineWidth);\r\n            }\r\n            if (markerMid !== 'none') {\r\n              for (let i = 1; i < markersPos.length - 1; i++) {\r\n                let marker = new SvgElemMarker(markerMid, null);\r\n                marker.drawMarker(false, isMask, markersPos[i], lineWidth);\r\n              }\r\n            }\r\n            if (markerEnd !== 'none') {\r\n              let marker = new SvgElemMarker(markerEnd, null);\r\n              marker.drawMarker(false, isMask, markersPos[markersPos.length - 1], lineWidth);\r\n            }\r\n          }\r\n          if (group) {\r\n            docEndGroup(group);\r\n            docInsertGroup(group);\r\n          }\r\n        } else {\r\n          this.shape.insertInDocument();\r\n          docFillColor(DefaultColors.white);\r\n          doc.fill(this.get('clip-rule'));\r\n        }\r\n        doc.restore();\r\n      };\r\n    };\r\n\r\n    var SvgElemRect = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      let x = this.getLength('x', this.getVWidth(), 0),\r\n          y = this.getLength('y', this.getVHeight(), 0),\r\n          w = this.getLength('width', this.getVWidth(), 0),\r\n          h = this.getLength('height', this.getVHeight(), 0),\r\n          rx = this.getLength('rx', this.getVWidth()),\r\n          ry = this.getLength('ry', this.getVHeight());\r\n      if (rx === undefined && ry === undefined) {rx = ry = 0;}\r\n      else if (rx === undefined && ry !== undefined) {rx = ry;}\r\n      else if (rx !== undefined && ry === undefined) {ry = rx;}\r\n      if (w > 0 && h > 0) {\r\n        if (rx && ry) {\r\n          rx = Math.min(rx, 0.5 * w);\r\n          ry = Math.min(ry, 0.5 * h);\r\n          this.shape = new SvgShape().M(x + rx, y).L(x + w - rx, y).A(rx, ry, 0, 0, 1, x + w, y + ry)\r\n                            .L(x + w, y + h - ry).A(rx, ry, 0, 0, 1, x + w - rx, y + h).L(x + rx, y + h)\r\n                            .A(rx, ry, 0, 0, 1, x, y + h - ry).L(x, y + ry).A(rx, ry, 0, 0, 1, x + rx, y).Z();\r\n        } else {\r\n          this.shape = new SvgShape().M(x, y).L(x + w, y).L(x + w, y + h).L(x, y + h).Z();\r\n        }\r\n      } else {\r\n        this.shape = new SvgShape();\r\n      }\r\n    };\r\n\r\n    var SvgElemCircle = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      let cx = this.getLength('cx', this.getVWidth(), 0),\r\n          cy = this.getLength('cy', this.getVHeight(), 0),\r\n          r = this.getLength('r', this.getViewport(), 0);\r\n      if (r > 0) {\r\n        this.shape = new SvgShape().M(cx + r, cy).A(r, r, 0, 0, 1, cx - r, cy).A(r, r, 0, 0, 1, cx + r, cy).Z();\r\n      } else {\r\n        this.shape = new SvgShape();\r\n      }\r\n    };\r\n\r\n    var SvgElemEllipse = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      let cx = this.getLength('cx', this.getVWidth(), 0),\r\n          cy = this.getLength('cy', this.getVHeight(), 0),\r\n          rx = this.getLength('rx', this.getVWidth(), 0),\r\n          ry = this.getLength('ry', this.getVHeight(), 0);\r\n      if (rx > 0 && ry > 0) {\r\n        this.shape = new SvgShape().M(cx + rx, cy).A(rx, ry, 0, 0, 1, cx - rx, cy).A(rx, ry, 0, 0, 1, cx + rx, cy).Z();\r\n      } else {\r\n        this.shape = new SvgShape();\r\n      }\r\n    };\r\n\r\n    var SvgElemLine = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      let x1 = this.getLength('x1', this.getVWidth(), 0),\r\n          y1 = this.getLength('y1', this.getVHeight(), 0),\r\n          x2 = this.getLength('x2', this.getVWidth(), 0),\r\n          y2 = this.getLength('y2', this.getVHeight(), 0);\r\n      this.shape = new SvgShape().M(x1, y1).L(x2, y2);\r\n    };\r\n\r\n    var SvgElemPolyline = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      let points = this.getNumberList('points');\r\n      this.shape = new SvgShape();\r\n      for (let i = 0; i < points.length - 1; i += 2) {\r\n        if (i === 0) {\r\n          this.shape.M(points[i], points[i+1]);\r\n        } else {\r\n          this.shape.L(points[i], points[i+1]);\r\n        }\r\n      }\r\n      if (points.error) {warningCallback('SvgElemPolygon: unexpected string ' + points.error);}\r\n      if (points.length % 2 === 1) {warningCallback('SvgElemPolyline: uneven number of coordinates');}\r\n    };\r\n\r\n    var SvgElemPolygon = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      let points = this.getNumberList('points');\r\n      this.shape = new SvgShape();\r\n      for (let i = 0; i < points.length - 1; i += 2) {\r\n        if (i === 0) {\r\n          this.shape.M(points[i], points[i+1]);\r\n        } else {\r\n          this.shape.L(points[i], points[i+1]);\r\n        }\r\n      }\r\n      this.shape.Z();\r\n      if (points.error) {warningCallback('SvgElemPolygon: unexpected string ' + points.error);}\r\n      if (points.length % 2 === 1) {warningCallback('SvgElemPolygon: uneven number of coordinates');}\r\n    };\r\n\r\n    var SvgElemPath = function(obj, inherits) {\r\n      SvgElemBasicShape.call(this, obj, inherits);\r\n      this.shape = new SvgShape().path(this.attr('d'));\r\n      let pathLength = this.getLength('pathLength', this.getViewport());\r\n      this.pathLength = pathLength > 0 ? pathLength : undefined;\r\n      this.dashScale = (this.pathLength !== undefined ? this.shape.totalLength / this.pathLength : 1);\r\n    };\r\n\r\n    var SvgElemMarker = function(obj, inherits) {\r\n      SvgElemHasChildren.call(this, obj, inherits);\r\n      let width = this.getLength('markerWidth', this.getParentVWidth(), 3),\r\n          height = this.getLength('markerHeight', this.getParentVHeight(), 3),\r\n          viewBox = this.getViewbox('viewBox', [0, 0, width, height]);\r\n      this.getVWidth = function() {\r\n        return viewBox[2];\r\n      };\r\n      this.getVHeight = function() {\r\n        return viewBox[3];\r\n      };\r\n      this.drawMarker = function(isClip, isMask, posArray, strokeWidth) {\r\n        doc.save();\r\n        let orient = this.attr('orient'),\r\n            units = this.attr('markerUnits'),\r\n            rotate = (orient === 'auto' ? posArray[2] : (parseFloat(orient) || 0) * Math.PI / 180),\r\n            scale = (units === 'userSpaceOnUse' ? 1 : strokeWidth);\r\n        doc.transform(Math.cos(rotate) * scale, Math.sin(rotate) * scale, -Math.sin(rotate) * scale, Math.cos(rotate) * scale, posArray[0], posArray[1]);\r\n        let refX = this.getLength('refX', this.getVWidth(), 0),\r\n            refY = this.getLength('refY', this.getVHeight(), 0),\r\n            aspectRatioMatrix = parseAspectRatio(this.attr('preserveAspectRatio'), width, height, viewBox[2], viewBox[3], 0.5);\r\n        if (this.get('overflow') === 'hidden') {\r\n          doc.rect(aspectRatioMatrix[0] * (viewBox[0] + viewBox[2] / 2 - refX) - width / 2, aspectRatioMatrix[3] * (viewBox[1] + viewBox[3] / 2 - refY) - height / 2, width, height).clip();\r\n        }\r\n        doc.transform.apply(doc, aspectRatioMatrix);\r\n        doc.translate(-refX, -refY);\r\n        let group;\r\n        if (this.get('opacity') < 1 && !isClip) {\r\n          group = docBeginGroup(getPageBBox());\r\n        }\r\n        this.drawChildren(isClip, isMask);\r\n        if (group) {\r\n          docEndGroup(group);\r\n          doc.fillOpacity(this.get('opacity'));\r\n          docInsertGroup(group);\r\n        }\r\n        doc.restore();\r\n      };\r\n    };\r\n\r\n    var SvgElemClipPath = function(obj, inherits) {\r\n      SvgElemHasChildren.call(this, obj, inherits);\r\n      this.useMask = function(bBox) {\r\n        let group = docBeginGroup(getPageBBox());\r\n        doc.save();\r\n        if (this.attr('clipPathUnits') === 'objectBoundingBox') {\r\n          doc.transform(bBox[2] - bBox[0], 0, 0, bBox[3] - bBox[1], bBox[0], bBox[1]);\r\n        }\r\n        this.clip();\r\n        this.drawChildren(true, false);\r\n        doc.restore();\r\n        docEndGroup(group);\r\n        docApplyMask(group, true);\r\n      };\r\n    };\r\n\r\n    var SvgElemMask = function(obj, inherits) {\r\n      SvgElemHasChildren.call(this, obj, inherits);\r\n      this.useMask = function(bBox) {\r\n        let group = docBeginGroup(getPageBBox());\r\n        doc.save();\r\n        let x, y, w, h;\r\n        if (this.attr('maskUnits') === 'userSpaceOnUse') {\r\n          x = this.getLength('x', this.getVWidth(), -0.1 * (bBox[2] - bBox[0]) + bBox[0]);\r\n          y = this.getLength('y', this.getVHeight(), -0.1 * (bBox[3] - bBox[1]) + bBox[1]);\r\n          w = this.getLength('width', this.getVWidth(), 1.2 * (bBox[2] - bBox[0]));\r\n          h = this.getLength('height', this.getVHeight(), 1.2 * (bBox[3] - bBox[1]));\r\n        } else {\r\n          x = this.getLength('x', this.getVWidth(), -0.1) * (bBox[2] - bBox[0]) + bBox[0];\r\n          y = this.getLength('y', this.getVHeight(), -0.1) * (bBox[3] - bBox[1]) + bBox[1];\r\n          w = this.getLength('width', this.getVWidth(), 1.2) * (bBox[2] - bBox[0]);\r\n          h = this.getLength('height', this.getVHeight(), 1.2) * (bBox[3] - bBox[1]);\r\n        }\r\n        doc.rect(x, y, w, h).clip();\r\n        if (this.attr('maskContentUnits') === 'objectBoundingBox') {\r\n          doc.transform(bBox[2] - bBox[0], 0, 0, bBox[3] - bBox[1], bBox[0], bBox[1]);\r\n        }\r\n        this.clip();\r\n        this.drawChildren(false, true);\r\n        doc.restore();\r\n        docEndGroup(group);\r\n        docApplyMask(group, true);\r\n      };\r\n    };\r\n\r\n    var SvgElemTextContainer = function(obj, inherits) {\r\n      SvgElemStylable.call(this, obj, inherits);\r\n      this.allowedChildren = ['tspan', '#text', '#cdata-section', 'a'];\r\n      this.isText = true;\r\n      this.getBoundingShape = function() {\r\n        let shape = new SvgShape();\r\n        for (let i = 0; i < this._pos.length; i++) {\r\n          let pos = this._pos[i];\r\n          if (!pos.hidden) {\r\n            let dx0 = pos.ascent * Math.sin(pos.rotate), dy0 = -pos.ascent * Math.cos(pos.rotate),\r\n                dx1 = pos.descent * Math.sin(pos.rotate), dy1 = -pos.descent * Math.cos(pos.rotate),\r\n                dx2 = pos.width * Math.cos(pos.rotate), dy2 = pos.width * Math.sin(pos.rotate);\r\n            shape.M(pos.x + dx0, pos.y + dy0).L(pos.x + dx0 + dx2, pos.y + dy0 + dy2)\r\n                 .M(pos.x + dx1 + dx2, pos.y + dy1 + dy2).L(pos.x + dx1, pos.y + dy1);\r\n          }\r\n        }\r\n        return shape;\r\n      };\r\n      this.drawTextInDocument = function(isClip, isMask) {\r\n        if (this.link && !isClip && !isMask) {this.addLink();}\r\n        if (this.get('text-decoration') === 'underline') {\r\n          this.decorate(0.05 * this._font.size, -0.075 * this._font.size, isClip, isMask);\r\n        }\r\n        if (this.get('text-decoration') === 'overline') {\r\n          this.decorate(0.05 * this._font.size, getAscent(this._font.font, this._font.size) + 0.075 * this._font.size, isClip, isMask);\r\n        }\r\n        let fill = this.getFill(isClip, isMask),\r\n            stroke = this.getStroke(isClip, isMask),\r\n            strokeWidth = this.get('stroke-width');\r\n        if (this._font.fauxBold) {\r\n          if (!stroke) {\r\n            stroke = fill;\r\n            strokeWidth = this._font.size * 0.03;\r\n          } else {\r\n            strokeWidth += this._font.size * 0.03;\r\n          }\r\n        }\r\n        let children = this.getChildren();\r\n        for (let i = 0; i < children.length; i++) {\r\n          let childElem = children[i];\r\n          switch(childElem.name) {\r\n            case 'tspan': case 'textPath': case 'a':\r\n              if (childElem.get('display') !== 'none') {\r\n                childElem.drawTextInDocument(isClip, isMask);\r\n              }\r\n              break;\r\n            case '#text': case '#cdata-section':\r\n              if (this.get('visibility') === 'hidden') {continue;}\r\n              if (fill || stroke || isClip) {\r\n                if (fill) {\r\n                  docFillColor(fill);\r\n                }\r\n                if (stroke && strokeWidth) {\r\n                  docStrokeColor(stroke);\r\n                  doc.lineWidth(strokeWidth)\r\n                     .miterLimit(this.get('stroke-miterlimit'))\r\n                     .lineJoin(this.get('stroke-linejoin'))\r\n                     .lineCap(this.get('stroke-linecap'))\r\n                     .dash(this.get('stroke-dasharray'), {phase:this.get('stroke-dashoffset')});\r\n                }\r\n                docBeginText(this._font.font, this._font.size);\r\n                docSetTextMode(!!fill, !!stroke);\r\n                for (let j = 0, pos = childElem._pos; j < pos.length; j++) {\r\n                  if (!pos[j].hidden && isNotEqual(pos[j].width, 0)) {\r\n                    let cos = Math.cos(pos[j].rotate), sin = Math.sin(pos[j].rotate), skew = (this._font.fauxItalic ? -0.25 : 0);\r\n                    docSetTextMatrix(cos * pos[j].scale, sin * pos[j].scale, cos * skew - sin, sin * skew + cos, pos[j].x, pos[j].y);\r\n                    docWriteGlyph(pos[j].glyph);\r\n                  }\r\n                }\r\n                docEndText();\r\n              }\r\n              break;\r\n          }\r\n        }\r\n        if (this.get('text-decoration') === 'line-through') {\r\n          this.decorate(0.05 * this._font.size, 0.5 * (getAscent(this._font.font, this._font.size) + getDescent(this._font.font, this._font.size)), isClip, isMask);\r\n        }\r\n      };\r\n      this.decorate = function(lineWidth, linePosition, isClip, isMask) {\r\n        let fill = this.getFill(isClip, isMask),\r\n            stroke = this.getStroke(isClip, isMask);\r\n        if (fill) {\r\n          docFillColor(fill);\r\n        }\r\n        if (stroke) {\r\n          docStrokeColor(stroke);\r\n          doc.lineWidth(this.get('stroke-width'))\r\n             .miterLimit(this.get('stroke-miterlimit'))\r\n             .lineJoin(this.get('stroke-linejoin'))\r\n             .lineCap(this.get('stroke-linecap'))\r\n             .dash(this.get('stroke-dasharray'), {phase:this.get('stroke-dashoffset')});\r\n        }\r\n        for (let j = 0, pos = this._pos; j < pos.length; j++) {\r\n          if (!pos[j].hidden && isNotEqual(pos[j].width, 0)) {\r\n            let dx0 = (linePosition + lineWidth / 2) * Math.sin(pos[j].rotate),\r\n                dy0 = -(linePosition + lineWidth / 2) * Math.cos(pos[j].rotate),\r\n                dx1 = (linePosition - lineWidth / 2) * Math.sin(pos[j].rotate),\r\n                dy1 = -(linePosition - lineWidth / 2) * Math.cos(pos[j].rotate),\r\n                dx2 = pos[j].width * Math.cos(pos[j].rotate),\r\n                dy2 = pos[j].width * Math.sin(pos[j].rotate);\r\n            new SvgShape().M(pos[j].x + dx0, pos[j].y + dy0)\r\n                          .L(pos[j].x + dx0 + dx2, pos[j].y + dy0 + dy2)\r\n                          .L(pos[j].x + dx1 + dx2, pos[j].y + dy1 + dy2)\r\n                          .L(pos[j].x + dx1, pos[j].y + dy1).Z()\r\n                          .insertInDocument();\r\n            if (fill && stroke) {\r\n              doc.fillAndStroke();\r\n            } else if (fill) {\r\n              doc.fill();\r\n            } else if (stroke) {\r\n              doc.stroke();\r\n            }\r\n          }\r\n        }\r\n      };\r\n    };\r\n\r\n    var SvgElemTextNode = function(obj, inherits) {\r\n      this.name = obj.nodeName;\r\n      this.textContent = obj.nodeValue;\r\n    };\r\n\r\n    var SvgElemTspan = function(obj, inherits) {\r\n      SvgElemTextContainer.call(this, obj, inherits);\r\n    };\r\n\r\n    var SvgElemTextPath = function(obj, inherits) {\r\n      SvgElemTextContainer.call(this, obj, inherits);\r\n      let pathObject, pathLength, temp;\r\n      if ((temp = this.attr('path')) && temp.trim() !== '') {\r\n        let pathLength = this.getLength('pathLength', this.getViewport());\r\n        this.pathObject = new SvgShape().path(temp);\r\n        this.pathLength = pathLength > 0 ? pathLength : this.pathObject.totalLength;\r\n        this.pathScale = this.pathObject.totalLength / this.pathLength;\r\n      } else if ((temp = this.getUrl('href') || this.getUrl('xlink:href')) && temp.nodeName === 'path') {\r\n        let pathElem = new SvgElemPath(temp, this);\r\n        this.pathObject = pathElem.shape.clone().transform(pathElem.get('transform'));\r\n        this.pathLength = this.chooseValue(pathElem.pathLength, this.pathObject.totalLength);\r\n        this.pathScale = this.pathObject.totalLength / this.pathLength;\r\n      }\r\n    };\r\n\r\n    var SvgElemText = function(obj, inherits) {\r\n      SvgElemTextContainer.call(this, obj, inherits);\r\n      this.allowedChildren = ['textPath', 'tspan', '#text', '#cdata-section', 'a'];\r\n      (function (textParentElem) {\r\n        let processedText = '', remainingText = obj.textContent, textPaths = [], currentChunk = [], currentAnchor, currentDirection, currentX = 0, currentY = 0;\r\n        function doAnchoring() {\r\n          if (currentChunk.length) {\r\n            let last = currentChunk[currentChunk.length - 1];\r\n            let first = currentChunk[0]\r\n            let width = last.x + last.width - first.x;\r\n            let anchordx = {'startltr': 0, 'middleltr': 0.5, 'endltr': 1, 'startrtl': 1, 'middlertl': 0.5, 'endrtl': 0}[currentAnchor + currentDirection] * width || 0;\r\n            for (let i = 0; i < currentChunk.length; i++) {\r\n              currentChunk[i].x -= anchordx;\r\n            }\r\n          }\r\n          currentChunk = [];\r\n        }\r\n        function adjustLength(pos, length, spacingAndGlyphs) {\r\n          let firstChar = pos[0], lastChar = pos[pos.length - 1],\r\n              startX = firstChar.x, endX = lastChar.x + lastChar.width;\r\n          if (spacingAndGlyphs) {\r\n            let textScale = length / (endX - startX);\r\n            if (textScale > 0 && textScale < Infinity) {\r\n              for (let j = 0; j < pos.length; j++) {\r\n                pos[j].x = startX + textScale * (pos[j].x - startX);\r\n                pos[j].scale *= textScale;\r\n                pos[j].width *= textScale;\r\n              }\r\n            }\r\n          } else {\r\n            if (pos.length >= 2) {\r\n              let spaceDiff = (length - (endX - startX)) / (pos.length - 1);\r\n              for (let j = 0; j < pos.length; j++) {\r\n                pos[j].x += j * spaceDiff;\r\n              }\r\n            }\r\n          }\r\n          currentX += length - (endX - startX);\r\n        }\r\n        function recursive(currentElem, parentElem) {\r\n          currentElem._x = combineArrays(currentElem.getLengthList('x', currentElem.getVWidth()), (parentElem ? parentElem._x.slice(parentElem._pos.length) : []));\r\n          currentElem._y = combineArrays(currentElem.getLengthList('y', currentElem.getVHeight()), (parentElem ? parentElem._y.slice(parentElem._pos.length) : []));\r\n          currentElem._dx = combineArrays(currentElem.getLengthList('dx', currentElem.getVWidth()), (parentElem ? parentElem._dx.slice(parentElem._pos.length) : []));\r\n          currentElem._dy = combineArrays(currentElem.getLengthList('dy', currentElem.getVHeight()), (parentElem ? parentElem._dy.slice(parentElem._pos.length) : []));\r\n          currentElem._rot = combineArrays(currentElem.getNumberList('rotate'), (parentElem ? parentElem._rot.slice(parentElem._pos.length) : []));\r\n          currentElem._defRot = currentElem.chooseValue(currentElem._rot[currentElem._rot.length - 1], parentElem && parentElem._defRot, 0);\r\n          if (currentElem.name === 'textPath') {currentElem._y = [];}\r\n          let fontOptions = {fauxItalic: false, fauxBold: false},\r\n              fontNameorLink = fontCallback(currentElem.get('font-family'), currentElem.get('font-weight') === 'bold', currentElem.get('font-style') === 'italic', fontOptions);\r\n          try {\r\n            doc.font(fontNameorLink);\r\n          } catch(e) {\r\n            warningCallback('SVGElemText: failed to open font \"' + fontNameorLink + '\" in PDFKit');\r\n          }\r\n          currentElem._pos = [];\r\n          currentElem._index = 0;\r\n          currentElem._font = {font: doc._font, size: currentElem.get('font-size'), fauxItalic: fontOptions.fauxItalic, fauxBold: fontOptions.fauxBold};\r\n          let textLength = currentElem.getLength('textLength', currentElem.getVWidth(), undefined),\r\n              spacingAndGlyphs = currentElem.attr('lengthAdjust') === 'spacingAndGlyphs',\r\n              wordSpacing = currentElem.get('word-spacing'),\r\n              letterSpacing = currentElem.get('letter-spacing'),\r\n              textAnchor = currentElem.get('text-anchor'),\r\n              textDirection = currentElem.get('direction'),\r\n              baseline = getBaseline(currentElem._font.font, currentElem._font.size, currentElem.get('alignment-baseline') || currentElem.get('dominant-baseline'), currentElem.get('baseline-shift'));\r\n          if (currentElem.name === 'textPath') {\r\n            doAnchoring();\r\n            currentX = currentY = 0;\r\n          }\r\n          let children = currentElem.getChildren();\r\n          for (let i = 0; i < children.length; i++) {\r\n            let childElem = children[i];\r\n            switch(childElem.name) {\r\n              case 'tspan': case 'textPath': case 'a':\r\n                recursive(childElem, currentElem);\r\n                break;\r\n              case '#text': case '#cdata-section':\r\n                let rawText = childElem.textContent, renderedText = rawText, words;\r\n                childElem._font = currentElem._font;\r\n                childElem._pos = [];\r\n                remainingText = remainingText.substring(rawText.length);\r\n                if (currentElem.get('xml:space') === 'preserve') {\r\n                  renderedText = renderedText.replace(/[\\s]/g, ' ');\r\n                } else {\r\n                  renderedText = renderedText.replace(/[\\s]+/g, ' ');\r\n                  if (processedText.match(/[\\s]$|^$/)) {renderedText = renderedText.replace(/^[\\s]/, '');}\r\n                  if (remainingText.match(/^[\\s]*$/)) {renderedText = renderedText.replace(/[\\s]$/, '');}\r\n                }\r\n                processedText += rawText;\r\n                if (wordSpacing === 0) {\r\n                  words = [renderedText];\r\n                } else {\r\n                  words = renderedText.split(/(\\s)/);\r\n                }\r\n                for (let w = 0; w < words.length; w++) {\r\n                  let pos = getTextPos(currentElem._font.font, currentElem._font.size, words[w]);\r\n                  for (let j = 0; j < pos.length; j++) {\r\n                    let index = currentElem._index,\r\n                        xAttr = currentElem._x[index],\r\n                        yAttr = currentElem._y[index],\r\n                        dxAttr = currentElem._dx[index],\r\n                        dyAttr = currentElem._dy[index],\r\n                        rotAttr = currentElem._rot[index],\r\n                        continuous = !(w === 0 && j === 0);\r\n                    if (xAttr !== undefined) {continuous = false; doAnchoring(); currentX = xAttr;}\r\n                    if (yAttr !== undefined) {continuous = false; doAnchoring(); currentY = yAttr;}\r\n                    if (dxAttr !== undefined) {continuous = false; currentX += dxAttr;}\r\n                    if (dyAttr !== undefined) {continuous = false; currentY += dyAttr;}\r\n                    if (rotAttr !== undefined || currentElem._defRot !== 0) {continuous = false;}\r\n                    let position = {\r\n                      glyph: pos[j].glyph,\r\n                      rotate: (Math.PI / 180) * currentElem.chooseValue(rotAttr, currentElem._defRot),\r\n                      x: currentX + pos[j].xOffset,\r\n                      y: currentY + baseline + pos[j].yOffset,\r\n                      width: pos[j].width,\r\n                      ascent: getAscent(currentElem._font.font, currentElem._font.size),\r\n                      descent: getDescent(currentElem._font.font, currentElem._font.size),\r\n                      scale: 1,\r\n                      hidden: false,\r\n                      continuous: continuous\r\n                    };\r\n                    currentChunk.push(position);\r\n                    childElem._pos.push(position);\r\n                    currentElem._pos.push(position);\r\n                    currentElem._index += pos[j].unicode.length;\r\n                    if (currentChunk.length === 1) {\r\n                      currentAnchor = textAnchor;\r\n                      currentDirection = textDirection;\r\n                    }\r\n                    currentX += pos[j].xAdvance + letterSpacing;\r\n                    currentY += pos[j].yAdvance;\r\n                  }\r\n                  if (words[w] === ' ') {\r\n                    currentX += wordSpacing;\r\n                  }\r\n                }\r\n                break;\r\n              default:\r\n                remainingText = remainingText.substring(childElem.textContent.length);\r\n            }\r\n          }\r\n          if (textLength && currentElem._pos.length) {\r\n            adjustLength(currentElem._pos, textLength, spacingAndGlyphs);\r\n          }\r\n          if (currentElem.name === 'textPath' || currentElem.name === 'text') {\r\n            doAnchoring();\r\n          }\r\n          if (currentElem.name === 'textPath') {\r\n            textPaths.push(currentElem);\r\n            let pathObject = currentElem.pathObject;\r\n            if (pathObject) {\r\n              currentX = pathObject.endPoint[0]; currentY = pathObject.endPoint[1];\r\n            }\r\n          }\r\n          if (parentElem) {\r\n            parentElem._pos = parentElem._pos.concat(currentElem._pos);\r\n            parentElem._index += currentElem._index;\r\n          }\r\n        }\r\n        function textOnPath(currentElem) {\r\n          let pathObject = currentElem.pathObject,\r\n              pathLength = currentElem.pathLength,\r\n              pathScale = currentElem.pathScale;\r\n          if (pathObject) {\r\n            let textOffset = currentElem.getLength('startOffset', pathLength, 0);\r\n            for (let j = 0; j < currentElem._pos.length; j++) {\r\n              let charMidX = textOffset + currentElem._pos[j].x + 0.5 * currentElem._pos[j].width;\r\n              if (charMidX > pathLength || charMidX < 0) {\r\n                currentElem._pos[j].hidden = true;\r\n              } else {\r\n                let pointOnPath = pathObject.getPointAtLength(charMidX * pathScale);\r\n                if (isNotEqual(pathScale, 1)) {\r\n                  currentElem._pos[j].scale *= pathScale;\r\n                  currentElem._pos[j].width *= pathScale;\r\n                }\r\n                currentElem._pos[j].x = pointOnPath[0] - 0.5 * currentElem._pos[j].width * Math.cos(pointOnPath[2]) - currentElem._pos[j].y * Math.sin(pointOnPath[2]);\r\n                currentElem._pos[j].y = pointOnPath[1] - 0.5 * currentElem._pos[j].width * Math.sin(pointOnPath[2]) + currentElem._pos[j].y * Math.cos(pointOnPath[2]);\r\n                currentElem._pos[j].rotate = pointOnPath[2] + currentElem._pos[j].rotate;\r\n                currentElem._pos[j].continuous = false;\r\n              }\r\n            }\r\n          } else {\r\n            for (let j = 0; j < currentElem._pos.length; j++) {\r\n              currentElem._pos[j].hidden = true;\r\n            }\r\n          }\r\n        }\r\n        recursive(textParentElem, null);\r\n        for (let i = 0; i < textPaths.length; i++) {\r\n          textOnPath(textPaths[i]);\r\n        }\r\n      })(this);\r\n      this.getTransformation = function() {\r\n        return this.get('transform');\r\n      };\r\n      this.drawInDocument = function(isClip, isMask) {\r\n        doc.save();\r\n        this.transform();\r\n        this.clip();\r\n        let masked = this.mask(), group;\r\n        if (masked) {\r\n          group = docBeginGroup(getPageBBox());\r\n        }\r\n        this.drawTextInDocument(isClip, isMask);\r\n        if (group) {\r\n          docEndGroup(group);\r\n          docInsertGroup(group);\r\n        }\r\n        doc.restore();\r\n      };\r\n    };\r\n\r\n    options = options || {};\r\n    var pxToPt = options.assumePt ? 1 : (72/96), // 1px = 72/96pt, but only if assumePt is false\r\n        viewportWidth = (options.width || doc.page.width) / pxToPt,\r\n        viewportHeight = (options.height || doc.page.height) / pxToPt,\r\n        preserveAspectRatio = options.preserveAspectRatio || null, // default to null so that the attr can override if not passed\r\n        useCSS = options.useCSS && typeof SVGElement !== 'undefined' && svg instanceof SVGElement && typeof getComputedStyle === 'function',\r\n        warningCallback = options.warningCallback,\r\n        fontCallback = options.fontCallback,\r\n        imageCallback = options.imageCallback,\r\n        colorCallback = options.colorCallback,\r\n        documentCallback = options.documentCallback,\r\n        precision = Math.ceil(Math.max(1, options.precision)) || 3,\r\n        groupStack = [],\r\n        documentCache = {},\r\n        links = [],\r\n        styleRules = [];\r\n\r\n    if (typeof warningCallback !== 'function') {\r\n      warningCallback = function(str) {\r\n        if (typeof console !== undefined && typeof console.warn === 'function') {console.warn(str);}\r\n      };\r\n    }\r\n    if (typeof fontCallback !== 'function') {\r\n      fontCallback = function(family, bold, italic, fontOptions) {\r\n        // Check if the font is already registered in the document\r\n        if (bold && italic) {\r\n          if (doc._registeredFonts.hasOwnProperty(family + '-BoldItalic')) {\r\n            return family + '-BoldItalic';\r\n          } else if (doc._registeredFonts.hasOwnProperty(family + '-Italic')) {\r\n            fontOptions.fauxBold = true;\r\n            return family + '-Italic';\r\n          } else if (doc._registeredFonts.hasOwnProperty(family + '-Bold')) {\r\n            fontOptions.fauxItalic = true;\r\n            return family + '-Bold';\r\n          } else if (doc._registeredFonts.hasOwnProperty(family)) {\r\n            fontOptions.fauxBold = true;\r\n            fontOptions.fauxItalic = true;\r\n            return family;\r\n          }\r\n        }\r\n        if (bold && !italic) {\r\n          if (doc._registeredFonts.hasOwnProperty(family + '-Bold')) {\r\n            return family + '-Bold';\r\n          } else if (doc._registeredFonts.hasOwnProperty(family)) {\r\n            fontOptions.fauxBold = true;\r\n            return family;\r\n          }\r\n        }\r\n        if (!bold && italic) {\r\n          if (doc._registeredFonts.hasOwnProperty(family + '-Italic')) {\r\n            return family + '-Italic';\r\n          } else if (doc._registeredFonts.hasOwnProperty(family)) {\r\n            fontOptions.fauxItalic = true;\r\n            return family;\r\n          }\r\n        }\r\n        if (!bold && !italic) {\r\n          if (doc._registeredFonts.hasOwnProperty(family)) {\r\n            return family;\r\n          }\r\n        }\r\n        // Use standard fonts as fallback\r\n        if (family.match(/(?:^|,)\\s*serif\\s*$/)) {\r\n          if (bold && italic) {return 'Times-BoldItalic';}\r\n          if (bold && !italic) {return 'Times-Bold';}\r\n          if (!bold && italic) {return 'Times-Italic';}\r\n          if (!bold && !italic) {return 'Times-Roman';}\r\n        } else if (family.match(/(?:^|,)\\s*monospace\\s*$/)) {\r\n          if (bold && italic) {return 'Courier-BoldOblique';}\r\n          if (bold && !italic) {return 'Courier-Bold';}\r\n          if (!bold && italic) {return 'Courier-Oblique';}\r\n          if (!bold && !italic) {return 'Courier';}\r\n        } else if (family.match(/(?:^|,)\\s*sans-serif\\s*$/) || true) {\r\n          if (bold && italic) {return 'Helvetica-BoldOblique';}\r\n          if (bold && !italic) {return 'Helvetica-Bold';}\r\n          if (!bold && italic) {return 'Helvetica-Oblique';}\r\n          if (!bold && !italic) {return 'Helvetica';}\r\n        }\r\n      };\r\n    }\r\n    if (typeof imageCallback !== 'function') {\r\n      imageCallback = function(link) {\r\n        return link.replace(/\\s+/g, '');\r\n      };\r\n    }\r\n    if (typeof colorCallback !== 'function') {\r\n      colorCallback = null;\r\n    } else {\r\n      for (let color in DefaultColors) {\r\n        let newColor = colorCallback(DefaultColors[color]);\r\n        DefaultColors[color][0] = newColor[0];\r\n        DefaultColors[color][1] = newColor[1];\r\n      }\r\n    }\r\n    if (typeof documentCallback !== 'function') {\r\n      documentCallback = null;\r\n    }\r\n\r\n    if (typeof svg === 'string') {svg = parseXml(svg);}\r\n    if (svg) {\r\n      let styles = svg.getElementsByTagName('style');\r\n      for (let i = 0; i < styles.length; i++) {\r\n        styleRules = styleRules.concat(parseStyleSheet(styles[i].textContent));\r\n      }\r\n      let elem = createSVGElement(svg, null);\r\n      if (typeof elem.drawInDocument === 'function') {\r\n        if (options.useCSS && !useCSS) {\r\n          warningCallback('SVGtoPDF: useCSS option can only be used for SVG *elements* in compatible browsers');\r\n        }\r\n        let savedFillColor = doc._fillColor;\r\n        doc.save().translate(x || 0, y || 0).scale(pxToPt);\r\n        elem.drawInDocument();\r\n        for (let i = 0; i < links.length; i++) {\r\n          doc.page.annotations.push(links[i]);\r\n        }\r\n        doc.restore();\r\n        doc._fillColor = savedFillColor;\r\n      } else {\r\n        warningCallback('SVGtoPDF: this element can\\'t be rendered directly: ' + svg.nodeName);\r\n      }\r\n    } else {\r\n      warningCallback('SVGtoPDF: the input does not look like a valid SVG');\r\n    }\r\n\r\n};\r\n\r\nif (typeof module !== 'undefined' && module && typeof module.exports !== 'undefined') {\r\n  module.exports = SVGtoPDF;\r\n}\r\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(\n      uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n    ))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n","/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n   Bit reading helpers\n*/\n\nvar BROTLI_READ_SIZE = 4096;\nvar BROTLI_IBUF_SIZE =  (2 * BROTLI_READ_SIZE + 32);\nvar BROTLI_IBUF_MASK =  (2 * BROTLI_READ_SIZE - 1);\n\nvar kBitMask = new Uint32Array([\n  0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767,\n  65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215\n]);\n\n/* Input byte buffer, consist of a ringbuffer and a \"slack\" region where */\n/* bytes from the start of the ringbuffer are copied. */\nfunction BrotliBitReader(input) {\n  this.buf_ = new Uint8Array(BROTLI_IBUF_SIZE);\n  this.input_ = input;    /* input callback */\n  \n  this.reset();\n}\n\nBrotliBitReader.READ_SIZE = BROTLI_READ_SIZE;\nBrotliBitReader.IBUF_MASK = BROTLI_IBUF_MASK;\n\nBrotliBitReader.prototype.reset = function() {\n  this.buf_ptr_ = 0;      /* next input will write here */\n  this.val_ = 0;          /* pre-fetched bits */\n  this.pos_ = 0;          /* byte position in stream */\n  this.bit_pos_ = 0;      /* current bit-reading position in val_ */\n  this.bit_end_pos_ = 0;  /* bit-reading end position from LSB of val_ */\n  this.eos_ = 0;          /* input stream is finished */\n  \n  this.readMoreInput();\n  for (var i = 0; i < 4; i++) {\n    this.val_ |= this.buf_[this.pos_] << (8 * i);\n    ++this.pos_;\n  }\n  \n  return this.bit_end_pos_ > 0;\n};\n\n/* Fills up the input ringbuffer by calling the input callback.\n\n   Does nothing if there are at least 32 bytes present after current position.\n\n   Returns 0 if either:\n    - the input callback returned an error, or\n    - there is no more input and the position is past the end of the stream.\n\n   After encountering the end of the input stream, 32 additional zero bytes are\n   copied to the ringbuffer, therefore it is safe to call this function after\n   every 32 bytes of input is read.\n*/\nBrotliBitReader.prototype.readMoreInput = function() {\n  if (this.bit_end_pos_ > 256) {\n    return;\n  } else if (this.eos_) {\n    if (this.bit_pos_ > this.bit_end_pos_)\n      throw new Error('Unexpected end of input ' + this.bit_pos_ + ' ' + this.bit_end_pos_);\n  } else {\n    var dst = this.buf_ptr_;\n    var bytes_read = this.input_.read(this.buf_, dst, BROTLI_READ_SIZE);\n    if (bytes_read < 0) {\n      throw new Error('Unexpected end of input');\n    }\n    \n    if (bytes_read < BROTLI_READ_SIZE) {\n      this.eos_ = 1;\n      /* Store 32 bytes of zero after the stream end. */\n      for (var p = 0; p < 32; p++)\n        this.buf_[dst + bytes_read + p] = 0;\n    }\n    \n    if (dst === 0) {\n      /* Copy the head of the ringbuffer to the slack region. */\n      for (var p = 0; p < 32; p++)\n        this.buf_[(BROTLI_READ_SIZE << 1) + p] = this.buf_[p];\n\n      this.buf_ptr_ = BROTLI_READ_SIZE;\n    } else {\n      this.buf_ptr_ = 0;\n    }\n    \n    this.bit_end_pos_ += bytes_read << 3;\n  }\n};\n\n/* Guarantees that there are at least 24 bits in the buffer. */\nBrotliBitReader.prototype.fillBitWindow = function() {    \n  while (this.bit_pos_ >= 8) {\n    this.val_ >>>= 8;\n    this.val_ |= this.buf_[this.pos_ & BROTLI_IBUF_MASK] << 24;\n    ++this.pos_;\n    this.bit_pos_ = this.bit_pos_ - 8 >>> 0;\n    this.bit_end_pos_ = this.bit_end_pos_ - 8 >>> 0;\n  }\n};\n\n/* Reads the specified number of bits from Read Buffer. */\nBrotliBitReader.prototype.readBits = function(n_bits) {\n  if (32 - this.bit_pos_ < n_bits) {\n    this.fillBitWindow();\n  }\n  \n  var val = ((this.val_ >>> this.bit_pos_) & kBitMask[n_bits]);\n  this.bit_pos_ += n_bits;\n  return val;\n};\n\nmodule.exports = BrotliBitReader;\n","/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n   Lookup table to map the previous two bytes to a context id.\n\n   There are four different context modeling modes defined here:\n     CONTEXT_LSB6: context id is the least significant 6 bits of the last byte,\n     CONTEXT_MSB6: context id is the most significant 6 bits of the last byte,\n     CONTEXT_UTF8: second-order context model tuned for UTF8-encoded text,\n     CONTEXT_SIGNED: second-order context model tuned for signed integers.\n\n   The context id for the UTF8 context model is calculated as follows. If p1\n   and p2 are the previous two bytes, we calcualte the context as\n\n     context = kContextLookup[p1] | kContextLookup[p2 + 256].\n\n   If the previous two bytes are ASCII characters (i.e. < 128), this will be\n   equivalent to\n\n     context = 4 * context1(p1) + context2(p2),\n\n   where context1 is based on the previous byte in the following way:\n\n     0  : non-ASCII control\n     1  : \\t, \\n, \\r\n     2  : space\n     3  : other punctuation\n     4  : \" '\n     5  : %\n     6  : ( < [ {\n     7  : ) > ] }\n     8  : , ; :\n     9  : .\n     10 : =\n     11 : number\n     12 : upper-case vowel\n     13 : upper-case consonant\n     14 : lower-case vowel\n     15 : lower-case consonant\n\n   and context2 is based on the second last byte:\n\n     0 : control, space\n     1 : punctuation\n     2 : upper-case letter, number\n     3 : lower-case letter\n\n   If the last byte is ASCII, and the second last byte is not (in a valid UTF8\n   stream it will be a continuation byte, value between 128 and 191), the\n   context is the same as if the second last byte was an ASCII control or space.\n\n   If the last byte is a UTF8 lead byte (value >= 192), then the next byte will\n   be a continuation byte and the context id is 2 or 3 depending on the LSB of\n   the last byte and to a lesser extent on the second last byte if it is ASCII.\n\n   If the last byte is a UTF8 continuation byte, the second last byte can be:\n     - continuation byte: the next byte is probably ASCII or lead byte (assuming\n       4-byte UTF8 characters are rare) and the context id is 0 or 1.\n     - lead byte (192 - 207): next byte is ASCII or lead byte, context is 0 or 1\n     - lead byte (208 - 255): next byte is continuation byte, context is 2 or 3\n\n   The possible value combinations of the previous two bytes, the range of\n   context ids and the type of the next byte is summarized in the table below:\n\n   |--------\\-----------------------------------------------------------------|\n   |         \\                         Last byte                              |\n   | Second   \\---------------------------------------------------------------|\n   | last byte \\    ASCII            |   cont. byte        |   lead byte      |\n   |            \\   (0-127)          |   (128-191)         |   (192-)         |\n   |=============|===================|=====================|==================|\n   |  ASCII      | next: ASCII/lead  |  not valid          |  next: cont.     |\n   |  (0-127)    | context: 4 - 63   |                     |  context: 2 - 3  |\n   |-------------|-------------------|---------------------|------------------|\n   |  cont. byte | next: ASCII/lead  |  next: ASCII/lead   |  next: cont.     |\n   |  (128-191)  | context: 4 - 63   |  context: 0 - 1     |  context: 2 - 3  |\n   |-------------|-------------------|---------------------|------------------|\n   |  lead byte  | not valid         |  next: ASCII/lead   |  not valid       |\n   |  (192-207)  |                   |  context: 0 - 1     |                  |\n   |-------------|-------------------|---------------------|------------------|\n   |  lead byte  | not valid         |  next: cont.        |  not valid       |\n   |  (208-)     |                   |  context: 2 - 3     |                  |\n   |-------------|-------------------|---------------------|------------------|\n\n   The context id for the signed context mode is calculated as:\n\n     context = (kContextLookup[512 + p1] << 3) | kContextLookup[512 + p2].\n\n   For any context modeling modes, the context ids can be calculated by |-ing\n   together two lookups from one table using context model dependent offsets:\n\n     context = kContextLookup[offset1 + p1] | kContextLookup[offset2 + p2].\n\n   where offset1 and offset2 are dependent on the context mode.\n*/\n\nvar CONTEXT_LSB6         = 0;\nvar CONTEXT_MSB6         = 1;\nvar CONTEXT_UTF8         = 2;\nvar CONTEXT_SIGNED       = 3;\n\n/* Common context lookup table for all context modes. */\nexports.lookup = new Uint8Array([\n  /* CONTEXT_UTF8, last byte. */\n  /* ASCII range. */\n   0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  4,  0,  0,  4,  0,  0,\n   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,\n   8, 12, 16, 12, 12, 20, 12, 16, 24, 28, 12, 12, 32, 12, 36, 12,\n  44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 32, 32, 24, 40, 28, 12,\n  12, 48, 52, 52, 52, 48, 52, 52, 52, 48, 52, 52, 52, 52, 52, 48,\n  52, 52, 52, 52, 52, 48, 52, 52, 52, 52, 52, 24, 12, 28, 12, 12,\n  12, 56, 60, 60, 60, 56, 60, 60, 60, 56, 60, 60, 60, 60, 60, 56,\n  60, 60, 60, 60, 60, 56, 60, 60, 60, 60, 60, 24, 12, 28, 12,  0,\n  /* UTF8 continuation byte range. */\n  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1,\n  /* UTF8 lead byte range. */\n  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n  2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3,\n  /* CONTEXT_UTF8 second last byte. */\n  /* ASCII range. */\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1,\n  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,\n  1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0,\n  /* UTF8 continuation byte range. */\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  /* UTF8 lead byte range. */\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  /* CONTEXT_SIGNED, second last byte. */\n  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,\n  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,\n  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n  5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,\n  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7,\n  /* CONTEXT_SIGNED, last byte, same as the above values shifted by 3 bits. */\n   0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,\n  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n  16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,\n  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n  32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,\n  40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n  40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n  40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40, 40,\n  48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 56,\n  /* CONTEXT_LSB6, last byte. */\n   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\n  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\n  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\n  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n   0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15,\n  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63,\n  /* CONTEXT_MSB6, last byte. */\n   0,  0,  0,  0,  1,  1,  1,  1,  2,  2,  2,  2,  3,  3,  3,  3,\n   4,  4,  4,  4,  5,  5,  5,  5,  6,  6,  6,  6,  7,  7,  7,  7,\n   8,  8,  8,  8,  9,  9,  9,  9, 10, 10, 10, 10, 11, 11, 11, 11,\n  12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15,\n  16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19,\n  20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23,\n  24, 24, 24, 24, 25, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27,\n  28, 28, 28, 28, 29, 29, 29, 29, 30, 30, 30, 30, 31, 31, 31, 31,\n  32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35,\n  36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39,\n  40, 40, 40, 40, 41, 41, 41, 41, 42, 42, 42, 42, 43, 43, 43, 43,\n  44, 44, 44, 44, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 47, 47,\n  48, 48, 48, 48, 49, 49, 49, 49, 50, 50, 50, 50, 51, 51, 51, 51,\n  52, 52, 52, 52, 53, 53, 53, 53, 54, 54, 54, 54, 55, 55, 55, 55,\n  56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 59, 59,\n  60, 60, 60, 60, 61, 61, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63,\n  /* CONTEXT_{M,L}SB6, second last byte, */\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n]);\n\nexports.lookupOffsets = new Uint16Array([\n  /* CONTEXT_LSB6 */\n  1024, 1536,\n  /* CONTEXT_MSB6 */\n  1280, 1536,\n  /* CONTEXT_UTF8 */\n  0, 256,\n  /* CONTEXT_SIGNED */\n  768, 512,\n]);\n","/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n*/\n\nvar BrotliInput = require('./streams').BrotliInput;\nvar BrotliOutput = require('./streams').BrotliOutput;\nvar BrotliBitReader = require('./bit_reader');\nvar BrotliDictionary = require('./dictionary');\nvar HuffmanCode = require('./huffman').HuffmanCode;\nvar BrotliBuildHuffmanTable = require('./huffman').BrotliBuildHuffmanTable;\nvar Context = require('./context');\nvar Prefix = require('./prefix');\nvar Transform = require('./transform');\n\nvar kDefaultCodeLength = 8;\nvar kCodeLengthRepeatCode = 16;\nvar kNumLiteralCodes = 256;\nvar kNumInsertAndCopyCodes = 704;\nvar kNumBlockLengthCodes = 26;\nvar kLiteralContextBits = 6;\nvar kDistanceContextBits = 2;\n\nvar HUFFMAN_TABLE_BITS = 8;\nvar HUFFMAN_TABLE_MASK = 0xff;\n/* Maximum possible Huffman table size for an alphabet size of 704, max code\n * length 15 and root table bits 8. */\nvar HUFFMAN_MAX_TABLE_SIZE = 1080;\n\nvar CODE_LENGTH_CODES = 18;\nvar kCodeLengthCodeOrder = new Uint8Array([\n  1, 2, 3, 4, 0, 5, 17, 6, 16, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n]);\n\nvar NUM_DISTANCE_SHORT_CODES = 16;\nvar kDistanceShortCodeIndexOffset = new Uint8Array([\n  3, 2, 1, 0, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2\n]);\n\nvar kDistanceShortCodeValueOffset = new Int8Array([\n  0, 0, 0, 0, -1, 1, -2, 2, -3, 3, -1, 1, -2, 2, -3, 3\n]);\n\nvar kMaxHuffmanTableSize = new Uint16Array([\n  256, 402, 436, 468, 500, 534, 566, 598, 630, 662, 694, 726, 758, 790, 822,\n  854, 886, 920, 952, 984, 1016, 1048, 1080\n]);\n\nfunction DecodeWindowBits(br) {\n  var n;\n  if (br.readBits(1) === 0) {\n    return 16;\n  }\n  \n  n = br.readBits(3);\n  if (n > 0) {\n    return 17 + n;\n  }\n  \n  n = br.readBits(3);\n  if (n > 0) {\n    return 8 + n;\n  }\n  \n  return 17;\n}\n\n/* Decodes a number in the range [0..255], by reading 1 - 11 bits. */\nfunction DecodeVarLenUint8(br) {\n  if (br.readBits(1)) {\n    var nbits = br.readBits(3);\n    if (nbits === 0) {\n      return 1;\n    } else {\n      return br.readBits(nbits) + (1 << nbits);\n    }\n  }\n  return 0;\n}\n\nfunction MetaBlockLength() {\n  this.meta_block_length = 0;\n  this.input_end = 0;\n  this.is_uncompressed = 0;\n  this.is_metadata = false;\n}\n\nfunction DecodeMetaBlockLength(br) {\n  var out = new MetaBlockLength;  \n  var size_nibbles;\n  var size_bytes;\n  var i;\n  \n  out.input_end = br.readBits(1);\n  if (out.input_end && br.readBits(1)) {\n    return out;\n  }\n  \n  size_nibbles = br.readBits(2) + 4;\n  if (size_nibbles === 7) {\n    out.is_metadata = true;\n    \n    if (br.readBits(1) !== 0)\n      throw new Error('Invalid reserved bit');\n    \n    size_bytes = br.readBits(2);\n    if (size_bytes === 0)\n      return out;\n    \n    for (i = 0; i < size_bytes; i++) {\n      var next_byte = br.readBits(8);\n      if (i + 1 === size_bytes && size_bytes > 1 && next_byte === 0)\n        throw new Error('Invalid size byte');\n      \n      out.meta_block_length |= next_byte << (i * 8);\n    }\n  } else {\n    for (i = 0; i < size_nibbles; ++i) {\n      var next_nibble = br.readBits(4);\n      if (i + 1 === size_nibbles && size_nibbles > 4 && next_nibble === 0)\n        throw new Error('Invalid size nibble');\n      \n      out.meta_block_length |= next_nibble << (i * 4);\n    }\n  }\n  \n  ++out.meta_block_length;\n  \n  if (!out.input_end && !out.is_metadata) {\n    out.is_uncompressed = br.readBits(1);\n  }\n  \n  return out;\n}\n\n/* Decodes the next Huffman code from bit-stream. */\nfunction ReadSymbol(table, index, br) {\n  var start_index = index;\n  \n  var nbits;\n  br.fillBitWindow();\n  index += (br.val_ >>> br.bit_pos_) & HUFFMAN_TABLE_MASK;\n  nbits = table[index].bits - HUFFMAN_TABLE_BITS;\n  if (nbits > 0) {\n    br.bit_pos_ += HUFFMAN_TABLE_BITS;\n    index += table[index].value;\n    index += (br.val_ >>> br.bit_pos_) & ((1 << nbits) - 1);\n  }\n  br.bit_pos_ += table[index].bits;\n  return table[index].value;\n}\n\nfunction ReadHuffmanCodeLengths(code_length_code_lengths, num_symbols, code_lengths, br) {\n  var symbol = 0;\n  var prev_code_len = kDefaultCodeLength;\n  var repeat = 0;\n  var repeat_code_len = 0;\n  var space = 32768;\n  \n  var table = [];\n  for (var i = 0; i < 32; i++)\n    table.push(new HuffmanCode(0, 0));\n  \n  BrotliBuildHuffmanTable(table, 0, 5, code_length_code_lengths, CODE_LENGTH_CODES);\n\n  while (symbol < num_symbols && space > 0) {\n    var p = 0;\n    var code_len;\n    \n    br.readMoreInput();\n    br.fillBitWindow();\n    p += (br.val_ >>> br.bit_pos_) & 31;\n    br.bit_pos_ += table[p].bits;\n    code_len = table[p].value & 0xff;\n    if (code_len < kCodeLengthRepeatCode) {\n      repeat = 0;\n      code_lengths[symbol++] = code_len;\n      if (code_len !== 0) {\n        prev_code_len = code_len;\n        space -= 32768 >> code_len;\n      }\n    } else {\n      var extra_bits = code_len - 14;\n      var old_repeat;\n      var repeat_delta;\n      var new_len = 0;\n      if (code_len === kCodeLengthRepeatCode) {\n        new_len = prev_code_len;\n      }\n      if (repeat_code_len !== new_len) {\n        repeat = 0;\n        repeat_code_len = new_len;\n      }\n      old_repeat = repeat;\n      if (repeat > 0) {\n        repeat -= 2;\n        repeat <<= extra_bits;\n      }\n      repeat += br.readBits(extra_bits) + 3;\n      repeat_delta = repeat - old_repeat;\n      if (symbol + repeat_delta > num_symbols) {\n        throw new Error('[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols');\n      }\n      \n      for (var x = 0; x < repeat_delta; x++)\n        code_lengths[symbol + x] = repeat_code_len;\n      \n      symbol += repeat_delta;\n      \n      if (repeat_code_len !== 0) {\n        space -= repeat_delta << (15 - repeat_code_len);\n      }\n    }\n  }\n  if (space !== 0) {\n    throw new Error(\"[ReadHuffmanCodeLengths] space = \" + space);\n  }\n  \n  for (; symbol < num_symbols; symbol++)\n    code_lengths[symbol] = 0;\n}\n\nfunction ReadHuffmanCode(alphabet_size, tables, table, br) {\n  var table_size = 0;\n  var simple_code_or_skip;\n  var code_lengths = new Uint8Array(alphabet_size);\n  \n  br.readMoreInput();\n  \n  /* simple_code_or_skip is used as follows:\n     1 for simple code;\n     0 for no skipping, 2 skips 2 code lengths, 3 skips 3 code lengths */\n  simple_code_or_skip = br.readBits(2);\n  if (simple_code_or_skip === 1) {\n    /* Read symbols, codes & code lengths directly. */\n    var i;\n    var max_bits_counter = alphabet_size - 1;\n    var max_bits = 0;\n    var symbols = new Int32Array(4);\n    var num_symbols = br.readBits(2) + 1;\n    while (max_bits_counter) {\n      max_bits_counter >>= 1;\n      ++max_bits;\n    }\n\n    for (i = 0; i < num_symbols; ++i) {\n      symbols[i] = br.readBits(max_bits) % alphabet_size;\n      code_lengths[symbols[i]] = 2;\n    }\n    code_lengths[symbols[0]] = 1;\n    switch (num_symbols) {\n      case 1:\n        break;\n      case 3:\n        if ((symbols[0] === symbols[1]) ||\n            (symbols[0] === symbols[2]) ||\n            (symbols[1] === symbols[2])) {\n          throw new Error('[ReadHuffmanCode] invalid symbols');\n        }\n        break;\n      case 2:\n        if (symbols[0] === symbols[1]) {\n          throw new Error('[ReadHuffmanCode] invalid symbols');\n        }\n        \n        code_lengths[symbols[1]] = 1;\n        break;\n      case 4:\n        if ((symbols[0] === symbols[1]) ||\n            (symbols[0] === symbols[2]) ||\n            (symbols[0] === symbols[3]) ||\n            (symbols[1] === symbols[2]) ||\n            (symbols[1] === symbols[3]) ||\n            (symbols[2] === symbols[3])) {\n          throw new Error('[ReadHuffmanCode] invalid symbols');\n        }\n        \n        if (br.readBits(1)) {\n          code_lengths[symbols[2]] = 3;\n          code_lengths[symbols[3]] = 3;\n        } else {\n          code_lengths[symbols[0]] = 2;\n        }\n        break;\n    }\n  } else {  /* Decode Huffman-coded code lengths. */\n    var i;\n    var code_length_code_lengths = new Uint8Array(CODE_LENGTH_CODES);\n    var space = 32;\n    var num_codes = 0;\n    /* Static Huffman code for the code length code lengths */\n    var huff = [\n      new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), \n      new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 1),\n      new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(3, 2), \n      new HuffmanCode(2, 0), new HuffmanCode(2, 4), new HuffmanCode(2, 3), new HuffmanCode(4, 5)\n    ];\n    for (i = simple_code_or_skip; i < CODE_LENGTH_CODES && space > 0; ++i) {\n      var code_len_idx = kCodeLengthCodeOrder[i];\n      var p = 0;\n      var v;\n      br.fillBitWindow();\n      p += (br.val_ >>> br.bit_pos_) & 15;\n      br.bit_pos_ += huff[p].bits;\n      v = huff[p].value;\n      code_length_code_lengths[code_len_idx] = v;\n      if (v !== 0) {\n        space -= (32 >> v);\n        ++num_codes;\n      }\n    }\n    \n    if (!(num_codes === 1 || space === 0))\n      throw new Error('[ReadHuffmanCode] invalid num_codes or space');\n    \n    ReadHuffmanCodeLengths(code_length_code_lengths, alphabet_size, code_lengths, br);\n  }\n  \n  table_size = BrotliBuildHuffmanTable(tables, table, HUFFMAN_TABLE_BITS, code_lengths, alphabet_size);\n  \n  if (table_size === 0) {\n    throw new Error(\"[ReadHuffmanCode] BuildHuffmanTable failed: \");\n  }\n  \n  return table_size;\n}\n\nfunction ReadBlockLength(table, index, br) {\n  var code;\n  var nbits;\n  code = ReadSymbol(table, index, br);\n  nbits = Prefix.kBlockLengthPrefixCode[code].nbits;\n  return Prefix.kBlockLengthPrefixCode[code].offset + br.readBits(nbits);\n}\n\nfunction TranslateShortCodes(code, ringbuffer, index) {\n  var val;\n  if (code < NUM_DISTANCE_SHORT_CODES) {\n    index += kDistanceShortCodeIndexOffset[code];\n    index &= 3;\n    val = ringbuffer[index] + kDistanceShortCodeValueOffset[code];\n  } else {\n    val = code - NUM_DISTANCE_SHORT_CODES + 1;\n  }\n  return val;\n}\n\nfunction MoveToFront(v, index) {\n  var value = v[index];\n  var i = index;\n  for (; i; --i) v[i] = v[i - 1];\n  v[0] = value;\n}\n\nfunction InverseMoveToFrontTransform(v, v_len) {\n  var mtf = new Uint8Array(256);\n  var i;\n  for (i = 0; i < 256; ++i) {\n    mtf[i] = i;\n  }\n  for (i = 0; i < v_len; ++i) {\n    var index = v[i];\n    v[i] = mtf[index];\n    if (index) MoveToFront(mtf, index);\n  }\n}\n\n/* Contains a collection of huffman trees with the same alphabet size. */\nfunction HuffmanTreeGroup(alphabet_size, num_htrees) {\n  this.alphabet_size = alphabet_size;\n  this.num_htrees = num_htrees;\n  this.codes = new Array(num_htrees + num_htrees * kMaxHuffmanTableSize[(alphabet_size + 31) >>> 5]);  \n  this.htrees = new Uint32Array(num_htrees);\n}\n\nHuffmanTreeGroup.prototype.decode = function(br) {\n  var i;\n  var table_size;\n  var next = 0;\n  for (i = 0; i < this.num_htrees; ++i) {\n    this.htrees[i] = next;\n    table_size = ReadHuffmanCode(this.alphabet_size, this.codes, next, br);\n    next += table_size;\n  }\n};\n\nfunction DecodeContextMap(context_map_size, br) {\n  var out = { num_htrees: null, context_map: null };\n  var use_rle_for_zeros;\n  var max_run_length_prefix = 0;\n  var table;\n  var i;\n  \n  br.readMoreInput();\n  var num_htrees = out.num_htrees = DecodeVarLenUint8(br) + 1;\n\n  var context_map = out.context_map = new Uint8Array(context_map_size);\n  if (num_htrees <= 1) {\n    return out;\n  }\n\n  use_rle_for_zeros = br.readBits(1);\n  if (use_rle_for_zeros) {\n    max_run_length_prefix = br.readBits(4) + 1;\n  }\n  \n  table = [];\n  for (i = 0; i < HUFFMAN_MAX_TABLE_SIZE; i++) {\n    table[i] = new HuffmanCode(0, 0);\n  }\n  \n  ReadHuffmanCode(num_htrees + max_run_length_prefix, table, 0, br);\n  \n  for (i = 0; i < context_map_size;) {\n    var code;\n\n    br.readMoreInput();\n    code = ReadSymbol(table, 0, br);\n    if (code === 0) {\n      context_map[i] = 0;\n      ++i;\n    } else if (code <= max_run_length_prefix) {\n      var reps = 1 + (1 << code) + br.readBits(code);\n      while (--reps) {\n        if (i >= context_map_size) {\n          throw new Error(\"[DecodeContextMap] i >= context_map_size\");\n        }\n        context_map[i] = 0;\n        ++i;\n      }\n    } else {\n      context_map[i] = code - max_run_length_prefix;\n      ++i;\n    }\n  }\n  if (br.readBits(1)) {\n    InverseMoveToFrontTransform(context_map, context_map_size);\n  }\n  \n  return out;\n}\n\nfunction DecodeBlockType(max_block_type, trees, tree_type, block_types, ringbuffers, indexes, br) {\n  var ringbuffer = tree_type * 2;\n  var index = tree_type;\n  var type_code = ReadSymbol(trees, tree_type * HUFFMAN_MAX_TABLE_SIZE, br);\n  var block_type;\n  if (type_code === 0) {\n    block_type = ringbuffers[ringbuffer + (indexes[index] & 1)];\n  } else if (type_code === 1) {\n    block_type = ringbuffers[ringbuffer + ((indexes[index] - 1) & 1)] + 1;\n  } else {\n    block_type = type_code - 2;\n  }\n  if (block_type >= max_block_type) {\n    block_type -= max_block_type;\n  }\n  block_types[tree_type] = block_type;\n  ringbuffers[ringbuffer + (indexes[index] & 1)] = block_type;\n  ++indexes[index];\n}\n\nfunction CopyUncompressedBlockToOutput(output, len, pos, ringbuffer, ringbuffer_mask, br) {\n  var rb_size = ringbuffer_mask + 1;\n  var rb_pos = pos & ringbuffer_mask;\n  var br_pos = br.pos_ & BrotliBitReader.IBUF_MASK;\n  var nbytes;\n\n  /* For short lengths copy byte-by-byte */\n  if (len < 8 || br.bit_pos_ + (len << 3) < br.bit_end_pos_) {\n    while (len-- > 0) {\n      br.readMoreInput();\n      ringbuffer[rb_pos++] = br.readBits(8);\n      if (rb_pos === rb_size) {\n        output.write(ringbuffer, rb_size);\n        rb_pos = 0;\n      }\n    }\n    return;\n  }\n\n  if (br.bit_end_pos_ < 32) {\n    throw new Error('[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32');\n  }\n\n  /* Copy remaining 0-4 bytes from br.val_ to ringbuffer. */\n  while (br.bit_pos_ < 32) {\n    ringbuffer[rb_pos] = (br.val_ >>> br.bit_pos_);\n    br.bit_pos_ += 8;\n    ++rb_pos;\n    --len;\n  }\n\n  /* Copy remaining bytes from br.buf_ to ringbuffer. */\n  nbytes = (br.bit_end_pos_ - br.bit_pos_) >> 3;\n  if (br_pos + nbytes > BrotliBitReader.IBUF_MASK) {\n    var tail = BrotliBitReader.IBUF_MASK + 1 - br_pos;\n    for (var x = 0; x < tail; x++)\n      ringbuffer[rb_pos + x] = br.buf_[br_pos + x];\n    \n    nbytes -= tail;\n    rb_pos += tail;\n    len -= tail;\n    br_pos = 0;\n  }\n\n  for (var x = 0; x < nbytes; x++)\n    ringbuffer[rb_pos + x] = br.buf_[br_pos + x];\n  \n  rb_pos += nbytes;\n  len -= nbytes;\n\n  /* If we wrote past the logical end of the ringbuffer, copy the tail of the\n     ringbuffer to its beginning and flush the ringbuffer to the output. */\n  if (rb_pos >= rb_size) {\n    output.write(ringbuffer, rb_size);\n    rb_pos -= rb_size;    \n    for (var x = 0; x < rb_pos; x++)\n      ringbuffer[x] = ringbuffer[rb_size + x];\n  }\n\n  /* If we have more to copy than the remaining size of the ringbuffer, then we\n     first fill the ringbuffer from the input and then flush the ringbuffer to\n     the output */\n  while (rb_pos + len >= rb_size) {\n    nbytes = rb_size - rb_pos;\n    if (br.input_.read(ringbuffer, rb_pos, nbytes) < nbytes) {\n      throw new Error('[CopyUncompressedBlockToOutput] not enough bytes');\n    }\n    output.write(ringbuffer, rb_size);\n    len -= nbytes;\n    rb_pos = 0;\n  }\n\n  /* Copy straight from the input onto the ringbuffer. The ringbuffer will be\n     flushed to the output at a later time. */\n  if (br.input_.read(ringbuffer, rb_pos, len) < len) {\n    throw new Error('[CopyUncompressedBlockToOutput] not enough bytes');\n  }\n\n  /* Restore the state of the bit reader. */\n  br.reset();\n}\n\n/* Advances the bit reader position to the next byte boundary and verifies\n   that any skipped bits are set to zero. */\nfunction JumpToByteBoundary(br) {\n  var new_bit_pos = (br.bit_pos_ + 7) & ~7;\n  var pad_bits = br.readBits(new_bit_pos - br.bit_pos_);\n  return pad_bits == 0;\n}\n\nfunction BrotliDecompressedSize(buffer) {\n  var input = new BrotliInput(buffer);\n  var br = new BrotliBitReader(input);\n  DecodeWindowBits(br);\n  var out = DecodeMetaBlockLength(br);\n  return out.meta_block_length;\n}\n\nexports.BrotliDecompressedSize = BrotliDecompressedSize;\n\nfunction BrotliDecompressBuffer(buffer, output_size) {\n  var input = new BrotliInput(buffer);\n  \n  if (output_size == null) {\n    output_size = BrotliDecompressedSize(buffer);\n  }\n  \n  var output_buffer = new Uint8Array(output_size);\n  var output = new BrotliOutput(output_buffer);\n  \n  BrotliDecompress(input, output);\n  \n  if (output.pos < output.buffer.length) {\n    output.buffer = output.buffer.subarray(0, output.pos);\n  }\n  \n  return output.buffer;\n}\n\nexports.BrotliDecompressBuffer = BrotliDecompressBuffer;\n\nfunction BrotliDecompress(input, output) {\n  var i;\n  var pos = 0;\n  var input_end = 0;\n  var window_bits = 0;\n  var max_backward_distance;\n  var max_distance = 0;\n  var ringbuffer_size;\n  var ringbuffer_mask;\n  var ringbuffer;\n  var ringbuffer_end;\n  /* This ring buffer holds a few past copy distances that will be used by */\n  /* some special distance codes. */\n  var dist_rb = [ 16, 15, 11, 4 ];\n  var dist_rb_idx = 0;\n  /* The previous 2 bytes used for context. */\n  var prev_byte1 = 0;\n  var prev_byte2 = 0;\n  var hgroup = [new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0), new HuffmanTreeGroup(0, 0)];\n  var block_type_trees;\n  var block_len_trees;\n  var br;\n\n  /* We need the slack region for the following reasons:\n       - always doing two 8-byte copies for fast backward copying\n       - transforms\n       - flushing the input ringbuffer when decoding uncompressed blocks */\n  var kRingBufferWriteAheadSlack = 128 + BrotliBitReader.READ_SIZE;\n\n  br = new BrotliBitReader(input);\n\n  /* Decode window size. */\n  window_bits = DecodeWindowBits(br);\n  max_backward_distance = (1 << window_bits) - 16;\n\n  ringbuffer_size = 1 << window_bits;\n  ringbuffer_mask = ringbuffer_size - 1;\n  ringbuffer = new Uint8Array(ringbuffer_size + kRingBufferWriteAheadSlack + BrotliDictionary.maxDictionaryWordLength);\n  ringbuffer_end = ringbuffer_size;\n\n  block_type_trees = [];\n  block_len_trees = [];\n  for (var x = 0; x < 3 * HUFFMAN_MAX_TABLE_SIZE; x++) {\n    block_type_trees[x] = new HuffmanCode(0, 0);\n    block_len_trees[x] = new HuffmanCode(0, 0);\n  }\n\n  while (!input_end) {\n    var meta_block_remaining_len = 0;\n    var is_uncompressed;\n    var block_length = [ 1 << 28, 1 << 28, 1 << 28 ];\n    var block_type = [ 0 ];\n    var num_block_types = [ 1, 1, 1 ];\n    var block_type_rb = [ 0, 1, 0, 1, 0, 1 ];\n    var block_type_rb_index = [ 0 ];\n    var distance_postfix_bits;\n    var num_direct_distance_codes;\n    var distance_postfix_mask;\n    var num_distance_codes;\n    var context_map = null;\n    var context_modes = null;\n    var num_literal_htrees;\n    var dist_context_map = null;\n    var num_dist_htrees;\n    var context_offset = 0;\n    var context_map_slice = null;\n    var literal_htree_index = 0;\n    var dist_context_offset = 0;\n    var dist_context_map_slice = null;\n    var dist_htree_index = 0;\n    var context_lookup_offset1 = 0;\n    var context_lookup_offset2 = 0;\n    var context_mode;\n    var htree_command;\n\n    for (i = 0; i < 3; ++i) {\n      hgroup[i].codes = null;\n      hgroup[i].htrees = null;\n    }\n\n    br.readMoreInput();\n    \n    var _out = DecodeMetaBlockLength(br);\n    meta_block_remaining_len = _out.meta_block_length;\n    if (pos + meta_block_remaining_len > output.buffer.length) {\n      /* We need to grow the output buffer to fit the additional data. */\n      var tmp = new Uint8Array( pos + meta_block_remaining_len );\n      tmp.set( output.buffer );\n      output.buffer = tmp;\n    }    \n    input_end = _out.input_end;\n    is_uncompressed = _out.is_uncompressed;\n    \n    if (_out.is_metadata) {\n      JumpToByteBoundary(br);\n      \n      for (; meta_block_remaining_len > 0; --meta_block_remaining_len) {\n        br.readMoreInput();\n        /* Read one byte and ignore it. */\n        br.readBits(8);\n      }\n      \n      continue;\n    }\n    \n    if (meta_block_remaining_len === 0) {\n      continue;\n    }\n    \n    if (is_uncompressed) {\n      br.bit_pos_ = (br.bit_pos_ + 7) & ~7;\n      CopyUncompressedBlockToOutput(output, meta_block_remaining_len, pos,\n                                    ringbuffer, ringbuffer_mask, br);\n      pos += meta_block_remaining_len;\n      continue;\n    }\n    \n    for (i = 0; i < 3; ++i) {\n      num_block_types[i] = DecodeVarLenUint8(br) + 1;\n      if (num_block_types[i] >= 2) {\n        ReadHuffmanCode(num_block_types[i] + 2, block_type_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n        ReadHuffmanCode(kNumBlockLengthCodes, block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n        block_length[i] = ReadBlockLength(block_len_trees, i * HUFFMAN_MAX_TABLE_SIZE, br);\n        block_type_rb_index[i] = 1;\n      }\n    }\n    \n    br.readMoreInput();\n    \n    distance_postfix_bits = br.readBits(2);\n    num_direct_distance_codes = NUM_DISTANCE_SHORT_CODES + (br.readBits(4) << distance_postfix_bits);\n    distance_postfix_mask = (1 << distance_postfix_bits) - 1;\n    num_distance_codes = (num_direct_distance_codes + (48 << distance_postfix_bits));\n    context_modes = new Uint8Array(num_block_types[0]);\n\n    for (i = 0; i < num_block_types[0]; ++i) {\n       br.readMoreInput();\n       context_modes[i] = (br.readBits(2) << 1);\n    }\n    \n    var _o1 = DecodeContextMap(num_block_types[0] << kLiteralContextBits, br);\n    num_literal_htrees = _o1.num_htrees;\n    context_map = _o1.context_map;\n    \n    var _o2 = DecodeContextMap(num_block_types[2] << kDistanceContextBits, br);\n    num_dist_htrees = _o2.num_htrees;\n    dist_context_map = _o2.context_map;\n    \n    hgroup[0] = new HuffmanTreeGroup(kNumLiteralCodes, num_literal_htrees);\n    hgroup[1] = new HuffmanTreeGroup(kNumInsertAndCopyCodes, num_block_types[1]);\n    hgroup[2] = new HuffmanTreeGroup(num_distance_codes, num_dist_htrees);\n\n    for (i = 0; i < 3; ++i) {\n      hgroup[i].decode(br);\n    }\n\n    context_map_slice = 0;\n    dist_context_map_slice = 0;\n    context_mode = context_modes[block_type[0]];\n    context_lookup_offset1 = Context.lookupOffsets[context_mode];\n    context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];\n    htree_command = hgroup[1].htrees[0];\n\n    while (meta_block_remaining_len > 0) {\n      var cmd_code;\n      var range_idx;\n      var insert_code;\n      var copy_code;\n      var insert_length;\n      var copy_length;\n      var distance_code;\n      var distance;\n      var context;\n      var j;\n      var copy_dst;\n\n      br.readMoreInput();\n      \n      if (block_length[1] === 0) {\n        DecodeBlockType(num_block_types[1],\n                        block_type_trees, 1, block_type, block_type_rb,\n                        block_type_rb_index, br);\n        block_length[1] = ReadBlockLength(block_len_trees, HUFFMAN_MAX_TABLE_SIZE, br);\n        htree_command = hgroup[1].htrees[block_type[1]];\n      }\n      --block_length[1];\n      cmd_code = ReadSymbol(hgroup[1].codes, htree_command, br);\n      range_idx = cmd_code >> 6;\n      if (range_idx >= 2) {\n        range_idx -= 2;\n        distance_code = -1;\n      } else {\n        distance_code = 0;\n      }\n      insert_code = Prefix.kInsertRangeLut[range_idx] + ((cmd_code >> 3) & 7);\n      copy_code = Prefix.kCopyRangeLut[range_idx] + (cmd_code & 7);\n      insert_length = Prefix.kInsertLengthPrefixCode[insert_code].offset +\n          br.readBits(Prefix.kInsertLengthPrefixCode[insert_code].nbits);\n      copy_length = Prefix.kCopyLengthPrefixCode[copy_code].offset +\n          br.readBits(Prefix.kCopyLengthPrefixCode[copy_code].nbits);\n      prev_byte1 = ringbuffer[pos-1 & ringbuffer_mask];\n      prev_byte2 = ringbuffer[pos-2 & ringbuffer_mask];\n      for (j = 0; j < insert_length; ++j) {\n        br.readMoreInput();\n\n        if (block_length[0] === 0) {\n          DecodeBlockType(num_block_types[0],\n                          block_type_trees, 0, block_type, block_type_rb,\n                          block_type_rb_index, br);\n          block_length[0] = ReadBlockLength(block_len_trees, 0, br);\n          context_offset = block_type[0] << kLiteralContextBits;\n          context_map_slice = context_offset;\n          context_mode = context_modes[block_type[0]];\n          context_lookup_offset1 = Context.lookupOffsets[context_mode];\n          context_lookup_offset2 = Context.lookupOffsets[context_mode + 1];\n        }\n        context = (Context.lookup[context_lookup_offset1 + prev_byte1] |\n                   Context.lookup[context_lookup_offset2 + prev_byte2]);\n        literal_htree_index = context_map[context_map_slice + context];\n        --block_length[0];\n        prev_byte2 = prev_byte1;\n        prev_byte1 = ReadSymbol(hgroup[0].codes, hgroup[0].htrees[literal_htree_index], br);\n        ringbuffer[pos & ringbuffer_mask] = prev_byte1;\n        if ((pos & ringbuffer_mask) === ringbuffer_mask) {\n          output.write(ringbuffer, ringbuffer_size);\n        }\n        ++pos;\n      }\n      meta_block_remaining_len -= insert_length;\n      if (meta_block_remaining_len <= 0) break;\n\n      if (distance_code < 0) {\n        var context;\n        \n        br.readMoreInput();\n        if (block_length[2] === 0) {\n          DecodeBlockType(num_block_types[2],\n                          block_type_trees, 2, block_type, block_type_rb,\n                          block_type_rb_index, br);\n          block_length[2] = ReadBlockLength(block_len_trees, 2 * HUFFMAN_MAX_TABLE_SIZE, br);\n          dist_context_offset = block_type[2] << kDistanceContextBits;\n          dist_context_map_slice = dist_context_offset;\n        }\n        --block_length[2];\n        context = (copy_length > 4 ? 3 : copy_length - 2) & 0xff;\n        dist_htree_index = dist_context_map[dist_context_map_slice + context];\n        distance_code = ReadSymbol(hgroup[2].codes, hgroup[2].htrees[dist_htree_index], br);\n        if (distance_code >= num_direct_distance_codes) {\n          var nbits;\n          var postfix;\n          var offset;\n          distance_code -= num_direct_distance_codes;\n          postfix = distance_code & distance_postfix_mask;\n          distance_code >>= distance_postfix_bits;\n          nbits = (distance_code >> 1) + 1;\n          offset = ((2 + (distance_code & 1)) << nbits) - 4;\n          distance_code = num_direct_distance_codes +\n              ((offset + br.readBits(nbits)) <<\n               distance_postfix_bits) + postfix;\n        }\n      }\n\n      /* Convert the distance code to the actual distance by possibly looking */\n      /* up past distnaces from the ringbuffer. */\n      distance = TranslateShortCodes(distance_code, dist_rb, dist_rb_idx);\n      if (distance < 0) {\n        throw new Error('[BrotliDecompress] invalid distance');\n      }\n\n      if (pos < max_backward_distance &&\n          max_distance !== max_backward_distance) {\n        max_distance = pos;\n      } else {\n        max_distance = max_backward_distance;\n      }\n\n      copy_dst = pos & ringbuffer_mask;\n\n      if (distance > max_distance) {\n        if (copy_length >= BrotliDictionary.minDictionaryWordLength &&\n            copy_length <= BrotliDictionary.maxDictionaryWordLength) {\n          var offset = BrotliDictionary.offsetsByLength[copy_length];\n          var word_id = distance - max_distance - 1;\n          var shift = BrotliDictionary.sizeBitsByLength[copy_length];\n          var mask = (1 << shift) - 1;\n          var word_idx = word_id & mask;\n          var transform_idx = word_id >> shift;\n          offset += word_idx * copy_length;\n          if (transform_idx < Transform.kNumTransforms) {\n            var len = Transform.transformDictionaryWord(ringbuffer, copy_dst, offset, copy_length, transform_idx);\n            copy_dst += len;\n            pos += len;\n            meta_block_remaining_len -= len;\n            if (copy_dst >= ringbuffer_end) {\n              output.write(ringbuffer, ringbuffer_size);\n              \n              for (var _x = 0; _x < (copy_dst - ringbuffer_end); _x++)\n                ringbuffer[_x] = ringbuffer[ringbuffer_end + _x];\n            }\n          } else {\n            throw new Error(\"Invalid backward reference. pos: \" + pos + \" distance: \" + distance +\n              \" len: \" + copy_length + \" bytes left: \" + meta_block_remaining_len);\n          }\n        } else {\n          throw new Error(\"Invalid backward reference. pos: \" + pos + \" distance: \" + distance +\n            \" len: \" + copy_length + \" bytes left: \" + meta_block_remaining_len);\n        }\n      } else {\n        if (distance_code > 0) {\n          dist_rb[dist_rb_idx & 3] = distance;\n          ++dist_rb_idx;\n        }\n\n        if (copy_length > meta_block_remaining_len) {\n          throw new Error(\"Invalid backward reference. pos: \" + pos + \" distance: \" + distance +\n            \" len: \" + copy_length + \" bytes left: \" + meta_block_remaining_len);\n        }\n\n        for (j = 0; j < copy_length; ++j) {\n          ringbuffer[pos & ringbuffer_mask] = ringbuffer[(pos - distance) & ringbuffer_mask];\n          if ((pos & ringbuffer_mask) === ringbuffer_mask) {\n            output.write(ringbuffer, ringbuffer_size);\n          }\n          ++pos;\n          --meta_block_remaining_len;\n        }\n      }\n\n      /* When we get here, we must have inserted at least one literal and */\n      /* made a copy of at least length two, therefore accessing the last 2 */\n      /* bytes is valid. */\n      prev_byte1 = ringbuffer[(pos - 1) & ringbuffer_mask];\n      prev_byte2 = ringbuffer[(pos - 2) & ringbuffer_mask];\n    }\n\n    /* Protect pos from overflow, wrap it around at every GB of input data */\n    pos &= 0x3fffffff;\n  }\n\n  output.write(ringbuffer, pos & ringbuffer_mask);\n}\n\nexports.BrotliDecompress = BrotliDecompress;\n\nBrotliDictionary.init();\n","var base64 = require('base64-js');\n\n/**\n * The normal dictionary-data.js is quite large, which makes it \n * unsuitable for browser usage. In order to make it smaller, \n * we read dictionary.bin, which is a compressed version of\n * the dictionary, and on initial load, Brotli decompresses \n * it's own dictionary. 😜\n */\nexports.init = function() {\n  var BrotliDecompressBuffer = require('./decode').BrotliDecompressBuffer;\n  var compressed = base64.toByteArray(require('./dictionary.bin.js'));\n  return BrotliDecompressBuffer(compressed);\n};\n","module.exports=\"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\";\n","/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n   Collection of static dictionary words.\n*/\n\nvar data = require('./dictionary-data');\nexports.init = function() {\n  exports.dictionary = data.init();\n};\n\nexports.offsetsByLength = new Uint32Array([\n     0,     0,     0,     0,     0,  4096,  9216, 21504, 35840, 44032,\n 53248, 63488, 74752, 87040, 93696, 100864, 104704, 106752, 108928, 113536,\n 115968, 118528, 119872, 121280, 122016,\n]);\n\nexports.sizeBitsByLength = new Uint8Array([\n  0,  0,  0,  0, 10, 10, 11, 11, 10, 10,\n 10, 10, 10,  9,  9,  8,  7,  7,  8,  7,\n  7,  6,  6,  5,  5,\n]);\n\nexports.minDictionaryWordLength = 4;\nexports.maxDictionaryWordLength = 24;\n","function HuffmanCode(bits, value) {\n  this.bits = bits;   /* number of bits used for this symbol */\n  this.value = value; /* symbol value or table offset */\n}\n\nexports.HuffmanCode = HuffmanCode;\n\nvar MAX_LENGTH = 15;\n\n/* Returns reverse(reverse(key, len) + 1, len), where reverse(key, len) is the\n   bit-wise reversal of the len least significant bits of key. */\nfunction GetNextKey(key, len) {\n  var step = 1 << (len - 1);\n  while (key & step) {\n    step >>= 1;\n  }\n  return (key & (step - 1)) + step;\n}\n\n/* Stores code in table[0], table[step], table[2*step], ..., table[end] */\n/* Assumes that end is an integer multiple of step */\nfunction ReplicateValue(table, i, step, end, code) {\n  do {\n    end -= step;\n    table[i + end] = new HuffmanCode(code.bits, code.value);\n  } while (end > 0);\n}\n\n/* Returns the table width of the next 2nd level table. count is the histogram\n   of bit lengths for the remaining symbols, len is the code length of the next\n   processed symbol */\nfunction NextTableBitSize(count, len, root_bits) {\n  var left = 1 << (len - root_bits);\n  while (len < MAX_LENGTH) {\n    left -= count[len];\n    if (left <= 0) break;\n    ++len;\n    left <<= 1;\n  }\n  return len - root_bits;\n}\n\nexports.BrotliBuildHuffmanTable = function(root_table, table, root_bits, code_lengths, code_lengths_size) {\n  var start_table = table;\n  var code;            /* current table entry */\n  var len;             /* current code length */\n  var symbol;          /* symbol index in original or sorted table */\n  var key;             /* reversed prefix code */\n  var step;            /* step size to replicate values in current table */\n  var low;             /* low bits for current root entry */\n  var mask;            /* mask for low bits */\n  var table_bits;      /* key length of current table */\n  var table_size;      /* size of current table */\n  var total_size;      /* sum of root table size and 2nd level table sizes */\n  var sorted;          /* symbols sorted by code length */\n  var count = new Int32Array(MAX_LENGTH + 1);  /* number of codes of each length */\n  var offset = new Int32Array(MAX_LENGTH + 1);  /* offsets in sorted table for each length */\n\n  sorted = new Int32Array(code_lengths_size);\n\n  /* build histogram of code lengths */\n  for (symbol = 0; symbol < code_lengths_size; symbol++) {\n    count[code_lengths[symbol]]++;\n  }\n\n  /* generate offsets into sorted symbol table by code length */\n  offset[1] = 0;\n  for (len = 1; len < MAX_LENGTH; len++) {\n    offset[len + 1] = offset[len] + count[len];\n  }\n\n  /* sort symbols by length, by symbol order within each length */\n  for (symbol = 0; symbol < code_lengths_size; symbol++) {\n    if (code_lengths[symbol] !== 0) {\n      sorted[offset[code_lengths[symbol]]++] = symbol;\n    }\n  }\n  \n  table_bits = root_bits;\n  table_size = 1 << table_bits;\n  total_size = table_size;\n\n  /* special case code with only one value */\n  if (offset[MAX_LENGTH] === 1) {\n    for (key = 0; key < total_size; ++key) {\n      root_table[table + key] = new HuffmanCode(0, sorted[0] & 0xffff);\n    }\n    \n    return total_size;\n  }\n\n  /* fill in root table */\n  key = 0;\n  symbol = 0;\n  for (len = 1, step = 2; len <= root_bits; ++len, step <<= 1) {\n    for (; count[len] > 0; --count[len]) {\n      code = new HuffmanCode(len & 0xff, sorted[symbol++] & 0xffff);\n      ReplicateValue(root_table, table + key, step, table_size, code);\n      key = GetNextKey(key, len);\n    }\n  }\n\n  /* fill in 2nd level tables and add pointers to root table */\n  mask = total_size - 1;\n  low = -1;\n  for (len = root_bits + 1, step = 2; len <= MAX_LENGTH; ++len, step <<= 1) {\n    for (; count[len] > 0; --count[len]) {\n      if ((key & mask) !== low) {\n        table += table_size;\n        table_bits = NextTableBitSize(count, len, root_bits);\n        table_size = 1 << table_bits;\n        total_size += table_size;\n        low = key & mask;\n        root_table[start_table + low] = new HuffmanCode((table_bits + root_bits) & 0xff, ((table - start_table) - low) & 0xffff);\n      }\n      code = new HuffmanCode((len - root_bits) & 0xff, sorted[symbol++] & 0xffff);\n      ReplicateValue(root_table, table + (key >> root_bits), step, table_size, code);\n      key = GetNextKey(key, len);\n    }\n  }\n  \n  return total_size;\n}\n","/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n   Lookup tables to map prefix codes to value ranges. This is used during\n   decoding of the block lengths, literal insertion lengths and copy lengths.\n*/\n\n/* Represents the range of values belonging to a prefix code: */\n/* [offset, offset + 2^nbits) */\nfunction PrefixCodeRange(offset, nbits) {\n  this.offset = offset;\n  this.nbits = nbits;\n}\n\nexports.kBlockLengthPrefixCode = [\n  new PrefixCodeRange(1, 2), new PrefixCodeRange(5, 2), new PrefixCodeRange(9, 2), new PrefixCodeRange(13, 2),\n  new PrefixCodeRange(17, 3), new PrefixCodeRange(25, 3), new PrefixCodeRange(33, 3), new PrefixCodeRange(41, 3),\n  new PrefixCodeRange(49, 4), new PrefixCodeRange(65, 4), new PrefixCodeRange(81, 4), new PrefixCodeRange(97, 4),\n  new PrefixCodeRange(113, 5), new PrefixCodeRange(145, 5), new PrefixCodeRange(177, 5), new PrefixCodeRange(209, 5),\n  new PrefixCodeRange(241, 6), new PrefixCodeRange(305, 6), new PrefixCodeRange(369, 7), new PrefixCodeRange(497, 8),\n  new PrefixCodeRange(753, 9), new PrefixCodeRange(1265, 10), new PrefixCodeRange(2289, 11), new PrefixCodeRange(4337, 12),\n  new PrefixCodeRange(8433, 13), new PrefixCodeRange(16625, 24)\n];\n\nexports.kInsertLengthPrefixCode = [\n  new PrefixCodeRange(0, 0), new PrefixCodeRange(1, 0), new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0),\n  new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0), new PrefixCodeRange(6, 1), new PrefixCodeRange(8, 1),\n  new PrefixCodeRange(10, 2), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 3), new PrefixCodeRange(26, 3),\n  new PrefixCodeRange(34, 4), new PrefixCodeRange(50, 4), new PrefixCodeRange(66, 5), new PrefixCodeRange(98, 5),\n  new PrefixCodeRange(130, 6), new PrefixCodeRange(194, 7), new PrefixCodeRange(322, 8), new PrefixCodeRange(578, 9),\n  new PrefixCodeRange(1090, 10), new PrefixCodeRange(2114, 12), new PrefixCodeRange(6210, 14), new PrefixCodeRange(22594, 24),\n];\n\nexports.kCopyLengthPrefixCode = [\n  new PrefixCodeRange(2, 0), new PrefixCodeRange(3, 0), new PrefixCodeRange(4, 0), new PrefixCodeRange(5, 0),\n  new PrefixCodeRange(6, 0), new PrefixCodeRange(7, 0), new PrefixCodeRange(8, 0), new PrefixCodeRange(9, 0),\n  new PrefixCodeRange(10, 1), new PrefixCodeRange(12, 1), new PrefixCodeRange(14, 2), new PrefixCodeRange(18, 2),\n  new PrefixCodeRange(22, 3), new PrefixCodeRange(30, 3), new PrefixCodeRange(38, 4), new PrefixCodeRange(54, 4),\n  new PrefixCodeRange(70, 5), new PrefixCodeRange(102, 5), new PrefixCodeRange(134, 6), new PrefixCodeRange(198, 7),\n  new PrefixCodeRange(326, 8), new PrefixCodeRange(582, 9), new PrefixCodeRange(1094, 10), new PrefixCodeRange(2118, 24),\n];\n\nexports.kInsertRangeLut = [\n  0, 0, 8, 8, 0, 16, 8, 16, 16,\n];\n\nexports.kCopyRangeLut = [\n  0, 8, 0, 8, 16, 0, 16, 8, 16,\n];\n","function BrotliInput(buffer) {\n  this.buffer = buffer;\n  this.pos = 0;\n}\n\nBrotliInput.prototype.read = function(buf, i, count) {\n  if (this.pos + count > this.buffer.length) {\n    count = this.buffer.length - this.pos;\n  }\n  \n  for (var p = 0; p < count; p++)\n    buf[i + p] = this.buffer[this.pos + p];\n  \n  this.pos += count;\n  return count;\n}\n\nexports.BrotliInput = BrotliInput;\n\nfunction BrotliOutput(buf) {\n  this.buffer = buf;\n  this.pos = 0;\n}\n\nBrotliOutput.prototype.write = function(buf, count) {\n  if (this.pos + count > this.buffer.length)\n    throw new Error('Output buffer is not large enough');\n  \n  this.buffer.set(buf.subarray(0, count), this.pos);\n  this.pos += count;\n  return count;\n};\n\nexports.BrotliOutput = BrotliOutput;\n","/* Copyright 2013 Google Inc. All Rights Reserved.\n\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n\n   Transformations on dictionary words.\n*/\n\nvar BrotliDictionary = require('./dictionary');\n\nvar kIdentity       = 0;\nvar kOmitLast1      = 1;\nvar kOmitLast2      = 2;\nvar kOmitLast3      = 3;\nvar kOmitLast4      = 4;\nvar kOmitLast5      = 5;\nvar kOmitLast6      = 6;\nvar kOmitLast7      = 7;\nvar kOmitLast8      = 8;\nvar kOmitLast9      = 9;\nvar kUppercaseFirst = 10;\nvar kUppercaseAll   = 11;\nvar kOmitFirst1     = 12;\nvar kOmitFirst2     = 13;\nvar kOmitFirst3     = 14;\nvar kOmitFirst4     = 15;\nvar kOmitFirst5     = 16;\nvar kOmitFirst6     = 17;\nvar kOmitFirst7     = 18;\nvar kOmitFirst8     = 19;\nvar kOmitFirst9     = 20;\n\nfunction Transform(prefix, transform, suffix) {\n  this.prefix = new Uint8Array(prefix.length);\n  this.transform = transform;\n  this.suffix = new Uint8Array(suffix.length);\n  \n  for (var i = 0; i < prefix.length; i++)\n    this.prefix[i] = prefix.charCodeAt(i);\n  \n  for (var i = 0; i < suffix.length; i++)\n    this.suffix[i] = suffix.charCodeAt(i);\n}\n\nvar kTransforms = [\n     new Transform(         \"\", kIdentity,       \"\"           ),\n     new Transform(         \"\", kIdentity,       \" \"          ),\n     new Transform(        \" \", kIdentity,       \" \"          ),\n     new Transform(         \"\", kOmitFirst1,     \"\"           ),\n     new Transform(         \"\", kUppercaseFirst, \" \"          ),\n     new Transform(         \"\", kIdentity,       \" the \"      ),\n     new Transform(        \" \", kIdentity,       \"\"           ),\n     new Transform(       \"s \", kIdentity,       \" \"          ),\n     new Transform(         \"\", kIdentity,       \" of \"       ),\n     new Transform(         \"\", kUppercaseFirst, \"\"           ),\n     new Transform(         \"\", kIdentity,       \" and \"      ),\n     new Transform(         \"\", kOmitFirst2,     \"\"           ),\n     new Transform(         \"\", kOmitLast1,      \"\"           ),\n     new Transform(       \", \", kIdentity,       \" \"          ),\n     new Transform(         \"\", kIdentity,       \", \"         ),\n     new Transform(        \" \", kUppercaseFirst, \" \"          ),\n     new Transform(         \"\", kIdentity,       \" in \"       ),\n     new Transform(         \"\", kIdentity,       \" to \"       ),\n     new Transform(       \"e \", kIdentity,       \" \"          ),\n     new Transform(         \"\", kIdentity,       \"\\\"\"         ),\n     new Transform(         \"\", kIdentity,       \".\"          ),\n     new Transform(         \"\", kIdentity,       \"\\\">\"        ),\n     new Transform(         \"\", kIdentity,       \"\\n\"         ),\n     new Transform(         \"\", kOmitLast3,      \"\"           ),\n     new Transform(         \"\", kIdentity,       \"]\"          ),\n     new Transform(         \"\", kIdentity,       \" for \"      ),\n     new Transform(         \"\", kOmitFirst3,     \"\"           ),\n     new Transform(         \"\", kOmitLast2,      \"\"           ),\n     new Transform(         \"\", kIdentity,       \" a \"        ),\n     new Transform(         \"\", kIdentity,       \" that \"     ),\n     new Transform(        \" \", kUppercaseFirst, \"\"           ),\n     new Transform(         \"\", kIdentity,       \". \"         ),\n     new Transform(        \".\", kIdentity,       \"\"           ),\n     new Transform(        \" \", kIdentity,       \", \"         ),\n     new Transform(         \"\", kOmitFirst4,     \"\"           ),\n     new Transform(         \"\", kIdentity,       \" with \"     ),\n     new Transform(         \"\", kIdentity,       \"'\"          ),\n     new Transform(         \"\", kIdentity,       \" from \"     ),\n     new Transform(         \"\", kIdentity,       \" by \"       ),\n     new Transform(         \"\", kOmitFirst5,     \"\"           ),\n     new Transform(         \"\", kOmitFirst6,     \"\"           ),\n     new Transform(    \" the \", kIdentity,       \"\"           ),\n     new Transform(         \"\", kOmitLast4,      \"\"           ),\n     new Transform(         \"\", kIdentity,       \". The \"     ),\n     new Transform(         \"\", kUppercaseAll,   \"\"           ),\n     new Transform(         \"\", kIdentity,       \" on \"       ),\n     new Transform(         \"\", kIdentity,       \" as \"       ),\n     new Transform(         \"\", kIdentity,       \" is \"       ),\n     new Transform(         \"\", kOmitLast7,      \"\"           ),\n     new Transform(         \"\", kOmitLast1,      \"ing \"       ),\n     new Transform(         \"\", kIdentity,       \"\\n\\t\"       ),\n     new Transform(         \"\", kIdentity,       \":\"          ),\n     new Transform(        \" \", kIdentity,       \". \"         ),\n     new Transform(         \"\", kIdentity,       \"ed \"        ),\n     new Transform(         \"\", kOmitFirst9,     \"\"           ),\n     new Transform(         \"\", kOmitFirst7,     \"\"           ),\n     new Transform(         \"\", kOmitLast6,      \"\"           ),\n     new Transform(         \"\", kIdentity,       \"(\"          ),\n     new Transform(         \"\", kUppercaseFirst, \", \"         ),\n     new Transform(         \"\", kOmitLast8,      \"\"           ),\n     new Transform(         \"\", kIdentity,       \" at \"       ),\n     new Transform(         \"\", kIdentity,       \"ly \"        ),\n     new Transform(    \" the \", kIdentity,       \" of \"       ),\n     new Transform(         \"\", kOmitLast5,      \"\"           ),\n     new Transform(         \"\", kOmitLast9,      \"\"           ),\n     new Transform(        \" \", kUppercaseFirst, \", \"         ),\n     new Transform(         \"\", kUppercaseFirst, \"\\\"\"         ),\n     new Transform(        \".\", kIdentity,       \"(\"          ),\n     new Transform(         \"\", kUppercaseAll,   \" \"          ),\n     new Transform(         \"\", kUppercaseFirst, \"\\\">\"        ),\n     new Transform(         \"\", kIdentity,       \"=\\\"\"        ),\n     new Transform(        \" \", kIdentity,       \".\"          ),\n     new Transform(    \".com/\", kIdentity,       \"\"           ),\n     new Transform(    \" the \", kIdentity,       \" of the \"   ),\n     new Transform(         \"\", kUppercaseFirst, \"'\"          ),\n     new Transform(         \"\", kIdentity,       \". This \"    ),\n     new Transform(         \"\", kIdentity,       \",\"          ),\n     new Transform(        \".\", kIdentity,       \" \"          ),\n     new Transform(         \"\", kUppercaseFirst, \"(\"          ),\n     new Transform(         \"\", kUppercaseFirst, \".\"          ),\n     new Transform(         \"\", kIdentity,       \" not \"      ),\n     new Transform(        \" \", kIdentity,       \"=\\\"\"        ),\n     new Transform(         \"\", kIdentity,       \"er \"        ),\n     new Transform(        \" \", kUppercaseAll,   \" \"          ),\n     new Transform(         \"\", kIdentity,       \"al \"        ),\n     new Transform(        \" \", kUppercaseAll,   \"\"           ),\n     new Transform(         \"\", kIdentity,       \"='\"         ),\n     new Transform(         \"\", kUppercaseAll,   \"\\\"\"         ),\n     new Transform(         \"\", kUppercaseFirst, \". \"         ),\n     new Transform(        \" \", kIdentity,       \"(\"          ),\n     new Transform(         \"\", kIdentity,       \"ful \"       ),\n     new Transform(        \" \", kUppercaseFirst, \". \"         ),\n     new Transform(         \"\", kIdentity,       \"ive \"       ),\n     new Transform(         \"\", kIdentity,       \"less \"      ),\n     new Transform(         \"\", kUppercaseAll,   \"'\"          ),\n     new Transform(         \"\", kIdentity,       \"est \"       ),\n     new Transform(        \" \", kUppercaseFirst, \".\"          ),\n     new Transform(         \"\", kUppercaseAll,   \"\\\">\"        ),\n     new Transform(        \" \", kIdentity,       \"='\"         ),\n     new Transform(         \"\", kUppercaseFirst, \",\"          ),\n     new Transform(         \"\", kIdentity,       \"ize \"       ),\n     new Transform(         \"\", kUppercaseAll,   \".\"          ),\n     new Transform( \"\\xc2\\xa0\", kIdentity,       \"\"           ),\n     new Transform(        \" \", kIdentity,       \",\"          ),\n     new Transform(         \"\", kUppercaseFirst, \"=\\\"\"        ),\n     new Transform(         \"\", kUppercaseAll,   \"=\\\"\"        ),\n     new Transform(         \"\", kIdentity,       \"ous \"       ),\n     new Transform(         \"\", kUppercaseAll,   \", \"         ),\n     new Transform(         \"\", kUppercaseFirst, \"='\"         ),\n     new Transform(        \" \", kUppercaseFirst, \",\"          ),\n     new Transform(        \" \", kUppercaseAll,   \"=\\\"\"        ),\n     new Transform(        \" \", kUppercaseAll,   \", \"         ),\n     new Transform(         \"\", kUppercaseAll,   \",\"          ),\n     new Transform(         \"\", kUppercaseAll,   \"(\"          ),\n     new Transform(         \"\", kUppercaseAll,   \". \"         ),\n     new Transform(        \" \", kUppercaseAll,   \".\"          ),\n     new Transform(         \"\", kUppercaseAll,   \"='\"         ),\n     new Transform(        \" \", kUppercaseAll,   \". \"         ),\n     new Transform(        \" \", kUppercaseFirst, \"=\\\"\"        ),\n     new Transform(        \" \", kUppercaseAll,   \"='\"         ),\n     new Transform(        \" \", kUppercaseFirst, \"='\"         )\n];\n\nexports.kTransforms = kTransforms;\nexports.kNumTransforms = kTransforms.length;\n\nfunction ToUpperCase(p, i) {\n  if (p[i] < 0xc0) {\n    if (p[i] >= 97 && p[i] <= 122) {\n      p[i] ^= 32;\n    }\n    return 1;\n  }\n  \n  /* An overly simplified uppercasing model for utf-8. */\n  if (p[i] < 0xe0) {\n    p[i + 1] ^= 32;\n    return 2;\n  }\n  \n  /* An arbitrary transform for three byte characters. */\n  p[i + 2] ^= 5;\n  return 3;\n}\n\nexports.transformDictionaryWord = function(dst, idx, word, len, transform) {\n  var prefix = kTransforms[transform].prefix;\n  var suffix = kTransforms[transform].suffix;\n  var t = kTransforms[transform].transform;\n  var skip = t < kOmitFirst1 ? 0 : t - (kOmitFirst1 - 1);\n  var i = 0;\n  var start_idx = idx;\n  var uppercase;\n  \n  if (skip > len) {\n    skip = len;\n  }\n  \n  var prefix_pos = 0;\n  while (prefix_pos < prefix.length) {\n    dst[idx++] = prefix[prefix_pos++];\n  }\n  \n  word += skip;\n  len -= skip;\n  \n  if (t <= kOmitLast9) {\n    len -= t;\n  }\n  \n  for (i = 0; i < len; i++) {\n    dst[idx++] = BrotliDictionary.dictionary[word + i];\n  }\n  \n  uppercase = idx - len;\n  \n  if (t === kUppercaseFirst) {\n    ToUpperCase(dst, uppercase);\n  } else if (t === kUppercaseAll) {\n    while (len > 0) {\n      var step = ToUpperCase(dst, uppercase);\n      uppercase += step;\n      len -= step;\n    }\n  }\n  \n  var suffix_pos = 0;\n  while (suffix_pos < suffix.length) {\n    dst[idx++] = suffix[suffix_pos++];\n  }\n  \n  return idx - start_idx;\n}\n","module.exports = require('./dec/decode').BrotliDecompressBuffer;\n","'use strict';\n/* eslint camelcase: \"off\" */\n\nvar assert = require('assert');\n\nvar Zstream = require('pako/lib/zlib/zstream');\nvar zlib_deflate = require('pako/lib/zlib/deflate.js');\nvar zlib_inflate = require('pako/lib/zlib/inflate.js');\nvar constants = require('pako/lib/zlib/constants');\n\nfor (var key in constants) {\n  exports[key] = constants[key];\n}\n\n// zlib modes\nexports.NONE = 0;\nexports.DEFLATE = 1;\nexports.INFLATE = 2;\nexports.GZIP = 3;\nexports.GUNZIP = 4;\nexports.DEFLATERAW = 5;\nexports.INFLATERAW = 6;\nexports.UNZIP = 7;\n\nvar GZIP_HEADER_ID1 = 0x1f;\nvar GZIP_HEADER_ID2 = 0x8b;\n\n/**\n * Emulate Node's zlib C++ layer for use by the JS layer in index.js\n */\nfunction Zlib(mode) {\n  if (typeof mode !== 'number' || mode < exports.DEFLATE || mode > exports.UNZIP) {\n    throw new TypeError('Bad argument');\n  }\n\n  this.dictionary = null;\n  this.err = 0;\n  this.flush = 0;\n  this.init_done = false;\n  this.level = 0;\n  this.memLevel = 0;\n  this.mode = mode;\n  this.strategy = 0;\n  this.windowBits = 0;\n  this.write_in_progress = false;\n  this.pending_close = false;\n  this.gzip_id_bytes_read = 0;\n}\n\nZlib.prototype.close = function () {\n  if (this.write_in_progress) {\n    this.pending_close = true;\n    return;\n  }\n\n  this.pending_close = false;\n\n  assert(this.init_done, 'close before init');\n  assert(this.mode <= exports.UNZIP);\n\n  if (this.mode === exports.DEFLATE || this.mode === exports.GZIP || this.mode === exports.DEFLATERAW) {\n    zlib_deflate.deflateEnd(this.strm);\n  } else if (this.mode === exports.INFLATE || this.mode === exports.GUNZIP || this.mode === exports.INFLATERAW || this.mode === exports.UNZIP) {\n    zlib_inflate.inflateEnd(this.strm);\n  }\n\n  this.mode = exports.NONE;\n\n  this.dictionary = null;\n};\n\nZlib.prototype.write = function (flush, input, in_off, in_len, out, out_off, out_len) {\n  return this._write(true, flush, input, in_off, in_len, out, out_off, out_len);\n};\n\nZlib.prototype.writeSync = function (flush, input, in_off, in_len, out, out_off, out_len) {\n  return this._write(false, flush, input, in_off, in_len, out, out_off, out_len);\n};\n\nZlib.prototype._write = function (async, flush, input, in_off, in_len, out, out_off, out_len) {\n  assert.equal(arguments.length, 8);\n\n  assert(this.init_done, 'write before init');\n  assert(this.mode !== exports.NONE, 'already finalized');\n  assert.equal(false, this.write_in_progress, 'write already in progress');\n  assert.equal(false, this.pending_close, 'close is pending');\n\n  this.write_in_progress = true;\n\n  assert.equal(false, flush === undefined, 'must provide flush value');\n\n  this.write_in_progress = true;\n\n  if (flush !== exports.Z_NO_FLUSH && flush !== exports.Z_PARTIAL_FLUSH && flush !== exports.Z_SYNC_FLUSH && flush !== exports.Z_FULL_FLUSH && flush !== exports.Z_FINISH && flush !== exports.Z_BLOCK) {\n    throw new Error('Invalid flush value');\n  }\n\n  if (input == null) {\n    input = Buffer.alloc(0);\n    in_len = 0;\n    in_off = 0;\n  }\n\n  this.strm.avail_in = in_len;\n  this.strm.input = input;\n  this.strm.next_in = in_off;\n  this.strm.avail_out = out_len;\n  this.strm.output = out;\n  this.strm.next_out = out_off;\n  this.flush = flush;\n\n  if (!async) {\n    // sync version\n    this._process();\n\n    if (this._checkError()) {\n      return this._afterSync();\n    }\n    return;\n  }\n\n  // async version\n  var self = this;\n  process.nextTick(function () {\n    self._process();\n    self._after();\n  });\n\n  return this;\n};\n\nZlib.prototype._afterSync = function () {\n  var avail_out = this.strm.avail_out;\n  var avail_in = this.strm.avail_in;\n\n  this.write_in_progress = false;\n\n  return [avail_in, avail_out];\n};\n\nZlib.prototype._process = function () {\n  var next_expected_header_byte = null;\n\n  // If the avail_out is left at 0, then it means that it ran out\n  // of room.  If there was avail_out left over, then it means\n  // that all of the input was consumed.\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.GZIP:\n    case exports.DEFLATERAW:\n      this.err = zlib_deflate.deflate(this.strm, this.flush);\n      break;\n    case exports.UNZIP:\n      if (this.strm.avail_in > 0) {\n        next_expected_header_byte = this.strm.next_in;\n      }\n\n      switch (this.gzip_id_bytes_read) {\n        case 0:\n          if (next_expected_header_byte === null) {\n            break;\n          }\n\n          if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID1) {\n            this.gzip_id_bytes_read = 1;\n            next_expected_header_byte++;\n\n            if (this.strm.avail_in === 1) {\n              // The only available byte was already read.\n              break;\n            }\n          } else {\n            this.mode = exports.INFLATE;\n            break;\n          }\n\n        // fallthrough\n        case 1:\n          if (next_expected_header_byte === null) {\n            break;\n          }\n\n          if (this.strm.input[next_expected_header_byte] === GZIP_HEADER_ID2) {\n            this.gzip_id_bytes_read = 2;\n            this.mode = exports.GUNZIP;\n          } else {\n            // There is no actual difference between INFLATE and INFLATERAW\n            // (after initialization).\n            this.mode = exports.INFLATE;\n          }\n\n          break;\n        default:\n          throw new Error('invalid number of gzip magic number bytes read');\n      }\n\n    // fallthrough\n    case exports.INFLATE:\n    case exports.GUNZIP:\n    case exports.INFLATERAW:\n      this.err = zlib_inflate.inflate(this.strm, this.flush\n\n      // If data was encoded with dictionary\n      );if (this.err === exports.Z_NEED_DICT && this.dictionary) {\n        // Load it\n        this.err = zlib_inflate.inflateSetDictionary(this.strm, this.dictionary);\n        if (this.err === exports.Z_OK) {\n          // And try to decode again\n          this.err = zlib_inflate.inflate(this.strm, this.flush);\n        } else if (this.err === exports.Z_DATA_ERROR) {\n          // Both inflateSetDictionary() and inflate() return Z_DATA_ERROR.\n          // Make it possible for After() to tell a bad dictionary from bad\n          // input.\n          this.err = exports.Z_NEED_DICT;\n        }\n      }\n      while (this.strm.avail_in > 0 && this.mode === exports.GUNZIP && this.err === exports.Z_STREAM_END && this.strm.next_in[0] !== 0x00) {\n        // Bytes remain in input buffer. Perhaps this is another compressed\n        // member in the same archive, or just trailing garbage.\n        // Trailing zero bytes are okay, though, since they are frequently\n        // used for padding.\n\n        this.reset();\n        this.err = zlib_inflate.inflate(this.strm, this.flush);\n      }\n      break;\n    default:\n      throw new Error('Unknown mode ' + this.mode);\n  }\n};\n\nZlib.prototype._checkError = function () {\n  // Acceptable error states depend on the type of zlib stream.\n  switch (this.err) {\n    case exports.Z_OK:\n    case exports.Z_BUF_ERROR:\n      if (this.strm.avail_out !== 0 && this.flush === exports.Z_FINISH) {\n        this._error('unexpected end of file');\n        return false;\n      }\n      break;\n    case exports.Z_STREAM_END:\n      // normal statuses, not fatal\n      break;\n    case exports.Z_NEED_DICT:\n      if (this.dictionary == null) {\n        this._error('Missing dictionary');\n      } else {\n        this._error('Bad dictionary');\n      }\n      return false;\n    default:\n      // something else.\n      this._error('Zlib error');\n      return false;\n  }\n\n  return true;\n};\n\nZlib.prototype._after = function () {\n  if (!this._checkError()) {\n    return;\n  }\n\n  var avail_out = this.strm.avail_out;\n  var avail_in = this.strm.avail_in;\n\n  this.write_in_progress = false;\n\n  // call the write() cb\n  this.callback(avail_in, avail_out);\n\n  if (this.pending_close) {\n    this.close();\n  }\n};\n\nZlib.prototype._error = function (message) {\n  if (this.strm.msg) {\n    message = this.strm.msg;\n  }\n  this.onerror(message, this.err\n\n  // no hope of rescue.\n  );this.write_in_progress = false;\n  if (this.pending_close) {\n    this.close();\n  }\n};\n\nZlib.prototype.init = function (windowBits, level, memLevel, strategy, dictionary) {\n  assert(arguments.length === 4 || arguments.length === 5, 'init(windowBits, level, memLevel, strategy, [dictionary])');\n\n  assert(windowBits >= 8 && windowBits <= 15, 'invalid windowBits');\n  assert(level >= -1 && level <= 9, 'invalid compression level');\n\n  assert(memLevel >= 1 && memLevel <= 9, 'invalid memlevel');\n\n  assert(strategy === exports.Z_FILTERED || strategy === exports.Z_HUFFMAN_ONLY || strategy === exports.Z_RLE || strategy === exports.Z_FIXED || strategy === exports.Z_DEFAULT_STRATEGY, 'invalid strategy');\n\n  this._init(level, windowBits, memLevel, strategy, dictionary);\n  this._setDictionary();\n};\n\nZlib.prototype.params = function () {\n  throw new Error('deflateParams Not supported');\n};\n\nZlib.prototype.reset = function () {\n  this._reset();\n  this._setDictionary();\n};\n\nZlib.prototype._init = function (level, windowBits, memLevel, strategy, dictionary) {\n  this.level = level;\n  this.windowBits = windowBits;\n  this.memLevel = memLevel;\n  this.strategy = strategy;\n\n  this.flush = exports.Z_NO_FLUSH;\n\n  this.err = exports.Z_OK;\n\n  if (this.mode === exports.GZIP || this.mode === exports.GUNZIP) {\n    this.windowBits += 16;\n  }\n\n  if (this.mode === exports.UNZIP) {\n    this.windowBits += 32;\n  }\n\n  if (this.mode === exports.DEFLATERAW || this.mode === exports.INFLATERAW) {\n    this.windowBits = -1 * this.windowBits;\n  }\n\n  this.strm = new Zstream();\n\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.GZIP:\n    case exports.DEFLATERAW:\n      this.err = zlib_deflate.deflateInit2(this.strm, this.level, exports.Z_DEFLATED, this.windowBits, this.memLevel, this.strategy);\n      break;\n    case exports.INFLATE:\n    case exports.GUNZIP:\n    case exports.INFLATERAW:\n    case exports.UNZIP:\n      this.err = zlib_inflate.inflateInit2(this.strm, this.windowBits);\n      break;\n    default:\n      throw new Error('Unknown mode ' + this.mode);\n  }\n\n  if (this.err !== exports.Z_OK) {\n    this._error('Init error');\n  }\n\n  this.dictionary = dictionary;\n\n  this.write_in_progress = false;\n  this.init_done = true;\n};\n\nZlib.prototype._setDictionary = function () {\n  if (this.dictionary == null) {\n    return;\n  }\n\n  this.err = exports.Z_OK;\n\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.DEFLATERAW:\n      this.err = zlib_deflate.deflateSetDictionary(this.strm, this.dictionary);\n      break;\n    default:\n      break;\n  }\n\n  if (this.err !== exports.Z_OK) {\n    this._error('Failed to set dictionary');\n  }\n};\n\nZlib.prototype._reset = function () {\n  this.err = exports.Z_OK;\n\n  switch (this.mode) {\n    case exports.DEFLATE:\n    case exports.DEFLATERAW:\n    case exports.GZIP:\n      this.err = zlib_deflate.deflateReset(this.strm);\n      break;\n    case exports.INFLATE:\n    case exports.INFLATERAW:\n    case exports.GUNZIP:\n      this.err = zlib_inflate.inflateReset(this.strm);\n      break;\n    default:\n      break;\n  }\n\n  if (this.err !== exports.Z_OK) {\n    this._error('Failed to reset stream');\n  }\n};\n\nexports.Zlib = Zlib;","'use strict';\n\nvar Buffer = require('buffer').Buffer;\nvar Transform = require('stream').Transform;\nvar binding = require('./binding');\nvar util = require('util');\nvar assert = require('assert').ok;\nvar kMaxLength = require('buffer').kMaxLength;\nvar kRangeErrorMessage = 'Cannot create final Buffer. It would be larger ' + 'than 0x' + kMaxLength.toString(16) + ' bytes';\n\n// zlib doesn't provide these, so kludge them in following the same\n// const naming scheme zlib uses.\nbinding.Z_MIN_WINDOWBITS = 8;\nbinding.Z_MAX_WINDOWBITS = 15;\nbinding.Z_DEFAULT_WINDOWBITS = 15;\n\n// fewer than 64 bytes per chunk is stupid.\n// technically it could work with as few as 8, but even 64 bytes\n// is absurdly low.  Usually a MB or more is best.\nbinding.Z_MIN_CHUNK = 64;\nbinding.Z_MAX_CHUNK = Infinity;\nbinding.Z_DEFAULT_CHUNK = 16 * 1024;\n\nbinding.Z_MIN_MEMLEVEL = 1;\nbinding.Z_MAX_MEMLEVEL = 9;\nbinding.Z_DEFAULT_MEMLEVEL = 8;\n\nbinding.Z_MIN_LEVEL = -1;\nbinding.Z_MAX_LEVEL = 9;\nbinding.Z_DEFAULT_LEVEL = binding.Z_DEFAULT_COMPRESSION;\n\n// expose all the zlib constants\nvar bkeys = Object.keys(binding);\nfor (var bk = 0; bk < bkeys.length; bk++) {\n  var bkey = bkeys[bk];\n  if (bkey.match(/^Z/)) {\n    Object.defineProperty(exports, bkey, {\n      enumerable: true, value: binding[bkey], writable: false\n    });\n  }\n}\n\n// translation table for return codes.\nvar codes = {\n  Z_OK: binding.Z_OK,\n  Z_STREAM_END: binding.Z_STREAM_END,\n  Z_NEED_DICT: binding.Z_NEED_DICT,\n  Z_ERRNO: binding.Z_ERRNO,\n  Z_STREAM_ERROR: binding.Z_STREAM_ERROR,\n  Z_DATA_ERROR: binding.Z_DATA_ERROR,\n  Z_MEM_ERROR: binding.Z_MEM_ERROR,\n  Z_BUF_ERROR: binding.Z_BUF_ERROR,\n  Z_VERSION_ERROR: binding.Z_VERSION_ERROR\n};\n\nvar ckeys = Object.keys(codes);\nfor (var ck = 0; ck < ckeys.length; ck++) {\n  var ckey = ckeys[ck];\n  codes[codes[ckey]] = ckey;\n}\n\nObject.defineProperty(exports, 'codes', {\n  enumerable: true, value: Object.freeze(codes), writable: false\n});\n\nexports.Deflate = Deflate;\nexports.Inflate = Inflate;\nexports.Gzip = Gzip;\nexports.Gunzip = Gunzip;\nexports.DeflateRaw = DeflateRaw;\nexports.InflateRaw = InflateRaw;\nexports.Unzip = Unzip;\n\nexports.createDeflate = function (o) {\n  return new Deflate(o);\n};\n\nexports.createInflate = function (o) {\n  return new Inflate(o);\n};\n\nexports.createDeflateRaw = function (o) {\n  return new DeflateRaw(o);\n};\n\nexports.createInflateRaw = function (o) {\n  return new InflateRaw(o);\n};\n\nexports.createGzip = function (o) {\n  return new Gzip(o);\n};\n\nexports.createGunzip = function (o) {\n  return new Gunzip(o);\n};\n\nexports.createUnzip = function (o) {\n  return new Unzip(o);\n};\n\n// Convenience methods.\n// compress/decompress a string or buffer in one step.\nexports.deflate = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Deflate(opts), buffer, callback);\n};\n\nexports.deflateSync = function (buffer, opts) {\n  return zlibBufferSync(new Deflate(opts), buffer);\n};\n\nexports.gzip = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Gzip(opts), buffer, callback);\n};\n\nexports.gzipSync = function (buffer, opts) {\n  return zlibBufferSync(new Gzip(opts), buffer);\n};\n\nexports.deflateRaw = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new DeflateRaw(opts), buffer, callback);\n};\n\nexports.deflateRawSync = function (buffer, opts) {\n  return zlibBufferSync(new DeflateRaw(opts), buffer);\n};\n\nexports.unzip = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Unzip(opts), buffer, callback);\n};\n\nexports.unzipSync = function (buffer, opts) {\n  return zlibBufferSync(new Unzip(opts), buffer);\n};\n\nexports.inflate = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Inflate(opts), buffer, callback);\n};\n\nexports.inflateSync = function (buffer, opts) {\n  return zlibBufferSync(new Inflate(opts), buffer);\n};\n\nexports.gunzip = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new Gunzip(opts), buffer, callback);\n};\n\nexports.gunzipSync = function (buffer, opts) {\n  return zlibBufferSync(new Gunzip(opts), buffer);\n};\n\nexports.inflateRaw = function (buffer, opts, callback) {\n  if (typeof opts === 'function') {\n    callback = opts;\n    opts = {};\n  }\n  return zlibBuffer(new InflateRaw(opts), buffer, callback);\n};\n\nexports.inflateRawSync = function (buffer, opts) {\n  return zlibBufferSync(new InflateRaw(opts), buffer);\n};\n\nfunction zlibBuffer(engine, buffer, callback) {\n  var buffers = [];\n  var nread = 0;\n\n  engine.on('error', onError);\n  engine.on('end', onEnd);\n\n  engine.end(buffer);\n  flow();\n\n  function flow() {\n    var chunk;\n    while (null !== (chunk = engine.read())) {\n      buffers.push(chunk);\n      nread += chunk.length;\n    }\n    engine.once('readable', flow);\n  }\n\n  function onError(err) {\n    engine.removeListener('end', onEnd);\n    engine.removeListener('readable', flow);\n    callback(err);\n  }\n\n  function onEnd() {\n    var buf;\n    var err = null;\n\n    if (nread >= kMaxLength) {\n      err = new RangeError(kRangeErrorMessage);\n    } else {\n      buf = Buffer.concat(buffers, nread);\n    }\n\n    buffers = [];\n    engine.close();\n    callback(err, buf);\n  }\n}\n\nfunction zlibBufferSync(engine, buffer) {\n  if (typeof buffer === 'string') buffer = Buffer.from(buffer);\n\n  if (!Buffer.isBuffer(buffer)) throw new TypeError('Not a string or buffer');\n\n  var flushFlag = engine._finishFlushFlag;\n\n  return engine._processChunk(buffer, flushFlag);\n}\n\n// generic zlib\n// minimal 2-byte header\nfunction Deflate(opts) {\n  if (!(this instanceof Deflate)) return new Deflate(opts);\n  Zlib.call(this, opts, binding.DEFLATE);\n}\n\nfunction Inflate(opts) {\n  if (!(this instanceof Inflate)) return new Inflate(opts);\n  Zlib.call(this, opts, binding.INFLATE);\n}\n\n// gzip - bigger header, same deflate compression\nfunction Gzip(opts) {\n  if (!(this instanceof Gzip)) return new Gzip(opts);\n  Zlib.call(this, opts, binding.GZIP);\n}\n\nfunction Gunzip(opts) {\n  if (!(this instanceof Gunzip)) return new Gunzip(opts);\n  Zlib.call(this, opts, binding.GUNZIP);\n}\n\n// raw - no header\nfunction DeflateRaw(opts) {\n  if (!(this instanceof DeflateRaw)) return new DeflateRaw(opts);\n  Zlib.call(this, opts, binding.DEFLATERAW);\n}\n\nfunction InflateRaw(opts) {\n  if (!(this instanceof InflateRaw)) return new InflateRaw(opts);\n  Zlib.call(this, opts, binding.INFLATERAW);\n}\n\n// auto-detect header.\nfunction Unzip(opts) {\n  if (!(this instanceof Unzip)) return new Unzip(opts);\n  Zlib.call(this, opts, binding.UNZIP);\n}\n\nfunction isValidFlushFlag(flag) {\n  return flag === binding.Z_NO_FLUSH || flag === binding.Z_PARTIAL_FLUSH || flag === binding.Z_SYNC_FLUSH || flag === binding.Z_FULL_FLUSH || flag === binding.Z_FINISH || flag === binding.Z_BLOCK;\n}\n\n// the Zlib class they all inherit from\n// This thing manages the queue of requests, and returns\n// true or false if there is anything in the queue when\n// you call the .write() method.\n\nfunction Zlib(opts, mode) {\n  var _this = this;\n\n  this._opts = opts = opts || {};\n  this._chunkSize = opts.chunkSize || exports.Z_DEFAULT_CHUNK;\n\n  Transform.call(this, opts);\n\n  if (opts.flush && !isValidFlushFlag(opts.flush)) {\n    throw new Error('Invalid flush flag: ' + opts.flush);\n  }\n  if (opts.finishFlush && !isValidFlushFlag(opts.finishFlush)) {\n    throw new Error('Invalid flush flag: ' + opts.finishFlush);\n  }\n\n  this._flushFlag = opts.flush || binding.Z_NO_FLUSH;\n  this._finishFlushFlag = typeof opts.finishFlush !== 'undefined' ? opts.finishFlush : binding.Z_FINISH;\n\n  if (opts.chunkSize) {\n    if (opts.chunkSize < exports.Z_MIN_CHUNK || opts.chunkSize > exports.Z_MAX_CHUNK) {\n      throw new Error('Invalid chunk size: ' + opts.chunkSize);\n    }\n  }\n\n  if (opts.windowBits) {\n    if (opts.windowBits < exports.Z_MIN_WINDOWBITS || opts.windowBits > exports.Z_MAX_WINDOWBITS) {\n      throw new Error('Invalid windowBits: ' + opts.windowBits);\n    }\n  }\n\n  if (opts.level) {\n    if (opts.level < exports.Z_MIN_LEVEL || opts.level > exports.Z_MAX_LEVEL) {\n      throw new Error('Invalid compression level: ' + opts.level);\n    }\n  }\n\n  if (opts.memLevel) {\n    if (opts.memLevel < exports.Z_MIN_MEMLEVEL || opts.memLevel > exports.Z_MAX_MEMLEVEL) {\n      throw new Error('Invalid memLevel: ' + opts.memLevel);\n    }\n  }\n\n  if (opts.strategy) {\n    if (opts.strategy != exports.Z_FILTERED && opts.strategy != exports.Z_HUFFMAN_ONLY && opts.strategy != exports.Z_RLE && opts.strategy != exports.Z_FIXED && opts.strategy != exports.Z_DEFAULT_STRATEGY) {\n      throw new Error('Invalid strategy: ' + opts.strategy);\n    }\n  }\n\n  if (opts.dictionary) {\n    if (!Buffer.isBuffer(opts.dictionary)) {\n      throw new Error('Invalid dictionary: it should be a Buffer instance');\n    }\n  }\n\n  this._handle = new binding.Zlib(mode);\n\n  var self = this;\n  this._hadError = false;\n  this._handle.onerror = function (message, errno) {\n    // there is no way to cleanly recover.\n    // continuing only obscures problems.\n    _close(self);\n    self._hadError = true;\n\n    var error = new Error(message);\n    error.errno = errno;\n    error.code = exports.codes[errno];\n    self.emit('error', error);\n  };\n\n  var level = exports.Z_DEFAULT_COMPRESSION;\n  if (typeof opts.level === 'number') level = opts.level;\n\n  var strategy = exports.Z_DEFAULT_STRATEGY;\n  if (typeof opts.strategy === 'number') strategy = opts.strategy;\n\n  this._handle.init(opts.windowBits || exports.Z_DEFAULT_WINDOWBITS, level, opts.memLevel || exports.Z_DEFAULT_MEMLEVEL, strategy, opts.dictionary);\n\n  this._buffer = Buffer.allocUnsafe(this._chunkSize);\n  this._offset = 0;\n  this._level = level;\n  this._strategy = strategy;\n\n  this.once('end', this.close);\n\n  Object.defineProperty(this, '_closed', {\n    get: function () {\n      return !_this._handle;\n    },\n    configurable: true,\n    enumerable: true\n  });\n}\n\nutil.inherits(Zlib, Transform);\n\nZlib.prototype.params = function (level, strategy, callback) {\n  if (level < exports.Z_MIN_LEVEL || level > exports.Z_MAX_LEVEL) {\n    throw new RangeError('Invalid compression level: ' + level);\n  }\n  if (strategy != exports.Z_FILTERED && strategy != exports.Z_HUFFMAN_ONLY && strategy != exports.Z_RLE && strategy != exports.Z_FIXED && strategy != exports.Z_DEFAULT_STRATEGY) {\n    throw new TypeError('Invalid strategy: ' + strategy);\n  }\n\n  if (this._level !== level || this._strategy !== strategy) {\n    var self = this;\n    this.flush(binding.Z_SYNC_FLUSH, function () {\n      assert(self._handle, 'zlib binding closed');\n      self._handle.params(level, strategy);\n      if (!self._hadError) {\n        self._level = level;\n        self._strategy = strategy;\n        if (callback) callback();\n      }\n    });\n  } else {\n    process.nextTick(callback);\n  }\n};\n\nZlib.prototype.reset = function () {\n  assert(this._handle, 'zlib binding closed');\n  return this._handle.reset();\n};\n\n// This is the _flush function called by the transform class,\n// internally, when the last chunk has been written.\nZlib.prototype._flush = function (callback) {\n  this._transform(Buffer.alloc(0), '', callback);\n};\n\nZlib.prototype.flush = function (kind, callback) {\n  var _this2 = this;\n\n  var ws = this._writableState;\n\n  if (typeof kind === 'function' || kind === undefined && !callback) {\n    callback = kind;\n    kind = binding.Z_FULL_FLUSH;\n  }\n\n  if (ws.ended) {\n    if (callback) process.nextTick(callback);\n  } else if (ws.ending) {\n    if (callback) this.once('end', callback);\n  } else if (ws.needDrain) {\n    if (callback) {\n      this.once('drain', function () {\n        return _this2.flush(kind, callback);\n      });\n    }\n  } else {\n    this._flushFlag = kind;\n    this.write(Buffer.alloc(0), '', callback);\n  }\n};\n\nZlib.prototype.close = function (callback) {\n  _close(this, callback);\n  process.nextTick(emitCloseNT, this);\n};\n\nfunction _close(engine, callback) {\n  if (callback) process.nextTick(callback);\n\n  // Caller may invoke .close after a zlib error (which will null _handle).\n  if (!engine._handle) return;\n\n  engine._handle.close();\n  engine._handle = null;\n}\n\nfunction emitCloseNT(self) {\n  self.emit('close');\n}\n\nZlib.prototype._transform = function (chunk, encoding, cb) {\n  var flushFlag;\n  var ws = this._writableState;\n  var ending = ws.ending || ws.ended;\n  var last = ending && (!chunk || ws.length === chunk.length);\n\n  if (chunk !== null && !Buffer.isBuffer(chunk)) return cb(new Error('invalid input'));\n\n  if (!this._handle) return cb(new Error('zlib binding closed'));\n\n  // If it's the last chunk, or a final flush, we use the Z_FINISH flush flag\n  // (or whatever flag was provided using opts.finishFlush).\n  // If it's explicitly flushing at some other time, then we use\n  // Z_FULL_FLUSH. Otherwise, use Z_NO_FLUSH for maximum compression\n  // goodness.\n  if (last) flushFlag = this._finishFlushFlag;else {\n    flushFlag = this._flushFlag;\n    // once we've flushed the last of the queue, stop flushing and\n    // go back to the normal behavior.\n    if (chunk.length >= ws.length) {\n      this._flushFlag = this._opts.flush || binding.Z_NO_FLUSH;\n    }\n  }\n\n  this._processChunk(chunk, flushFlag, cb);\n};\n\nZlib.prototype._processChunk = function (chunk, flushFlag, cb) {\n  var availInBefore = chunk && chunk.length;\n  var availOutBefore = this._chunkSize - this._offset;\n  var inOff = 0;\n\n  var self = this;\n\n  var async = typeof cb === 'function';\n\n  if (!async) {\n    var buffers = [];\n    var nread = 0;\n\n    var error;\n    this.on('error', function (er) {\n      error = er;\n    });\n\n    assert(this._handle, 'zlib binding closed');\n    do {\n      var res = this._handle.writeSync(flushFlag, chunk, // in\n      inOff, // in_off\n      availInBefore, // in_len\n      this._buffer, // out\n      this._offset, //out_off\n      availOutBefore); // out_len\n    } while (!this._hadError && callback(res[0], res[1]));\n\n    if (this._hadError) {\n      throw error;\n    }\n\n    if (nread >= kMaxLength) {\n      _close(this);\n      throw new RangeError(kRangeErrorMessage);\n    }\n\n    var buf = Buffer.concat(buffers, nread);\n    _close(this);\n\n    return buf;\n  }\n\n  assert(this._handle, 'zlib binding closed');\n  var req = this._handle.write(flushFlag, chunk, // in\n  inOff, // in_off\n  availInBefore, // in_len\n  this._buffer, // out\n  this._offset, //out_off\n  availOutBefore); // out_len\n\n  req.buffer = chunk;\n  req.callback = callback;\n\n  function callback(availInAfter, availOutAfter) {\n    // When the callback is used in an async write, the callback's\n    // context is the `req` object that was created. The req object\n    // is === this._handle, and that's why it's important to null\n    // out the values after they are done being used. `this._handle`\n    // can stay in memory longer than the callback and buffer are needed.\n    if (this) {\n      this.buffer = null;\n      this.callback = null;\n    }\n\n    if (self._hadError) return;\n\n    var have = availOutBefore - availOutAfter;\n    assert(have >= 0, 'have should not go down');\n\n    if (have > 0) {\n      var out = self._buffer.slice(self._offset, self._offset + have);\n      self._offset += have;\n      // serve some output to the consumer.\n      if (async) {\n        self.push(out);\n      } else {\n        buffers.push(out);\n        nread += out.length;\n      }\n    }\n\n    // exhausted the output buffer, or used all the input create a new one.\n    if (availOutAfter === 0 || self._offset >= self._chunkSize) {\n      availOutBefore = self._chunkSize;\n      self._offset = 0;\n      self._buffer = Buffer.allocUnsafe(self._chunkSize);\n    }\n\n    if (availOutAfter === 0) {\n      // Not actually done.  Need to reprocess.\n      // Also, update the availInBefore to the availInAfter value,\n      // so that if we have to hit it a third (fourth, etc.) time,\n      // it'll have the correct byte counts.\n      inOff += availInBefore - availInAfter;\n      availInBefore = availInAfter;\n\n      if (!async) return true;\n\n      var newReq = self._handle.write(flushFlag, chunk, inOff, availInBefore, self._buffer, self._offset, self._chunkSize);\n      newReq.callback = callback; // this same function\n      newReq.buffer = chunk;\n      return;\n    }\n\n    if (!async) return false;\n\n    // finished with the chunk.\n    cb();\n  }\n};\n\nutil.inherits(Deflate, Zlib);\nutil.inherits(Inflate, Zlib);\nutil.inherits(Gzip, Zlib);\nutil.inherits(Gunzip, Zlib);\nutil.inherits(DeflateRaw, Zlib);\nutil.inherits(InflateRaw, Zlib);\nutil.inherits(Unzip, Zlib);","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","var clone = (function() {\n'use strict';\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n *    circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n *    a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n *    (optional - defaults to parent prototype).\n*/\nfunction clone(parent, circular, depth, prototype) {\n  var filter;\n  if (typeof circular === 'object') {\n    depth = circular.depth;\n    prototype = circular.prototype;\n    filter = circular.filter;\n    circular = circular.circular\n  }\n  // maintain two arrays for circular references, where corresponding parents\n  // and children have the same index\n  var allParents = [];\n  var allChildren = [];\n\n  var useBuffer = typeof Buffer != 'undefined';\n\n  if (typeof circular == 'undefined')\n    circular = true;\n\n  if (typeof depth == 'undefined')\n    depth = Infinity;\n\n  // recurse this function so we don't reset allParents and allChildren\n  function _clone(parent, depth) {\n    // cloning null always returns null\n    if (parent === null)\n      return null;\n\n    if (depth == 0)\n      return parent;\n\n    var child;\n    var proto;\n    if (typeof parent != 'object') {\n      return parent;\n    }\n\n    if (clone.__isArray(parent)) {\n      child = [];\n    } else if (clone.__isRegExp(parent)) {\n      child = new RegExp(parent.source, __getRegExpFlags(parent));\n      if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n    } else if (clone.__isDate(parent)) {\n      child = new Date(parent.getTime());\n    } else if (useBuffer && Buffer.isBuffer(parent)) {\n      if (Buffer.allocUnsafe) {\n        // Node.js >= 4.5.0\n        child = Buffer.allocUnsafe(parent.length);\n      } else {\n        // Older Node.js versions\n        child = new Buffer(parent.length);\n      }\n      parent.copy(child);\n      return child;\n    } else {\n      if (typeof prototype == 'undefined') {\n        proto = Object.getPrototypeOf(parent);\n        child = Object.create(proto);\n      }\n      else {\n        child = Object.create(prototype);\n        proto = prototype;\n      }\n    }\n\n    if (circular) {\n      var index = allParents.indexOf(parent);\n\n      if (index != -1) {\n        return allChildren[index];\n      }\n      allParents.push(parent);\n      allChildren.push(child);\n    }\n\n    for (var i in parent) {\n      var attrs;\n      if (proto) {\n        attrs = Object.getOwnPropertyDescriptor(proto, i);\n      }\n\n      if (attrs && attrs.set == null) {\n        continue;\n      }\n      child[i] = _clone(parent[i], depth - 1);\n    }\n\n    return child;\n  }\n\n  return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n  if (parent === null)\n    return null;\n\n  var c = function () {};\n  c.prototype = parent;\n  return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n  return Object.prototype.toString.call(o);\n};\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Date]';\n};\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object Array]';\n};\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n  return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n};\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n  var flags = '';\n  if (re.global) flags += 'g';\n  if (re.ignoreCase) flags += 'i';\n  if (re.multiline) flags += 'm';\n  return flags;\n};\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n  module.exports = clone;\n}\n","require('../../modules/es.object.values');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.values;\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var parent = require('../../stable/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw TypeError(tryToString(argument) + ' is not a function');\n};\n","var global = require('../internals/global');\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar TypeError = global.TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n  if (isConstructor(argument)) return argument;\n  throw TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument) {\n  if (typeof argument == 'object' || isCallable(argument)) return argument;\n  throw TypeError(\"Can't set \" + String(argument) + ' as a prototype');\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n    configurable: true,\n    value: create(null)\n  });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n  ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n  return index + (unicode ? charAt(S, index).length : 1);\n};\n","var global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it, Prototype) {\n  if (isPrototypeOf(Prototype, it)) return it;\n  throw TypeError('Incorrect invocation');\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar String = global.String;\nvar TypeError = global.TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw TypeError(String(argument) + ' is not an object');\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n  var O = toObject(this);\n  var len = lengthOfArrayLike(O);\n  var to = toAbsoluteIndex(target, len);\n  var from = toAbsoluteIndex(start, len);\n  var end = arguments.length > 2 ? arguments[2] : undefined;\n  var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n  var inc = 1;\n  if (from < to && to < from + count) {\n    inc = -1;\n    from += count - 1;\n    to += count - 1;\n  }\n  while (count-- > 0) {\n    if (from in O) O[to] = O[from];\n    else delete O[to];\n    to += inc;\n    from += inc;\n  } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n  var O = toObject(this);\n  var length = lengthOfArrayLike(O);\n  var argumentsLength = arguments.length;\n  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n  var end = argumentsLength > 2 ? arguments[2] : undefined;\n  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n  while (endPos > index) O[index++] = value;\n  return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","module.exports = function (Constructor, list) {\n  var index = 0;\n  var length = list.length;\n  var result = new Constructor(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar Array = global.Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n  var O = toObject(arrayLike);\n  var IS_CONSTRUCTOR = isConstructor(this);\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n  var iteratorMethod = getIteratorMethod(O);\n  var index = 0;\n  var length, result, step, iterator, next, value;\n  // if the target is not iterable or it's an array with the default iterator - use a simple case\n  if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {\n    iterator = getIterator(O, iteratorMethod);\n    next = iterator.next;\n    result = IS_CONSTRUCTOR ? new this() : [];\n    for (;!(step = call(next, iterator)).done; index++) {\n      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n      createProperty(result, index, value);\n    }\n  } else {\n    length = lengthOfArrayLike(O);\n    result = IS_CONSTRUCTOR ? new this(length) : Array(length);\n    for (;length > index; index++) {\n      value = mapping ? mapfn(O[index], index) : O[index];\n      createProperty(result, index, value);\n    }\n  }\n  result.length = index;\n  return result;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el != el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value != value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE == 1;\n  var IS_FILTER = TYPE == 2;\n  var IS_SOME = TYPE == 3;\n  var IS_EVERY = TYPE == 4;\n  var IS_FIND_INDEX = TYPE == 6;\n  var IS_FILTER_REJECT = TYPE == 7;\n  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var boundFunction = bind(callbackfn, that);\n    var length = lengthOfArrayLike(self);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push(target, value);      // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push(target, value);      // filterReject\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterReject` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n  // convert -0 to +0\n  if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n  var O = toIndexedObject(this);\n  var length = lengthOfArrayLike(O);\n  var index = length - 1;\n  if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n  if (index < 0) index = length + index;\n  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n  return -1;\n} : $lastIndexOf;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n  var method = [][METHOD_NAME];\n  return !!method && fails(function () {\n    // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n    method.call(null, argument || function () { throw 1; }, 1);\n  });\n};\n","var global = require('../internals/global');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar TypeError = global.TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n  return function (that, callbackfn, argumentsLength, memo) {\n    aCallable(callbackfn);\n    var O = toObject(that);\n    var self = IndexedObject(O);\n    var length = lengthOfArrayLike(O);\n    var index = IS_RIGHT ? length - 1 : 0;\n    var i = IS_RIGHT ? -1 : 1;\n    if (argumentsLength < 2) while (true) {\n      if (index in self) {\n        memo = self[index];\n        index += i;\n        break;\n      }\n      index += i;\n      if (IS_RIGHT ? index < 0 : length <= index) {\n        throw TypeError('Reduce of empty array with no initial value');\n      }\n    }\n    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n      memo = callbackfn(memo, self[index], index, O);\n    }\n    return memo;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.reduce` method\n  // https://tc39.es/ecma262/#sec-array.prototype.reduce\n  left: createMethod(false),\n  // `Array.prototype.reduceRight` method\n  // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n  right: createMethod(true)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar mergeSort = function (array, comparefn) {\n  var length = array.length;\n  var middle = floor(length / 2);\n  return length < 8 ? insertionSort(array, comparefn) : merge(\n    array,\n    mergeSort(arraySlice(array, 0, middle), comparefn),\n    mergeSort(arraySlice(array, middle), comparefn),\n    comparefn\n  );\n};\n\nvar insertionSort = function (array, comparefn) {\n  var length = array.length;\n  var i = 1;\n  var element, j;\n\n  while (i < length) {\n    j = i;\n    element = array[i];\n    while (j && comparefn(array[j - 1], element) > 0) {\n      array[j] = array[--j];\n    }\n    if (j !== i++) array[j] = element;\n  } return array;\n};\n\nvar merge = function (array, left, right, comparefn) {\n  var llength = left.length;\n  var rlength = right.length;\n  var lindex = 0;\n  var rindex = 0;\n\n  while (lindex < llength || rindex < rlength) {\n    array[lindex + rindex] = (lindex < llength && rindex < rlength)\n      ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n      : lindex < llength ? left[lindex++] : right[rindex++];\n  } return array;\n};\n\nmodule.exports = mergeSort;\n","var global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n  try {\n    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n  } catch (error) {\n    iteratorClose(iterator, 'throw', error);\n  }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n  var called = 0;\n  var iteratorWithReturn = {\n    next: function () {\n      return { done: !!called++ };\n    },\n    'return': function () {\n      SAFE_CLOSING = true;\n    }\n  };\n  iteratorWithReturn[ITERATOR] = function () {\n    return this;\n  };\n  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n  Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n  var ITERATION_SUPPORT = false;\n  try {\n    var object = {};\n    object[ITERATOR] = function () {\n      return {\n        next: function () {\n          return { done: ITERATION_SUPPORT = true };\n        }\n      };\n    };\n    exec(object);\n  } catch (error) { /* empty */ }\n  return ITERATION_SUPPORT;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","var global = require('../internals/global');\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar Object = global.Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar arraySlice = require('../internals/array-slice');\n\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar join = uncurryThis([].join);\n\nvar TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\nvar IS_FIREFOX_OR_SAFARI_STACK = /@[^\\n]*\\n/.test(TEST) && !/zxcasd/.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n  if (typeof stack != 'string') return stack;\n  if (IS_V8_OR_CHAKRA_STACK) {\n    while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n  } else if (IS_FIREFOX_OR_SAFARI_STACK) {\n    return join(arraySlice(split(stack, '\\n'), dropEntries), '\\n');\n  } return stack;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar create = require('../internals/object-create');\nvar redefineAll = require('../internals/redefine-all');\nvar bind = require('../internals/function-bind-context');\nvar anInstance = require('../internals/an-instance');\nvar iterate = require('../internals/iterate');\nvar defineIterator = require('../internals/define-iterator');\nvar setSpecies = require('../internals/set-species');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fastKey = require('../internals/internal-metadata').fastKey;\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar internalStateGetterFor = InternalStateModule.getterFor;\n\nmodule.exports = {\n  getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {\n    var Constructor = wrapper(function (that, iterable) {\n      anInstance(that, Prototype);\n      setInternalState(that, {\n        type: CONSTRUCTOR_NAME,\n        index: create(null),\n        first: undefined,\n        last: undefined,\n        size: 0\n      });\n      if (!DESCRIPTORS) that.size = 0;\n      if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n    });\n\n    var Prototype = Constructor.prototype;\n\n    var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);\n\n    var define = function (that, key, value) {\n      var state = getInternalState(that);\n      var entry = getEntry(that, key);\n      var previous, index;\n      // change existing entry\n      if (entry) {\n        entry.value = value;\n      // create new entry\n      } else {\n        state.last = entry = {\n          index: index = fastKey(key, true),\n          key: key,\n          value: value,\n          previous: previous = state.last,\n          next: undefined,\n          removed: false\n        };\n        if (!state.first) state.first = entry;\n        if (previous) previous.next = entry;\n        if (DESCRIPTORS) state.size++;\n        else that.size++;\n        // add to index\n        if (index !== 'F') state.index[index] = entry;\n      } return that;\n    };\n\n    var getEntry = function (that, key) {\n      var state = getInternalState(that);\n      // fast case\n      var index = fastKey(key);\n      var entry;\n      if (index !== 'F') return state.index[index];\n      // frozen object case\n      for (entry = state.first; entry; entry = entry.next) {\n        if (entry.key == key) return entry;\n      }\n    };\n\n    redefineAll(Prototype, {\n      // `{ Map, Set }.prototype.clear()` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.clear\n      // https://tc39.es/ecma262/#sec-set.prototype.clear\n      clear: function clear() {\n        var that = this;\n        var state = getInternalState(that);\n        var data = state.index;\n        var entry = state.first;\n        while (entry) {\n          entry.removed = true;\n          if (entry.previous) entry.previous = entry.previous.next = undefined;\n          delete data[entry.index];\n          entry = entry.next;\n        }\n        state.first = state.last = undefined;\n        if (DESCRIPTORS) state.size = 0;\n        else that.size = 0;\n      },\n      // `{ Map, Set }.prototype.delete(key)` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.delete\n      // https://tc39.es/ecma262/#sec-set.prototype.delete\n      'delete': function (key) {\n        var that = this;\n        var state = getInternalState(that);\n        var entry = getEntry(that, key);\n        if (entry) {\n          var next = entry.next;\n          var prev = entry.previous;\n          delete state.index[entry.index];\n          entry.removed = true;\n          if (prev) prev.next = next;\n          if (next) next.previous = prev;\n          if (state.first == entry) state.first = next;\n          if (state.last == entry) state.last = prev;\n          if (DESCRIPTORS) state.size--;\n          else that.size--;\n        } return !!entry;\n      },\n      // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.foreach\n      // https://tc39.es/ecma262/#sec-set.prototype.foreach\n      forEach: function forEach(callbackfn /* , that = undefined */) {\n        var state = getInternalState(this);\n        var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n        var entry;\n        while (entry = entry ? entry.next : state.first) {\n          boundFunction(entry.value, entry.key, this);\n          // revert to the last existing entry\n          while (entry && entry.removed) entry = entry.previous;\n        }\n      },\n      // `{ Map, Set}.prototype.has(key)` methods\n      // https://tc39.es/ecma262/#sec-map.prototype.has\n      // https://tc39.es/ecma262/#sec-set.prototype.has\n      has: function has(key) {\n        return !!getEntry(this, key);\n      }\n    });\n\n    redefineAll(Prototype, IS_MAP ? {\n      // `Map.prototype.get(key)` method\n      // https://tc39.es/ecma262/#sec-map.prototype.get\n      get: function get(key) {\n        var entry = getEntry(this, key);\n        return entry && entry.value;\n      },\n      // `Map.prototype.set(key, value)` method\n      // https://tc39.es/ecma262/#sec-map.prototype.set\n      set: function set(key, value) {\n        return define(this, key === 0 ? 0 : key, value);\n      }\n    } : {\n      // `Set.prototype.add(value)` method\n      // https://tc39.es/ecma262/#sec-set.prototype.add\n      add: function add(value) {\n        return define(this, value = value === 0 ? 0 : value, value);\n      }\n    });\n    if (DESCRIPTORS) defineProperty(Prototype, 'size', {\n      get: function () {\n        return getInternalState(this).size;\n      }\n    });\n    return Constructor;\n  },\n  setStrong: function (Constructor, CONSTRUCTOR_NAME, IS_MAP) {\n    var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';\n    var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);\n    var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);\n    // `{ Map, Set }.prototype.{ keys, values, entries, @@iterator }()` methods\n    // https://tc39.es/ecma262/#sec-map.prototype.entries\n    // https://tc39.es/ecma262/#sec-map.prototype.keys\n    // https://tc39.es/ecma262/#sec-map.prototype.values\n    // https://tc39.es/ecma262/#sec-map.prototype-@@iterator\n    // https://tc39.es/ecma262/#sec-set.prototype.entries\n    // https://tc39.es/ecma262/#sec-set.prototype.keys\n    // https://tc39.es/ecma262/#sec-set.prototype.values\n    // https://tc39.es/ecma262/#sec-set.prototype-@@iterator\n    defineIterator(Constructor, CONSTRUCTOR_NAME, function (iterated, kind) {\n      setInternalState(this, {\n        type: ITERATOR_NAME,\n        target: iterated,\n        state: getInternalCollectionState(iterated),\n        kind: kind,\n        last: undefined\n      });\n    }, function () {\n      var state = getInternalIteratorState(this);\n      var kind = state.kind;\n      var entry = state.last;\n      // revert to the last existing entry\n      while (entry && entry.removed) entry = entry.previous;\n      // get next entry\n      if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {\n        // or finish the iteration\n        state.target = undefined;\n        return { value: undefined, done: true };\n      }\n      // return step by kind\n      if (kind == 'keys') return { value: entry.key, done: false };\n      if (kind == 'values') return { value: entry.value, done: false };\n      return { value: [entry.key, entry.value], done: false };\n    }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n    // `{ Map, Set }.prototype[@@species]` accessors\n    // https://tc39.es/ecma262/#sec-get-map-@@species\n    // https://tc39.es/ecma262/#sec-get-set-@@species\n    setSpecies(CONSTRUCTOR_NAME);\n  }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar InternalMetadataModule = require('../internals/internal-metadata');\nvar iterate = require('../internals/iterate');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nmodule.exports = function (CONSTRUCTOR_NAME, wrapper, common) {\n  var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;\n  var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;\n  var ADDER = IS_MAP ? 'set' : 'add';\n  var NativeConstructor = global[CONSTRUCTOR_NAME];\n  var NativePrototype = NativeConstructor && NativeConstructor.prototype;\n  var Constructor = NativeConstructor;\n  var exported = {};\n\n  var fixMethod = function (KEY) {\n    var uncurriedNativeMethod = uncurryThis(NativePrototype[KEY]);\n    redefine(NativePrototype, KEY,\n      KEY == 'add' ? function add(value) {\n        uncurriedNativeMethod(this, value === 0 ? 0 : value);\n        return this;\n      } : KEY == 'delete' ? function (key) {\n        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : KEY == 'get' ? function get(key) {\n        return IS_WEAK && !isObject(key) ? undefined : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : KEY == 'has' ? function has(key) {\n        return IS_WEAK && !isObject(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);\n      } : function set(key, value) {\n        uncurriedNativeMethod(this, key === 0 ? 0 : key, value);\n        return this;\n      }\n    );\n  };\n\n  var REPLACE = isForced(\n    CONSTRUCTOR_NAME,\n    !isCallable(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails(function () {\n      new NativeConstructor().entries().next();\n    }))\n  );\n\n  if (REPLACE) {\n    // create collection constructor\n    Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);\n    InternalMetadataModule.enable();\n  } else if (isForced(CONSTRUCTOR_NAME, true)) {\n    var instance = new Constructor();\n    // early implementations not supports chaining\n    var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n    // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n    var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n    // most early implementations doesn't supports iterables, most modern - not close it correctly\n    // eslint-disable-next-line no-new -- required for testing\n    var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) { new NativeConstructor(iterable); });\n    // for early implementations -0 and +0 not the same\n    var BUGGY_ZERO = !IS_WEAK && fails(function () {\n      // V8 ~ Chromium 42- fails only with 5+ elements\n      var $instance = new NativeConstructor();\n      var index = 5;\n      while (index--) $instance[ADDER](index, index);\n      return !$instance.has(-0);\n    });\n\n    if (!ACCEPT_ITERABLES) {\n      Constructor = wrapper(function (dummy, iterable) {\n        anInstance(dummy, NativePrototype);\n        var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);\n        if (iterable != undefined) iterate(iterable, that[ADDER], { that: that, AS_ENTRIES: IS_MAP });\n        return that;\n      });\n      Constructor.prototype = NativePrototype;\n      NativePrototype.constructor = Constructor;\n    }\n\n    if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n      fixMethod('delete');\n      fixMethod('has');\n      IS_MAP && fixMethod('get');\n    }\n\n    if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n\n    // weak collections should not contains .clear method\n    if (IS_WEAK && NativePrototype.clear) delete NativePrototype.clear;\n  }\n\n  exported[CONSTRUCTOR_NAME] = Constructor;\n  $({ global: true, forced: Constructor != NativeConstructor }, exported);\n\n  setToStringTag(Constructor, CONSTRUCTOR_NAME);\n\n  if (!IS_WEAK) common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);\n\n  return Constructor;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n  var keys = ownKeys(source);\n  var defineProperty = definePropertyModule.f;\n  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n  for (var i = 0; i < keys.length; i++) {\n    var key = keys[i];\n    if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n  }\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n  var regexp = /./;\n  try {\n    '/./'[METHOD_NAME](regexp);\n  } catch (error1) {\n    try {\n      regexp[MATCH] = false;\n      return '/./'[METHOD_NAME](regexp);\n    } catch (error2) { /* empty */ }\n  } return false;\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n  var S = toString(requireObjectCoercible(string));\n  var p1 = '<' + tag;\n  if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '&quot;') + '\"';\n  return p1 + '>' + S + '</' + tag + '>';\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","module.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  var propertyKey = toPropertyKey(key);\n  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n  else object[propertyKey] = value;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar anObject = require('../internals/an-object');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\n\nvar TypeError = global.TypeError;\n\n// `Date.prototype[@@toPrimitive](hint)` method implementation\n// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive\nmodule.exports = function (hint) {\n  anObject(this);\n  if (hint === 'string' || hint === 'default') hint = 'string';\n  else if (hint !== 'number') throw TypeError('Incorrect hint');\n  return ordinaryToPrimitive(this, hint);\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    } return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n          redefine(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n    } else {\n      INCORRECT_VALUES_NAME = true;\n      defaultIterator = function values() { return call(nativeIterator, this); };\n    }\n  }\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        redefine(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n  }\n  Iterators[NAME] = defaultIterator;\n\n  return methods;\n};\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n  var Symbol = path.Symbol || (path.Symbol = {});\n  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n","// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","module.exports = typeof window == 'object';\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\nvar global = require('../internals/global');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","var fails = require('../internals/fails');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = !fails(function () {\n  var error = Error('a');\n  if (!('stack' in error)) return true;\n  // eslint-disable-next-line es/no-object-defineproperty -- safe\n  Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));\n  return error.stack !== 7;\n});\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n  options.target      - name of the target object\n  options.global      - target is the global object\n  options.stat        - export as static methods of target\n  options.proto       - export as prototype methods of target\n  options.real        - real prototype method for the `pure` version\n  options.forced      - export even if the native feature is available\n  options.bind        - bind methods to the target, required for the `pure` version\n  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe      - use the simple assignment of property instead of delete + defineProperty\n  options.sham        - add a flag to not completely full polyfills\n  options.enumerable  - export as enumerable property\n  options.noTargetGet - prevent calling a getter on target\n  options.name        - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n  if (GLOBAL) {\n    target = global;\n  } else if (STATIC) {\n    target = global[TARGET] || setGlobal(TARGET, {});\n  } else {\n    target = (global[TARGET] || {}).prototype;\n  }\n  if (target) for (key in source) {\n    sourceProperty = source[key];\n    if (options.noTargetGet) {\n      descriptor = getOwnPropertyDescriptor(target, key);\n      targetProperty = descriptor && descriptor.value;\n    } else targetProperty = target[key];\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contained in target\n    if (!FORCED && targetProperty !== undefined) {\n      if (typeof sourceProperty == typeof targetProperty) continue;\n      copyConstructorProperties(sourceProperty, targetProperty);\n    }\n    // add a flag to not completely full polyfills\n    if (options.sham || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(sourceProperty, 'sham', true);\n    }\n    // extend global\n    redefine(target, key, sourceProperty, options);\n  }\n};\n","module.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n  var SYMBOL = wellKnownSymbol(KEY);\n\n  var DELEGATES_TO_SYMBOL = !fails(function () {\n    // String methods call symbol-named RegEp methods\n    var O = {};\n    O[SYMBOL] = function () { return 7; };\n    return ''[KEY](O) != 7;\n  });\n\n  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n    // Symbol-named RegExp methods call .exec\n    var execCalled = false;\n    var re = /a/;\n\n    if (KEY === 'split') {\n      // We can't use real regex here since it causes deoptimization\n      // and serious performance degradation in V8\n      // https://github.com/zloirock/core-js/issues/306\n      re = {};\n      // RegExp[@@split] doesn't call the regex's exec method, but first creates\n      // a new one. We need to return the patched regex when creating the new one.\n      re.constructor = {};\n      re.constructor[SPECIES] = function () { return re; };\n      re.flags = '';\n      re[SYMBOL] = /./[SYMBOL];\n    }\n\n    re.exec = function () { execCalled = true; return null; };\n\n    re[SYMBOL]('');\n    return !execCalled;\n  });\n\n  if (\n    !DELEGATES_TO_SYMBOL ||\n    !DELEGATES_TO_EXEC ||\n    FORCED\n  ) {\n    var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);\n    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n      var uncurriedNativeMethod = uncurryThis(nativeMethod);\n      var $exec = regexp.exec;\n      if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n          // The native String method already delegates to @@method (this\n          // polyfilled function), leasing to infinite recursion.\n          // We avoid it by directly calling the native @@method method.\n          return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };\n        }\n        return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };\n      }\n      return { done: false };\n    });\n\n    redefine(String.prototype, KEY, methods[0]);\n    redefine(RegExpPrototype, SYMBOL, methods[1]);\n  }\n\n  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-isextensible, es/no-object-preventextensions -- required for testing\n  return Object.isExtensible(Object.preventExtensions({}));\n});\n","var FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (bind ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : bind ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\n\nvar Function = global.Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n  if (!hasOwn(factories, argsLength)) {\n    for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n    factories[argsLength] = Function('C,a', 'return new C(' + join(list, ',') + ')');\n  } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n  var F = aCallable(this);\n  var Prototype = F.prototype;\n  var partArgs = arraySlice(arguments, 1);\n  var boundFunction = function bound(/* args... */) {\n    var args = concat(partArgs, arraySlice(arguments));\n    return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n  };\n  if (isObject(Prototype)) boundFunction.prototype = Prototype;\n  return boundFunction;\n};\n","var call = Function.prototype.call;\n\nmodule.exports = call.bind ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","var FunctionPrototype = Function.prototype;\nvar bind = FunctionPrototype.bind;\nvar call = FunctionPrototype.call;\nvar callBind = bind && bind.bind(call);\n\nmodule.exports = bind ? function (fn) {\n  return fn && callBind(call, fn);\n} : function (fn) {\n  return fn && function () {\n    return call.apply(fn, arguments);\n  };\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n  return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n  if (it != undefined) return getMethod(it, ITERATOR)\n    || getMethod(it, '@@iterator')\n    || Iterators[classof(it)];\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n  throw TypeError(tryToString(argument) + ' is not iterable');\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return func == null ? undefined : aCallable(func);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n  var tailPos = position + matched.length;\n  var m = captures.length;\n  var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n  if (namedCaptures !== undefined) {\n    namedCaptures = toObject(namedCaptures);\n    symbols = SUBSTITUTION_SYMBOLS;\n  }\n  return replace(replacement, symbols, function (match, ch) {\n    var capture;\n    switch (charAt(ch, 0)) {\n      case '$': return '$';\n      case '&': return matched;\n      case '`': return stringSlice(str, 0, position);\n      case \"'\": return stringSlice(str, tailPos);\n      case '<':\n        capture = namedCaptures[stringSlice(ch, 1, -1)];\n        break;\n      default: // \\d\\d?\n        var n = +ch;\n        if (n === 0) return match;\n        if (n > m) {\n          var f = floor(n / 10);\n          if (f === 0) return match;\n          if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n          return match;\n        }\n        capture = captures[n - 1];\n    }\n    return capture === undefined ? '' : capture;\n  });\n};\n","var check = function (it) {\n  return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n  var console = global.console;\n  if (console && console.error) {\n    arguments.length == 1 ? console.error(a) : console.error(a, b);\n  }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a != 7;\n});\n","// IEEE754 conversions based on https://github.com/feross/ieee754\nvar global = require('../internals/global');\n\nvar Array = global.Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n  var buffer = Array(bytes);\n  var exponentLength = bytes * 8 - mantissaLength - 1;\n  var eMax = (1 << exponentLength) - 1;\n  var eBias = eMax >> 1;\n  var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n  var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n  var index = 0;\n  var exponent, mantissa, c;\n  number = abs(number);\n  // eslint-disable-next-line no-self-compare -- NaN check\n  if (number != number || number === Infinity) {\n    // eslint-disable-next-line no-self-compare -- NaN check\n    mantissa = number != number ? 1 : 0;\n    exponent = eMax;\n  } else {\n    exponent = floor(log(number) / LN2);\n    if (number * (c = pow(2, -exponent)) < 1) {\n      exponent--;\n      c *= 2;\n    }\n    if (exponent + eBias >= 1) {\n      number += rt / c;\n    } else {\n      number += rt * pow(2, 1 - eBias);\n    }\n    if (number * c >= 2) {\n      exponent++;\n      c /= 2;\n    }\n    if (exponent + eBias >= eMax) {\n      mantissa = 0;\n      exponent = eMax;\n    } else if (exponent + eBias >= 1) {\n      mantissa = (number * c - 1) * pow(2, mantissaLength);\n      exponent = exponent + eBias;\n    } else {\n      mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n      exponent = 0;\n    }\n  }\n  for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8);\n  exponent = exponent << mantissaLength | mantissa;\n  exponentLength += mantissaLength;\n  for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8);\n  buffer[--index] |= sign * 128;\n  return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n  var bytes = buffer.length;\n  var exponentLength = bytes * 8 - mantissaLength - 1;\n  var eMax = (1 << exponentLength) - 1;\n  var eBias = eMax >> 1;\n  var nBits = exponentLength - 7;\n  var index = bytes - 1;\n  var sign = buffer[index--];\n  var exponent = sign & 127;\n  var mantissa;\n  sign >>= 7;\n  for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8);\n  mantissa = exponent & (1 << -nBits) - 1;\n  exponent >>= -nBits;\n  nBits += mantissaLength;\n  for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8);\n  if (exponent === 0) {\n    exponent = 1 - eBias;\n  } else if (exponent === eMax) {\n    return mantissa ? NaN : sign ? -Infinity : Infinity;\n  } else {\n    mantissa = mantissa + pow(2, mantissaLength);\n    exponent = exponent - eBias;\n  } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n  pack: pack,\n  unpack: unpack\n};\n","var global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar Object = global.Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) == 'String' ? split(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n  var NewTarget, NewTargetPrototype;\n  if (\n    // it can work only with native `setPrototypeOf`\n    setPrototypeOf &&\n    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n    isCallable(NewTarget = dummy.constructor) &&\n    NewTarget !== Wrapper &&\n    isObject(NewTargetPrototype = NewTarget.prototype) &&\n    NewTargetPrototype !== Wrapper.prototype\n  ) setPrototypeOf($this, NewTargetPrototype);\n  return $this;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","var isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\n// `InstallErrorCause` abstract operation\n// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause\nmodule.exports = function (O, options) {\n  if (isObject(options) && 'cause' in options) {\n    createNonEnumerableProperty(O, 'cause', options.cause);\n  }\n};\n","var $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternalModule = require('../internals/object-get-own-property-names-external');\nvar uid = require('../internals/uid');\nvar FREEZING = require('../internals/freezing');\n\nvar REQUIRED = false;\nvar METADATA = uid('meta');\nvar id = 0;\n\n// eslint-disable-next-line es/no-object-isextensible -- safe\nvar isExtensible = Object.isExtensible || function () {\n  return true;\n};\n\nvar setMetadata = function (it) {\n  defineProperty(it, METADATA, { value: {\n    objectID: 'O' + id++, // object ID\n    weakData: {}          // weak collections IDs\n  } });\n};\n\nvar fastKey = function (it, create) {\n  // return a primitive with prefix\n  if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n  if (!hasOwn(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return 'F';\n    // not necessary to add metadata\n    if (!create) return 'E';\n    // add missing metadata\n    setMetadata(it);\n  // return object ID\n  } return it[METADATA].objectID;\n};\n\nvar getWeakData = function (it, create) {\n  if (!hasOwn(it, METADATA)) {\n    // can't set metadata to uncaught frozen object\n    if (!isExtensible(it)) return true;\n    // not necessary to add metadata\n    if (!create) return false;\n    // add missing metadata\n    setMetadata(it);\n  // return the store of weak collections IDs\n  } return it[METADATA].weakData;\n};\n\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n  if (FREEZING && REQUIRED && isExtensible(it) && !hasOwn(it, METADATA)) setMetadata(it);\n  return it;\n};\n\nvar enable = function () {\n  meta.enable = function () { /* empty */ };\n  REQUIRED = true;\n  var getOwnPropertyNames = getOwnPropertyNamesModule.f;\n  var splice = uncurryThis([].splice);\n  var test = {};\n  test[METADATA] = 1;\n\n  // prevent exposing of metadata key\n  if (getOwnPropertyNames(test).length) {\n    getOwnPropertyNamesModule.f = function (it) {\n      var result = getOwnPropertyNames(it);\n      for (var i = 0, length = result.length; i < length; i++) {\n        if (result[i] === METADATA) {\n          splice(result, i, 1);\n          break;\n        }\n      } return result;\n    };\n\n    $({ target: 'Object', stat: true, forced: true }, {\n      getOwnPropertyNames: getOwnPropertyNamesExternalModule.f\n    });\n  }\n};\n\nvar meta = module.exports = {\n  enable: enable,\n  fastKey: fastKey,\n  getWeakData: getWeakData,\n  onFreeze: onFreeze\n};\n\nhiddenKeys[METADATA] = true;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  var wmget = uncurryThis(store.get);\n  var wmhas = uncurryThis(store.has);\n  var wmset = uncurryThis(store.set);\n  set = function (it, metadata) {\n    if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    wmset(store, it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return wmget(store, it) || {};\n  };\n  has = function (it) {\n    return wmhas(store, it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) == 'Array';\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n  return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function (argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, empty, argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function (argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n    // we can't check .prototype since constructors produced by .bind haven't it\n  } return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n};\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value == POLYFILL ? true\n    : value == NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n  return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n  var isRegExp;\n  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Object = global.Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar TypeError = global.TypeError;\n\nvar Result = function (stopped, result) {\n  this.stopped = stopped;\n  this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n  var that = options && options.that;\n  var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n  var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n  var INTERRUPTED = !!(options && options.INTERRUPTED);\n  var fn = bind(unboundFunction, that);\n  var iterator, iterFn, index, length, result, next, step;\n\n  var stop = function (condition) {\n    if (iterator) iteratorClose(iterator, 'normal', condition);\n    return new Result(true, condition);\n  };\n\n  var callFn = function (value) {\n    if (AS_ENTRIES) {\n      anObject(value);\n      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n    } return INTERRUPTED ? fn(value, stop) : fn(value);\n  };\n\n  if (IS_ITERATOR) {\n    iterator = iterable;\n  } else {\n    iterFn = getIteratorMethod(iterable);\n    if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');\n    // optimisation for array iterators\n    if (isArrayIteratorMethod(iterFn)) {\n      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n        result = callFn(iterable[index]);\n        if (result && isPrototypeOf(ResultPrototype, result)) return result;\n      } return new Result(false);\n    }\n    iterator = getIterator(iterable, iterFn);\n  }\n\n  next = iterator.next;\n  while (!(step = call(next, iterator)).done) {\n    try {\n      result = callFn(step.value);\n    } catch (error) {\n      iteratorClose(iterator, 'throw', error);\n    }\n    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n  } return new Result(false);\n};\n","var call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n  var innerResult, innerError;\n  anObject(iterator);\n  try {\n    innerResult = getMethod(iterator, 'return');\n    if (!innerResult) {\n      if (kind === 'throw') throw value;\n      return value;\n    }\n    innerResult = call(innerResult, iterator);\n  } catch (error) {\n    innerError = true;\n    innerResult = error;\n  }\n  if (kind === 'throw') throw value;\n  if (innerError) throw innerResult;\n  anObject(innerResult);\n  return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n  redefine(IteratorPrototype, ITERATOR, function () {\n    return this;\n  });\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","var global = require('../internals/global');\nvar bind = require('../internals/function-bind-context');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/engine-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n  flush = function () {\n    var parent, fn;\n    if (IS_NODE && (parent = process.domain)) parent.exit();\n    while (head) {\n      fn = head.fn;\n      head = head.next;\n      try {\n        fn();\n      } catch (error) {\n        if (head) notify();\n        else last = undefined;\n        throw error;\n      }\n    } last = undefined;\n    if (parent) parent.enter();\n  };\n\n  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n    toggle = true;\n    node = document.createTextNode('');\n    new MutationObserver(flush).observe(node, { characterData: true });\n    notify = function () {\n      node.data = toggle = !toggle;\n    };\n  // environments with maybe non-completely correct, but existent Promise\n  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n    // Promise.resolve without an argument throws an error in LG WebOS 2\n    promise = Promise.resolve(undefined);\n    // workaround of WebKit ~ iOS Safari 10.1 bug\n    promise.constructor = Promise;\n    then = bind(promise.then, promise);\n    notify = function () {\n      then(flush);\n    };\n  // Node.js without promises\n  } else if (IS_NODE) {\n    notify = function () {\n      process.nextTick(flush);\n    };\n  // for other environments - macrotask based on:\n  // - setImmediate\n  // - MessageChannel\n  // - window.postMessag\n  // - onreadystatechange\n  // - setTimeout\n  } else {\n    // strange IE + webpack dev server bug - use .bind(global)\n    macrotask = bind(macrotask, global);\n    notify = function () {\n      macrotask(flush);\n    };\n  }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n  var task = { fn: fn, next: undefined };\n  if (last) last.next = task;\n  if (!head) {\n    head = task;\n    notify();\n  } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol();\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar PromiseCapability = function (C) {\n  var resolve, reject;\n  this.promise = new C(function ($$resolve, $$reject) {\n    if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n    resolve = $$resolve;\n    reject = $$reject;\n  });\n  this.resolve = aCallable(resolve);\n  this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n  return new PromiseCapability(C);\n};\n","var toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n  return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","var global = require('../internals/global');\nvar isRegExp = require('../internals/is-regexp');\n\nvar TypeError = global.TypeError;\n\nmodule.exports = function (it) {\n  if (isRegExp(it)) {\n    throw TypeError(\"The method doesn't accept regular expressions\");\n  } return it;\n};\n","var global = require('../internals/global');\n\nvar globalIsFinite = global.isFinite;\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\n// eslint-disable-next-line es/no-number-isfinite -- safe\nmodule.exports = Number.isFinite || function isFinite(it) {\n  return typeof it == 'number' && globalIsFinite(it);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n  // should have correct order of operations (Edge bug)\n  if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n    enumerable: true,\n    get: function () {\n      defineProperty(this, 'b', {\n        value: 3,\n        enumerable: false\n      });\n    }\n  }), { b: 2 })).b !== 1) return true;\n  // should work with symbols and should have deterministic property order (V8 bug)\n  var A = {};\n  var B = {};\n  // eslint-disable-next-line es/no-symbol -- safe\n  var symbol = Symbol();\n  var alphabet = 'abcdefghijklmnopqrst';\n  A[symbol] = 7;\n  alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n  var T = toObject(target);\n  var argumentsLength = arguments.length;\n  var index = 1;\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  var propertyIsEnumerable = propertyIsEnumerableModule.f;\n  while (argumentsLength > index) {\n    var S = IndexedObject(arguments[index++]);\n    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n    var length = keys.length;\n    var j = 0;\n    var key;\n    while (length > j) {\n      key = keys[j++];\n      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n    }\n  } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  activeXDocument = null; // avoid memory leak\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","var global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar TypeError = global.TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return $getOwnPropertyNames(it);\n  } catch (error) {\n    return arraySlice(windowNames);\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && classof(it) == 'Window'\n    ? getWindowNames(it)\n    : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var global = require('../internals/global');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar Object = global.Object;\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n  var object = toObject(O);\n  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n  var constructor = object.constructor;\n  if (isCallable(constructor) && object instanceof constructor) {\n    return constructor.prototype;\n  } return object instanceof Object ? ObjectPrototype : null;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    anObject(O);\n    aPossiblePrototype(proto);\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n  return function (it) {\n    var O = toIndexedObject(it);\n    var keys = objectKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n        push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.es/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.es/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar TypeError = global.TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n  var keys = getOwnPropertyNamesModule.f(anObject(it));\n  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n  try {\n    return { error: false, value: exec() };\n  } catch (error) {\n    return { error: true, value: error };\n  }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n  anObject(C);\n  if (isObject(x) && x.constructor === C) return x;\n  var promiseCapability = newPromiseCapability.f(C);\n  var resolve = promiseCapability.resolve;\n  resolve(x);\n  return promiseCapability.promise;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n  for (var key in src) redefine(target, key, src[key], options);\n  return target;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n  var unsafe = options ? !!options.unsafe : false;\n  var simple = options ? !!options.enumerable : false;\n  var noTargetGet = options ? !!options.noTargetGet : false;\n  var name = options && options.name !== undefined ? options.name : key;\n  var state;\n  if (isCallable(value)) {\n    if (String(name).slice(0, 7) === 'Symbol(') {\n      name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n    }\n    if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n      createNonEnumerableProperty(value, 'name', name);\n    }\n    state = enforceInternalState(value);\n    if (!state.source) {\n      state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n    }\n  }\n  if (O === global) {\n    if (simple) O[key] = value;\n    else setGlobal(key, value);\n    return;\n  } else if (!unsafe) {\n    delete O[key];\n  } else if (!noTargetGet && O[key]) {\n    simple = true;\n  }\n  if (simple) O[key] = value;\n  else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n  return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar TypeError = global.TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n  var exec = R.exec;\n  if (isCallable(exec)) {\n    var result = call(exec, R, S);\n    if (result !== null) anObject(result);\n    return result;\n  }\n  if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n  throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n  var re1 = /a/;\n  var re2 = /b*/g;\n  call(nativeExec, re1, 'a');\n  call(nativeExec, re2, 'a');\n  return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n  // eslint-disable-next-line max-statements -- TODO\n  patchedExec = function exec(string) {\n    var re = this;\n    var state = getInternalState(re);\n    var str = toString(string);\n    var raw = state.raw;\n    var result, reCopy, lastIndex, match, i, object, group;\n\n    if (raw) {\n      raw.lastIndex = re.lastIndex;\n      result = call(patchedExec, raw, str);\n      re.lastIndex = raw.lastIndex;\n      return result;\n    }\n\n    var groups = state.groups;\n    var sticky = UNSUPPORTED_Y && re.sticky;\n    var flags = call(regexpFlags, re);\n    var source = re.source;\n    var charsAdded = 0;\n    var strCopy = str;\n\n    if (sticky) {\n      flags = replace(flags, 'y', '');\n      if (indexOf(flags, 'g') === -1) {\n        flags += 'g';\n      }\n\n      strCopy = stringSlice(str, re.lastIndex);\n      // Support anchored sticky behavior.\n      if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n        source = '(?: ' + source + ')';\n        strCopy = ' ' + strCopy;\n        charsAdded++;\n      }\n      // ^(? + rx + ) is needed, in combination with some str slicing, to\n      // simulate the 'y' flag.\n      reCopy = new RegExp('^(?:' + source + ')', flags);\n    }\n\n    if (NPCG_INCLUDED) {\n      reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n    }\n    if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n    match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n    if (sticky) {\n      if (match) {\n        match.input = stringSlice(match.input, charsAdded);\n        match[0] = stringSlice(match[0], charsAdded);\n        match.index = re.lastIndex;\n        re.lastIndex += match[0].length;\n      } else re.lastIndex = 0;\n    } else if (UPDATES_LAST_INDEX_WRONG && match) {\n      re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n    }\n    if (NPCG_INCLUDED && match && match.length > 1) {\n      // Fix browsers whose `exec` methods don't consistently return `undefined`\n      // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n      call(nativeReplace, match[0], reCopy, function () {\n        for (i = 1; i < arguments.length - 2; i++) {\n          if (arguments[i] === undefined) match[i] = undefined;\n        }\n      });\n    }\n\n    if (match && groups) {\n      match.groups = object = create(null);\n      for (i = 0; i < groups.length; i++) {\n        group = groups[i];\n        object[group[0]] = match[group[1]];\n      }\n    }\n\n    return match;\n  };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n  var that = anObject(this);\n  var result = '';\n  if (that.global) result += 'g';\n  if (that.ignoreCase) result += 'i';\n  if (that.multiline) result += 'm';\n  if (that.dotAll) result += 's';\n  if (that.unicode) result += 'u';\n  if (that.sticky) result += 'y';\n  return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n  var re = $RegExp('a', 'y');\n  re.lastIndex = 2;\n  return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n  var re = $RegExp('^r', 'gy');\n  re.lastIndex = 2;\n  return re.exec('str') != null;\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('.', 's');\n  return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n  var re = $RegExp('(?<a>b)', 'g');\n  return re.exec('b').groups.a !== 'b' ||\n    'b'.replace(re, '$<a>c') !== 'bc';\n});\n","var global = require('../internals/global');\n\nvar TypeError = global.TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(global, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    global[key] = value;\n  } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n  var defineProperty = definePropertyModule.f;\n\n  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n    defineProperty(Constructor, SPECIES, {\n      configurable: true,\n      get: function () { return this; }\n    });\n  }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n  if (it && !hasOwn(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n    defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n  }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n  return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n  version: '3.19.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n  var C = anObject(O).constructor;\n  var S;\n  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);\n};\n","var fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    var test = ''[METHOD_NAME]('\"');\n    return test !== test.toLowerCase() || test.split('\"').length > 3;\n  });\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = charCodeAt(S, position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING\n          ? charAt(S, position)\n          : first\n        : CONVERT_TO_STRING\n          ? stringSlice(S, position, position + 2)\n          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","'use strict';\nvar global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar RangeError = global.RangeError;\n\n// `String.prototype.repeat` method implementation\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\nmodule.exports = function repeat(count) {\n  var str = toString(requireObjectCoercible(this));\n  var result = '';\n  var n = toIntegerOrInfinity(count);\n  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');\n  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;\n  return result;\n};\n","var PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n  return fails(function () {\n    return !!whitespaces[METHOD_NAME]()\n      || non[METHOD_NAME]() !== non\n      || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n  });\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n  return function ($this) {\n    var string = toString(requireObjectCoercible($this));\n    if (TYPE & 1) string = replace(string, ltrim, '');\n    if (TYPE & 2) string = replace(string, rtrim, '');\n    return string;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.{ trimLeft, trimStart }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n  start: createMethod(1),\n  // `String.prototype.{ trimRight, trimEnd }` methods\n  // https://tc39.es/ecma262/#sec-string.prototype.trimend\n  end: createMethod(2),\n  // `String.prototype.trim` method\n  // https://tc39.es/ecma262/#sec-string.prototype.trim\n  trim: createMethod(3)\n};\n","var global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar Dispatch = global.Dispatch;\nvar Function = global.Function;\nvar MessageChannel = global.MessageChannel;\nvar String = global.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar location, defer, channel, port;\n\ntry {\n  // Deno throws a ReferenceError on `location` access without `--location` flag\n  location = global.location;\n} catch (error) { /* empty */ }\n\nvar run = function (id) {\n  if (hasOwn(queue, id)) {\n    var fn = queue[id];\n    delete queue[id];\n    fn();\n  }\n};\n\nvar runner = function (id) {\n  return function () {\n    run(id);\n  };\n};\n\nvar listener = function (event) {\n  run(event.data);\n};\n\nvar post = function (id) {\n  // old engines have not location.origin\n  global.postMessage(String(id), location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n  set = function setImmediate(fn) {\n    var args = arraySlice(arguments, 1);\n    queue[++counter] = function () {\n      apply(isCallable(fn) ? fn : Function(fn), undefined, args);\n    };\n    defer(counter);\n    return counter;\n  };\n  clear = function clearImmediate(id) {\n    delete queue[id];\n  };\n  // Node.js 0.8-\n  if (IS_NODE) {\n    defer = function (id) {\n      process.nextTick(runner(id));\n    };\n  // Sphere (JS game engine) Dispatch API\n  } else if (Dispatch && Dispatch.now) {\n    defer = function (id) {\n      Dispatch.now(runner(id));\n    };\n  // Browsers with MessageChannel, includes WebWorkers\n  // except iOS - https://github.com/zloirock/core-js/issues/624\n  } else if (MessageChannel && !IS_IOS) {\n    channel = new MessageChannel();\n    port = channel.port2;\n    channel.port1.onmessage = listener;\n    defer = bind(port.postMessage, port);\n  // Browsers with postMessage, skip WebWorkers\n  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n  } else if (\n    global.addEventListener &&\n    isCallable(global.postMessage) &&\n    !global.importScripts &&\n    location && location.protocol !== 'file:' &&\n    !fails(post)\n  ) {\n    defer = post;\n    global.addEventListener('message', listener, false);\n  // IE8-\n  } else if (ONREADYSTATECHANGE in createElement('script')) {\n    defer = function (id) {\n      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n        html.removeChild(this);\n        run(id);\n      };\n    };\n  // Rest old browsers\n  } else {\n    defer = function (id) {\n      setTimeout(runner(id), 0);\n    };\n  }\n}\n\nmodule.exports = {\n  set: set,\n  clear: clear\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar RangeError = global.RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n  if (it === undefined) return 0;\n  var number = toIntegerOrInfinity(it);\n  var length = toLength(number);\n  if (number !== length) throw RangeError('Wrong length or index');\n  return length;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- safe\n  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar Object = global.Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return Object(requireObjectCoercible(argument));\n};\n","var global = require('../internals/global');\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it, BYTES) {\n  var offset = toPositiveInteger(it);\n  if (offset % BYTES) throw RangeError('Wrong offset');\n  return offset;\n};\n","var global = require('../internals/global');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar RangeError = global.RangeError;\n\nmodule.exports = function (it) {\n  var result = toIntegerOrInfinity(it);\n  if (result < 0) throw RangeError(\"The argument can't be less than 0\");\n  return result;\n};\n","var global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TypeError = global.TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var global = require('../internals/global');\nvar classof = require('../internals/classof');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n  return String(argument);\n};\n","var global = require('../internals/global');\n\nvar String = global.String;\n\nmodule.exports = function (argument) {\n  try {\n    return String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar round = Math.round;\nvar RangeError = global.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar fromList = function (C, list) {\n  aTypedArrayConstructor(C);\n  var index = 0;\n  var length = list.length;\n  var result = new C(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n};\n\nvar addGetter = function (it, key) {\n  nativeDefineProperty(it, key, { get: function () {\n    return getInternalState(this)[key];\n  } });\n};\n\nvar isArrayBuffer = function (it) {\n  var klass;\n  return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n  return isTypedArray(target)\n    && !isSymbol(key)\n    && key in target\n    && isIntegralNumber(+key)\n    && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n  key = toPropertyKey(key);\n  return isTypedArrayIndex(target, key)\n    ? createPropertyDescriptor(2, target[key])\n    : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n  key = toPropertyKey(key);\n  if (isTypedArrayIndex(target, key)\n    && isObject(descriptor)\n    && hasOwn(descriptor, 'value')\n    && !hasOwn(descriptor, 'get')\n    && !hasOwn(descriptor, 'set')\n    // TODO: add validation descriptor w/o calling accessors\n    && !descriptor.configurable\n    && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n    && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n  ) {\n    target[key] = descriptor.value;\n    return target;\n  } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n  if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n    getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n    definePropertyModule.f = wrappedDefineProperty;\n    addGetter(TypedArrayPrototype, 'buffer');\n    addGetter(TypedArrayPrototype, 'byteOffset');\n    addGetter(TypedArrayPrototype, 'byteLength');\n    addGetter(TypedArrayPrototype, 'length');\n  }\n\n  $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n    getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n    defineProperty: wrappedDefineProperty\n  });\n\n  module.exports = function (TYPE, wrapper, CLAMPED) {\n    var BYTES = TYPE.match(/\\d+$/)[0] / 8;\n    var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n    var GETTER = 'get' + TYPE;\n    var SETTER = 'set' + TYPE;\n    var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];\n    var TypedArrayConstructor = NativeTypedArrayConstructor;\n    var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n    var exported = {};\n\n    var getter = function (that, index) {\n      var data = getInternalState(that);\n      return data.view[GETTER](index * BYTES + data.byteOffset, true);\n    };\n\n    var setter = function (that, index, value) {\n      var data = getInternalState(that);\n      if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n      data.view[SETTER](index * BYTES + data.byteOffset, value, true);\n    };\n\n    var addElement = function (that, index) {\n      nativeDefineProperty(that, index, {\n        get: function () {\n          return getter(this, index);\n        },\n        set: function (value) {\n          return setter(this, index, value);\n        },\n        enumerable: true\n      });\n    };\n\n    if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n      TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n        anInstance(that, TypedArrayConstructorPrototype);\n        var index = 0;\n        var byteOffset = 0;\n        var buffer, byteLength, length;\n        if (!isObject(data)) {\n          length = toIndex(data);\n          byteLength = length * BYTES;\n          buffer = new ArrayBuffer(byteLength);\n        } else if (isArrayBuffer(data)) {\n          buffer = data;\n          byteOffset = toOffset(offset, BYTES);\n          var $len = data.byteLength;\n          if ($length === undefined) {\n            if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n            byteLength = $len - byteOffset;\n            if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n          } else {\n            byteLength = toLength($length) * BYTES;\n            if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);\n          }\n          length = byteLength / BYTES;\n        } else if (isTypedArray(data)) {\n          return fromList(TypedArrayConstructor, data);\n        } else {\n          return call(typedArrayFrom, TypedArrayConstructor, data);\n        }\n        setInternalState(that, {\n          buffer: buffer,\n          byteOffset: byteOffset,\n          byteLength: byteLength,\n          length: length,\n          view: new DataView(buffer)\n        });\n        while (index < length) addElement(that, index++);\n      });\n\n      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n      TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n    } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n      TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n        anInstance(dummy, TypedArrayConstructorPrototype);\n        return inheritIfRequired(function () {\n          if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n          if (isArrayBuffer(data)) return $length !== undefined\n            ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n            : typedArrayOffset !== undefined\n              ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n              : new NativeTypedArrayConstructor(data);\n          if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);\n          return call(typedArrayFrom, TypedArrayConstructor, data);\n        }(), dummy, TypedArrayConstructor);\n      });\n\n      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n      forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n        if (!(key in TypedArrayConstructor)) {\n          createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n        }\n      });\n      TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n    }\n\n    if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n    }\n\n    createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);\n\n    if (TYPED_ARRAY_TAG) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n    }\n\n    exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n    $({\n      global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS\n    }, exported);\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n      createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n    }\n\n    if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n      createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n    }\n\n    setSpecies(CONSTRUCTOR_NAME);\n  };\n} else module.exports = function () { /* empty */ };\n","/* eslint-disable no-new -- required for testing */\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = global.ArrayBuffer;\nvar Int8Array = global.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n  Int8Array(1);\n}) || !fails(function () {\n  new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n  new Int8Array();\n  new Int8Array(null);\n  new Int8Array(1.5);\n  new Int8Array(iterable);\n}, true) || fails(function () {\n  // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n  return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","var arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n  return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","var bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n  var C = aConstructor(this);\n  var O = toObject(source);\n  var argumentsLength = arguments.length;\n  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n  var mapping = mapfn !== undefined;\n  var iteratorMethod = getIteratorMethod(O);\n  var i, length, result, step, iterator, next;\n  if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n    iterator = getIterator(O, iteratorMethod);\n    next = iterator.next;\n    O = [];\n    while (!(step = call(next, iterator)).done) {\n      O.push(step.value);\n    }\n  }\n  if (mapping && argumentsLength > 2) {\n    mapfn = bind(mapfn, arguments[2]);\n  }\n  length = lengthOfArrayLike(O);\n  result = new (aTypedArrayConstructor(C))(length);\n  for (i = 0; length > i; i++) {\n    result[i] = mapping ? mapfn(O[i], i) : O[i];\n  }\n  return result;\n};\n","var ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n  return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n  && !Symbol.sham\n  && typeof Symbol.iterator == 'symbol';\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n    var description = 'Symbol.' + name;\n    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n      WellKnownSymbolsStore[name] = Symbol[name];\n    } else if (USE_SYMBOL_AS_UID && symbolFor) {\n      WellKnownSymbolsStore[name] = symbolFor(description);\n    } else {\n      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n    }\n  } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n  '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar clearErrorStack = require('../internals/clear-error-stack');\nvar installErrorCause = require('../internals/install-error-cause');\nvar iterate = require('../internals/iterate');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar ERROR_STACK_INSTALLABLE = require('../internals/error-stack-installable');\n\nvar Error = global.Error;\nvar push = [].push;\n\nvar $AggregateError = function AggregateError(errors, message /* , options */) {\n  var that = isPrototypeOf(AggregateErrorPrototype, this) ? this : create(AggregateErrorPrototype);\n  var options = arguments.length > 2 ? arguments[2] : undefined;\n  if (setPrototypeOf) {\n    that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n  }\n  createNonEnumerableProperty(that, 'message', normalizeStringArgument(message, ''));\n  if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(that, 'stack', clearErrorStack(that.stack, 1));\n  installErrorCause(that, options);\n  var errorsArray = [];\n  iterate(errors, push, { that: errorsArray });\n  createNonEnumerableProperty(that, 'errors', errorsArray);\n  return that;\n};\n\nif (setPrototypeOf) setPrototypeOf($AggregateError, Error);\nelse copyConstructorProperties($AggregateError, Error);\n\nvar AggregateErrorPrototype = $AggregateError.prototype = create(Error.prototype, {\n  constructor: createPropertyDescriptor(1, $AggregateError),\n  message: createPropertyDescriptor(1, ''),\n  name: createPropertyDescriptor(1, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n  AggregateError: $AggregateError\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\nvar TypeError = global.TypeError;\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = lengthOfArrayLike(E);\n        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n","var $ = require('../internals/export');\nvar copyWithin = require('../internals/array-copy-within');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n$({ target: 'Array', proto: true }, {\n  copyWithin: copyWithin\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('copyWithin');\n","var $ = require('../internals/export');\nvar fill = require('../internals/array-fill');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.fill` method\n// https://tc39.es/ecma262/#sec-array.prototype.fill\n$({ target: 'Array', proto: true }, {\n  fill: fill\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('fill');\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  filter: function filter(callbackfn /* , thisArg */) {\n    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","var $ = require('../internals/export');\nvar from = require('../internals/array-from');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\n\nvar INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {\n  // eslint-disable-next-line es/no-array-from -- required for testing\n  Array.from(iterable);\n});\n\n// `Array.from` method\n// https://tc39.es/ecma262/#sec-array.from\n$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {\n  from: from\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true }, {\n  includes: function includes(el /* , fromIndex = 0 */) {\n    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var kind = state.kind;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = undefined;\n    return { value: undefined, done: true };\n  }\n  if (kind == 'keys') return { value: index, done: false };\n  if (kind == 'values') return { value: target[index], done: false };\n  return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar un$Join = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n  join: function join(separator) {\n    return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  map: function map(callbackfn /* , thisArg */) {\n    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar un$Slice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar Array = global.Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  slice: function slice(start, end) {\n    var O = toIndexedObject(this);\n    var length = lengthOfArrayLike(O);\n    var k = toAbsoluteIndex(start, length);\n    var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n    var Constructor, result, n;\n    if (isArray(O)) {\n      Constructor = O.constructor;\n      // cross-realm fallback\n      if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n        Constructor = undefined;\n      } else if (isObject(Constructor)) {\n        Constructor = Constructor[SPECIES];\n        if (Constructor === null) Constructor = undefined;\n      }\n      if (Constructor === Array || Constructor === undefined) {\n        return un$Slice(O, k, fin);\n      }\n    }\n    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n    result.length = n;\n    return result;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar un$Sort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n  test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n  test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n  // feature detection can be too slow, so check engines versions\n  if (V8) return V8 < 70;\n  if (FF && FF > 3) return;\n  if (IE_OR_EDGE) return true;\n  if (WEBKIT) return WEBKIT < 603;\n\n  var result = '';\n  var code, chr, value, index;\n\n  // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n  for (code = 65; code < 76; code++) {\n    chr = String.fromCharCode(code);\n\n    switch (code) {\n      case 66: case 69: case 70: case 72: value = 3; break;\n      case 68: case 71: value = 4; break;\n      default: value = 2;\n    }\n\n    for (index = 0; index < 47; index++) {\n      test.push({ k: chr + index, v: value });\n    }\n  }\n\n  test.sort(function (a, b) { return b.v - a.v; });\n\n  for (index = 0; index < test.length; index++) {\n    chr = test[index].k.charAt(0);\n    if (result.charAt(result.length - 1) !== chr) result += chr;\n  }\n\n  return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n  return function (x, y) {\n    if (y === undefined) return -1;\n    if (x === undefined) return 1;\n    if (comparefn !== undefined) return +comparefn(x, y) || 0;\n    return toString(x) > toString(y) ? 1 : -1;\n  };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n  sort: function sort(comparefn) {\n    if (comparefn !== undefined) aCallable(comparefn);\n\n    var array = toObject(this);\n\n    if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);\n\n    var items = [];\n    var arrayLength = lengthOfArrayLike(array);\n    var itemsLength, index;\n\n    for (index = 0; index < arrayLength; index++) {\n      if (index in array) push(items, array[index]);\n    }\n\n    internalSort(items, getSortCompare(comparefn));\n\n    itemsLength = items.length;\n    index = 0;\n\n    while (index < itemsLength) array[index] = items[index++];\n    while (index < arrayLength) delete array[index++];\n\n    return array;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toObject = require('../internals/to-object');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar TypeError = global.TypeError;\nvar max = Math.max;\nvar min = Math.min;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n  splice: function splice(start, deleteCount /* , ...items */) {\n    var O = toObject(this);\n    var len = lengthOfArrayLike(O);\n    var actualStart = toAbsoluteIndex(start, len);\n    var argumentsLength = arguments.length;\n    var insertCount, actualDeleteCount, A, k, from, to;\n    if (argumentsLength === 0) {\n      insertCount = actualDeleteCount = 0;\n    } else if (argumentsLength === 1) {\n      insertCount = 0;\n      actualDeleteCount = len - actualStart;\n    } else {\n      insertCount = argumentsLength - 2;\n      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n    }\n    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {\n      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);\n    }\n    A = arraySpeciesCreate(O, actualDeleteCount);\n    for (k = 0; k < actualDeleteCount; k++) {\n      from = actualStart + k;\n      if (from in O) createProperty(A, k, O[from]);\n    }\n    A.length = actualDeleteCount;\n    if (insertCount < actualDeleteCount) {\n      for (k = actualStart; k < len - actualDeleteCount; k++) {\n        from = k + actualDeleteCount;\n        to = k + insertCount;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];\n    } else if (insertCount > actualDeleteCount) {\n      for (k = len - actualDeleteCount; k > actualStart; k--) {\n        from = k + actualDeleteCount - 1;\n        to = k + insertCount - 1;\n        if (from in O) O[to] = O[from];\n        else delete O[to];\n      }\n    }\n    for (k = 0; k < insertCount; k++) {\n      O[k + actualStart] = arguments[k + 2];\n    }\n    O.length = len - actualDeleteCount + insertCount;\n    return A;\n  }\n});\n","var hasOwn = require('../internals/has-own-property');\nvar redefine = require('../internals/redefine');\nvar dateToPrimitive = require('../internals/date-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar DatePrototype = Date.prototype;\n\n// `Date.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-date.prototype-@@toprimitive\nif (!hasOwn(DatePrototype, TO_PRIMITIVE)) {\n  redefine(DatePrototype, TO_PRIMITIVE, dateToPrimitive);\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n  defineProperty(FunctionPrototype, NAME, {\n    configurable: true,\n    get: function () {\n      try {\n        return regExpExec(nameRE, functionToString(this))[1];\n      } catch (error) {\n        return '';\n      }\n    }\n  });\n}\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true }, {\n  globalThis: global\n});\n","var global = require('../internals/global');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(global.JSON, 'JSON', true);\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Map` constructor\n// https://tc39.es/ecma262/#sec-map-objects\ncollection('Map', function (init) {\n  return function Map() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","var setToStringTag = require('../internals/set-to-string-tag');\n\n// Math[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-math-@@tostringtag\nsetToStringTag(Math, 'Math', true);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = global.TypeError;\nvar arraySlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n  var primValue = toPrimitive(value, 'number');\n  return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n  var it = toPrimitive(argument, 'number');\n  var first, third, radix, maxCode, digits, length, index, code;\n  if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');\n  if (typeof it == 'string' && it.length > 2) {\n    it = trim(it);\n    first = charCodeAt(it, 0);\n    if (first === 43 || first === 45) {\n      third = charCodeAt(it, 2);\n      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n    } else if (first === 48) {\n      switch (charCodeAt(it, 1)) {\n        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n        default: return +it;\n      }\n      digits = arraySlice(it, 2);\n      length = digits.length;\n      for (index = 0; index < length; index++) {\n        code = charCodeAt(digits, index);\n        // parseInt parses a string to a first unavailable symbol\n        // but ToNumber should return NaN if a string contains unavailable symbols\n        if (code < 48 || code > maxCode) return NaN;\n      } return parseInt(digits, radix);\n    }\n  } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n  var NumberWrapper = function Number(value) {\n    var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n    var dummy = this;\n    // check on 1..constructor(foo) case\n    return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })\n      ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;\n  };\n  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n    // ES3:\n    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n    // ES2015 (in case, if modules with ES2015 Number statics required before):\n    'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n    // ESNext\n    'fromString,range'\n  ).split(','), j = 0, key; keys.length > j; j++) {\n    if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {\n      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n    }\n  }\n  NumberWrapper.prototype = NumberPrototype;\n  NumberPrototype.constructor = NumberWrapper;\n  redefine(global, NUMBER, NumberWrapper);\n}\n","var $ = require('../internals/export');\n\n// `Number.EPSILON` constant\n// https://tc39.es/ecma262/#sec-number.epsilon\n$({ target: 'Number', stat: true }, {\n  EPSILON: Math.pow(2, -52)\n});\n","var $ = require('../internals/export');\nvar numberIsFinite = require('../internals/number-is-finite');\n\n// `Number.isFinite` method\n// https://tc39.es/ecma262/#sec-number.isfinite\n$({ target: 'Number', stat: true }, { isFinite: numberIsFinite });\n","var $ = require('../internals/export');\nvar isIntegralNumber = require('../internals/is-integral-number');\n\n// `Number.isInteger` method\n// https://tc39.es/ecma262/#sec-number.isinteger\n$({ target: 'Number', stat: true }, {\n  isInteger: isIntegralNumber\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar thisNumberValue = require('../internals/this-number-value');\nvar $repeat = require('../internals/string-repeat');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar String = global.String;\nvar floor = Math.floor;\nvar repeat = uncurryThis($repeat);\nvar stringSlice = uncurryThis(''.slice);\nvar un$ToFixed = uncurryThis(1.0.toFixed);\n\nvar pow = function (x, n, acc) {\n  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\n\nvar log = function (x) {\n  var n = 0;\n  var x2 = x;\n  while (x2 >= 4096) {\n    n += 12;\n    x2 /= 4096;\n  }\n  while (x2 >= 2) {\n    n += 1;\n    x2 /= 2;\n  } return n;\n};\n\nvar multiply = function (data, n, c) {\n  var index = -1;\n  var c2 = c;\n  while (++index < 6) {\n    c2 += n * data[index];\n    data[index] = c2 % 1e7;\n    c2 = floor(c2 / 1e7);\n  }\n};\n\nvar divide = function (data, n) {\n  var index = 6;\n  var c = 0;\n  while (--index >= 0) {\n    c += data[index];\n    data[index] = floor(c / n);\n    c = (c % n) * 1e7;\n  }\n};\n\nvar dataToString = function (data) {\n  var index = 6;\n  var s = '';\n  while (--index >= 0) {\n    if (s !== '' || index === 0 || data[index] !== 0) {\n      var t = String(data[index]);\n      s = s === '' ? t : s + repeat('0', 7 - t.length) + t;\n    }\n  } return s;\n};\n\nvar FORCED = fails(function () {\n  return un$ToFixed(0.00008, 3) !== '0.000' ||\n    un$ToFixed(0.9, 0) !== '1' ||\n    un$ToFixed(1.255, 2) !== '1.25' ||\n    un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';\n}) || !fails(function () {\n  // V8 ~ Android 4.3-\n  un$ToFixed({});\n});\n\n// `Number.prototype.toFixed` method\n// https://tc39.es/ecma262/#sec-number.prototype.tofixed\n$({ target: 'Number', proto: true, forced: FORCED }, {\n  toFixed: function toFixed(fractionDigits) {\n    var number = thisNumberValue(this);\n    var fractDigits = toIntegerOrInfinity(fractionDigits);\n    var data = [0, 0, 0, 0, 0, 0];\n    var sign = '';\n    var result = '0';\n    var e, z, j, k;\n\n    if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (number != number) return 'NaN';\n    if (number <= -1e21 || number >= 1e21) return String(number);\n    if (number < 0) {\n      sign = '-';\n      number = -number;\n    }\n    if (number > 1e-21) {\n      e = log(number * pow(2, 69, 1)) - 69;\n      z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);\n      z *= 0x10000000000000;\n      e = 52 - e;\n      if (e > 0) {\n        multiply(data, 0, z);\n        j = fractDigits;\n        while (j >= 7) {\n          multiply(data, 1e7, 0);\n          j -= 7;\n        }\n        multiply(data, pow(10, j, 1), 0);\n        j = e - 1;\n        while (j >= 23) {\n          divide(data, 1 << 23);\n          j -= 23;\n        }\n        divide(data, 1 << j);\n        multiply(data, 1, 1);\n        divide(data, 2);\n        result = dataToString(data);\n      } else {\n        multiply(data, 0, z);\n        multiply(data, 1 << -e, 0);\n        result = dataToString(data) + repeat('0', fractDigits);\n      }\n    }\n    if (fractDigits > 0) {\n      k = result.length;\n      result = sign + (k <= fractDigits\n        ? '0.' + repeat('0', fractDigits - k) + result\n        : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));\n    } else {\n      result = sign + result;\n    } return result;\n  }\n});\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n  assign: assign\n});\n","var $ = require('../internals/export');\nvar FREEZING = require('../internals/freezing');\nvar fails = require('../internals/fails');\nvar isObject = require('../internals/is-object');\nvar onFreeze = require('../internals/internal-metadata').onFreeze;\n\n// eslint-disable-next-line es/no-object-freeze -- safe\nvar $freeze = Object.freeze;\nvar FAILS_ON_PRIMITIVES = fails(function () { $freeze(1); });\n\n// `Object.freeze` method\n// https://tc39.es/ecma262/#sec-object.freeze\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !FREEZING }, {\n  freeze: function freeze(it) {\n    return $freeze && isObject(it) ? $freeze(onFreeze(it)) : it;\n  }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n  }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n    var O = toIndexedObject(object);\n    var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n    var keys = ownKeys(O);\n    var result = {};\n    var index = 0;\n    var key, descriptor;\n    while (keys.length > index) {\n      descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n      if (descriptor !== undefined) createProperty(result, key, descriptor);\n    }\n    return result;\n  }\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n  getPrototypeOf: function getPrototypeOf(it) {\n    return nativeGetPrototypeOf(toObject(it));\n  }\n});\n\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n  keys: function keys(it) {\n    return nativeKeys(toObject(it));\n  }\n});\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n  redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n  values: function values(O) {\n    return $values(O);\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n  allSettled: function allSettled(iterable) {\n    var C = this;\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call(promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = { status: 'fulfilled', value: value };\n          --remaining || resolve(values);\n        }, function (error) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = { status: 'rejected', reason: error };\n          --remaining || resolve(values);\n        });\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aCallable = require('../internals/a-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n  any: function any(iterable) {\n    var C = this;\n    var AggregateError = getBuiltIn('AggregateError');\n    var capability = newPromiseCapabilityModule.f(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var promiseResolve = aCallable(C.resolve);\n      var errors = [];\n      var counter = 0;\n      var remaining = 1;\n      var alreadyResolved = false;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyRejected = false;\n        remaining++;\n        call(promiseResolve, C, promise).then(function (value) {\n          if (alreadyRejected || alreadyResolved) return;\n          alreadyResolved = true;\n          resolve(value);\n        }, function (error) {\n          if (alreadyRejected || alreadyResolved) return;\n          alreadyRejected = true;\n          errors[index] = error;\n          --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n        });\n      });\n      --remaining || reject(new AggregateError(errors, PROMISE_ANY_ERROR));\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n  NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n  'finally': function (onFinally) {\n    var C = speciesConstructor(this, getBuiltIn('Promise'));\n    var isFunction = isCallable(onFinally);\n    return this.then(\n      isFunction ? function (x) {\n        return promiseResolve(C, onFinally()).then(function () { return x; });\n      } : onFinally,\n      isFunction ? function (e) {\n        return promiseResolve(C, onFinally()).then(function () { throw e; });\n      } : onFinally\n    );\n  }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromise)) {\n  var method = getBuiltIn('Promise').prototype['finally'];\n  if (NativePromise.prototype['finally'] !== method) {\n    redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n  }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n  // We can't detect it synchronously, so just check versions\n  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n  // We need Promise#finally in the pure version for preventing prototype pollution\n  if (IS_PURE && !PromisePrototype['finally']) return true;\n  // We can't use @@species feature detection in V8 since it causes\n  // deoptimization and performance degradation\n  // https://github.com/zloirock/core-js/issues/679\n  if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n  // Detect correctness of subclassing with @@species support\n  var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n  var FakePromise = function (exec) {\n    exec(function () { /* empty */ }, function () { /* empty */ });\n  };\n  var constructor = promise.constructor = {};\n  constructor[SPECIES] = FakePromise;\n  SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n  if (!SUBCLASSING) return true;\n  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n  return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n  var then;\n  return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar notify = function (state, isReject) {\n  if (state.notified) return;\n  state.notified = true;\n  var chain = state.reactions;\n  microtask(function () {\n    var value = state.value;\n    var ok = state.state == FULFILLED;\n    var index = 0;\n    // variable length - can't use forEach\n    while (chain.length > index) {\n      var reaction = chain[index++];\n      var handler = ok ? reaction.ok : reaction.fail;\n      var resolve = reaction.resolve;\n      var reject = reaction.reject;\n      var domain = reaction.domain;\n      var result, then, exited;\n      try {\n        if (handler) {\n          if (!ok) {\n            if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n            state.rejection = HANDLED;\n          }\n          if (handler === true) result = value;\n          else {\n            if (domain) domain.enter();\n            result = handler(value); // can throw\n            if (domain) {\n              domain.exit();\n              exited = true;\n            }\n          }\n          if (result === reaction.promise) {\n            reject(TypeError('Promise-chain cycle'));\n          } else if (then = isThenable(result)) {\n            call(then, result, resolve, reject);\n          } else resolve(result);\n        } else reject(value);\n      } catch (error) {\n        if (domain && !exited) domain.exit();\n        reject(error);\n      }\n    }\n    state.reactions = [];\n    state.notified = false;\n    if (isReject && !state.rejection) onUnhandled(state);\n  });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n  var event, handler;\n  if (DISPATCH_EVENT) {\n    event = document.createEvent('Event');\n    event.promise = promise;\n    event.reason = reason;\n    event.initEvent(name, false, true);\n    global.dispatchEvent(event);\n  } else event = { promise: promise, reason: reason };\n  if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n  call(task, global, function () {\n    var promise = state.facade;\n    var value = state.value;\n    var IS_UNHANDLED = isUnhandled(state);\n    var result;\n    if (IS_UNHANDLED) {\n      result = perform(function () {\n        if (IS_NODE) {\n          process.emit('unhandledRejection', value, promise);\n        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n      });\n      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n      if (result.error) throw result.value;\n    }\n  });\n};\n\nvar isUnhandled = function (state) {\n  return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n  call(task, global, function () {\n    var promise = state.facade;\n    if (IS_NODE) {\n      process.emit('rejectionHandled', promise);\n    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n  });\n};\n\nvar bind = function (fn, state, unwrap) {\n  return function (value) {\n    fn(state, value, unwrap);\n  };\n};\n\nvar internalReject = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  state.value = value;\n  state.state = REJECTED;\n  notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n  if (state.done) return;\n  state.done = true;\n  if (unwrap) state = unwrap;\n  try {\n    if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n    var then = isThenable(value);\n    if (then) {\n      microtask(function () {\n        var wrapper = { done: false };\n        try {\n          call(then, value,\n            bind(internalResolve, wrapper, state),\n            bind(internalReject, wrapper, state)\n          );\n        } catch (error) {\n          internalReject(wrapper, error, state);\n        }\n      });\n    } else {\n      state.value = value;\n      state.state = FULFILLED;\n      notify(state, false);\n    }\n  } catch (error) {\n    internalReject({ done: false }, error, state);\n  }\n};\n\n// constructor polyfill\nif (FORCED) {\n  // 25.4.3.1 Promise(executor)\n  PromiseConstructor = function Promise(executor) {\n    anInstance(this, PromisePrototype);\n    aCallable(executor);\n    call(Internal, this);\n    var state = getInternalState(this);\n    try {\n      executor(bind(internalResolve, state), bind(internalReject, state));\n    } catch (error) {\n      internalReject(state, error);\n    }\n  };\n  PromisePrototype = PromiseConstructor.prototype;\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  Internal = function Promise(executor) {\n    setInternalState(this, {\n      type: PROMISE,\n      done: false,\n      notified: false,\n      parent: false,\n      reactions: [],\n      rejection: false,\n      state: PENDING,\n      value: undefined\n    });\n  };\n  Internal.prototype = redefineAll(PromisePrototype, {\n    // `Promise.prototype.then` method\n    // https://tc39.es/ecma262/#sec-promise.prototype.then\n    then: function then(onFulfilled, onRejected) {\n      var state = getInternalPromiseState(this);\n      var reactions = state.reactions;\n      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n      reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n      reaction.fail = isCallable(onRejected) && onRejected;\n      reaction.domain = IS_NODE ? process.domain : undefined;\n      state.parent = true;\n      reactions[reactions.length] = reaction;\n      if (state.state != PENDING) notify(state, false);\n      return reaction.promise;\n    },\n    // `Promise.prototype.catch` method\n    // https://tc39.es/ecma262/#sec-promise.prototype.catch\n    'catch': function (onRejected) {\n      return this.then(undefined, onRejected);\n    }\n  });\n  OwnPromiseCapability = function () {\n    var promise = new Internal();\n    var state = getInternalState(promise);\n    this.promise = promise;\n    this.resolve = bind(internalResolve, state);\n    this.reject = bind(internalReject, state);\n  };\n  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n    return C === PromiseConstructor || C === PromiseWrapper\n      ? new OwnPromiseCapability(C)\n      : newGenericPromiseCapability(C);\n  };\n\n  if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {\n    nativeThen = NativePromisePrototype.then;\n\n    if (!SUBCLASSING) {\n      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n      redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n        var that = this;\n        return new PromiseConstructor(function (resolve, reject) {\n          call(nativeThen, that, resolve, reject);\n        }).then(onFulfilled, onRejected);\n      // https://github.com/zloirock/core-js/issues/640\n      }, { unsafe: true });\n\n      // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n      redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });\n    }\n\n    // make `.constructor === Promise` work for native promise-based APIs\n    try {\n      delete NativePromisePrototype.constructor;\n    } catch (error) { /* empty */ }\n\n    // make `instanceof Promise` work for native promise-based APIs\n    if (setPrototypeOf) {\n      setPrototypeOf(NativePromisePrototype, PromisePrototype);\n    }\n  }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n  Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n  // `Promise.reject` method\n  // https://tc39.es/ecma262/#sec-promise.reject\n  reject: function reject(r) {\n    var capability = newPromiseCapability(this);\n    call(capability.reject, undefined, r);\n    return capability.promise;\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n  // `Promise.resolve` method\n  // https://tc39.es/ecma262/#sec-promise.resolve\n  resolve: function resolve(x) {\n    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n  }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n  // `Promise.all` method\n  // https://tc39.es/ecma262/#sec-promise.all\n  all: function all(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var resolve = capability.resolve;\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      var values = [];\n      var counter = 0;\n      var remaining = 1;\n      iterate(iterable, function (promise) {\n        var index = counter++;\n        var alreadyCalled = false;\n        remaining++;\n        call($promiseResolve, C, promise).then(function (value) {\n          if (alreadyCalled) return;\n          alreadyCalled = true;\n          values[index] = value;\n          --remaining || resolve(values);\n        }, reject);\n      });\n      --remaining || resolve(values);\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  },\n  // `Promise.race` method\n  // https://tc39.es/ecma262/#sec-promise.race\n  race: function race(iterable) {\n    var C = this;\n    var capability = newPromiseCapability(C);\n    var reject = capability.reject;\n    var result = perform(function () {\n      var $promiseResolve = aCallable(C.resolve);\n      iterate(iterable, function (promise) {\n        call($promiseResolve, C, promise).then(capability.resolve, reject);\n      });\n    });\n    if (result.error) reject(result.value);\n    return capability.promise;\n  }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n  function F() { /* empty */ }\n  return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n  nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n  construct: function construct(Target, args /* , newTarget */) {\n    aConstructor(Target);\n    anObject(args);\n    var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n    if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n    if (Target == newTarget) {\n      // w/o altered newTarget, optimization for 0-4 arguments\n      switch (args.length) {\n        case 0: return new Target();\n        case 1: return new Target(args[0]);\n        case 2: return new Target(args[0], args[1]);\n        case 3: return new Target(args[0], args[1], args[2]);\n        case 4: return new Target(args[0], args[1], args[2], args[3]);\n      }\n      // w/o altered newTarget, lot of arguments case\n      var $args = [null];\n      apply(push, $args, args);\n      return new (apply(bind, Target, $args))();\n    }\n    // with altered newTarget, not support built-in constructors\n    var proto = newTarget.prototype;\n    var instance = create(isObject(proto) ? proto : ObjectPrototype);\n    var result = apply(Target, instance, args);\n    return isObject(result) ? result : instance;\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n  exec: exec\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectDefinePropertyModule = require('../internals/object-define-property');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n  return Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call({ dotAll: true, sticky: true }) !== 'sy';\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) objectDefinePropertyModule.f(RegExpPrototype, 'flags', {\n  configurable: true,\n  get: regExpFlags\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar n$ToString = RegExpPrototype[TO_STRING];\nvar getFlags = uncurryThis(regExpFlags);\n\nvar NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n  redefine(RegExp.prototype, TO_STRING, function toString() {\n    var R = anObject(this);\n    var p = $toString(R.source);\n    var rf = R.flags;\n    var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);\n    return '/' + p + '/' + f;\n  }, { unsafe: true });\n}\n","'use strict';\nvar collection = require('../internals/collection');\nvar collectionStrong = require('../internals/collection-strong');\n\n// `Set` constructor\n// https://tc39.es/ecma262/#sec-set-objects\ncollection('Set', function (init) {\n  return function Set() { return init(this, arguments.length ? arguments[0] : undefined); };\n}, collectionStrong);\n","'use strict';\nvar $ = require('../internals/export');\nvar codeAt = require('../internals/string-multibyte').codeAt;\n\n// `String.prototype.codePointAt` method\n// https://tc39.es/ecma262/#sec-string.prototype.codepointat\n$({ target: 'String', proto: true }, {\n  codePointAt: function codePointAt(pos) {\n    return codeAt(this, pos);\n  }\n});\n","var $ = require('../internals/export');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar RangeError = global.RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length != 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, forced: INCORRECT_LENGTH }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  fromCodePoint: function fromCodePoint(x) {\n    var elements = [];\n    var length = arguments.length;\n    var i = 0;\n    var code;\n    while (length > i) {\n      code = +arguments[i++];\n      if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw RangeError(code + ' is not a valid code point');\n      elements[i] = code < 0x10000\n        ? fromCharCode(code)\n        : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n    } return join(elements, '');\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n  includes: function includes(searchString /* , position = 0 */) {\n    return !!~stringIndexOf(\n      toString(requireObjectCoercible(this)),\n      toString(notARegExp(searchString)),\n      arguments.length > 1 ? arguments[1] : undefined\n    );\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.italics` method\n// https://tc39.es/ecma262/#sec-string.prototype.italics\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('italics') }, {\n  italics: function italics() {\n    return createHTML(this, 'i', '', '');\n  }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: toString(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return { value: undefined, done: true };\n  point = charAt(string, index);\n  state.index += point.length;\n  return { value: point, done: false };\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n  link: function link(url) {\n    return createHTML(this, 'a', 'href', url);\n  }\n});\n","'use strict';\n/* eslint-disable es/no-string-prototype-matchall -- safe */\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar anObject = require('../internals/an-object');\nvar classof = require('../internals/classof-raw');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar regExpFlags = require('../internals/regexp-flags');\nvar getMethod = require('../internals/get-method');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar InternalStateModule = require('../internals/internal-state');\nvar IS_PURE = require('../internals/is-pure');\n\nvar MATCH_ALL = wellKnownSymbol('matchAll');\nvar REGEXP_STRING = 'RegExp String';\nvar REGEXP_STRING_ITERATOR = REGEXP_STRING + ' Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(REGEXP_STRING_ITERATOR);\nvar RegExpPrototype = RegExp.prototype;\nvar TypeError = global.TypeError;\nvar getFlags = uncurryThis(regExpFlags);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar un$MatchAll = uncurryThis(''.matchAll);\n\nvar WORKS_WITH_NON_GLOBAL_REGEX = !!un$MatchAll && !fails(function () {\n  un$MatchAll('a', /./);\n});\n\nvar $RegExpStringIterator = createIteratorConstructor(function RegExpStringIterator(regexp, string, $global, fullUnicode) {\n  setInternalState(this, {\n    type: REGEXP_STRING_ITERATOR,\n    regexp: regexp,\n    string: string,\n    global: $global,\n    unicode: fullUnicode,\n    done: false\n  });\n}, REGEXP_STRING, function next() {\n  var state = getInternalState(this);\n  if (state.done) return { value: undefined, done: true };\n  var R = state.regexp;\n  var S = state.string;\n  var match = regExpExec(R, S);\n  if (match === null) return { value: undefined, done: state.done = true };\n  if (state.global) {\n    if (toString(match[0]) === '') R.lastIndex = advanceStringIndex(S, toLength(R.lastIndex), state.unicode);\n    return { value: match, done: false };\n  }\n  state.done = true;\n  return { value: match, done: false };\n});\n\nvar $matchAll = function (string) {\n  var R = anObject(this);\n  var S = toString(string);\n  var C, flagsValue, flags, matcher, $global, fullUnicode;\n  C = speciesConstructor(R, RegExp);\n  flagsValue = R.flags;\n  if (flagsValue === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype)) {\n    flagsValue = getFlags(R);\n  }\n  flags = flagsValue === undefined ? '' : toString(flagsValue);\n  matcher = new C(C === RegExp ? R.source : R, flags);\n  $global = !!~stringIndexOf(flags, 'g');\n  fullUnicode = !!~stringIndexOf(flags, 'u');\n  matcher.lastIndex = toLength(R.lastIndex);\n  return new $RegExpStringIterator(matcher, S, $global, fullUnicode);\n};\n\n// `String.prototype.matchAll` method\n// https://tc39.es/ecma262/#sec-string.prototype.matchall\n$({ target: 'String', proto: true, forced: WORKS_WITH_NON_GLOBAL_REGEX }, {\n  matchAll: function matchAll(regexp) {\n    var O = requireObjectCoercible(this);\n    var flags, S, matcher, rx;\n    if (regexp != null) {\n      if (isRegExp(regexp)) {\n        flags = toString(requireObjectCoercible('flags' in RegExpPrototype\n          ? regexp.flags\n          : getFlags(regexp)\n        ));\n        if (!~stringIndexOf(flags, 'g')) throw TypeError('`.matchAll` does not allow non-global regexes');\n      }\n      if (WORKS_WITH_NON_GLOBAL_REGEX) return un$MatchAll(O, regexp);\n      matcher = getMethod(regexp, MATCH_ALL);\n      if (matcher === undefined && IS_PURE && classof(regexp) == 'RegExp') matcher = $matchAll;\n      if (matcher) return call(matcher, regexp, O);\n    } else if (WORKS_WITH_NON_GLOBAL_REGEX) return un$MatchAll(O, regexp);\n    S = toString(O);\n    rx = new RegExp(regexp, 'g');\n    return IS_PURE ? call($matchAll, rx, S) : rx[MATCH_ALL](S);\n  }\n});\n\nIS_PURE || MATCH_ALL in RegExpPrototype || redefine(RegExpPrototype, MATCH_ALL, $matchAll);\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n  return [\n    // `String.prototype.match` method\n    // https://tc39.es/ecma262/#sec-string.prototype.match\n    function match(regexp) {\n      var O = requireObjectCoercible(this);\n      var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n      return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n    },\n    // `RegExp.prototype[@@match]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n    function (string) {\n      var rx = anObject(this);\n      var S = toString(string);\n      var res = maybeCallNative(nativeMatch, rx, S);\n\n      if (res.done) return res.value;\n\n      if (!rx.global) return regExpExec(rx, S);\n\n      var fullUnicode = rx.unicode;\n      rx.lastIndex = 0;\n      var A = [];\n      var n = 0;\n      var result;\n      while ((result = regExpExec(rx, S)) !== null) {\n        var matchStr = toString(result[0]);\n        A[n] = matchStr;\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n        n++;\n      }\n      return n === 0 ? null : A;\n    }\n  ];\n});\n","var $ = require('../internals/export');\nvar repeat = require('../internals/string-repeat');\n\n// `String.prototype.repeat` method\n// https://tc39.es/ecma262/#sec-string.prototype.repeat\n$({ target: 'String', proto: true }, {\n  repeat: repeat\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n  return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n  return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n  if (/./[REPLACE]) {\n    return /./[REPLACE]('a', '$0') === '';\n  }\n  return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n  var re = /./;\n  re.exec = function () {\n    var result = [];\n    result.groups = { a: '7' };\n    return result;\n  };\n  // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n  return ''.replace(re, '$<a>') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n  return [\n    // `String.prototype.replace` method\n    // https://tc39.es/ecma262/#sec-string.prototype.replace\n    function replace(searchValue, replaceValue) {\n      var O = requireObjectCoercible(this);\n      var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n      return replacer\n        ? call(replacer, searchValue, O, replaceValue)\n        : call(nativeReplace, toString(O), searchValue, replaceValue);\n    },\n    // `RegExp.prototype[@@replace]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n    function (string, replaceValue) {\n      var rx = anObject(this);\n      var S = toString(string);\n\n      if (\n        typeof replaceValue == 'string' &&\n        stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n        stringIndexOf(replaceValue, '$<') === -1\n      ) {\n        var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n        if (res.done) return res.value;\n      }\n\n      var functionalReplace = isCallable(replaceValue);\n      if (!functionalReplace) replaceValue = toString(replaceValue);\n\n      var global = rx.global;\n      if (global) {\n        var fullUnicode = rx.unicode;\n        rx.lastIndex = 0;\n      }\n      var results = [];\n      while (true) {\n        var result = regExpExec(rx, S);\n        if (result === null) break;\n\n        push(results, result);\n        if (!global) break;\n\n        var matchStr = toString(result[0]);\n        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n      }\n\n      var accumulatedResult = '';\n      var nextSourcePosition = 0;\n      for (var i = 0; i < results.length; i++) {\n        result = results[i];\n\n        var matched = toString(result[0]);\n        var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n        var captures = [];\n        // NOTE: This is equivalent to\n        //   captures = result.slice(1).map(maybeToString)\n        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n        // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n        for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n        var namedCaptures = result.groups;\n        if (functionalReplace) {\n          var replacerArgs = concat([matched], captures, position, S);\n          if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n          var replacement = toString(apply(replaceValue, undefined, replacerArgs));\n        } else {\n          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n        }\n        if (position >= nextSourcePosition) {\n          accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n          nextSourcePosition = position + matched.length;\n        }\n      }\n      return accumulatedResult + stringSlice(S, nextSourcePosition);\n    }\n  ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar arraySlice = require('../internals/array-slice');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar $push = [].push;\nvar exec = uncurryThis(/./.exec);\nvar push = uncurryThis($push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n  // eslint-disable-next-line regexp/no-empty-group -- required for testing\n  var re = /(?:)/;\n  var originalExec = re.exec;\n  re.exec = function () { return originalExec.apply(this, arguments); };\n  var result = 'ab'.split(re);\n  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n  var internalSplit;\n  if (\n    'abbc'.split(/(b)*/)[1] == 'c' ||\n    // eslint-disable-next-line regexp/no-empty-group -- required for testing\n    'test'.split(/(?:)/, -1).length != 4 ||\n    'ab'.split(/(?:ab)*/).length != 2 ||\n    '.'.split(/(.?)(.?)/).length != 4 ||\n    // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n    '.'.split(/()()/).length > 1 ||\n    ''.split(/.?/).length\n  ) {\n    // based on es5-shim implementation, need to rework it\n    internalSplit = function (separator, limit) {\n      var string = toString(requireObjectCoercible(this));\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (separator === undefined) return [string];\n      // If `separator` is not a regex, use native split\n      if (!isRegExp(separator)) {\n        return call(nativeSplit, string, separator, lim);\n      }\n      var output = [];\n      var flags = (separator.ignoreCase ? 'i' : '') +\n                  (separator.multiline ? 'm' : '') +\n                  (separator.unicode ? 'u' : '') +\n                  (separator.sticky ? 'y' : '');\n      var lastLastIndex = 0;\n      // Make `global` and avoid `lastIndex` issues by working with a copy\n      var separatorCopy = new RegExp(separator.source, flags + 'g');\n      var match, lastIndex, lastLength;\n      while (match = call(regexpExec, separatorCopy, string)) {\n        lastIndex = separatorCopy.lastIndex;\n        if (lastIndex > lastLastIndex) {\n          push(output, stringSlice(string, lastLastIndex, match.index));\n          if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));\n          lastLength = match[0].length;\n          lastLastIndex = lastIndex;\n          if (output.length >= lim) break;\n        }\n        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop\n      }\n      if (lastLastIndex === string.length) {\n        if (lastLength || !exec(separatorCopy, '')) push(output, '');\n      } else push(output, stringSlice(string, lastLastIndex));\n      return output.length > lim ? arraySlice(output, 0, lim) : output;\n    };\n  // Chakra, V8\n  } else if ('0'.split(undefined, 0).length) {\n    internalSplit = function (separator, limit) {\n      return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n    };\n  } else internalSplit = nativeSplit;\n\n  return [\n    // `String.prototype.split` method\n    // https://tc39.es/ecma262/#sec-string.prototype.split\n    function split(separator, limit) {\n      var O = requireObjectCoercible(this);\n      var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);\n      return splitter\n        ? call(splitter, separator, O, limit)\n        : call(internalSplit, toString(O), separator, limit);\n    },\n    // `RegExp.prototype[@@split]` method\n    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n    //\n    // NOTE: This cannot be properly polyfilled in engines that don't support\n    // the 'y' flag.\n    function (string, limit) {\n      var rx = anObject(this);\n      var S = toString(string);\n      var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n\n      if (res.done) return res.value;\n\n      var C = speciesConstructor(rx, RegExp);\n\n      var unicodeMatching = rx.unicode;\n      var flags = (rx.ignoreCase ? 'i' : '') +\n                  (rx.multiline ? 'm' : '') +\n                  (rx.unicode ? 'u' : '') +\n                  (UNSUPPORTED_Y ? 'g' : 'y');\n\n      // ^(? + rx + ) is needed, in combination with some S slicing, to\n      // simulate the 'y' flag.\n      var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n      if (lim === 0) return [];\n      if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n      var p = 0;\n      var q = 0;\n      var A = [];\n      while (q < S.length) {\n        splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n        var z = callRegExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n        var e;\n        if (\n          z === null ||\n          (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n        ) {\n          q = advanceStringIndex(S, q, unicodeMatching);\n        } else {\n          push(A, stringSlice(S, p, q));\n          if (A.length === lim) return A;\n          for (var i = 1; i <= z.length - 1; i++) {\n            push(A, z[i]);\n            if (A.length === lim) return A;\n          }\n          q = p = e;\n        }\n      }\n      push(A, stringSlice(S, p));\n      return A;\n    }\n  ];\n}, !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.strike` method\n// https://tc39.es/ecma262/#sec-string.prototype.strike\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('strike') }, {\n  strike: function strike() {\n    return createHTML(this, 'strike', '', '');\n  }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n  trim: function trim() {\n    return $trim(this);\n  }\n});\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar toString = require('../internals/to-string');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\nvar SymbolPrototype = NativeSymbol && NativeSymbol.prototype;\n\nif (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||\n  // Safari 12 bug\n  NativeSymbol().description !== undefined\n)) {\n  var EmptyStringDescriptionStore = {};\n  // wrap Symbol constructor for correct work with undefined description\n  var SymbolWrapper = function Symbol() {\n    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);\n    var result = isPrototypeOf(SymbolPrototype, this)\n      ? new NativeSymbol(description)\n      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n      : description === undefined ? NativeSymbol() : NativeSymbol(description);\n    if (description === '') EmptyStringDescriptionStore[result] = true;\n    return result;\n  };\n\n  copyConstructorProperties(SymbolWrapper, NativeSymbol);\n  SymbolWrapper.prototype = SymbolPrototype;\n  SymbolPrototype.constructor = SymbolWrapper;\n\n  var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';\n  var symbolToString = uncurryThis(SymbolPrototype.toString);\n  var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);\n  var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n  var replace = uncurryThis(''.replace);\n  var stringSlice = uncurryThis(''.slice);\n\n  defineProperty(SymbolPrototype, 'description', {\n    configurable: true,\n    get: function description() {\n      var symbol = symbolValueOf(this);\n      var string = symbolToString(symbol);\n      if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';\n      var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');\n      return desc === '' ? undefined : desc;\n    }\n  });\n\n  $({ global: true, forced: true }, {\n    Symbol: SymbolWrapper\n  });\n}\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar arraySlice = require('../internals/array-slice');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n  return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n  })).a != 7;\n}) ? function (O, P, Attributes) {\n  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n  nativeDefineProperty(O, P, Attributes);\n  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n  }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n  setInternalState(symbol, {\n    type: SYMBOL,\n    tag: tag,\n    description: description\n  });\n  if (!DESCRIPTORS) symbol.description = description;\n  return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPropertyKey(P);\n  anObject(Attributes);\n  if (hasOwn(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n      O[HIDDEN][key] = true;\n    } else {\n      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n    } return setSymbolDescriptor(O, key, Attributes);\n  } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n  anObject(O);\n  var properties = toIndexedObject(Properties);\n  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n  $forEach(keys, function (key) {\n    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n  });\n  return O;\n};\n\nvar $create = function create(O, Properties) {\n  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n  var P = toPropertyKey(V);\n  var enumerable = call(nativePropertyIsEnumerable, this, P);\n  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n    ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPropertyKey(P);\n  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n    descriptor.enumerable = true;\n  }\n  return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n  var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n  });\n  return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n      push(result, AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n      if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n    };\n    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n    return wrap(tag, description);\n  };\n\n  SymbolPrototype = $Symbol[PROTOTYPE];\n\n  redefine(SymbolPrototype, 'toString', function toString() {\n    return getInternalState(this).tag;\n  });\n\n  redefine($Symbol, 'withoutSetter', function (description) {\n    return wrap(uid(description), description);\n  });\n\n  propertyIsEnumerableModule.f = $propertyIsEnumerable;\n  definePropertyModule.f = $defineProperty;\n  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n  wrappedWellKnownSymbolModule.f = function (name) {\n    return wrap(wellKnownSymbol(name), name);\n  };\n\n  if (DESCRIPTORS) {\n    // https://github.com/tc39/proposal-Symbol-description\n    nativeDefineProperty(SymbolPrototype, 'description', {\n      configurable: true,\n      get: function description() {\n        return getInternalState(this).description;\n      }\n    });\n    if (!IS_PURE) {\n      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n    }\n  }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n  Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n  defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Symbol.for` method\n  // https://tc39.es/ecma262/#sec-symbol.for\n  'for': function (key) {\n    var string = $toString(key);\n    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n    var symbol = $Symbol(string);\n    StringToSymbolRegistry[string] = symbol;\n    SymbolToStringRegistry[symbol] = string;\n    return symbol;\n  },\n  // `Symbol.keyFor` method\n  // https://tc39.es/ecma262/#sec-symbol.keyfor\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n  },\n  useSetter: function () { USE_SETTER = true; },\n  useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n  // `Object.create` method\n  // https://tc39.es/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.es/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.es/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames,\n  // `Object.getOwnPropertySymbols` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n  getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    return getOwnPropertySymbolsModule.f(toObject(it));\n  }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n  var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n    var symbol = $Symbol();\n    // MS Edge converts symbol values to JSON as {}\n    return $stringify([symbol]) != '[null]'\n      // WebKit converts symbol values to JSON as null\n      || $stringify({ a: symbol }) != '{}'\n      // V8 throws on boxed symbols\n      || $stringify(Object(symbol)) != '{}';\n  });\n\n  $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n    // eslint-disable-next-line no-unused-vars -- required for `.length`\n    stringify: function stringify(it, replacer, space) {\n      var args = arraySlice(arguments);\n      var $replacer = replacer;\n      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n      if (!isArray(replacer)) replacer = function (key, value) {\n        if (isCallable($replacer)) value = call($replacer, this, key, value);\n        if (!isSymbol(value)) return value;\n      };\n      args[1] = replacer;\n      return apply($stringify, null, args);\n    }\n  });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!SymbolPrototype[TO_PRIMITIVE]) {\n  var valueOf = SymbolPrototype.valueOf;\n  // eslint-disable-next-line no-unused-vars -- required for .length\n  redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n    // TODO: improve hint logic\n    return call(valueOf, this);\n  });\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n","var defineWellKnownSymbol = require('../internals/define-well-known-symbol');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n  return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar call = require('../internals/function-call');\nvar $fill = require('../internals/array-fill');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n  var length = arguments.length;\n  return call(\n    $fill,\n    aTypedArray(this),\n    value,\n    length > 1 ? arguments[1] : undefined,\n    length > 2 ? arguments[2] : undefined\n  );\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n  return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float32', function (init) {\n  return function Float32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Float64Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Float64', function (init) {\n  return function Float64Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar exportTypedArrayStaticMethod = require('../internals/array-buffer-view-core').exportTypedArrayStaticMethod;\nvar typedArrayFrom = require('../internals/typed-array-from');\n\n// `%TypedArray%.from` method\n// https://tc39.es/ecma262/#sec-%typedarray%.from\nexportTypedArrayStaticMethod('from', typedArrayFrom, TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int16', function (init) {\n  return function Int16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int32', function (init) {\n  return function Int32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Int8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Int8', function (init) {\n  return function Int8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = global.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR];\n\nvar PROPER_ARRAY_VALUES_NAME = !!nativeTypedArrayIterator && nativeTypedArrayIterator.name === 'values';\n\nvar typedArrayValues = function values() {\n  return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n  return arrayEntries(aTypedArray(this));\n});\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n  return arrayKeys(aTypedArray(this));\n});\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, PROPER_FUNCTION_NAME && !PROPER_ARRAY_VALUES_NAME);\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, PROPER_FUNCTION_NAME && !PROPER_ARRAY_VALUES_NAME);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n  return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n  var length = arguments.length;\n  return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n    return new (typedArraySpeciesConstructor(O))(length);\n  });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRicht` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n  var length = arguments.length;\n  return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n  var length = arguments.length;\n  return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n  var that = this;\n  var length = aTypedArray(that).length;\n  var middle = floor(length / 2);\n  var index = 0;\n  var value;\n  while (index < middle) {\n    value = that[index];\n    that[index++] = that[--length];\n    that[length] = value;\n  } return that;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = global.RangeError;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n  // eslint-disable-next-line es/no-typed-arrays -- required for testing\n  new Int8Array(1).set({});\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n  aTypedArray(this);\n  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n  var length = this.length;\n  var src = toObject(arrayLike);\n  var len = lengthOfArrayLike(src);\n  var index = 0;\n  if (len + offset > length) throw RangeError('Wrong length');\n  while (index < len) this[offset + index] = src[index++];\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n  // eslint-disable-next-line es/no-typed-arrays -- required for testing\n  new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n  var list = arraySlice(aTypedArray(this), start, end);\n  var C = typedArraySpeciesConstructor(this);\n  var index = 0;\n  var length = list.length;\n  var result = new C(length);\n  while (length > index) result[index] = list[index++];\n  return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar Array = global.Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = global.Uint16Array;\nvar un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {\n  un$Sort(new Uint16Array(2), null);\n}) && fails(function () {\n  un$Sort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!un$Sort && !fails(function () {\n  // feature detection can be too slow, so check engines versions\n  if (V8) return V8 < 74;\n  if (FF) return FF < 67;\n  if (IE_OR_EDGE) return true;\n  if (WEBKIT) return WEBKIT < 602;\n\n  var array = new Uint16Array(516);\n  var expected = Array(516);\n  var index, mod;\n\n  for (index = 0; index < 516; index++) {\n    mod = index % 4;\n    array[index] = 515 - index;\n    expected[index] = index - 2 * mod + 3;\n  }\n\n  un$Sort(array, function (a, b) {\n    return (a / 4 | 0) - (b / 4 | 0);\n  });\n\n  for (index = 0; index < 516; index++) {\n    if (array[index] !== expected[index]) return true;\n  }\n});\n\nvar getSortCompare = function (comparefn) {\n  return function (x, y) {\n    if (comparefn !== undefined) return +comparefn(x, y) || 0;\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (y !== y) return -1;\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (x !== x) return 1;\n    if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n    return x > y;\n  };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n  if (comparefn !== undefined) aCallable(comparefn);\n  if (STABLE_SORT) return un$Sort(this, comparefn);\n\n  return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n  var O = aTypedArray(this);\n  var length = O.length;\n  var beginIndex = toAbsoluteIndex(begin, length);\n  var C = typedArraySpeciesConstructor(O);\n  return new C(\n    O.buffer,\n    O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n    toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n  );\n});\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = global.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n  $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n  return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n  Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n  return apply(\n    $toLocaleString,\n    TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n    arraySlice(arguments)\n  );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = global.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n  arrayToString = function toString() {\n    return join(this);\n  };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint16Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint16', function (init) {\n  return function Uint16Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint32Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint32', function (init) {\n  return function Uint32Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n  return function Uint8Array(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n});\n","var createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8ClampedArray` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n  return function Uint8ClampedArray(data, byteOffset, length) {\n    return init(this, data, byteOffset, length);\n  };\n}, true);\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.aggregate-error');\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.all-settled.js');\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.promise.any');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n  'try': function (callbackfn) {\n    var promiseCapability = newPromiseCapabilityModule.f(this);\n    var result = perform(callbackfn);\n    (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n    return promiseCapability.promise;\n  }\n});\n","// TODO: Remove from `core-js@4`\nrequire('../modules/es.string.match-all');\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n  // some Chrome versions have non-configurable methods on DOMTokenList\n  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n  } catch (error) {\n    CollectionPrototype.forEach = forEach;\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  if (DOMIterables[COLLECTION_NAME]) {\n    handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);\n  }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n  if (CollectionPrototype) {\n    // some Chrome versions have non-configurable methods on DOMTokenList\n    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n    } catch (error) {\n      CollectionPrototype[ITERATOR] = ArrayValues;\n    }\n    if (!CollectionPrototype[TO_STRING_TAG]) {\n      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n    }\n    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n      // some Chrome versions have non-configurable methods on DOMTokenList\n      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n      } catch (error) {\n        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n      }\n    }\n  }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n  toJSON: function toJSON() {\n    return call(URL.prototype.toString, this);\n  }\n});\n","var parent = require('../../es/promise');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","var objectKeys = require('object-keys');\nvar isArguments = require('is-arguments');\nvar is = require('object-is');\nvar isRegex = require('is-regex');\nvar flags = require('regexp.prototype.flags');\nvar isDate = require('is-date-object');\n\nvar getTime = Date.prototype.getTime;\n\nfunction deepEqual(actual, expected, options) {\n  var opts = options || {};\n\n  // 7.1. All identical values are equivalent, as determined by ===.\n  if (opts.strict ? is(actual, expected) : actual === expected) {\n    return true;\n  }\n\n  // 7.3. Other pairs that do not both pass typeof value == 'object', equivalence is determined by ==.\n  if (!actual || !expected || (typeof actual !== 'object' && typeof expected !== 'object')) {\n    return opts.strict ? is(actual, expected) : actual == expected;\n  }\n\n  /*\n   * 7.4. For all other Object pairs, including Array objects, equivalence is\n   * determined by having the same number of owned properties (as verified\n   * with Object.prototype.hasOwnProperty.call), the same set of keys\n   * (although not necessarily the same order), equivalent values for every\n   * corresponding key, and an identical 'prototype' property. Note: this\n   * accounts for both named and indexed properties on Arrays.\n   */\n  // eslint-disable-next-line no-use-before-define\n  return objEquiv(actual, expected, opts);\n}\n\nfunction isUndefinedOrNull(value) {\n  return value === null || value === undefined;\n}\n\nfunction isBuffer(x) {\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') {\n    return false;\n  }\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n    return false;\n  }\n  if (x.length > 0 && typeof x[0] !== 'number') {\n    return false;\n  }\n  return true;\n}\n\nfunction objEquiv(a, b, opts) {\n  /* eslint max-statements: [2, 50] */\n  var i, key;\n  if (typeof a !== typeof b) { return false; }\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b)) { return false; }\n\n  // an identical 'prototype' property.\n  if (a.prototype !== b.prototype) { return false; }\n\n  if (isArguments(a) !== isArguments(b)) { return false; }\n\n  var aIsRegex = isRegex(a);\n  var bIsRegex = isRegex(b);\n  if (aIsRegex !== bIsRegex) { return false; }\n  if (aIsRegex || bIsRegex) {\n    return a.source === b.source && flags(a) === flags(b);\n  }\n\n  if (isDate(a) && isDate(b)) {\n    return getTime.call(a) === getTime.call(b);\n  }\n\n  var aIsBuffer = isBuffer(a);\n  var bIsBuffer = isBuffer(b);\n  if (aIsBuffer !== bIsBuffer) { return false; }\n  if (aIsBuffer || bIsBuffer) { // && would work too, because both are true or both false here\n    if (a.length !== b.length) { return false; }\n    for (i = 0; i < a.length; i++) {\n      if (a[i] !== b[i]) { return false; }\n    }\n    return true;\n  }\n\n  if (typeof a !== typeof b) { return false; }\n\n  try {\n    var ka = objectKeys(a);\n    var kb = objectKeys(b);\n  } catch (e) { // happens when one is a string literal and the other isn't\n    return false;\n  }\n  // having the same number of owned properties (keys incorporates hasOwnProperty)\n  if (ka.length !== kb.length) { return false; }\n\n  // the same set of keys (although not necessarily the same order),\n  ka.sort();\n  kb.sort();\n  // ~~~cheap key test\n  for (i = ka.length - 1; i >= 0; i--) {\n    if (ka[i] != kb[i]) { return false; }\n  }\n  // equivalent values for every corresponding key, and ~~~possibly expensive deep test\n  for (i = ka.length - 1; i >= 0; i--) {\n    key = ka[i];\n    if (!deepEqual(a[key], b[key], opts)) { return false; }\n  }\n\n  return true;\n}\n\nmodule.exports = deepEqual;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n  if (target === undefined || target === null) {\n    throw new TypeError('Cannot convert first argument to object');\n  }\n\n  var to = Object(target);\n  for (var i = 1; i < arguments.length; i++) {\n    var nextSource = arguments[i];\n    if (nextSource === undefined || nextSource === null) {\n      continue;\n    }\n\n    var keysArray = Object.keys(Object(nextSource));\n    for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n      var nextKey = keysArray[nextIndex];\n      var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n      if (desc !== undefined && desc.enumerable) {\n        to[nextKey] = nextSource[nextKey];\n      }\n    }\n  }\n  return to;\n}\n\nfunction polyfill() {\n  if (!Object.assign) {\n    Object.defineProperty(Object, 'assign', {\n      enumerable: false,\n      configurable: true,\n      writable: true,\n      value: assign\n    });\n  }\n}\n\nmodule.exports = {\n  assign: assign,\n  polyfill: polyfill\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n  ? R.apply\n  : function ReflectApply(target, receiver, args) {\n    return Function.prototype.apply.call(target, receiver, args);\n  }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n  ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target)\n      .concat(Object.getOwnPropertySymbols(target));\n  };\n} else {\n  ReflectOwnKeys = function ReflectOwnKeys(target) {\n    return Object.getOwnPropertyNames(target);\n  };\n}\n\nfunction ProcessEmitWarning(warning) {\n  if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n  return value !== value;\n}\n\nfunction EventEmitter() {\n  EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n  if (typeof listener !== 'function') {\n    throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n  }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n  enumerable: true,\n  get: function() {\n    return defaultMaxListeners;\n  },\n  set: function(arg) {\n    if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n      throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n    }\n    defaultMaxListeners = arg;\n  }\n});\n\nEventEmitter.init = function() {\n\n  if (this._events === undefined ||\n      this._events === Object.getPrototypeOf(this)._events) {\n    this._events = Object.create(null);\n    this._eventsCount = 0;\n  }\n\n  this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n  if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n    throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n  }\n  this._maxListeners = n;\n  return this;\n};\n\nfunction _getMaxListeners(that) {\n  if (that._maxListeners === undefined)\n    return EventEmitter.defaultMaxListeners;\n  return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n  return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n  var args = [];\n  for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n  var doError = (type === 'error');\n\n  var events = this._events;\n  if (events !== undefined)\n    doError = (doError && events.error === undefined);\n  else if (!doError)\n    return false;\n\n  // If there is no 'error' event listener then throw.\n  if (doError) {\n    var er;\n    if (args.length > 0)\n      er = args[0];\n    if (er instanceof Error) {\n      // Note: The comments on the `throw` lines are intentional, they show\n      // up in Node's output if this results in an unhandled exception.\n      throw er; // Unhandled 'error' event\n    }\n    // At least give some kind of context to the user\n    var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n    err.context = er;\n    throw err; // Unhandled 'error' event\n  }\n\n  var handler = events[type];\n\n  if (handler === undefined)\n    return false;\n\n  if (typeof handler === 'function') {\n    ReflectApply(handler, this, args);\n  } else {\n    var len = handler.length;\n    var listeners = arrayClone(handler, len);\n    for (var i = 0; i < len; ++i)\n      ReflectApply(listeners[i], this, args);\n  }\n\n  return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n  var m;\n  var events;\n  var existing;\n\n  checkListener(listener);\n\n  events = target._events;\n  if (events === undefined) {\n    events = target._events = Object.create(null);\n    target._eventsCount = 0;\n  } else {\n    // To avoid recursion in the case that type === \"newListener\"! Before\n    // adding it to the listeners, first emit \"newListener\".\n    if (events.newListener !== undefined) {\n      target.emit('newListener', type,\n                  listener.listener ? listener.listener : listener);\n\n      // Re-assign `events` because a newListener handler could have caused the\n      // this._events to be assigned to a new object\n      events = target._events;\n    }\n    existing = events[type];\n  }\n\n  if (existing === undefined) {\n    // Optimize the case of one listener. Don't need the extra array object.\n    existing = events[type] = listener;\n    ++target._eventsCount;\n  } else {\n    if (typeof existing === 'function') {\n      // Adding the second element, need to change to array.\n      existing = events[type] =\n        prepend ? [listener, existing] : [existing, listener];\n      // If we've already got an array, just append.\n    } else if (prepend) {\n      existing.unshift(listener);\n    } else {\n      existing.push(listener);\n    }\n\n    // Check for listener leak\n    m = _getMaxListeners(target);\n    if (m > 0 && existing.length > m && !existing.warned) {\n      existing.warned = true;\n      // No error code for this since it is a Warning\n      // eslint-disable-next-line no-restricted-syntax\n      var w = new Error('Possible EventEmitter memory leak detected. ' +\n                          existing.length + ' ' + String(type) + ' listeners ' +\n                          'added. Use emitter.setMaxListeners() to ' +\n                          'increase limit');\n      w.name = 'MaxListenersExceededWarning';\n      w.emitter = target;\n      w.type = type;\n      w.count = existing.length;\n      ProcessEmitWarning(w);\n    }\n  }\n\n  return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n  return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n    function prependListener(type, listener) {\n      return _addListener(this, type, listener, true);\n    };\n\nfunction onceWrapper() {\n  if (!this.fired) {\n    this.target.removeListener(this.type, this.wrapFn);\n    this.fired = true;\n    if (arguments.length === 0)\n      return this.listener.call(this.target);\n    return this.listener.apply(this.target, arguments);\n  }\n}\n\nfunction _onceWrap(target, type, listener) {\n  var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n  var wrapped = onceWrapper.bind(state);\n  wrapped.listener = listener;\n  state.wrapFn = wrapped;\n  return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n  checkListener(listener);\n  this.on(type, _onceWrap(this, type, listener));\n  return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n    function prependOnceListener(type, listener) {\n      checkListener(listener);\n      this.prependListener(type, _onceWrap(this, type, listener));\n      return this;\n    };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n    function removeListener(type, listener) {\n      var list, events, position, i, originalListener;\n\n      checkListener(listener);\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      list = events[type];\n      if (list === undefined)\n        return this;\n\n      if (list === listener || list.listener === listener) {\n        if (--this._eventsCount === 0)\n          this._events = Object.create(null);\n        else {\n          delete events[type];\n          if (events.removeListener)\n            this.emit('removeListener', type, list.listener || listener);\n        }\n      } else if (typeof list !== 'function') {\n        position = -1;\n\n        for (i = list.length - 1; i >= 0; i--) {\n          if (list[i] === listener || list[i].listener === listener) {\n            originalListener = list[i].listener;\n            position = i;\n            break;\n          }\n        }\n\n        if (position < 0)\n          return this;\n\n        if (position === 0)\n          list.shift();\n        else {\n          spliceOne(list, position);\n        }\n\n        if (list.length === 1)\n          events[type] = list[0];\n\n        if (events.removeListener !== undefined)\n          this.emit('removeListener', type, originalListener || listener);\n      }\n\n      return this;\n    };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n    function removeAllListeners(type) {\n      var listeners, events, i;\n\n      events = this._events;\n      if (events === undefined)\n        return this;\n\n      // not listening for removeListener, no need to emit\n      if (events.removeListener === undefined) {\n        if (arguments.length === 0) {\n          this._events = Object.create(null);\n          this._eventsCount = 0;\n        } else if (events[type] !== undefined) {\n          if (--this._eventsCount === 0)\n            this._events = Object.create(null);\n          else\n            delete events[type];\n        }\n        return this;\n      }\n\n      // emit removeListener for all listeners on all events\n      if (arguments.length === 0) {\n        var keys = Object.keys(events);\n        var key;\n        for (i = 0; i < keys.length; ++i) {\n          key = keys[i];\n          if (key === 'removeListener') continue;\n          this.removeAllListeners(key);\n        }\n        this.removeAllListeners('removeListener');\n        this._events = Object.create(null);\n        this._eventsCount = 0;\n        return this;\n      }\n\n      listeners = events[type];\n\n      if (typeof listeners === 'function') {\n        this.removeListener(type, listeners);\n      } else if (listeners !== undefined) {\n        // LIFO order\n        for (i = listeners.length - 1; i >= 0; i--) {\n          this.removeListener(type, listeners[i]);\n        }\n      }\n\n      return this;\n    };\n\nfunction _listeners(target, type, unwrap) {\n  var events = target._events;\n\n  if (events === undefined)\n    return [];\n\n  var evlistener = events[type];\n  if (evlistener === undefined)\n    return [];\n\n  if (typeof evlistener === 'function')\n    return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n  return unwrap ?\n    unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n  return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n  return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n  if (typeof emitter.listenerCount === 'function') {\n    return emitter.listenerCount(type);\n  } else {\n    return listenerCount.call(emitter, type);\n  }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n  var events = this._events;\n\n  if (events !== undefined) {\n    var evlistener = events[type];\n\n    if (typeof evlistener === 'function') {\n      return 1;\n    } else if (evlistener !== undefined) {\n      return evlistener.length;\n    }\n  }\n\n  return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n  return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n  var copy = new Array(n);\n  for (var i = 0; i < n; ++i)\n    copy[i] = arr[i];\n  return copy;\n}\n\nfunction spliceOne(list, index) {\n  for (; index + 1 < list.length; index++)\n    list[index] = list[index + 1];\n  list.pop();\n}\n\nfunction unwrapListeners(arr) {\n  var ret = new Array(arr.length);\n  for (var i = 0; i < ret.length; ++i) {\n    ret[i] = arr[i].listener || arr[i];\n  }\n  return ret;\n}\n\nfunction once(emitter, name) {\n  return new Promise(function (resolve, reject) {\n    function errorListener(err) {\n      emitter.removeListener(name, resolver);\n      reject(err);\n    }\n\n    function resolver() {\n      if (typeof emitter.removeListener === 'function') {\n        emitter.removeListener('error', errorListener);\n      }\n      resolve([].slice.call(arguments));\n    };\n\n    eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n    if (name !== 'error') {\n      addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n    }\n  });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n  if (typeof emitter.on === 'function') {\n    eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n  }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n  if (typeof emitter.on === 'function') {\n    if (flags.once) {\n      emitter.once(name, listener);\n    } else {\n      emitter.on(name, listener);\n    }\n  } else if (typeof emitter.addEventListener === 'function') {\n    // EventTarget does not have `error` event semantics like Node\n    // EventEmitters, we do not listen for `error` events here.\n    emitter.addEventListener(name, function wrapListener(arg) {\n      // IE does not have builtin `{ once: true }` support so we\n      // have to do it manually.\n      if (flags.once) {\n        emitter.removeEventListener(name, wrapListener);\n      }\n      listener(arg);\n    });\n  } else {\n    throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n  }\n}\n","var ___EXPOSE_LOADER_IMPORT___ = require(\"-!./pdfMake.js\");\nvar ___EXPOSE_LOADER_GET_GLOBAL_THIS___ = require(\"../../node_modules/expose-loader/dist/runtime/getGlobalThis.js\");\nvar ___EXPOSE_LOADER_GLOBAL_THIS___ = ___EXPOSE_LOADER_GET_GLOBAL_THIS___;\nif (typeof ___EXPOSE_LOADER_GLOBAL_THIS___[\"pdfMake\"] === 'undefined') ___EXPOSE_LOADER_GLOBAL_THIS___[\"pdfMake\"] = ___EXPOSE_LOADER_IMPORT___;\nmodule.exports = ___EXPOSE_LOADER_IMPORT___;\n","\"use strict\";\n\n// eslint-disable-next-line func-names\nmodule.exports = function () {\n  if (typeof globalThis === \"object\") {\n    return globalThis;\n  }\n\n  var g;\n\n  try {\n    // This works if eval is allowed (see CSP)\n    // eslint-disable-next-line no-new-func\n    g = this || new Function(\"return this\")();\n  } catch (e) {\n    // This works if the window reference is available\n    if (typeof window === \"object\") {\n      return window;\n    } // This works if the self reference is available\n\n\n    if (typeof self === \"object\") {\n      return self;\n    } // This works if the global reference is available\n\n\n    if (typeof global !== \"undefined\") {\n      return global;\n    }\n  }\n\n  return g;\n}();","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n    for (var i = 0, len = array.length; i < len; i++) {\n        if (hasOwnProperty.call(array, i)) {\n            if (receiver == null) {\n                iterator(array[i], i, array);\n            } else {\n                iterator.call(receiver, array[i], i, array);\n            }\n        }\n    }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n    for (var i = 0, len = string.length; i < len; i++) {\n        // no such thing as a sparse string.\n        if (receiver == null) {\n            iterator(string.charAt(i), i, string);\n        } else {\n            iterator.call(receiver, string.charAt(i), i, string);\n        }\n    }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n    for (var k in object) {\n        if (hasOwnProperty.call(object, k)) {\n            if (receiver == null) {\n                iterator(object[k], k, object);\n            } else {\n                iterator.call(receiver, object[k], k, object);\n            }\n        }\n    }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n    if (!isCallable(iterator)) {\n        throw new TypeError('iterator must be a function');\n    }\n\n    var receiver;\n    if (arguments.length >= 3) {\n        receiver = thisArg;\n    }\n\n    if (toStr.call(list) === '[object Array]') {\n        forEachArray(list, iterator, receiver);\n    } else if (typeof list === 'string') {\n        forEachString(list, iterator, receiver);\n    } else {\n        forEachObject(list, iterator, receiver);\n    }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slice.call(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                args.concat(slice.call(arguments))\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        } else {\n            return target.apply(\n                that,\n                args.concat(slice.call(arguments))\n            );\n        }\n    };\n\n    var boundLength = Math.max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs.push('$' + i);\n    }\n\n    bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar functionsHaveNames = function functionsHaveNames() {\n\treturn typeof function f() {}.name === 'string';\n};\n\nvar gOPD = Object.getOwnPropertyDescriptor;\nif (gOPD) {\n\ttry {\n\t\tgOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\tgOPD = null;\n\t}\n}\n\nfunctionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() {\n\tif (!functionsHaveNames() || !gOPD) {\n\t\treturn false;\n\t}\n\tvar desc = gOPD(function () {}, 'name');\n\treturn !!desc && !!desc.configurable;\n};\n\nvar $bind = Function.prototype.bind;\n\nfunctionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() {\n\treturn functionsHaveNames() && typeof $bind === 'function' && function f() {}.bind().name !== '';\n};\n\nmodule.exports = functionsHaveNames;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Multibyte codec. In this scheme, a character is represented by 1 or more bytes.\n// Our codec supports UTF-16 surrogates, extensions for GB18030 and unicode sequences.\n// To save memory and loading time, we read table files only when requested.\n\nexports._dbcs = DBCSCodec;\n\nvar UNASSIGNED = -1,\n    GB18030_CODE = -2,\n    SEQ_START  = -10,\n    NODE_START = -1000,\n    UNASSIGNED_NODE = new Array(0x100),\n    DEF_CHAR = -1;\n\nfor (var i = 0; i < 0x100; i++)\n    UNASSIGNED_NODE[i] = UNASSIGNED;\n\n\n// Class DBCSCodec reads and initializes mapping tables.\nfunction DBCSCodec(codecOptions, iconv) {\n    this.encodingName = codecOptions.encodingName;\n    if (!codecOptions)\n        throw new Error(\"DBCS codec is called without the data.\")\n    if (!codecOptions.table)\n        throw new Error(\"Encoding '\" + this.encodingName + \"' has no data.\");\n\n    // Load tables.\n    var mappingTable = codecOptions.table();\n\n\n    // Decode tables: MBCS -> Unicode.\n\n    // decodeTables is a trie, encoded as an array of arrays of integers. Internal arrays are trie nodes and all have len = 256.\n    // Trie root is decodeTables[0].\n    // Values: >=  0 -> unicode character code. can be > 0xFFFF\n    //         == UNASSIGNED -> unknown/unassigned sequence.\n    //         == GB18030_CODE -> this is the end of a GB18030 4-byte sequence.\n    //         <= NODE_START -> index of the next node in our trie to process next byte.\n    //         <= SEQ_START  -> index of the start of a character code sequence, in decodeTableSeq.\n    this.decodeTables = [];\n    this.decodeTables[0] = UNASSIGNED_NODE.slice(0); // Create root node.\n\n    // Sometimes a MBCS char corresponds to a sequence of unicode chars. We store them as arrays of integers here. \n    this.decodeTableSeq = [];\n\n    // Actual mapping tables consist of chunks. Use them to fill up decode tables.\n    for (var i = 0; i < mappingTable.length; i++)\n        this._addDecodeChunk(mappingTable[i]);\n\n    // Load & create GB18030 tables when needed.\n    if (typeof codecOptions.gb18030 === 'function') {\n        this.gb18030 = codecOptions.gb18030(); // Load GB18030 ranges.\n\n        // Add GB18030 common decode nodes.\n        var commonThirdByteNodeIdx = this.decodeTables.length;\n        this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n        var commonFourthByteNodeIdx = this.decodeTables.length;\n        this.decodeTables.push(UNASSIGNED_NODE.slice(0));\n\n        // Fill out the tree\n        var firstByteNode = this.decodeTables[0];\n        for (var i = 0x81; i <= 0xFE; i++) {\n            var secondByteNode = this.decodeTables[NODE_START - firstByteNode[i]];\n            for (var j = 0x30; j <= 0x39; j++) {\n                if (secondByteNode[j] === UNASSIGNED) {\n                    secondByteNode[j] = NODE_START - commonThirdByteNodeIdx;\n                } else if (secondByteNode[j] > NODE_START) {\n                    throw new Error(\"gb18030 decode tables conflict at byte 2\");\n                }\n\n                var thirdByteNode = this.decodeTables[NODE_START - secondByteNode[j]];\n                for (var k = 0x81; k <= 0xFE; k++) {\n                    if (thirdByteNode[k] === UNASSIGNED) {\n                        thirdByteNode[k] = NODE_START - commonFourthByteNodeIdx;\n                    } else if (thirdByteNode[k] === NODE_START - commonFourthByteNodeIdx) {\n                        continue;\n                    } else if (thirdByteNode[k] > NODE_START) {\n                        throw new Error(\"gb18030 decode tables conflict at byte 3\");\n                    }\n\n                    var fourthByteNode = this.decodeTables[NODE_START - thirdByteNode[k]];\n                    for (var l = 0x30; l <= 0x39; l++) {\n                        if (fourthByteNode[l] === UNASSIGNED)\n                            fourthByteNode[l] = GB18030_CODE;\n                    }\n                }\n            }\n        }\n    }\n\n    this.defaultCharUnicode = iconv.defaultCharUnicode;\n\n    \n    // Encode tables: Unicode -> DBCS.\n\n    // `encodeTable` is array mapping from unicode char to encoded char. All its values are integers for performance.\n    // Because it can be sparse, it is represented as array of buckets by 256 chars each. Bucket can be null.\n    // Values: >=  0 -> it is a normal char. Write the value (if <=256 then 1 byte, if <=65536 then 2 bytes, etc.).\n    //         == UNASSIGNED -> no conversion found. Output a default char.\n    //         <= SEQ_START  -> it's an index in encodeTableSeq, see below. The character starts a sequence.\n    this.encodeTable = [];\n    \n    // `encodeTableSeq` is used when a sequence of unicode characters is encoded as a single code. We use a tree of\n    // objects where keys correspond to characters in sequence and leafs are the encoded dbcs values. A special DEF_CHAR key\n    // means end of sequence (needed when one sequence is a strict subsequence of another).\n    // Objects are kept separately from encodeTable to increase performance.\n    this.encodeTableSeq = [];\n\n    // Some chars can be decoded, but need not be encoded.\n    var skipEncodeChars = {};\n    if (codecOptions.encodeSkipVals)\n        for (var i = 0; i < codecOptions.encodeSkipVals.length; i++) {\n            var val = codecOptions.encodeSkipVals[i];\n            if (typeof val === 'number')\n                skipEncodeChars[val] = true;\n            else\n                for (var j = val.from; j <= val.to; j++)\n                    skipEncodeChars[j] = true;\n        }\n        \n    // Use decode trie to recursively fill out encode tables.\n    this._fillEncodeTable(0, 0, skipEncodeChars);\n\n    // Add more encoding pairs when needed.\n    if (codecOptions.encodeAdd) {\n        for (var uChar in codecOptions.encodeAdd)\n            if (Object.prototype.hasOwnProperty.call(codecOptions.encodeAdd, uChar))\n                this._setEncodeChar(uChar.charCodeAt(0), codecOptions.encodeAdd[uChar]);\n    }\n\n    this.defCharSB  = this.encodeTable[0][iconv.defaultCharSingleByte.charCodeAt(0)];\n    if (this.defCharSB === UNASSIGNED) this.defCharSB = this.encodeTable[0]['?'];\n    if (this.defCharSB === UNASSIGNED) this.defCharSB = \"?\".charCodeAt(0);\n}\n\nDBCSCodec.prototype.encoder = DBCSEncoder;\nDBCSCodec.prototype.decoder = DBCSDecoder;\n\n// Decoder helpers\nDBCSCodec.prototype._getDecodeTrieNode = function(addr) {\n    var bytes = [];\n    for (; addr > 0; addr >>>= 8)\n        bytes.push(addr & 0xFF);\n    if (bytes.length == 0)\n        bytes.push(0);\n\n    var node = this.decodeTables[0];\n    for (var i = bytes.length-1; i > 0; i--) { // Traverse nodes deeper into the trie.\n        var val = node[bytes[i]];\n\n        if (val == UNASSIGNED) { // Create new node.\n            node[bytes[i]] = NODE_START - this.decodeTables.length;\n            this.decodeTables.push(node = UNASSIGNED_NODE.slice(0));\n        }\n        else if (val <= NODE_START) { // Existing node.\n            node = this.decodeTables[NODE_START - val];\n        }\n        else\n            throw new Error(\"Overwrite byte in \" + this.encodingName + \", addr: \" + addr.toString(16));\n    }\n    return node;\n}\n\n\nDBCSCodec.prototype._addDecodeChunk = function(chunk) {\n    // First element of chunk is the hex mbcs code where we start.\n    var curAddr = parseInt(chunk[0], 16);\n\n    // Choose the decoding node where we'll write our chars.\n    var writeTable = this._getDecodeTrieNode(curAddr);\n    curAddr = curAddr & 0xFF;\n\n    // Write all other elements of the chunk to the table.\n    for (var k = 1; k < chunk.length; k++) {\n        var part = chunk[k];\n        if (typeof part === \"string\") { // String, write as-is.\n            for (var l = 0; l < part.length;) {\n                var code = part.charCodeAt(l++);\n                if (0xD800 <= code && code < 0xDC00) { // Decode surrogate\n                    var codeTrail = part.charCodeAt(l++);\n                    if (0xDC00 <= codeTrail && codeTrail < 0xE000)\n                        writeTable[curAddr++] = 0x10000 + (code - 0xD800) * 0x400 + (codeTrail - 0xDC00);\n                    else\n                        throw new Error(\"Incorrect surrogate pair in \"  + this.encodingName + \" at chunk \" + chunk[0]);\n                }\n                else if (0x0FF0 < code && code <= 0x0FFF) { // Character sequence (our own encoding used)\n                    var len = 0xFFF - code + 2;\n                    var seq = [];\n                    for (var m = 0; m < len; m++)\n                        seq.push(part.charCodeAt(l++)); // Simple variation: don't support surrogates or subsequences in seq.\n\n                    writeTable[curAddr++] = SEQ_START - this.decodeTableSeq.length;\n                    this.decodeTableSeq.push(seq);\n                }\n                else\n                    writeTable[curAddr++] = code; // Basic char\n            }\n        } \n        else if (typeof part === \"number\") { // Integer, meaning increasing sequence starting with prev character.\n            var charCode = writeTable[curAddr - 1] + 1;\n            for (var l = 0; l < part; l++)\n                writeTable[curAddr++] = charCode++;\n        }\n        else\n            throw new Error(\"Incorrect type '\" + typeof part + \"' given in \"  + this.encodingName + \" at chunk \" + chunk[0]);\n    }\n    if (curAddr > 0xFF)\n        throw new Error(\"Incorrect chunk in \"  + this.encodingName + \" at addr \" + chunk[0] + \": too long\" + curAddr);\n}\n\n// Encoder helpers\nDBCSCodec.prototype._getEncodeBucket = function(uCode) {\n    var high = uCode >> 8; // This could be > 0xFF because of astral characters.\n    if (this.encodeTable[high] === undefined)\n        this.encodeTable[high] = UNASSIGNED_NODE.slice(0); // Create bucket on demand.\n    return this.encodeTable[high];\n}\n\nDBCSCodec.prototype._setEncodeChar = function(uCode, dbcsCode) {\n    var bucket = this._getEncodeBucket(uCode);\n    var low = uCode & 0xFF;\n    if (bucket[low] <= SEQ_START)\n        this.encodeTableSeq[SEQ_START-bucket[low]][DEF_CHAR] = dbcsCode; // There's already a sequence, set a single-char subsequence of it.\n    else if (bucket[low] == UNASSIGNED)\n        bucket[low] = dbcsCode;\n}\n\nDBCSCodec.prototype._setEncodeSequence = function(seq, dbcsCode) {\n    \n    // Get the root of character tree according to first character of the sequence.\n    var uCode = seq[0];\n    var bucket = this._getEncodeBucket(uCode);\n    var low = uCode & 0xFF;\n\n    var node;\n    if (bucket[low] <= SEQ_START) {\n        // There's already a sequence with  - use it.\n        node = this.encodeTableSeq[SEQ_START-bucket[low]];\n    }\n    else {\n        // There was no sequence object - allocate a new one.\n        node = {};\n        if (bucket[low] !== UNASSIGNED) node[DEF_CHAR] = bucket[low]; // If a char was set before - make it a single-char subsequence.\n        bucket[low] = SEQ_START - this.encodeTableSeq.length;\n        this.encodeTableSeq.push(node);\n    }\n\n    // Traverse the character tree, allocating new nodes as needed.\n    for (var j = 1; j < seq.length-1; j++) {\n        var oldVal = node[uCode];\n        if (typeof oldVal === 'object')\n            node = oldVal;\n        else {\n            node = node[uCode] = {}\n            if (oldVal !== undefined)\n                node[DEF_CHAR] = oldVal\n        }\n    }\n\n    // Set the leaf to given dbcsCode.\n    uCode = seq[seq.length-1];\n    node[uCode] = dbcsCode;\n}\n\nDBCSCodec.prototype._fillEncodeTable = function(nodeIdx, prefix, skipEncodeChars) {\n    var node = this.decodeTables[nodeIdx];\n    var hasValues = false;\n    var subNodeEmpty = {};\n    for (var i = 0; i < 0x100; i++) {\n        var uCode = node[i];\n        var mbCode = prefix + i;\n        if (skipEncodeChars[mbCode])\n            continue;\n\n        if (uCode >= 0) {\n            this._setEncodeChar(uCode, mbCode);\n            hasValues = true;\n        } else if (uCode <= NODE_START) {\n            var subNodeIdx = NODE_START - uCode;\n            if (!subNodeEmpty[subNodeIdx]) {  // Skip empty subtrees (they are too large in gb18030).\n                var newPrefix = (mbCode << 8) >>> 0;  // NOTE: '>>> 0' keeps 32-bit num positive.\n                if (this._fillEncodeTable(subNodeIdx, newPrefix, skipEncodeChars))\n                    hasValues = true;\n                else\n                    subNodeEmpty[subNodeIdx] = true;\n            }\n        } else if (uCode <= SEQ_START) {\n            this._setEncodeSequence(this.decodeTableSeq[SEQ_START - uCode], mbCode);\n            hasValues = true;\n        }\n    }\n    return hasValues;\n}\n\n\n\n// == Encoder ==================================================================\n\nfunction DBCSEncoder(options, codec) {\n    // Encoder state\n    this.leadSurrogate = -1;\n    this.seqObj = undefined;\n    \n    // Static data\n    this.encodeTable = codec.encodeTable;\n    this.encodeTableSeq = codec.encodeTableSeq;\n    this.defaultCharSingleByte = codec.defCharSB;\n    this.gb18030 = codec.gb18030;\n}\n\nDBCSEncoder.prototype.write = function(str) {\n    var newBuf = Buffer.alloc(str.length * (this.gb18030 ? 4 : 3)),\n        leadSurrogate = this.leadSurrogate,\n        seqObj = this.seqObj, nextChar = -1,\n        i = 0, j = 0;\n\n    while (true) {\n        // 0. Get next character.\n        if (nextChar === -1) {\n            if (i == str.length) break;\n            var uCode = str.charCodeAt(i++);\n        }\n        else {\n            var uCode = nextChar;\n            nextChar = -1;    \n        }\n\n        // 1. Handle surrogates.\n        if (0xD800 <= uCode && uCode < 0xE000) { // Char is one of surrogates.\n            if (uCode < 0xDC00) { // We've got lead surrogate.\n                if (leadSurrogate === -1) {\n                    leadSurrogate = uCode;\n                    continue;\n                } else {\n                    leadSurrogate = uCode;\n                    // Double lead surrogate found.\n                    uCode = UNASSIGNED;\n                }\n            } else { // We've got trail surrogate.\n                if (leadSurrogate !== -1) {\n                    uCode = 0x10000 + (leadSurrogate - 0xD800) * 0x400 + (uCode - 0xDC00);\n                    leadSurrogate = -1;\n                } else {\n                    // Incomplete surrogate pair - only trail surrogate found.\n                    uCode = UNASSIGNED;\n                }\n                \n            }\n        }\n        else if (leadSurrogate !== -1) {\n            // Incomplete surrogate pair - only lead surrogate found.\n            nextChar = uCode; uCode = UNASSIGNED; // Write an error, then current char.\n            leadSurrogate = -1;\n        }\n\n        // 2. Convert uCode character.\n        var dbcsCode = UNASSIGNED;\n        if (seqObj !== undefined && uCode != UNASSIGNED) { // We are in the middle of the sequence\n            var resCode = seqObj[uCode];\n            if (typeof resCode === 'object') { // Sequence continues.\n                seqObj = resCode;\n                continue;\n\n            } else if (typeof resCode == 'number') { // Sequence finished. Write it.\n                dbcsCode = resCode;\n\n            } else if (resCode == undefined) { // Current character is not part of the sequence.\n\n                // Try default character for this sequence\n                resCode = seqObj[DEF_CHAR];\n                if (resCode !== undefined) {\n                    dbcsCode = resCode; // Found. Write it.\n                    nextChar = uCode; // Current character will be written too in the next iteration.\n\n                } else {\n                    // TODO: What if we have no default? (resCode == undefined)\n                    // Then, we should write first char of the sequence as-is and try the rest recursively.\n                    // Didn't do it for now because no encoding has this situation yet.\n                    // Currently, just skip the sequence and write current char.\n                }\n            }\n            seqObj = undefined;\n        }\n        else if (uCode >= 0) {  // Regular character\n            var subtable = this.encodeTable[uCode >> 8];\n            if (subtable !== undefined)\n                dbcsCode = subtable[uCode & 0xFF];\n            \n            if (dbcsCode <= SEQ_START) { // Sequence start\n                seqObj = this.encodeTableSeq[SEQ_START-dbcsCode];\n                continue;\n            }\n\n            if (dbcsCode == UNASSIGNED && this.gb18030) {\n                // Use GB18030 algorithm to find character(s) to write.\n                var idx = findIdx(this.gb18030.uChars, uCode);\n                if (idx != -1) {\n                    var dbcsCode = this.gb18030.gbChars[idx] + (uCode - this.gb18030.uChars[idx]);\n                    newBuf[j++] = 0x81 + Math.floor(dbcsCode / 12600); dbcsCode = dbcsCode % 12600;\n                    newBuf[j++] = 0x30 + Math.floor(dbcsCode / 1260); dbcsCode = dbcsCode % 1260;\n                    newBuf[j++] = 0x81 + Math.floor(dbcsCode / 10); dbcsCode = dbcsCode % 10;\n                    newBuf[j++] = 0x30 + dbcsCode;\n                    continue;\n                }\n            }\n        }\n\n        // 3. Write dbcsCode character.\n        if (dbcsCode === UNASSIGNED)\n            dbcsCode = this.defaultCharSingleByte;\n        \n        if (dbcsCode < 0x100) {\n            newBuf[j++] = dbcsCode;\n        }\n        else if (dbcsCode < 0x10000) {\n            newBuf[j++] = dbcsCode >> 8;   // high byte\n            newBuf[j++] = dbcsCode & 0xFF; // low byte\n        }\n        else if (dbcsCode < 0x1000000) {\n            newBuf[j++] = dbcsCode >> 16;\n            newBuf[j++] = (dbcsCode >> 8) & 0xFF;\n            newBuf[j++] = dbcsCode & 0xFF;\n        } else {\n            newBuf[j++] = dbcsCode >>> 24;\n            newBuf[j++] = (dbcsCode >>> 16) & 0xFF;\n            newBuf[j++] = (dbcsCode >>> 8) & 0xFF;\n            newBuf[j++] = dbcsCode & 0xFF;\n        }\n    }\n\n    this.seqObj = seqObj;\n    this.leadSurrogate = leadSurrogate;\n    return newBuf.slice(0, j);\n}\n\nDBCSEncoder.prototype.end = function() {\n    if (this.leadSurrogate === -1 && this.seqObj === undefined)\n        return; // All clean. Most often case.\n\n    var newBuf = Buffer.alloc(10), j = 0;\n\n    if (this.seqObj) { // We're in the sequence.\n        var dbcsCode = this.seqObj[DEF_CHAR];\n        if (dbcsCode !== undefined) { // Write beginning of the sequence.\n            if (dbcsCode < 0x100) {\n                newBuf[j++] = dbcsCode;\n            }\n            else {\n                newBuf[j++] = dbcsCode >> 8;   // high byte\n                newBuf[j++] = dbcsCode & 0xFF; // low byte\n            }\n        } else {\n            // See todo above.\n        }\n        this.seqObj = undefined;\n    }\n\n    if (this.leadSurrogate !== -1) {\n        // Incomplete surrogate pair - only lead surrogate found.\n        newBuf[j++] = this.defaultCharSingleByte;\n        this.leadSurrogate = -1;\n    }\n    \n    return newBuf.slice(0, j);\n}\n\n// Export for testing\nDBCSEncoder.prototype.findIdx = findIdx;\n\n\n// == Decoder ==================================================================\n\nfunction DBCSDecoder(options, codec) {\n    // Decoder state\n    this.nodeIdx = 0;\n    this.prevBytes = [];\n\n    // Static data\n    this.decodeTables = codec.decodeTables;\n    this.decodeTableSeq = codec.decodeTableSeq;\n    this.defaultCharUnicode = codec.defaultCharUnicode;\n    this.gb18030 = codec.gb18030;\n}\n\nDBCSDecoder.prototype.write = function(buf) {\n    var newBuf = Buffer.alloc(buf.length*2),\n        nodeIdx = this.nodeIdx, \n        prevBytes = this.prevBytes, prevOffset = this.prevBytes.length,\n        seqStart = -this.prevBytes.length, // idx of the start of current parsed sequence.\n        uCode;\n\n    for (var i = 0, j = 0; i < buf.length; i++) {\n        var curByte = (i >= 0) ? buf[i] : prevBytes[i + prevOffset];\n\n        // Lookup in current trie node.\n        var uCode = this.decodeTables[nodeIdx][curByte];\n\n        if (uCode >= 0) { \n            // Normal character, just use it.\n        }\n        else if (uCode === UNASSIGNED) { // Unknown char.\n            // TODO: Callback with seq.\n            uCode = this.defaultCharUnicode.charCodeAt(0);\n            i = seqStart; // Skip one byte ('i' will be incremented by the for loop) and try to parse again.\n        }\n        else if (uCode === GB18030_CODE) {\n            if (i >= 3) {\n                var ptr = (buf[i-3]-0x81)*12600 + (buf[i-2]-0x30)*1260 + (buf[i-1]-0x81)*10 + (curByte-0x30);\n            } else {\n                var ptr = (prevBytes[i-3+prevOffset]-0x81)*12600 + \n                          (((i-2 >= 0) ? buf[i-2] : prevBytes[i-2+prevOffset])-0x30)*1260 + \n                          (((i-1 >= 0) ? buf[i-1] : prevBytes[i-1+prevOffset])-0x81)*10 + \n                          (curByte-0x30);\n            }\n            var idx = findIdx(this.gb18030.gbChars, ptr);\n            uCode = this.gb18030.uChars[idx] + ptr - this.gb18030.gbChars[idx];\n        }\n        else if (uCode <= NODE_START) { // Go to next trie node.\n            nodeIdx = NODE_START - uCode;\n            continue;\n        }\n        else if (uCode <= SEQ_START) { // Output a sequence of chars.\n            var seq = this.decodeTableSeq[SEQ_START - uCode];\n            for (var k = 0; k < seq.length - 1; k++) {\n                uCode = seq[k];\n                newBuf[j++] = uCode & 0xFF;\n                newBuf[j++] = uCode >> 8;\n            }\n            uCode = seq[seq.length-1];\n        }\n        else\n            throw new Error(\"iconv-lite internal error: invalid decoding table value \" + uCode + \" at \" + nodeIdx + \"/\" + curByte);\n\n        // Write the character to buffer, handling higher planes using surrogate pair.\n        if (uCode >= 0x10000) { \n            uCode -= 0x10000;\n            var uCodeLead = 0xD800 | (uCode >> 10);\n            newBuf[j++] = uCodeLead & 0xFF;\n            newBuf[j++] = uCodeLead >> 8;\n\n            uCode = 0xDC00 | (uCode & 0x3FF);\n        }\n        newBuf[j++] = uCode & 0xFF;\n        newBuf[j++] = uCode >> 8;\n\n        // Reset trie node.\n        nodeIdx = 0; seqStart = i+1;\n    }\n\n    this.nodeIdx = nodeIdx;\n    this.prevBytes = (seqStart >= 0)\n        ? Array.prototype.slice.call(buf, seqStart)\n        : prevBytes.slice(seqStart + prevOffset).concat(Array.prototype.slice.call(buf));\n\n    return newBuf.slice(0, j).toString('ucs2');\n}\n\nDBCSDecoder.prototype.end = function() {\n    var ret = '';\n\n    // Try to parse all remaining chars.\n    while (this.prevBytes.length > 0) {\n        // Skip 1 character in the buffer.\n        ret += this.defaultCharUnicode;\n        var bytesArr = this.prevBytes.slice(1);\n\n        // Parse remaining as usual.\n        this.prevBytes = [];\n        this.nodeIdx = 0;\n        if (bytesArr.length > 0)\n            ret += this.write(bytesArr);\n    }\n\n    this.prevBytes = [];\n    this.nodeIdx = 0;\n    return ret;\n}\n\n// Binary search for GB18030. Returns largest i such that table[i] <= val.\nfunction findIdx(table, val) {\n    if (table[0] > val)\n        return -1;\n\n    var l = 0, r = table.length;\n    while (l < r-1) { // always table[l] <= val < table[r]\n        var mid = l + ((r-l+1) >> 1);\n        if (table[mid] <= val)\n            l = mid;\n        else\n            r = mid;\n    }\n    return l;\n}\n\n","\"use strict\";\n\n// Description of supported double byte encodings and aliases.\n// Tables are not require()-d until they are needed to speed up library load.\n// require()-s are direct to support Browserify.\n\nmodule.exports = {\n    \n    // == Japanese/ShiftJIS ====================================================\n    // All japanese encodings are based on JIS X set of standards:\n    // JIS X 0201 - Single-byte encoding of ASCII + ¥ + Kana chars at 0xA1-0xDF.\n    // JIS X 0208 - Main set of 6879 characters, placed in 94x94 plane, to be encoded by 2 bytes. \n    //              Has several variations in 1978, 1983, 1990 and 1997.\n    // JIS X 0212 - Supplementary plane of 6067 chars in 94x94 plane. 1990. Effectively dead.\n    // JIS X 0213 - Extension and modern replacement of 0208 and 0212. Total chars: 11233.\n    //              2 planes, first is superset of 0208, second - revised 0212.\n    //              Introduced in 2000, revised 2004. Some characters are in Unicode Plane 2 (0x2xxxx)\n\n    // Byte encodings are:\n    //  * Shift_JIS: Compatible with 0201, uses not defined chars in top half as lead bytes for double-byte\n    //               encoding of 0208. Lead byte ranges: 0x81-0x9F, 0xE0-0xEF; Trail byte ranges: 0x40-0x7E, 0x80-0x9E, 0x9F-0xFC.\n    //               Windows CP932 is a superset of Shift_JIS. Some companies added more chars, notably KDDI.\n    //  * EUC-JP:    Up to 3 bytes per character. Used mostly on *nixes.\n    //               0x00-0x7F       - lower part of 0201\n    //               0x8E, 0xA1-0xDF - upper part of 0201\n    //               (0xA1-0xFE)x2   - 0208 plane (94x94).\n    //               0x8F, (0xA1-0xFE)x2 - 0212 plane (94x94).\n    //  * JIS X 208: 7-bit, direct encoding of 0208. Byte ranges: 0x21-0x7E (94 values). Uncommon.\n    //               Used as-is in ISO2022 family.\n    //  * ISO2022-JP: Stateful encoding, with escape sequences to switch between ASCII, \n    //                0201-1976 Roman, 0208-1978, 0208-1983.\n    //  * ISO2022-JP-1: Adds esc seq for 0212-1990.\n    //  * ISO2022-JP-2: Adds esc seq for GB2313-1980, KSX1001-1992, ISO8859-1, ISO8859-7.\n    //  * ISO2022-JP-3: Adds esc seq for 0201-1976 Kana set, 0213-2000 Planes 1, 2.\n    //  * ISO2022-JP-2004: Adds 0213-2004 Plane 1.\n    //\n    // After JIS X 0213 appeared, Shift_JIS-2004, EUC-JISX0213 and ISO2022-JP-2004 followed, with just changing the planes.\n    //\n    // Overall, it seems that it's a mess :( http://www8.plala.or.jp/tkubota1/unicode-symbols-map2.html\n\n    'shiftjis': {\n        type: '_dbcs',\n        table: function() { return require('./tables/shiftjis.json') },\n        encodeAdd: {'\\u00a5': 0x5C, '\\u203E': 0x7E},\n        encodeSkipVals: [{from: 0xED40, to: 0xF940}],\n    },\n    'csshiftjis': 'shiftjis',\n    'mskanji': 'shiftjis',\n    'sjis': 'shiftjis',\n    'windows31j': 'shiftjis',\n    'ms31j': 'shiftjis',\n    'xsjis': 'shiftjis',\n    'windows932': 'shiftjis',\n    'ms932': 'shiftjis',\n    '932': 'shiftjis',\n    'cp932': 'shiftjis',\n\n    'eucjp': {\n        type: '_dbcs',\n        table: function() { return require('./tables/eucjp.json') },\n        encodeAdd: {'\\u00a5': 0x5C, '\\u203E': 0x7E},\n    },\n\n    // TODO: KDDI extension to Shift_JIS\n    // TODO: IBM CCSID 942 = CP932, but F0-F9 custom chars and other char changes.\n    // TODO: IBM CCSID 943 = Shift_JIS = CP932 with original Shift_JIS lower 128 chars.\n\n\n    // == Chinese/GBK ==========================================================\n    // http://en.wikipedia.org/wiki/GBK\n    // We mostly implement W3C recommendation: https://www.w3.org/TR/encoding/#gbk-encoder\n\n    // Oldest GB2312 (1981, ~7600 chars) is a subset of CP936\n    'gb2312': 'cp936',\n    'gb231280': 'cp936',\n    'gb23121980': 'cp936',\n    'csgb2312': 'cp936',\n    'csiso58gb231280': 'cp936',\n    'euccn': 'cp936',\n\n    // Microsoft's CP936 is a subset and approximation of GBK.\n    'windows936': 'cp936',\n    'ms936': 'cp936',\n    '936': 'cp936',\n    'cp936': {\n        type: '_dbcs',\n        table: function() { return require('./tables/cp936.json') },\n    },\n\n    // GBK (~22000 chars) is an extension of CP936 that added user-mapped chars and some other.\n    'gbk': {\n        type: '_dbcs',\n        table: function() { return require('./tables/cp936.json').concat(require('./tables/gbk-added.json')) },\n    },\n    'xgbk': 'gbk',\n    'isoir58': 'gbk',\n\n    // GB18030 is an algorithmic extension of GBK.\n    // Main source: https://www.w3.org/TR/encoding/#gbk-encoder\n    // http://icu-project.org/docs/papers/gb18030.html\n    // http://source.icu-project.org/repos/icu/data/trunk/charset/data/xml/gb-18030-2000.xml\n    // http://www.khngai.com/chinese/charmap/tblgbk.php?page=0\n    'gb18030': {\n        type: '_dbcs',\n        table: function() { return require('./tables/cp936.json').concat(require('./tables/gbk-added.json')) },\n        gb18030: function() { return require('./tables/gb18030-ranges.json') },\n        encodeSkipVals: [0x80],\n        encodeAdd: {'€': 0xA2E3},\n    },\n\n    'chinese': 'gb18030',\n\n\n    // == Korean ===============================================================\n    // EUC-KR, KS_C_5601 and KS X 1001 are exactly the same.\n    'windows949': 'cp949',\n    'ms949': 'cp949',\n    '949': 'cp949',\n    'cp949': {\n        type: '_dbcs',\n        table: function() { return require('./tables/cp949.json') },\n    },\n\n    'cseuckr': 'cp949',\n    'csksc56011987': 'cp949',\n    'euckr': 'cp949',\n    'isoir149': 'cp949',\n    'korean': 'cp949',\n    'ksc56011987': 'cp949',\n    'ksc56011989': 'cp949',\n    'ksc5601': 'cp949',\n\n\n    // == Big5/Taiwan/Hong Kong ================================================\n    // There are lots of tables for Big5 and cp950. Please see the following links for history:\n    // http://moztw.org/docs/big5/  http://www.haible.de/bruno/charsets/conversion-tables/Big5.html\n    // Variations, in roughly number of defined chars:\n    //  * Windows CP 950: Microsoft variant of Big5. Canonical: http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT\n    //  * Windows CP 951: Microsoft variant of Big5-HKSCS-2001. Seems to be never public. http://me.abelcheung.org/articles/research/what-is-cp951/\n    //  * Big5-2003 (Taiwan standard) almost superset of cp950.\n    //  * Unicode-at-on (UAO) / Mozilla 1.8. Falling out of use on the Web. Not supported by other browsers.\n    //  * Big5-HKSCS (-2001, -2004, -2008). Hong Kong standard. \n    //    many unicode code points moved from PUA to Supplementary plane (U+2XXXX) over the years.\n    //    Plus, it has 4 combining sequences.\n    //    Seems that Mozilla refused to support it for 10 yrs. https://bugzilla.mozilla.org/show_bug.cgi?id=162431 https://bugzilla.mozilla.org/show_bug.cgi?id=310299\n    //    because big5-hkscs is the only encoding to include astral characters in non-algorithmic way.\n    //    Implementations are not consistent within browsers; sometimes labeled as just big5.\n    //    MS Internet Explorer switches from big5 to big5-hkscs when a patch applied.\n    //    Great discussion & recap of what's going on https://bugzilla.mozilla.org/show_bug.cgi?id=912470#c31\n    //    In the encoder, it might make sense to support encoding old PUA mappings to Big5 bytes seq-s.\n    //    Official spec: http://www.ogcio.gov.hk/en/business/tech_promotion/ccli/terms/doc/2003cmp_2008.txt\n    //                   http://www.ogcio.gov.hk/tc/business/tech_promotion/ccli/terms/doc/hkscs-2008-big5-iso.txt\n    // \n    // Current understanding of how to deal with Big5(-HKSCS) is in the Encoding Standard, http://encoding.spec.whatwg.org/#big5-encoder\n    // Unicode mapping (http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/OTHER/BIG5.TXT) is said to be wrong.\n\n    'windows950': 'cp950',\n    'ms950': 'cp950',\n    '950': 'cp950',\n    'cp950': {\n        type: '_dbcs',\n        table: function() { return require('./tables/cp950.json') },\n    },\n\n    // Big5 has many variations and is an extension of cp950. We use Encoding Standard's as a consensus.\n    'big5': 'big5hkscs',\n    'big5hkscs': {\n        type: '_dbcs',\n        table: function() { return require('./tables/cp950.json').concat(require('./tables/big5-added.json')) },\n        encodeSkipVals: [\n            // Although Encoding Standard says we should avoid encoding to HKSCS area (See Step 1 of\n            // https://encoding.spec.whatwg.org/#index-big5-pointer), we still do it to increase compatibility with ICU.\n            // But if a single unicode point can be encoded both as HKSCS and regular Big5, we prefer the latter.\n            0x8e69, 0x8e6f, 0x8e7e, 0x8eab, 0x8eb4, 0x8ecd, 0x8ed0, 0x8f57, 0x8f69, 0x8f6e, 0x8fcb, 0x8ffe,\n            0x906d, 0x907a, 0x90c4, 0x90dc, 0x90f1, 0x91bf, 0x92af, 0x92b0, 0x92b1, 0x92b2, 0x92d1, 0x9447, 0x94ca,\n            0x95d9, 0x96fc, 0x9975, 0x9b76, 0x9b78, 0x9b7b, 0x9bc6, 0x9bde, 0x9bec, 0x9bf6, 0x9c42, 0x9c53, 0x9c62,\n            0x9c68, 0x9c6b, 0x9c77, 0x9cbc, 0x9cbd, 0x9cd0, 0x9d57, 0x9d5a, 0x9dc4, 0x9def, 0x9dfb, 0x9ea9, 0x9eef,\n            0x9efd, 0x9f60, 0x9fcb, 0xa077, 0xa0dc, 0xa0df, 0x8fcc, 0x92c8, 0x9644, 0x96ed,\n\n            // Step 2 of https://encoding.spec.whatwg.org/#index-big5-pointer: Use last pointer for U+2550, U+255E, U+2561, U+256A, U+5341, or U+5345\n            0xa2a4, 0xa2a5, 0xa2a7, 0xa2a6, 0xa2cc, 0xa2ce,\n        ],\n    },\n\n    'cnbig5': 'big5hkscs',\n    'csbig5': 'big5hkscs',\n    'xxbig5': 'big5hkscs',\n};\n","\"use strict\";\n\n// Update this array if you add/rename/remove files in this directory.\n// We support Browserify by skipping automatic module discovery and requiring modules directly.\nvar modules = [\n    require(\"./internal\"),\n    require(\"./utf32\"),\n    require(\"./utf16\"),\n    require(\"./utf7\"),\n    require(\"./sbcs-codec\"),\n    require(\"./sbcs-data\"),\n    require(\"./sbcs-data-generated\"),\n    require(\"./dbcs-codec\"),\n    require(\"./dbcs-data\"),\n];\n\n// Put all encoding/alias/codec definitions to single object and export it.\nfor (var i = 0; i < modules.length; i++) {\n    var module = modules[i];\n    for (var enc in module)\n        if (Object.prototype.hasOwnProperty.call(module, enc))\n            exports[enc] = module[enc];\n}\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Export Node.js internal encodings.\n\nmodule.exports = {\n    // Encodings\n    utf8:   { type: \"_internal\", bomAware: true},\n    cesu8:  { type: \"_internal\", bomAware: true},\n    unicode11utf8: \"utf8\",\n\n    ucs2:   { type: \"_internal\", bomAware: true},\n    utf16le: \"ucs2\",\n\n    binary: { type: \"_internal\" },\n    base64: { type: \"_internal\" },\n    hex:    { type: \"_internal\" },\n\n    // Codec.\n    _internal: InternalCodec,\n};\n\n//------------------------------------------------------------------------------\n\nfunction InternalCodec(codecOptions, iconv) {\n    this.enc = codecOptions.encodingName;\n    this.bomAware = codecOptions.bomAware;\n\n    if (this.enc === \"base64\")\n        this.encoder = InternalEncoderBase64;\n    else if (this.enc === \"cesu8\") {\n        this.enc = \"utf8\"; // Use utf8 for decoding.\n        this.encoder = InternalEncoderCesu8;\n\n        // Add decoder for versions of Node not supporting CESU-8\n        if (Buffer.from('eda0bdedb2a9', 'hex').toString() !== '💩') {\n            this.decoder = InternalDecoderCesu8;\n            this.defaultCharUnicode = iconv.defaultCharUnicode;\n        }\n    }\n}\n\nInternalCodec.prototype.encoder = InternalEncoder;\nInternalCodec.prototype.decoder = InternalDecoder;\n\n//------------------------------------------------------------------------------\n\n// We use node.js internal decoder. Its signature is the same as ours.\nvar StringDecoder = require('string_decoder').StringDecoder;\n\nif (!StringDecoder.prototype.end) // Node v0.8 doesn't have this method.\n    StringDecoder.prototype.end = function() {};\n\n\nfunction InternalDecoder(options, codec) {\n    this.decoder = new StringDecoder(codec.enc);\n}\n\nInternalDecoder.prototype.write = function(buf) {\n    if (!Buffer.isBuffer(buf)) {\n        buf = Buffer.from(buf);\n    }\n\n    return this.decoder.write(buf);\n}\n\nInternalDecoder.prototype.end = function() {\n    return this.decoder.end();\n}\n\n\n//------------------------------------------------------------------------------\n// Encoder is mostly trivial\n\nfunction InternalEncoder(options, codec) {\n    this.enc = codec.enc;\n}\n\nInternalEncoder.prototype.write = function(str) {\n    return Buffer.from(str, this.enc);\n}\n\nInternalEncoder.prototype.end = function() {\n}\n\n\n//------------------------------------------------------------------------------\n// Except base64 encoder, which must keep its state.\n\nfunction InternalEncoderBase64(options, codec) {\n    this.prevStr = '';\n}\n\nInternalEncoderBase64.prototype.write = function(str) {\n    str = this.prevStr + str;\n    var completeQuads = str.length - (str.length % 4);\n    this.prevStr = str.slice(completeQuads);\n    str = str.slice(0, completeQuads);\n\n    return Buffer.from(str, \"base64\");\n}\n\nInternalEncoderBase64.prototype.end = function() {\n    return Buffer.from(this.prevStr, \"base64\");\n}\n\n\n//------------------------------------------------------------------------------\n// CESU-8 encoder is also special.\n\nfunction InternalEncoderCesu8(options, codec) {\n}\n\nInternalEncoderCesu8.prototype.write = function(str) {\n    var buf = Buffer.alloc(str.length * 3), bufIdx = 0;\n    for (var i = 0; i < str.length; i++) {\n        var charCode = str.charCodeAt(i);\n        // Naive implementation, but it works because CESU-8 is especially easy\n        // to convert from UTF-16 (which all JS strings are encoded in).\n        if (charCode < 0x80)\n            buf[bufIdx++] = charCode;\n        else if (charCode < 0x800) {\n            buf[bufIdx++] = 0xC0 + (charCode >>> 6);\n            buf[bufIdx++] = 0x80 + (charCode & 0x3f);\n        }\n        else { // charCode will always be < 0x10000 in javascript.\n            buf[bufIdx++] = 0xE0 + (charCode >>> 12);\n            buf[bufIdx++] = 0x80 + ((charCode >>> 6) & 0x3f);\n            buf[bufIdx++] = 0x80 + (charCode & 0x3f);\n        }\n    }\n    return buf.slice(0, bufIdx);\n}\n\nInternalEncoderCesu8.prototype.end = function() {\n}\n\n//------------------------------------------------------------------------------\n// CESU-8 decoder is not implemented in Node v4.0+\n\nfunction InternalDecoderCesu8(options, codec) {\n    this.acc = 0;\n    this.contBytes = 0;\n    this.accBytes = 0;\n    this.defaultCharUnicode = codec.defaultCharUnicode;\n}\n\nInternalDecoderCesu8.prototype.write = function(buf) {\n    var acc = this.acc, contBytes = this.contBytes, accBytes = this.accBytes, \n        res = '';\n    for (var i = 0; i < buf.length; i++) {\n        var curByte = buf[i];\n        if ((curByte & 0xC0) !== 0x80) { // Leading byte\n            if (contBytes > 0) { // Previous code is invalid\n                res += this.defaultCharUnicode;\n                contBytes = 0;\n            }\n\n            if (curByte < 0x80) { // Single-byte code\n                res += String.fromCharCode(curByte);\n            } else if (curByte < 0xE0) { // Two-byte code\n                acc = curByte & 0x1F;\n                contBytes = 1; accBytes = 1;\n            } else if (curByte < 0xF0) { // Three-byte code\n                acc = curByte & 0x0F;\n                contBytes = 2; accBytes = 1;\n            } else { // Four or more are not supported for CESU-8.\n                res += this.defaultCharUnicode;\n            }\n        } else { // Continuation byte\n            if (contBytes > 0) { // We're waiting for it.\n                acc = (acc << 6) | (curByte & 0x3f);\n                contBytes--; accBytes++;\n                if (contBytes === 0) {\n                    // Check for overlong encoding, but support Modified UTF-8 (encoding NULL as C0 80)\n                    if (accBytes === 2 && acc < 0x80 && acc > 0)\n                        res += this.defaultCharUnicode;\n                    else if (accBytes === 3 && acc < 0x800)\n                        res += this.defaultCharUnicode;\n                    else\n                        // Actually add character.\n                        res += String.fromCharCode(acc);\n                }\n            } else { // Unexpected continuation byte\n                res += this.defaultCharUnicode;\n            }\n        }\n    }\n    this.acc = acc; this.contBytes = contBytes; this.accBytes = accBytes;\n    return res;\n}\n\nInternalDecoderCesu8.prototype.end = function() {\n    var res = 0;\n    if (this.contBytes > 0)\n        res += this.defaultCharUnicode;\n    return res;\n}\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Single-byte codec. Needs a 'chars' string parameter that contains 256 or 128 chars that\n// correspond to encoded bytes (if 128 - then lower half is ASCII). \n\nexports._sbcs = SBCSCodec;\nfunction SBCSCodec(codecOptions, iconv) {\n    if (!codecOptions)\n        throw new Error(\"SBCS codec is called without the data.\")\n    \n    // Prepare char buffer for decoding.\n    if (!codecOptions.chars || (codecOptions.chars.length !== 128 && codecOptions.chars.length !== 256))\n        throw new Error(\"Encoding '\"+codecOptions.type+\"' has incorrect 'chars' (must be of len 128 or 256)\");\n    \n    if (codecOptions.chars.length === 128) {\n        var asciiString = \"\";\n        for (var i = 0; i < 128; i++)\n            asciiString += String.fromCharCode(i);\n        codecOptions.chars = asciiString + codecOptions.chars;\n    }\n\n    this.decodeBuf = Buffer.from(codecOptions.chars, 'ucs2');\n    \n    // Encoding buffer.\n    var encodeBuf = Buffer.alloc(65536, iconv.defaultCharSingleByte.charCodeAt(0));\n\n    for (var i = 0; i < codecOptions.chars.length; i++)\n        encodeBuf[codecOptions.chars.charCodeAt(i)] = i;\n\n    this.encodeBuf = encodeBuf;\n}\n\nSBCSCodec.prototype.encoder = SBCSEncoder;\nSBCSCodec.prototype.decoder = SBCSDecoder;\n\n\nfunction SBCSEncoder(options, codec) {\n    this.encodeBuf = codec.encodeBuf;\n}\n\nSBCSEncoder.prototype.write = function(str) {\n    var buf = Buffer.alloc(str.length);\n    for (var i = 0; i < str.length; i++)\n        buf[i] = this.encodeBuf[str.charCodeAt(i)];\n    \n    return buf;\n}\n\nSBCSEncoder.prototype.end = function() {\n}\n\n\nfunction SBCSDecoder(options, codec) {\n    this.decodeBuf = codec.decodeBuf;\n}\n\nSBCSDecoder.prototype.write = function(buf) {\n    // Strings are immutable in JS -> we use ucs2 buffer to speed up computations.\n    var decodeBuf = this.decodeBuf;\n    var newBuf = Buffer.alloc(buf.length*2);\n    var idx1 = 0, idx2 = 0;\n    for (var i = 0; i < buf.length; i++) {\n        idx1 = buf[i]*2; idx2 = i*2;\n        newBuf[idx2] = decodeBuf[idx1];\n        newBuf[idx2+1] = decodeBuf[idx1+1];\n    }\n    return newBuf.toString('ucs2');\n}\n\nSBCSDecoder.prototype.end = function() {\n}\n","\"use strict\";\n\n// Generated data for sbcs codec. Don't edit manually. Regenerate using generation/gen-sbcs.js script.\nmodule.exports = {\n  \"437\": \"cp437\",\n  \"737\": \"cp737\",\n  \"775\": \"cp775\",\n  \"850\": \"cp850\",\n  \"852\": \"cp852\",\n  \"855\": \"cp855\",\n  \"856\": \"cp856\",\n  \"857\": \"cp857\",\n  \"858\": \"cp858\",\n  \"860\": \"cp860\",\n  \"861\": \"cp861\",\n  \"862\": \"cp862\",\n  \"863\": \"cp863\",\n  \"864\": \"cp864\",\n  \"865\": \"cp865\",\n  \"866\": \"cp866\",\n  \"869\": \"cp869\",\n  \"874\": \"windows874\",\n  \"922\": \"cp922\",\n  \"1046\": \"cp1046\",\n  \"1124\": \"cp1124\",\n  \"1125\": \"cp1125\",\n  \"1129\": \"cp1129\",\n  \"1133\": \"cp1133\",\n  \"1161\": \"cp1161\",\n  \"1162\": \"cp1162\",\n  \"1163\": \"cp1163\",\n  \"1250\": \"windows1250\",\n  \"1251\": \"windows1251\",\n  \"1252\": \"windows1252\",\n  \"1253\": \"windows1253\",\n  \"1254\": \"windows1254\",\n  \"1255\": \"windows1255\",\n  \"1256\": \"windows1256\",\n  \"1257\": \"windows1257\",\n  \"1258\": \"windows1258\",\n  \"28591\": \"iso88591\",\n  \"28592\": \"iso88592\",\n  \"28593\": \"iso88593\",\n  \"28594\": \"iso88594\",\n  \"28595\": \"iso88595\",\n  \"28596\": \"iso88596\",\n  \"28597\": \"iso88597\",\n  \"28598\": \"iso88598\",\n  \"28599\": \"iso88599\",\n  \"28600\": \"iso885910\",\n  \"28601\": \"iso885911\",\n  \"28603\": \"iso885913\",\n  \"28604\": \"iso885914\",\n  \"28605\": \"iso885915\",\n  \"28606\": \"iso885916\",\n  \"windows874\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€����…�����������‘’“”•–—�������� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n  },\n  \"win874\": \"windows874\",\n  \"cp874\": \"windows874\",\n  \"windows1250\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚�„…†‡�‰Š‹ŚŤŽŹ�‘’“”•–—�™š›śťžź ˇ˘Ł¤Ą¦§¨©Ş«¬­®Ż°±˛ł´µ¶·¸ąş»Ľ˝ľżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\"\n  },\n  \"win1250\": \"windows1250\",\n  \"cp1250\": \"windows1250\",\n  \"windows1251\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ЂЃ‚ѓ„…†‡€‰Љ‹ЊЌЋЏђ‘’“”•–—�™љ›њќћџ ЎўЈ¤Ґ¦§Ё©Є«¬­®Ї°±Ііґµ¶·ё№є»јЅѕїАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\"\n  },\n  \"win1251\": \"windows1251\",\n  \"cp1251\": \"windows1251\",\n  \"windows1252\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚ƒ„…†‡ˆ‰Š‹Œ�Ž��‘’“”•–—˜™š›œ�žŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n  },\n  \"win1252\": \"windows1252\",\n  \"cp1252\": \"windows1252\",\n  \"windows1253\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚ƒ„…†‡�‰�‹�����‘’“”•–—�™�›���� ΅Ά£¤¥¦§¨©�«¬­®―°±²³΄µ¶·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\"\n  },\n  \"win1253\": \"windows1253\",\n  \"cp1253\": \"windows1253\",\n  \"windows1254\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚ƒ„…†‡ˆ‰Š‹Œ����‘’“”•–—˜™š›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\"\n  },\n  \"win1254\": \"windows1254\",\n  \"cp1254\": \"windows1254\",\n  \"windows1255\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚ƒ„…†‡ˆ‰�‹�����‘’“”•–—˜™�›���� ¡¢£₪¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾¿ְֱֲֳִֵֶַָֹֺֻּֽ־ֿ׀ׁׂ׃װױײ׳״�������אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\"\n  },\n  \"win1255\": \"windows1255\",\n  \"cp1255\": \"windows1255\",\n  \"windows1256\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€پ‚ƒ„…†‡ˆ‰ٹ‹Œچژڈگ‘’“”•–—ک™ڑ›œ‌‍ں ،¢£¤¥¦§¨©ھ«¬­®¯°±²³´µ¶·¸¹؛»¼½¾؟ہءآأؤإئابةتثجحخدذرزسشصض×طظعغـفقكàلâمنهوçèéêëىيîïًٌٍَôُِ÷ّùْûü‎‏ے\"\n  },\n  \"win1256\": \"windows1256\",\n  \"cp1256\": \"windows1256\",\n  \"windows1257\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚�„…†‡�‰�‹�¨ˇ¸�‘’“”•–—�™�›�¯˛� �¢£¤�¦§Ø©Ŗ«¬­®Æ°±²³´µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž˙\"\n  },\n  \"win1257\": \"windows1257\",\n  \"cp1257\": \"windows1257\",\n  \"windows1258\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€�‚ƒ„…†‡ˆ‰�‹Œ����‘’“”•–—˜™�›œ��Ÿ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\"\n  },\n  \"win1258\": \"windows1258\",\n  \"cp1258\": \"windows1258\",\n  \"iso88591\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n  },\n  \"cp28591\": \"iso88591\",\n  \"iso88592\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ą˘Ł¤ĽŚ§¨ŠŞŤŹ­ŽŻ°ą˛ł´ľśˇ¸šşťź˝žżŔÁÂĂÄĹĆÇČÉĘËĚÍÎĎĐŃŇÓÔŐÖ×ŘŮÚŰÜÝŢßŕáâăäĺćçčéęëěíîďđńňóôőö÷řůúűüýţ˙\"\n  },\n  \"cp28592\": \"iso88592\",\n  \"iso88593\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ħ˘£¤�Ĥ§¨İŞĞĴ­�ݰħ²³´µĥ·¸ışğĵ½�żÀÁÂ�ÄĊĈÇÈÉÊËÌÍÎÏ�ÑÒÓÔĠÖ×ĜÙÚÛÜŬŜßàáâ�äċĉçèéêëìíîï�ñòóôġö÷ĝùúûüŭŝ˙\"\n  },\n  \"cp28593\": \"iso88593\",\n  \"iso88594\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĸŖ¤Ĩϧ¨ŠĒĢŦ­Ž¯°ą˛ŗ´ĩšēģŧŊžŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎĪĐŅŌĶÔÕÖרŲÚÛÜŨŪßāáâãäåæįčéęëėíîīđņōķôõö÷øųúûüũū˙\"\n  },\n  \"cp28594\": \"iso88594\",\n  \"iso88595\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂЃЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђѓєѕіїјљњћќ§ўџ\"\n  },\n  \"cp28595\": \"iso88595\",\n  \"iso88596\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ���¤�������،­�������������؛���؟�ءآأؤإئابةتثجحخدذرزسشصضطظعغ�����ـفقكلمنهوىيًٌٍَُِّْ�������������\"\n  },\n  \"cp28596\": \"iso88596\",\n  \"iso88597\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ‘’£€₯¦§¨©ͺ«¬­�―°±²³΄΅Ά·ΈΉΊ»Ό½ΎΏΐΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡ�ΣΤΥΦΧΨΩΪΫάέήίΰαβγδεζηθικλμνξοπρςστυφχψωϊϋόύώ�\"\n  },\n  \"cp28597\": \"iso88597\",\n  \"iso88598\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �¢£¤¥¦§¨©×«¬­®¯°±²³´µ¶·¸¹÷»¼½¾��������������������������������‗אבגדהוזחטיךכלםמןנסעףפץצקרשת��‎‏�\"\n  },\n  \"cp28598\": \"iso88598\",\n  \"iso88599\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏĞÑÒÓÔÕÖרÙÚÛÜİŞßàáâãäåæçèéêëìíîïğñòóôõö÷øùúûüışÿ\"\n  },\n  \"cp28599\": \"iso88599\",\n  \"iso885910\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄĒĢĪĨͧĻĐŠŦŽ­ŪŊ°ąēģīĩķ·ļđšŧž―ūŋĀÁÂÃÄÅÆĮČÉĘËĖÍÎÏÐŅŌÓÔÕÖŨØŲÚÛÜÝÞßāáâãäåæįčéęëėíîïðņōóôõöũøųúûüýþĸ\"\n  },\n  \"cp28600\": \"iso885910\",\n  \"iso885911\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n  },\n  \"cp28601\": \"iso885911\",\n  \"iso885913\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ”¢£¤„¦§Ø©Ŗ«¬­®Æ°±²³“µ¶·ø¹ŗ»¼½¾æĄĮĀĆÄÅĘĒČÉŹĖĢĶĪĻŠŃŅÓŌÕÖ×ŲŁŚŪÜŻŽßąįāćäåęēčéźėģķīļšńņóōõö÷ųłśūüżž’\"\n  },\n  \"cp28603\": \"iso885913\",\n  \"iso885914\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ Ḃḃ£ĊċḊ§Ẁ©ẂḋỲ­®ŸḞḟĠġṀṁ¶ṖẁṗẃṠỳẄẅṡÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŴÑÒÓÔÕÖṪØÙÚÛÜÝŶßàáâãäåæçèéêëìíîïŵñòóôõöṫøùúûüýŷÿ\"\n  },\n  \"cp28604\": \"iso885914\",\n  \"iso885915\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n  },\n  \"cp28605\": \"iso885915\",\n  \"iso885916\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ĄąŁ€„Чš©Ș«Ź­źŻ°±ČłŽ”¶·žčș»ŒœŸżÀÁÂĂÄĆÆÇÈÉÊËÌÍÎÏĐŃÒÓÔŐÖŚŰÙÚÛÜĘȚßàáâăäćæçèéêëìíîïđńòóôőöśűùúûüęțÿ\"\n  },\n  \"cp28606\": \"iso885916\",\n  \"cp437\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm437\": \"cp437\",\n  \"csibm437\": \"cp437\",\n  \"cp737\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩαβγδεζηθικλμνξοπρσςτυφχψ░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ωάέήϊίόύϋώΆΈΉΊΌΎΏ±≥≤ΪΫ÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm737\": \"cp737\",\n  \"csibm737\": \"cp737\",\n  \"cp775\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ĆüéāäģåćłēŖŗīŹÄÅÉæÆōöĢ¢ŚśÖÜø£Ø×¤ĀĪóŻżź”¦©®¬½¼Ł«»░▒▓│┤ĄČĘĖ╣║╗╝ĮŠ┐└┴┬├─┼ŲŪ╚╔╩╦╠═╬Žąčęėįšųūž┘┌█▄▌▐▀ÓßŌŃõÕµńĶķĻļņĒŅ’­±“¾¶§÷„°∙·¹³²■ \"\n  },\n  \"ibm775\": \"cp775\",\n  \"csibm775\": \"cp775\",\n  \"cp850\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈıÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \"\n  },\n  \"ibm850\": \"cp850\",\n  \"csibm850\": \"cp850\",\n  \"cp852\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäůćçłëŐőîŹÄĆÉĹĺôöĽľŚśÖÜŤťŁ×čáíóúĄąŽžĘ꬟Ⱥ«»░▒▓│┤ÁÂĚŞ╣║╗╝Żż┐└┴┬├─┼Ăă╚╔╩╦╠═╬¤đĐĎËďŇÍÎě┘┌█▄ŢŮ▀ÓßÔŃńňŠšŔÚŕŰýÝţ´­˝˛ˇ˘§÷¸°¨˙űŘř■ \"\n  },\n  \"ibm852\": \"cp852\",\n  \"csibm852\": \"cp852\",\n  \"cp855\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ђЂѓЃёЁєЄѕЅіІїЇјЈљЉњЊћЋќЌўЎџЏюЮъЪаАбБцЦдДеЕфФгГ«»░▒▓│┤хХиИ╣║╗╝йЙ┐└┴┬├─┼кК╚╔╩╦╠═╬¤лЛмМнНоОп┘┌█▄Пя▀ЯрРсСтТуУжЖвВьЬ№­ыЫзЗшШэЭщЩчЧ§■ \"\n  },\n  \"ibm855\": \"cp855\",\n  \"csibm855\": \"cp855\",\n  \"cp856\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"אבגדהוזחטיךכלםמןנסעףפץצקרשת�£�×����������®¬½¼�«»░▒▓│┤���©╣║╗╝¢¥┐└┴┬├─┼��╚╔╩╦╠═╬¤���������┘┌█▄¦�▀������µ�������¯´­±‗¾¶§÷¸°¨·¹³²■ \"\n  },\n  \"ibm856\": \"cp856\",\n  \"csibm856\": \"cp856\",\n  \"cp857\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäàåçêëèïîıÄÅÉæÆôöòûùİÖÜø£ØŞşáíóúñÑĞ𿮬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ºªÊËÈ�ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµ�×ÚÛÙìÿ¯´­±�¾¶§÷¸°¨·¹³²■ \"\n  },\n  \"ibm857\": \"cp857\",\n  \"csibm857\": \"cp857\",\n  \"cp858\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø×ƒáíóúñѪº¿®¬½¼¡«»░▒▓│┤ÁÂÀ©╣║╗╝¢¥┐└┴┬├─┼ãÃ╚╔╩╦╠═╬¤ðÐÊËÈ€ÍÎÏ┘┌█▄¦Ì▀ÓßÔÒõÕµþÞÚÛÙýݯ´­±‗¾¶§÷¸°¨·¹³²■ \"\n  },\n  \"ibm858\": \"cp858\",\n  \"csibm858\": \"cp858\",\n  \"cp860\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâãàÁçêÊèÍÔìÃÂÉÀÈôõòÚùÌÕÜ¢£Ù₧ÓáíóúñѪº¿Ò¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm860\": \"cp860\",\n  \"csibm860\": \"cp860\",\n  \"cp861\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäàåçêëèÐðÞÄÅÉæÆôöþûÝýÖÜø£Ø₧ƒáíóúÁÍÓÚ¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm861\": \"cp861\",\n  \"csibm861\": \"cp861\",\n  \"cp862\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"אבגדהוזחטיךכלםמןנסעףפץצקרשת¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm862\": \"cp862\",\n  \"csibm862\": \"cp862\",\n  \"cp863\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâÂà¶çêëèïî‗À§ÉÈÊôËÏûù¤ÔÜ¢£ÙÛƒ¦´óú¨¸³¯Î⌐¬½¼¾«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm863\": \"cp863\",\n  \"csibm863\": \"cp863\",\n  \"cp864\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$٪&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�\"\n  },\n  \"ibm864\": \"cp864\",\n  \"csibm864\": \"cp864\",\n  \"cp865\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n  },\n  \"ibm865\": \"cp865\",\n  \"csibm865\": \"cp865\",\n  \"cp866\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ \"\n  },\n  \"ibm866\": \"cp866\",\n  \"csibm866\": \"cp866\",\n  \"cp869\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ \"\n  },\n  \"ibm869\": \"cp869\",\n  \"csibm869\": \"cp869\",\n  \"cp922\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖרÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ\"\n  },\n  \"ibm922\": \"cp922\",\n  \"csibm922\": \"cp922\",\n  \"cp1046\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�\"\n  },\n  \"ibm1046\": \"cp1046\",\n  \"csibm1046\": \"cp1046\",\n  \"cp1124\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ\"\n  },\n  \"ibm1124\": \"cp1124\",\n  \"csibm1124\": \"cp1124\",\n  \"cp1125\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ \"\n  },\n  \"ibm1125\": \"cp1125\",\n  \"csibm1125\": \"cp1125\",\n  \"cp1129\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\"\n  },\n  \"ibm1129\": \"cp1129\",\n  \"csibm1129\": \"cp1129\",\n  \"cp1133\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�\"\n  },\n  \"ibm1133\": \"cp1133\",\n  \"csibm1133\": \"cp1133\",\n  \"cp1161\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ \"\n  },\n  \"ibm1161\": \"cp1161\",\n  \"csibm1161\": \"cp1161\",\n  \"cp1162\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n  },\n  \"ibm1162\": \"cp1162\",\n  \"csibm1162\": \"cp1162\",\n  \"cp1163\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖרÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ\"\n  },\n  \"ibm1163\": \"cp1163\",\n  \"csibm1163\": \"cp1163\",\n  \"maccroatian\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ\"\n  },\n  \"maccyrillic\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\"\n  },\n  \"macgreek\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�\"\n  },\n  \"maciceland\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n  },\n  \"macroman\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n  },\n  \"macromania\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n  },\n  \"macthai\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����\"\n  },\n  \"macturkish\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ\"\n  },\n  \"macukraine\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤\"\n  },\n  \"koi8r\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n  },\n  \"koi8u\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n  },\n  \"koi8ru\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n  },\n  \"koi8t\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ\"\n  },\n  \"armscii8\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�\"\n  },\n  \"rk1048\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\"\n  },\n  \"tcvn\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"\\u0000ÚỤ\\u0003ỪỬỮ\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010ỨỰỲỶỸÝỴ\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ\"\n  },\n  \"georgianacademy\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n  },\n  \"georgianps\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ\"\n  },\n  \"pt154\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя\"\n  },\n  \"viscii\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"\\u0000\\u0001Ẳ\\u0003\\u0004ẴẪ\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013Ỷ\\u0015\\u0016\\u0017\\u0018Ỹ\\u001a\\u001b\\u001c\\u001dỴ\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ\"\n  },\n  \"iso646cn\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������\"\n  },\n  \"iso646jp\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"\\u0000\\u0001\\u0002\\u0003\\u0004\\u0005\\u0006\\u0007\\b\\t\\n\\u000b\\f\\r\\u000e\\u000f\\u0010\\u0011\\u0012\\u0013\\u0014\\u0015\\u0016\\u0017\\u0018\\u0019\\u001a\\u001b\\u001c\\u001d\\u001e\\u001f !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������\"\n  },\n  \"hproman8\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�\"\n  },\n  \"macintosh\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ\"\n  },\n  \"ascii\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"��������������������������������������������������������������������������������������������������������������������������������\"\n  },\n  \"tis620\": {\n    \"type\": \"_sbcs\",\n    \"chars\": \"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����\"\n  }\n}","\"use strict\";\n\n// Manually added data to be used by sbcs codec in addition to generated one.\n\nmodule.exports = {\n    // Not supported by iconv, not sure why.\n    \"10029\": \"maccenteuro\",\n    \"maccenteuro\": {\n        \"type\": \"_sbcs\",\n        \"chars\": \"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ\"\n    },\n\n    \"808\": \"cp808\",\n    \"ibm808\": \"cp808\",\n    \"cp808\": {\n        \"type\": \"_sbcs\",\n        \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№€■ \"\n    },\n\n    \"mik\": {\n        \"type\": \"_sbcs\",\n        \"chars\": \"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя└┴┬├─┼╣║╚╔╩╦╠═╬┐░▒▓│┤№§╗╝┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ \"\n    },\n\n    \"cp720\": {\n        \"type\": \"_sbcs\",\n        \"chars\": \"\\x80\\x81éâ\\x84à\\x86çêëèïî\\x8d\\x8e\\x8f\\x90\\u0651\\u0652ô¤ـûùءآأؤ£إئابةتثجحخدذرزسشص«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀ضطظعغفµقكلمنهوىي≡\\u064b\\u064c\\u064d\\u064e\\u064f\\u0650≈°∙·√ⁿ²■\\u00a0\"\n    },\n\n    // Aliases of generated encodings.\n    \"ascii8bit\": \"ascii\",\n    \"usascii\": \"ascii\",\n    \"ansix34\": \"ascii\",\n    \"ansix341968\": \"ascii\",\n    \"ansix341986\": \"ascii\",\n    \"csascii\": \"ascii\",\n    \"cp367\": \"ascii\",\n    \"ibm367\": \"ascii\",\n    \"isoir6\": \"ascii\",\n    \"iso646us\": \"ascii\",\n    \"iso646irv\": \"ascii\",\n    \"us\": \"ascii\",\n\n    \"latin1\": \"iso88591\",\n    \"latin2\": \"iso88592\",\n    \"latin3\": \"iso88593\",\n    \"latin4\": \"iso88594\",\n    \"latin5\": \"iso88599\",\n    \"latin6\": \"iso885910\",\n    \"latin7\": \"iso885913\",\n    \"latin8\": \"iso885914\",\n    \"latin9\": \"iso885915\",\n    \"latin10\": \"iso885916\",\n\n    \"csisolatin1\": \"iso88591\",\n    \"csisolatin2\": \"iso88592\",\n    \"csisolatin3\": \"iso88593\",\n    \"csisolatin4\": \"iso88594\",\n    \"csisolatincyrillic\": \"iso88595\",\n    \"csisolatinarabic\": \"iso88596\",\n    \"csisolatingreek\" : \"iso88597\",\n    \"csisolatinhebrew\": \"iso88598\",\n    \"csisolatin5\": \"iso88599\",\n    \"csisolatin6\": \"iso885910\",\n\n    \"l1\": \"iso88591\",\n    \"l2\": \"iso88592\",\n    \"l3\": \"iso88593\",\n    \"l4\": \"iso88594\",\n    \"l5\": \"iso88599\",\n    \"l6\": \"iso885910\",\n    \"l7\": \"iso885913\",\n    \"l8\": \"iso885914\",\n    \"l9\": \"iso885915\",\n    \"l10\": \"iso885916\",\n\n    \"isoir14\": \"iso646jp\",\n    \"isoir57\": \"iso646cn\",\n    \"isoir100\": \"iso88591\",\n    \"isoir101\": \"iso88592\",\n    \"isoir109\": \"iso88593\",\n    \"isoir110\": \"iso88594\",\n    \"isoir144\": \"iso88595\",\n    \"isoir127\": \"iso88596\",\n    \"isoir126\": \"iso88597\",\n    \"isoir138\": \"iso88598\",\n    \"isoir148\": \"iso88599\",\n    \"isoir157\": \"iso885910\",\n    \"isoir166\": \"tis620\",\n    \"isoir179\": \"iso885913\",\n    \"isoir199\": \"iso885914\",\n    \"isoir203\": \"iso885915\",\n    \"isoir226\": \"iso885916\",\n\n    \"cp819\": \"iso88591\",\n    \"ibm819\": \"iso88591\",\n\n    \"cyrillic\": \"iso88595\",\n\n    \"arabic\": \"iso88596\",\n    \"arabic8\": \"iso88596\",\n    \"ecma114\": \"iso88596\",\n    \"asmo708\": \"iso88596\",\n\n    \"greek\" : \"iso88597\",\n    \"greek8\" : \"iso88597\",\n    \"ecma118\" : \"iso88597\",\n    \"elot928\" : \"iso88597\",\n\n    \"hebrew\": \"iso88598\",\n    \"hebrew8\": \"iso88598\",\n\n    \"turkish\": \"iso88599\",\n    \"turkish8\": \"iso88599\",\n\n    \"thai\": \"iso885911\",\n    \"thai8\": \"iso885911\",\n\n    \"celtic\": \"iso885914\",\n    \"celtic8\": \"iso885914\",\n    \"isoceltic\": \"iso885914\",\n\n    \"tis6200\": \"tis620\",\n    \"tis62025291\": \"tis620\",\n    \"tis62025330\": \"tis620\",\n\n    \"10000\": \"macroman\",\n    \"10006\": \"macgreek\",\n    \"10007\": \"maccyrillic\",\n    \"10079\": \"maciceland\",\n    \"10081\": \"macturkish\",\n\n    \"cspc8codepage437\": \"cp437\",\n    \"cspc775baltic\": \"cp775\",\n    \"cspc850multilingual\": \"cp850\",\n    \"cspcp852\": \"cp852\",\n    \"cspc862latinhebrew\": \"cp862\",\n    \"cpgr\": \"cp869\",\n\n    \"msee\": \"cp1250\",\n    \"mscyrl\": \"cp1251\",\n    \"msansi\": \"cp1252\",\n    \"msgreek\": \"cp1253\",\n    \"msturk\": \"cp1254\",\n    \"mshebr\": \"cp1255\",\n    \"msarab\": \"cp1256\",\n    \"winbaltrim\": \"cp1257\",\n\n    \"cp20866\": \"koi8r\",\n    \"20866\": \"koi8r\",\n    \"ibm878\": \"koi8r\",\n    \"cskoi8r\": \"koi8r\",\n\n    \"cp21866\": \"koi8u\",\n    \"21866\": \"koi8u\",\n    \"ibm1168\": \"koi8u\",\n\n    \"strk10482002\": \"rk1048\",\n\n    \"tcvn5712\": \"tcvn\",\n    \"tcvn57121\": \"tcvn\",\n\n    \"gb198880\": \"iso646cn\",\n    \"cn\": \"iso646cn\",\n\n    \"csiso14jisc6220ro\": \"iso646jp\",\n    \"jisc62201969ro\": \"iso646jp\",\n    \"jp\": \"iso646jp\",\n\n    \"cshproman8\": \"hproman8\",\n    \"r8\": \"hproman8\",\n    \"roman8\": \"hproman8\",\n    \"xroman8\": \"hproman8\",\n    \"ibm1051\": \"hproman8\",\n\n    \"mac\": \"macintosh\",\n    \"csmacintosh\": \"macintosh\",\n};\n\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// Note: UTF16-LE (or UCS2) codec is Node.js native. See encodings/internal.js\n\n// == UTF16-BE codec. ==========================================================\n\nexports.utf16be = Utf16BECodec;\nfunction Utf16BECodec() {\n}\n\nUtf16BECodec.prototype.encoder = Utf16BEEncoder;\nUtf16BECodec.prototype.decoder = Utf16BEDecoder;\nUtf16BECodec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nfunction Utf16BEEncoder() {\n}\n\nUtf16BEEncoder.prototype.write = function(str) {\n    var buf = Buffer.from(str, 'ucs2');\n    for (var i = 0; i < buf.length; i += 2) {\n        var tmp = buf[i]; buf[i] = buf[i+1]; buf[i+1] = tmp;\n    }\n    return buf;\n}\n\nUtf16BEEncoder.prototype.end = function() {\n}\n\n\n// -- Decoding\n\nfunction Utf16BEDecoder() {\n    this.overflowByte = -1;\n}\n\nUtf16BEDecoder.prototype.write = function(buf) {\n    if (buf.length == 0)\n        return '';\n\n    var buf2 = Buffer.alloc(buf.length + 1),\n        i = 0, j = 0;\n\n    if (this.overflowByte !== -1) {\n        buf2[0] = buf[0];\n        buf2[1] = this.overflowByte;\n        i = 1; j = 2;\n    }\n\n    for (; i < buf.length-1; i += 2, j+= 2) {\n        buf2[j] = buf[i+1];\n        buf2[j+1] = buf[i];\n    }\n\n    this.overflowByte = (i == buf.length-1) ? buf[buf.length-1] : -1;\n\n    return buf2.slice(0, j).toString('ucs2');\n}\n\nUtf16BEDecoder.prototype.end = function() {\n    this.overflowByte = -1;\n}\n\n\n// == UTF-16 codec =============================================================\n// Decoder chooses automatically from UTF-16LE and UTF-16BE using BOM and space-based heuristic.\n// Defaults to UTF-16LE, as it's prevalent and default in Node.\n// http://en.wikipedia.org/wiki/UTF-16 and http://encoding.spec.whatwg.org/#utf-16le\n// Decoder default can be changed: iconv.decode(buf, 'utf16', {defaultEncoding: 'utf-16be'});\n\n// Encoder uses UTF-16LE and prepends BOM (which can be overridden with addBOM: false).\n\nexports.utf16 = Utf16Codec;\nfunction Utf16Codec(codecOptions, iconv) {\n    this.iconv = iconv;\n}\n\nUtf16Codec.prototype.encoder = Utf16Encoder;\nUtf16Codec.prototype.decoder = Utf16Decoder;\n\n\n// -- Encoding (pass-through)\n\nfunction Utf16Encoder(options, codec) {\n    options = options || {};\n    if (options.addBOM === undefined)\n        options.addBOM = true;\n    this.encoder = codec.iconv.getEncoder('utf-16le', options);\n}\n\nUtf16Encoder.prototype.write = function(str) {\n    return this.encoder.write(str);\n}\n\nUtf16Encoder.prototype.end = function() {\n    return this.encoder.end();\n}\n\n\n// -- Decoding\n\nfunction Utf16Decoder(options, codec) {\n    this.decoder = null;\n    this.initialBufs = [];\n    this.initialBufsLen = 0;\n\n    this.options = options || {};\n    this.iconv = codec.iconv;\n}\n\nUtf16Decoder.prototype.write = function(buf) {\n    if (!this.decoder) {\n        // Codec is not chosen yet. Accumulate initial bytes.\n        this.initialBufs.push(buf);\n        this.initialBufsLen += buf.length;\n        \n        if (this.initialBufsLen < 16) // We need more bytes to use space heuristic (see below)\n            return '';\n\n        // We have enough bytes -> detect endianness.\n        var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n        this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n        var resStr = '';\n        for (var i = 0; i < this.initialBufs.length; i++)\n            resStr += this.decoder.write(this.initialBufs[i]);\n\n        this.initialBufs.length = this.initialBufsLen = 0;\n        return resStr;\n    }\n\n    return this.decoder.write(buf);\n}\n\nUtf16Decoder.prototype.end = function() {\n    if (!this.decoder) {\n        var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n        this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n        var resStr = '';\n        for (var i = 0; i < this.initialBufs.length; i++)\n            resStr += this.decoder.write(this.initialBufs[i]);\n\n        var trail = this.decoder.end();\n        if (trail)\n            resStr += trail;\n\n        this.initialBufs.length = this.initialBufsLen = 0;\n        return resStr;\n    }\n    return this.decoder.end();\n}\n\nfunction detectEncoding(bufs, defaultEncoding) {\n    var b = [];\n    var charsProcessed = 0;\n    var asciiCharsLE = 0, asciiCharsBE = 0; // Number of ASCII chars when decoded as LE or BE.\n\n    outer_loop:\n    for (var i = 0; i < bufs.length; i++) {\n        var buf = bufs[i];\n        for (var j = 0; j < buf.length; j++) {\n            b.push(buf[j]);\n            if (b.length === 2) {\n                if (charsProcessed === 0) {\n                    // Check BOM first.\n                    if (b[0] === 0xFF && b[1] === 0xFE) return 'utf-16le';\n                    if (b[0] === 0xFE && b[1] === 0xFF) return 'utf-16be';\n                }\n\n                if (b[0] === 0 && b[1] !== 0) asciiCharsBE++;\n                if (b[0] !== 0 && b[1] === 0) asciiCharsLE++;\n\n                b.length = 0;\n                charsProcessed++;\n\n                if (charsProcessed >= 100) {\n                    break outer_loop;\n                }\n            }\n        }\n    }\n\n    // Make decisions.\n    // Most of the time, the content has ASCII chars (U+00**), but the opposite (U+**00) is uncommon.\n    // So, we count ASCII as if it was LE or BE, and decide from that.\n    if (asciiCharsBE > asciiCharsLE) return 'utf-16be';\n    if (asciiCharsBE < asciiCharsLE) return 'utf-16le';\n\n    // Couldn't decide (likely all zeros or not enough data).\n    return defaultEncoding || 'utf-16le';\n}\n\n\n","'use strict';\n\nvar Buffer = require('safer-buffer').Buffer;\n\n// == UTF32-LE/BE codec. ==========================================================\n\nexports._utf32 = Utf32Codec;\n\nfunction Utf32Codec(codecOptions, iconv) {\n    this.iconv = iconv;\n    this.bomAware = true;\n    this.isLE = codecOptions.isLE;\n}\n\nexports.utf32le = { type: '_utf32', isLE: true };\nexports.utf32be = { type: '_utf32', isLE: false };\n\n// Aliases\nexports.ucs4le = 'utf32le';\nexports.ucs4be = 'utf32be';\n\nUtf32Codec.prototype.encoder = Utf32Encoder;\nUtf32Codec.prototype.decoder = Utf32Decoder;\n\n// -- Encoding\n\nfunction Utf32Encoder(options, codec) {\n    this.isLE = codec.isLE;\n    this.highSurrogate = 0;\n}\n\nUtf32Encoder.prototype.write = function(str) {\n    var src = Buffer.from(str, 'ucs2');\n    var dst = Buffer.alloc(src.length * 2);\n    var write32 = this.isLE ? dst.writeUInt32LE : dst.writeUInt32BE;\n    var offset = 0;\n\n    for (var i = 0; i < src.length; i += 2) {\n        var code = src.readUInt16LE(i);\n        var isHighSurrogate = (0xD800 <= code && code < 0xDC00);\n        var isLowSurrogate = (0xDC00 <= code && code < 0xE000);\n\n        if (this.highSurrogate) {\n            if (isHighSurrogate || !isLowSurrogate) {\n                // There shouldn't be two high surrogates in a row, nor a high surrogate which isn't followed by a low\n                // surrogate. If this happens, keep the pending high surrogate as a stand-alone semi-invalid character\n                // (technically wrong, but expected by some applications, like Windows file names).\n                write32.call(dst, this.highSurrogate, offset);\n                offset += 4;\n            }\n            else {\n                // Create 32-bit value from high and low surrogates;\n                var codepoint = (((this.highSurrogate - 0xD800) << 10) | (code - 0xDC00)) + 0x10000;\n\n                write32.call(dst, codepoint, offset);\n                offset += 4;\n                this.highSurrogate = 0;\n\n                continue;\n            }\n        }\n\n        if (isHighSurrogate)\n            this.highSurrogate = code;\n        else {\n            // Even if the current character is a low surrogate, with no previous high surrogate, we'll\n            // encode it as a semi-invalid stand-alone character for the same reasons expressed above for\n            // unpaired high surrogates.\n            write32.call(dst, code, offset);\n            offset += 4;\n            this.highSurrogate = 0;\n        }\n    }\n\n    if (offset < dst.length)\n        dst = dst.slice(0, offset);\n\n    return dst;\n};\n\nUtf32Encoder.prototype.end = function() {\n    // Treat any leftover high surrogate as a semi-valid independent character.\n    if (!this.highSurrogate)\n        return;\n\n    var buf = Buffer.alloc(4);\n\n    if (this.isLE)\n        buf.writeUInt32LE(this.highSurrogate, 0);\n    else\n        buf.writeUInt32BE(this.highSurrogate, 0);\n\n    this.highSurrogate = 0;\n\n    return buf;\n};\n\n// -- Decoding\n\nfunction Utf32Decoder(options, codec) {\n    this.isLE = codec.isLE;\n    this.badChar = codec.iconv.defaultCharUnicode.charCodeAt(0);\n    this.overflow = [];\n}\n\nUtf32Decoder.prototype.write = function(src) {\n    if (src.length === 0)\n        return '';\n\n    var i = 0;\n    var codepoint = 0;\n    var dst = Buffer.alloc(src.length + 4);\n    var offset = 0;\n    var isLE = this.isLE;\n    var overflow = this.overflow;\n    var badChar = this.badChar;\n\n    if (overflow.length > 0) {\n        for (; i < src.length && overflow.length < 4; i++)\n            overflow.push(src[i]);\n        \n        if (overflow.length === 4) {\n            // NOTE: codepoint is a signed int32 and can be negative.\n            // NOTE: We copied this block from below to help V8 optimize it (it works with array, not buffer).\n            if (isLE) {\n                codepoint = overflow[i] | (overflow[i+1] << 8) | (overflow[i+2] << 16) | (overflow[i+3] << 24);\n            } else {\n                codepoint = overflow[i+3] | (overflow[i+2] << 8) | (overflow[i+1] << 16) | (overflow[i] << 24);\n            }\n            overflow.length = 0;\n\n            offset = _writeCodepoint(dst, offset, codepoint, badChar);\n        }\n    }\n\n    // Main loop. Should be as optimized as possible.\n    for (; i < src.length - 3; i += 4) {\n        // NOTE: codepoint is a signed int32 and can be negative.\n        if (isLE) {\n            codepoint = src[i] | (src[i+1] << 8) | (src[i+2] << 16) | (src[i+3] << 24);\n        } else {\n            codepoint = src[i+3] | (src[i+2] << 8) | (src[i+1] << 16) | (src[i] << 24);\n        }\n        offset = _writeCodepoint(dst, offset, codepoint, badChar);\n    }\n\n    // Keep overflowing bytes.\n    for (; i < src.length; i++) {\n        overflow.push(src[i]);\n    }\n\n    return dst.slice(0, offset).toString('ucs2');\n};\n\nfunction _writeCodepoint(dst, offset, codepoint, badChar) {\n    // NOTE: codepoint is signed int32 and can be negative. We keep it that way to help V8 with optimizations.\n    if (codepoint < 0 || codepoint > 0x10FFFF) {\n        // Not a valid Unicode codepoint\n        codepoint = badChar;\n    } \n\n    // Ephemeral Planes: Write high surrogate.\n    if (codepoint >= 0x10000) {\n        codepoint -= 0x10000;\n\n        var high = 0xD800 | (codepoint >> 10);\n        dst[offset++] = high & 0xff;\n        dst[offset++] = high >> 8;\n\n        // Low surrogate is written below.\n        var codepoint = 0xDC00 | (codepoint & 0x3FF);\n    }\n\n    // Write BMP char or low surrogate.\n    dst[offset++] = codepoint & 0xff;\n    dst[offset++] = codepoint >> 8;\n\n    return offset;\n};\n\nUtf32Decoder.prototype.end = function() {\n    this.overflow.length = 0;\n};\n\n// == UTF-32 Auto codec =============================================================\n// Decoder chooses automatically from UTF-32LE and UTF-32BE using BOM and space-based heuristic.\n// Defaults to UTF-32LE. http://en.wikipedia.org/wiki/UTF-32\n// Encoder/decoder default can be changed: iconv.decode(buf, 'utf32', {defaultEncoding: 'utf-32be'});\n\n// Encoder prepends BOM (which can be overridden with (addBOM: false}).\n\nexports.utf32 = Utf32AutoCodec;\nexports.ucs4 = 'utf32';\n\nfunction Utf32AutoCodec(options, iconv) {\n    this.iconv = iconv;\n}\n\nUtf32AutoCodec.prototype.encoder = Utf32AutoEncoder;\nUtf32AutoCodec.prototype.decoder = Utf32AutoDecoder;\n\n// -- Encoding\n\nfunction Utf32AutoEncoder(options, codec) {\n    options = options || {};\n\n    if (options.addBOM === undefined)\n        options.addBOM = true;\n\n    this.encoder = codec.iconv.getEncoder(options.defaultEncoding || 'utf-32le', options);\n}\n\nUtf32AutoEncoder.prototype.write = function(str) {\n    return this.encoder.write(str);\n};\n\nUtf32AutoEncoder.prototype.end = function() {\n    return this.encoder.end();\n};\n\n// -- Decoding\n\nfunction Utf32AutoDecoder(options, codec) {\n    this.decoder = null;\n    this.initialBufs = [];\n    this.initialBufsLen = 0;\n    this.options = options || {};\n    this.iconv = codec.iconv;\n}\n\nUtf32AutoDecoder.prototype.write = function(buf) {\n    if (!this.decoder) { \n        // Codec is not chosen yet. Accumulate initial bytes.\n        this.initialBufs.push(buf);\n        this.initialBufsLen += buf.length;\n\n        if (this.initialBufsLen < 32) // We need more bytes to use space heuristic (see below)\n            return '';\n\n        // We have enough bytes -> detect endianness.\n        var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n        this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n        var resStr = '';\n        for (var i = 0; i < this.initialBufs.length; i++)\n            resStr += this.decoder.write(this.initialBufs[i]);\n\n        this.initialBufs.length = this.initialBufsLen = 0;\n        return resStr;\n    }\n\n    return this.decoder.write(buf);\n};\n\nUtf32AutoDecoder.prototype.end = function() {\n    if (!this.decoder) {\n        var encoding = detectEncoding(this.initialBufs, this.options.defaultEncoding);\n        this.decoder = this.iconv.getDecoder(encoding, this.options);\n\n        var resStr = '';\n        for (var i = 0; i < this.initialBufs.length; i++)\n            resStr += this.decoder.write(this.initialBufs[i]);\n\n        var trail = this.decoder.end();\n        if (trail)\n            resStr += trail;\n\n        this.initialBufs.length = this.initialBufsLen = 0;\n        return resStr;\n    }\n\n    return this.decoder.end();\n};\n\nfunction detectEncoding(bufs, defaultEncoding) {\n    var b = [];\n    var charsProcessed = 0;\n    var invalidLE = 0, invalidBE = 0;   // Number of invalid chars when decoded as LE or BE.\n    var bmpCharsLE = 0, bmpCharsBE = 0; // Number of BMP chars when decoded as LE or BE.\n\n    outer_loop:\n    for (var i = 0; i < bufs.length; i++) {\n        var buf = bufs[i];\n        for (var j = 0; j < buf.length; j++) {\n            b.push(buf[j]);\n            if (b.length === 4) {\n                if (charsProcessed === 0) {\n                    // Check BOM first.\n                    if (b[0] === 0xFF && b[1] === 0xFE && b[2] === 0 && b[3] === 0) {\n                        return 'utf-32le';\n                    }\n                    if (b[0] === 0 && b[1] === 0 && b[2] === 0xFE && b[3] === 0xFF) {\n                        return 'utf-32be';\n                    }\n                }\n\n                if (b[0] !== 0 || b[1] > 0x10) invalidBE++;\n                if (b[3] !== 0 || b[2] > 0x10) invalidLE++;\n\n                if (b[0] === 0 && b[1] === 0 && (b[2] !== 0 || b[3] !== 0)) bmpCharsBE++;\n                if ((b[0] !== 0 || b[1] !== 0) && b[2] === 0 && b[3] === 0) bmpCharsLE++;\n\n                b.length = 0;\n                charsProcessed++;\n\n                if (charsProcessed >= 100) {\n                    break outer_loop;\n                }\n            }\n        }\n    }\n\n    // Make decisions.\n    if (bmpCharsBE - invalidBE > bmpCharsLE - invalidLE)  return 'utf-32be';\n    if (bmpCharsBE - invalidBE < bmpCharsLE - invalidLE)  return 'utf-32le';\n\n    // Couldn't decide (likely all zeros or not enough data).\n    return defaultEncoding || 'utf-32le';\n}\n","\"use strict\";\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// UTF-7 codec, according to https://tools.ietf.org/html/rfc2152\n// See also below a UTF-7-IMAP codec, according to http://tools.ietf.org/html/rfc3501#section-5.1.3\n\nexports.utf7 = Utf7Codec;\nexports.unicode11utf7 = 'utf7'; // Alias UNICODE-1-1-UTF-7\nfunction Utf7Codec(codecOptions, iconv) {\n    this.iconv = iconv;\n};\n\nUtf7Codec.prototype.encoder = Utf7Encoder;\nUtf7Codec.prototype.decoder = Utf7Decoder;\nUtf7Codec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nvar nonDirectChars = /[^A-Za-z0-9'\\(\\),-\\.\\/:\\? \\n\\r\\t]+/g;\n\nfunction Utf7Encoder(options, codec) {\n    this.iconv = codec.iconv;\n}\n\nUtf7Encoder.prototype.write = function(str) {\n    // Naive implementation.\n    // Non-direct chars are encoded as \"+<base64>-\"; single \"+\" char is encoded as \"+-\".\n    return Buffer.from(str.replace(nonDirectChars, function(chunk) {\n        return \"+\" + (chunk === '+' ? '' : \n            this.iconv.encode(chunk, 'utf16-be').toString('base64').replace(/=+$/, '')) \n            + \"-\";\n    }.bind(this)));\n}\n\nUtf7Encoder.prototype.end = function() {\n}\n\n\n// -- Decoding\n\nfunction Utf7Decoder(options, codec) {\n    this.iconv = codec.iconv;\n    this.inBase64 = false;\n    this.base64Accum = '';\n}\n\nvar base64Regex = /[A-Za-z0-9\\/+]/;\nvar base64Chars = [];\nfor (var i = 0; i < 256; i++)\n    base64Chars[i] = base64Regex.test(String.fromCharCode(i));\n\nvar plusChar = '+'.charCodeAt(0), \n    minusChar = '-'.charCodeAt(0),\n    andChar = '&'.charCodeAt(0);\n\nUtf7Decoder.prototype.write = function(buf) {\n    var res = \"\", lastI = 0,\n        inBase64 = this.inBase64,\n        base64Accum = this.base64Accum;\n\n    // The decoder is more involved as we must handle chunks in stream.\n\n    for (var i = 0; i < buf.length; i++) {\n        if (!inBase64) { // We're in direct mode.\n            // Write direct chars until '+'\n            if (buf[i] == plusChar) {\n                res += this.iconv.decode(buf.slice(lastI, i), \"ascii\"); // Write direct chars.\n                lastI = i+1;\n                inBase64 = true;\n            }\n        } else { // We decode base64.\n            if (!base64Chars[buf[i]]) { // Base64 ended.\n                if (i == lastI && buf[i] == minusChar) {// \"+-\" -> \"+\"\n                    res += \"+\";\n                } else {\n                    var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), \"ascii\");\n                    res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n                }\n\n                if (buf[i] != minusChar) // Minus is absorbed after base64.\n                    i--;\n\n                lastI = i+1;\n                inBase64 = false;\n                base64Accum = '';\n            }\n        }\n    }\n\n    if (!inBase64) {\n        res += this.iconv.decode(buf.slice(lastI), \"ascii\"); // Write direct chars.\n    } else {\n        var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), \"ascii\");\n\n        var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.\n        base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.\n        b64str = b64str.slice(0, canBeDecoded);\n\n        res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n    }\n\n    this.inBase64 = inBase64;\n    this.base64Accum = base64Accum;\n\n    return res;\n}\n\nUtf7Decoder.prototype.end = function() {\n    var res = \"\";\n    if (this.inBase64 && this.base64Accum.length > 0)\n        res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), \"utf16-be\");\n\n    this.inBase64 = false;\n    this.base64Accum = '';\n    return res;\n}\n\n\n// UTF-7-IMAP codec.\n// RFC3501 Sec. 5.1.3 Modified UTF-7 (http://tools.ietf.org/html/rfc3501#section-5.1.3)\n// Differences:\n//  * Base64 part is started by \"&\" instead of \"+\"\n//  * Direct characters are 0x20-0x7E, except \"&\" (0x26)\n//  * In Base64, \",\" is used instead of \"/\"\n//  * Base64 must not be used to represent direct characters.\n//  * No implicit shift back from Base64 (should always end with '-')\n//  * String must end in non-shifted position.\n//  * \"-&\" while in base64 is not allowed.\n\n\nexports.utf7imap = Utf7IMAPCodec;\nfunction Utf7IMAPCodec(codecOptions, iconv) {\n    this.iconv = iconv;\n};\n\nUtf7IMAPCodec.prototype.encoder = Utf7IMAPEncoder;\nUtf7IMAPCodec.prototype.decoder = Utf7IMAPDecoder;\nUtf7IMAPCodec.prototype.bomAware = true;\n\n\n// -- Encoding\n\nfunction Utf7IMAPEncoder(options, codec) {\n    this.iconv = codec.iconv;\n    this.inBase64 = false;\n    this.base64Accum = Buffer.alloc(6);\n    this.base64AccumIdx = 0;\n}\n\nUtf7IMAPEncoder.prototype.write = function(str) {\n    var inBase64 = this.inBase64,\n        base64Accum = this.base64Accum,\n        base64AccumIdx = this.base64AccumIdx,\n        buf = Buffer.alloc(str.length*5 + 10), bufIdx = 0;\n\n    for (var i = 0; i < str.length; i++) {\n        var uChar = str.charCodeAt(i);\n        if (0x20 <= uChar && uChar <= 0x7E) { // Direct character or '&'.\n            if (inBase64) {\n                if (base64AccumIdx > 0) {\n                    bufIdx += buf.write(base64Accum.slice(0, base64AccumIdx).toString('base64').replace(/\\//g, ',').replace(/=+$/, ''), bufIdx);\n                    base64AccumIdx = 0;\n                }\n\n                buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.\n                inBase64 = false;\n            }\n\n            if (!inBase64) {\n                buf[bufIdx++] = uChar; // Write direct character\n\n                if (uChar === andChar)  // Ampersand -> '&-'\n                    buf[bufIdx++] = minusChar;\n            }\n\n        } else { // Non-direct character\n            if (!inBase64) {\n                buf[bufIdx++] = andChar; // Write '&', then go to base64 mode.\n                inBase64 = true;\n            }\n            if (inBase64) {\n                base64Accum[base64AccumIdx++] = uChar >> 8;\n                base64Accum[base64AccumIdx++] = uChar & 0xFF;\n\n                if (base64AccumIdx == base64Accum.length) {\n                    bufIdx += buf.write(base64Accum.toString('base64').replace(/\\//g, ','), bufIdx);\n                    base64AccumIdx = 0;\n                }\n            }\n        }\n    }\n\n    this.inBase64 = inBase64;\n    this.base64AccumIdx = base64AccumIdx;\n\n    return buf.slice(0, bufIdx);\n}\n\nUtf7IMAPEncoder.prototype.end = function() {\n    var buf = Buffer.alloc(10), bufIdx = 0;\n    if (this.inBase64) {\n        if (this.base64AccumIdx > 0) {\n            bufIdx += buf.write(this.base64Accum.slice(0, this.base64AccumIdx).toString('base64').replace(/\\//g, ',').replace(/=+$/, ''), bufIdx);\n            this.base64AccumIdx = 0;\n        }\n\n        buf[bufIdx++] = minusChar; // Write '-', then go to direct mode.\n        this.inBase64 = false;\n    }\n\n    return buf.slice(0, bufIdx);\n}\n\n\n// -- Decoding\n\nfunction Utf7IMAPDecoder(options, codec) {\n    this.iconv = codec.iconv;\n    this.inBase64 = false;\n    this.base64Accum = '';\n}\n\nvar base64IMAPChars = base64Chars.slice();\nbase64IMAPChars[','.charCodeAt(0)] = true;\n\nUtf7IMAPDecoder.prototype.write = function(buf) {\n    var res = \"\", lastI = 0,\n        inBase64 = this.inBase64,\n        base64Accum = this.base64Accum;\n\n    // The decoder is more involved as we must handle chunks in stream.\n    // It is forgiving, closer to standard UTF-7 (for example, '-' is optional at the end).\n\n    for (var i = 0; i < buf.length; i++) {\n        if (!inBase64) { // We're in direct mode.\n            // Write direct chars until '&'\n            if (buf[i] == andChar) {\n                res += this.iconv.decode(buf.slice(lastI, i), \"ascii\"); // Write direct chars.\n                lastI = i+1;\n                inBase64 = true;\n            }\n        } else { // We decode base64.\n            if (!base64IMAPChars[buf[i]]) { // Base64 ended.\n                if (i == lastI && buf[i] == minusChar) { // \"&-\" -> \"&\"\n                    res += \"&\";\n                } else {\n                    var b64str = base64Accum + this.iconv.decode(buf.slice(lastI, i), \"ascii\").replace(/,/g, '/');\n                    res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n                }\n\n                if (buf[i] != minusChar) // Minus may be absorbed after base64.\n                    i--;\n\n                lastI = i+1;\n                inBase64 = false;\n                base64Accum = '';\n            }\n        }\n    }\n\n    if (!inBase64) {\n        res += this.iconv.decode(buf.slice(lastI), \"ascii\"); // Write direct chars.\n    } else {\n        var b64str = base64Accum + this.iconv.decode(buf.slice(lastI), \"ascii\").replace(/,/g, '/');\n\n        var canBeDecoded = b64str.length - (b64str.length % 8); // Minimal chunk: 2 quads -> 2x3 bytes -> 3 chars.\n        base64Accum = b64str.slice(canBeDecoded); // The rest will be decoded in future.\n        b64str = b64str.slice(0, canBeDecoded);\n\n        res += this.iconv.decode(Buffer.from(b64str, 'base64'), \"utf16-be\");\n    }\n\n    this.inBase64 = inBase64;\n    this.base64Accum = base64Accum;\n\n    return res;\n}\n\nUtf7IMAPDecoder.prototype.end = function() {\n    var res = \"\";\n    if (this.inBase64 && this.base64Accum.length > 0)\n        res = this.iconv.decode(Buffer.from(this.base64Accum, 'base64'), \"utf16-be\");\n\n    this.inBase64 = false;\n    this.base64Accum = '';\n    return res;\n}\n\n\n","\"use strict\";\n\nvar BOMChar = '\\uFEFF';\n\nexports.PrependBOM = PrependBOMWrapper\nfunction PrependBOMWrapper(encoder, options) {\n    this.encoder = encoder;\n    this.addBOM = true;\n}\n\nPrependBOMWrapper.prototype.write = function(str) {\n    if (this.addBOM) {\n        str = BOMChar + str;\n        this.addBOM = false;\n    }\n\n    return this.encoder.write(str);\n}\n\nPrependBOMWrapper.prototype.end = function() {\n    return this.encoder.end();\n}\n\n\n//------------------------------------------------------------------------------\n\nexports.StripBOM = StripBOMWrapper;\nfunction StripBOMWrapper(decoder, options) {\n    this.decoder = decoder;\n    this.pass = false;\n    this.options = options || {};\n}\n\nStripBOMWrapper.prototype.write = function(buf) {\n    var res = this.decoder.write(buf);\n    if (this.pass || !res)\n        return res;\n\n    if (res[0] === BOMChar) {\n        res = res.slice(1);\n        if (typeof this.options.stripBOM === 'function')\n            this.options.stripBOM();\n    }\n\n    this.pass = true;\n    return res;\n}\n\nStripBOMWrapper.prototype.end = function() {\n    return this.decoder.end();\n}\n\n","\"use strict\";\n\nvar Buffer = require(\"safer-buffer\").Buffer;\n\nvar bomHandling = require(\"./bom-handling\"),\n    iconv = module.exports;\n\n// All codecs and aliases are kept here, keyed by encoding name/alias.\n// They are lazy loaded in `iconv.getCodec` from `encodings/index.js`.\niconv.encodings = null;\n\n// Characters emitted in case of error.\niconv.defaultCharUnicode = '�';\niconv.defaultCharSingleByte = '?';\n\n// Public API.\niconv.encode = function encode(str, encoding, options) {\n    str = \"\" + (str || \"\"); // Ensure string.\n\n    var encoder = iconv.getEncoder(encoding, options);\n\n    var res = encoder.write(str);\n    var trail = encoder.end();\n    \n    return (trail && trail.length > 0) ? Buffer.concat([res, trail]) : res;\n}\n\niconv.decode = function decode(buf, encoding, options) {\n    if (typeof buf === 'string') {\n        if (!iconv.skipDecodeWarning) {\n            console.error('Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding');\n            iconv.skipDecodeWarning = true;\n        }\n\n        buf = Buffer.from(\"\" + (buf || \"\"), \"binary\"); // Ensure buffer.\n    }\n\n    var decoder = iconv.getDecoder(encoding, options);\n\n    var res = decoder.write(buf);\n    var trail = decoder.end();\n\n    return trail ? (res + trail) : res;\n}\n\niconv.encodingExists = function encodingExists(enc) {\n    try {\n        iconv.getCodec(enc);\n        return true;\n    } catch (e) {\n        return false;\n    }\n}\n\n// Legacy aliases to convert functions\niconv.toEncoding = iconv.encode;\niconv.fromEncoding = iconv.decode;\n\n// Search for a codec in iconv.encodings. Cache codec data in iconv._codecDataCache.\niconv._codecDataCache = {};\niconv.getCodec = function getCodec(encoding) {\n    if (!iconv.encodings)\n        iconv.encodings = require(\"../encodings\"); // Lazy load all encoding definitions.\n    \n    // Canonicalize encoding name: strip all non-alphanumeric chars and appended year.\n    var enc = iconv._canonicalizeEncoding(encoding);\n\n    // Traverse iconv.encodings to find actual codec.\n    var codecOptions = {};\n    while (true) {\n        var codec = iconv._codecDataCache[enc];\n        if (codec)\n            return codec;\n\n        var codecDef = iconv.encodings[enc];\n\n        switch (typeof codecDef) {\n            case \"string\": // Direct alias to other encoding.\n                enc = codecDef;\n                break;\n\n            case \"object\": // Alias with options. Can be layered.\n                for (var key in codecDef)\n                    codecOptions[key] = codecDef[key];\n\n                if (!codecOptions.encodingName)\n                    codecOptions.encodingName = enc;\n                \n                enc = codecDef.type;\n                break;\n\n            case \"function\": // Codec itself.\n                if (!codecOptions.encodingName)\n                    codecOptions.encodingName = enc;\n\n                // The codec function must load all tables and return object with .encoder and .decoder methods.\n                // It'll be called only once (for each different options object).\n                codec = new codecDef(codecOptions, iconv);\n\n                iconv._codecDataCache[codecOptions.encodingName] = codec; // Save it to be reused later.\n                return codec;\n\n            default:\n                throw new Error(\"Encoding not recognized: '\" + encoding + \"' (searched as: '\"+enc+\"')\");\n        }\n    }\n}\n\niconv._canonicalizeEncoding = function(encoding) {\n    // Canonicalize encoding name: strip all non-alphanumeric chars and appended year.\n    return (''+encoding).toLowerCase().replace(/:\\d{4}$|[^0-9a-z]/g, \"\");\n}\n\niconv.getEncoder = function getEncoder(encoding, options) {\n    var codec = iconv.getCodec(encoding),\n        encoder = new codec.encoder(options, codec);\n\n    if (codec.bomAware && options && options.addBOM)\n        encoder = new bomHandling.PrependBOM(encoder, options);\n\n    return encoder;\n}\n\niconv.getDecoder = function getDecoder(encoding, options) {\n    var codec = iconv.getCodec(encoding),\n        decoder = new codec.decoder(options, codec);\n\n    if (codec.bomAware && !(options && options.stripBOM === false))\n        decoder = new bomHandling.StripBOM(decoder, options);\n\n    return decoder;\n}\n\n// Streaming API\n// NOTE: Streaming API naturally depends on 'stream' module from Node.js. Unfortunately in browser environments this module can add\n// up to 100Kb to the output bundle. To avoid unnecessary code bloat, we don't enable Streaming API in browser by default.\n// If you would like to enable it explicitly, please add the following code to your app:\n// > iconv.enableStreamingAPI(require('stream'));\niconv.enableStreamingAPI = function enableStreamingAPI(stream_module) {\n    if (iconv.supportsStreams)\n        return;\n\n    // Dependency-inject stream module to create IconvLite stream classes.\n    var streams = require(\"./streams\")(stream_module);\n\n    // Not public API yet, but expose the stream classes.\n    iconv.IconvLiteEncoderStream = streams.IconvLiteEncoderStream;\n    iconv.IconvLiteDecoderStream = streams.IconvLiteDecoderStream;\n\n    // Streaming API.\n    iconv.encodeStream = function encodeStream(encoding, options) {\n        return new iconv.IconvLiteEncoderStream(iconv.getEncoder(encoding, options), options);\n    }\n\n    iconv.decodeStream = function decodeStream(encoding, options) {\n        return new iconv.IconvLiteDecoderStream(iconv.getDecoder(encoding, options), options);\n    }\n\n    iconv.supportsStreams = true;\n}\n\n// Enable Streaming API automatically if 'stream' module is available and non-empty (the majority of environments).\nvar stream_module;\ntry {\n    stream_module = require(\"stream\");\n} catch (e) {}\n\nif (stream_module && stream_module.Transform) {\n    iconv.enableStreamingAPI(stream_module);\n\n} else {\n    // In rare cases where 'stream' module is not available by default, throw a helpful exception.\n    iconv.encodeStream = iconv.decodeStream = function() {\n        throw new Error(\"iconv-lite Streaming API is not enabled. Use iconv.enableStreamingAPI(require('stream')); to enable it.\");\n    };\n}\n\nif (\"Ā\" != \"\\u0100\") {\n    console.error(\"iconv-lite warning: js files use non-utf8 encoding. See https://github.com/ashtuchkin/iconv-lite/wiki/Javascript-source-file-encodings for more info.\");\n}\n","\"use strict\";\n\nvar Buffer = require(\"safer-buffer\").Buffer;\n\n// NOTE: Due to 'stream' module being pretty large (~100Kb, significant in browser environments), \n// we opt to dependency-inject it instead of creating a hard dependency.\nmodule.exports = function(stream_module) {\n    var Transform = stream_module.Transform;\n\n    // == Encoder stream =======================================================\n\n    function IconvLiteEncoderStream(conv, options) {\n        this.conv = conv;\n        options = options || {};\n        options.decodeStrings = false; // We accept only strings, so we don't need to decode them.\n        Transform.call(this, options);\n    }\n\n    IconvLiteEncoderStream.prototype = Object.create(Transform.prototype, {\n        constructor: { value: IconvLiteEncoderStream }\n    });\n\n    IconvLiteEncoderStream.prototype._transform = function(chunk, encoding, done) {\n        if (typeof chunk != 'string')\n            return done(new Error(\"Iconv encoding stream needs strings as its input.\"));\n        try {\n            var res = this.conv.write(chunk);\n            if (res && res.length) this.push(res);\n            done();\n        }\n        catch (e) {\n            done(e);\n        }\n    }\n\n    IconvLiteEncoderStream.prototype._flush = function(done) {\n        try {\n            var res = this.conv.end();\n            if (res && res.length) this.push(res);\n            done();\n        }\n        catch (e) {\n            done(e);\n        }\n    }\n\n    IconvLiteEncoderStream.prototype.collect = function(cb) {\n        var chunks = [];\n        this.on('error', cb);\n        this.on('data', function(chunk) { chunks.push(chunk); });\n        this.on('end', function() {\n            cb(null, Buffer.concat(chunks));\n        });\n        return this;\n    }\n\n\n    // == Decoder stream =======================================================\n\n    function IconvLiteDecoderStream(conv, options) {\n        this.conv = conv;\n        options = options || {};\n        options.encoding = this.encoding = 'utf8'; // We output strings.\n        Transform.call(this, options);\n    }\n\n    IconvLiteDecoderStream.prototype = Object.create(Transform.prototype, {\n        constructor: { value: IconvLiteDecoderStream }\n    });\n\n    IconvLiteDecoderStream.prototype._transform = function(chunk, encoding, done) {\n        if (!Buffer.isBuffer(chunk) && !(chunk instanceof Uint8Array))\n            return done(new Error(\"Iconv decoding stream needs buffers as its input.\"));\n        try {\n            var res = this.conv.write(chunk);\n            if (res && res.length) this.push(res, this.encoding);\n            done();\n        }\n        catch (e) {\n            done(e);\n        }\n    }\n\n    IconvLiteDecoderStream.prototype._flush = function(done) {\n        try {\n            var res = this.conv.end();\n            if (res && res.length) this.push(res, this.encoding);                \n            done();\n        }\n        catch (e) {\n            done(e);\n        }\n    }\n\n    IconvLiteDecoderStream.prototype.collect = function(cb) {\n        var res = '';\n        this.on('error', cb);\n        this.on('data', function(chunk) { res += chunk; });\n        this.on('end', function() {\n            cb(null, res);\n        });\n        return this;\n    }\n\n    return {\n        IconvLiteEncoderStream: IconvLiteEncoderStream,\n        IconvLiteDecoderStream: IconvLiteDecoderStream,\n    };\n};\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n","if (typeof Object.create === 'function') {\n  // implementation from standard node.js 'util' module\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      ctor.prototype = Object.create(superCtor.prototype, {\n        constructor: {\n          value: ctor,\n          enumerable: false,\n          writable: true,\n          configurable: true\n        }\n      })\n    }\n  };\n} else {\n  // old school shim for old browsers\n  module.exports = function inherits(ctor, superCtor) {\n    if (superCtor) {\n      ctor.super_ = superCtor\n      var TempCtor = function () {}\n      TempCtor.prototype = superCtor.prototype\n      ctor.prototype = new TempCtor()\n      ctor.prototype.constructor = ctor\n    }\n  }\n}\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar getDay = Date.prototype.getDay;\nvar tryDateObject = function tryDateGetDayCall(value) {\n\ttry {\n\t\tgetDay.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar toStr = Object.prototype.toString;\nvar dateClass = '[object Date]';\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nmodule.exports = function isDateObject(value) {\n\tif (typeof value !== 'object' || value === null) {\n\t\treturn false;\n\t}\n\treturn hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass;\n};\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar callBound = require('call-bind/callBound');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar has;\nvar $exec;\nvar isRegexMarker;\nvar badStringifier;\n\nif (hasToStringTag) {\n\thas = callBound('Object.prototype.hasOwnProperty');\n\t$exec = callBound('RegExp.prototype.exec');\n\tisRegexMarker = {};\n\n\tvar throwRegexMarker = function () {\n\t\tthrow isRegexMarker;\n\t};\n\tbadStringifier = {\n\t\ttoString: throwRegexMarker,\n\t\tvalueOf: throwRegexMarker\n\t};\n\n\tif (typeof Symbol.toPrimitive === 'symbol') {\n\t\tbadStringifier[Symbol.toPrimitive] = throwRegexMarker;\n\t}\n}\n\nvar $toString = callBound('Object.prototype.toString');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar regexClass = '[object RegExp]';\n\nmodule.exports = hasToStringTag\n\t// eslint-disable-next-line consistent-return\n\t? function isRegex(value) {\n\t\tif (!value || typeof value !== 'object') {\n\t\t\treturn false;\n\t\t}\n\n\t\tvar descriptor = gOPD(value, 'lastIndex');\n\t\tvar hasLastIndexDataProperty = descriptor && has(descriptor, 'value');\n\t\tif (!hasLastIndexDataProperty) {\n\t\t\treturn false;\n\t\t}\n\n\t\ttry {\n\t\t\t$exec(value, badStringifier);\n\t\t} catch (e) {\n\t\t\treturn e === isRegexMarker;\n\t\t}\n\t}\n\t: function isRegex(value) {\n\t\t// In older browsers, typeof regex incorrectly returns 'function'\n\t\tif (!value || (typeof value !== 'object' && typeof value !== 'function')) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn $toString(value) === regexClass;\n\t};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\n\nvar TYPED_OK =  (typeof Uint8Array !== 'undefined') &&\n                (typeof Uint16Array !== 'undefined') &&\n                (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n  return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n  var sources = Array.prototype.slice.call(arguments, 1);\n  while (sources.length) {\n    var source = sources.shift();\n    if (!source) { continue; }\n\n    if (typeof source !== 'object') {\n      throw new TypeError(source + 'must be non-object');\n    }\n\n    for (var p in source) {\n      if (_has(source, p)) {\n        obj[p] = source[p];\n      }\n    }\n  }\n\n  return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n  if (buf.length === size) { return buf; }\n  if (buf.subarray) { return buf.subarray(0, size); }\n  buf.length = size;\n  return buf;\n};\n\n\nvar fnTyped = {\n  arraySet: function (dest, src, src_offs, len, dest_offs) {\n    if (src.subarray && dest.subarray) {\n      dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n      return;\n    }\n    // Fallback to ordinary array\n    for (var i = 0; i < len; i++) {\n      dest[dest_offs + i] = src[src_offs + i];\n    }\n  },\n  // Join array of chunks to single array.\n  flattenChunks: function (chunks) {\n    var i, l, len, pos, chunk, result;\n\n    // calculate data length\n    len = 0;\n    for (i = 0, l = chunks.length; i < l; i++) {\n      len += chunks[i].length;\n    }\n\n    // join chunks\n    result = new Uint8Array(len);\n    pos = 0;\n    for (i = 0, l = chunks.length; i < l; i++) {\n      chunk = chunks[i];\n      result.set(chunk, pos);\n      pos += chunk.length;\n    }\n\n    return result;\n  }\n};\n\nvar fnUntyped = {\n  arraySet: function (dest, src, src_offs, len, dest_offs) {\n    for (var i = 0; i < len; i++) {\n      dest[dest_offs + i] = src[src_offs + i];\n    }\n  },\n  // Join array of chunks to single array.\n  flattenChunks: function (chunks) {\n    return [].concat.apply([], chunks);\n  }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n  if (on) {\n    exports.Buf8  = Uint8Array;\n    exports.Buf16 = Uint16Array;\n    exports.Buf32 = Int32Array;\n    exports.assign(exports, fnTyped);\n  } else {\n    exports.Buf8  = Array;\n    exports.Buf16 = Array;\n    exports.Buf32 = Array;\n    exports.assign(exports, fnUntyped);\n  }\n};\n\nexports.setTyped(TYPED_OK);\n","'use strict';\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n  var s1 = (adler & 0xffff) |0,\n      s2 = ((adler >>> 16) & 0xffff) |0,\n      n = 0;\n\n  while (len !== 0) {\n    // Set limit ~ twice less than 5552, to keep\n    // s2 in 31-bits, because we force signed ints.\n    // in other case %= will fail.\n    n = len > 2000 ? 2000 : len;\n    len -= n;\n\n    do {\n      s1 = (s1 + buf[pos++]) |0;\n      s2 = (s2 + s1) |0;\n    } while (--n);\n\n    s1 %= 65521;\n    s2 %= 65521;\n  }\n\n  return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n  /* Allowed flush values; see deflate() and inflate() below for details */\n  Z_NO_FLUSH:         0,\n  Z_PARTIAL_FLUSH:    1,\n  Z_SYNC_FLUSH:       2,\n  Z_FULL_FLUSH:       3,\n  Z_FINISH:           4,\n  Z_BLOCK:            5,\n  Z_TREES:            6,\n\n  /* Return codes for the compression/decompression functions. Negative values\n  * are errors, positive values are used for special but normal events.\n  */\n  Z_OK:               0,\n  Z_STREAM_END:       1,\n  Z_NEED_DICT:        2,\n  Z_ERRNO:           -1,\n  Z_STREAM_ERROR:    -2,\n  Z_DATA_ERROR:      -3,\n  //Z_MEM_ERROR:     -4,\n  Z_BUF_ERROR:       -5,\n  //Z_VERSION_ERROR: -6,\n\n  /* compression levels */\n  Z_NO_COMPRESSION:         0,\n  Z_BEST_SPEED:             1,\n  Z_BEST_COMPRESSION:       9,\n  Z_DEFAULT_COMPRESSION:   -1,\n\n\n  Z_FILTERED:               1,\n  Z_HUFFMAN_ONLY:           2,\n  Z_RLE:                    3,\n  Z_FIXED:                  4,\n  Z_DEFAULT_STRATEGY:       0,\n\n  /* Possible values of the data_type field (though see inflate()) */\n  Z_BINARY:                 0,\n  Z_TEXT:                   1,\n  //Z_ASCII:                1, // = Z_TEXT (deprecated)\n  Z_UNKNOWN:                2,\n\n  /* The deflate compression method */\n  Z_DEFLATED:               8\n  //Z_NULL:                 null // Use -1 or null inline, depending on var type\n};\n","'use strict';\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n  var c, table = [];\n\n  for (var n = 0; n < 256; n++) {\n    c = n;\n    for (var k = 0; k < 8; k++) {\n      c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n    }\n    table[n] = c;\n  }\n\n  return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n  var t = crcTable,\n      end = pos + len;\n\n  crc ^= -1;\n\n  for (var i = pos; i < end; i++) {\n    crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n  }\n\n  return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils   = require('../utils/common');\nvar trees   = require('./trees');\nvar adler32 = require('./adler32');\nvar crc32   = require('./crc32');\nvar msg     = require('./messages');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH      = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH    = 2;\nvar Z_FULL_FLUSH    = 3;\nvar Z_FINISH        = 4;\nvar Z_BLOCK         = 5;\n//var Z_TREES         = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK            = 0;\nvar Z_STREAM_END    = 1;\n//var Z_NEED_DICT     = 2;\n//var Z_ERRNO         = -1;\nvar Z_STREAM_ERROR  = -2;\nvar Z_DATA_ERROR    = -3;\n//var Z_MEM_ERROR     = -4;\nvar Z_BUF_ERROR     = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION      = 0;\n//var Z_BEST_SPEED          = 1;\n//var Z_BEST_COMPRESSION    = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED            = 1;\nvar Z_HUFFMAN_ONLY        = 2;\nvar Z_RLE                 = 3;\nvar Z_FIXED               = 4;\nvar Z_DEFAULT_STRATEGY    = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY              = 0;\n//var Z_TEXT                = 1;\n//var Z_ASCII               = 1; // = Z_TEXT\nvar Z_UNKNOWN             = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED  = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS      = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES       = 30;\n/* number of distance codes */\nvar BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS  = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE      = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE     = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE    = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n  strm.msg = msg[errorCode];\n  return errorCode;\n}\n\nfunction rank(f) {\n  return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n  var s = strm.state;\n\n  //_tr_flush_bits(s);\n  var len = s.pending;\n  if (len > strm.avail_out) {\n    len = strm.avail_out;\n  }\n  if (len === 0) { return; }\n\n  utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n  strm.next_out += len;\n  s.pending_out += len;\n  strm.total_out += len;\n  strm.avail_out -= len;\n  s.pending -= len;\n  if (s.pending === 0) {\n    s.pending_out = 0;\n  }\n}\n\n\nfunction flush_block_only(s, last) {\n  trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n  s.block_start = s.strstart;\n  flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n  s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n//  put_byte(s, (Byte)(b >> 8));\n//  put_byte(s, (Byte)(b & 0xff));\n  s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n  s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read.  All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n  var len = strm.avail_in;\n\n  if (len > size) { len = size; }\n  if (len === 0) { return 0; }\n\n  strm.avail_in -= len;\n\n  // zmemcpy(buf, strm->next_in, len);\n  utils.arraySet(buf, strm.input, strm.next_in, len, start);\n  if (strm.state.wrap === 1) {\n    strm.adler = adler32(strm.adler, buf, len, start);\n  }\n\n  else if (strm.state.wrap === 2) {\n    strm.adler = crc32(strm.adler, buf, len, start);\n  }\n\n  strm.next_in += len;\n  strm.total_in += len;\n\n  return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n  var chain_length = s.max_chain_length;      /* max hash chain length */\n  var scan = s.strstart; /* current string */\n  var match;                       /* matched string */\n  var len;                           /* length of current match */\n  var best_len = s.prev_length;              /* best match length so far */\n  var nice_match = s.nice_match;             /* stop if match long enough */\n  var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n      s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n  var _win = s.window; // shortcut\n\n  var wmask = s.w_mask;\n  var prev  = s.prev;\n\n  /* Stop when cur_match becomes <= limit. To simplify the code,\n   * we prevent matches with the string of window index 0.\n   */\n\n  var strend = s.strstart + MAX_MATCH;\n  var scan_end1  = _win[scan + best_len - 1];\n  var scan_end   = _win[scan + best_len];\n\n  /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n   * It is easy to get rid of this optimization if necessary.\n   */\n  // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n  /* Do not waste too much time if we already have a good match: */\n  if (s.prev_length >= s.good_match) {\n    chain_length >>= 2;\n  }\n  /* Do not look for matches beyond the end of the input. This is necessary\n   * to make deflate deterministic.\n   */\n  if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n  // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n  do {\n    // Assert(cur_match < s->strstart, \"no future\");\n    match = cur_match;\n\n    /* Skip to next match if the match length cannot increase\n     * or if the match length is less than 2.  Note that the checks below\n     * for insufficient lookahead only occur occasionally for performance\n     * reasons.  Therefore uninitialized memory will be accessed, and\n     * conditional jumps will be made that depend on those values.\n     * However the length of the match is limited to the lookahead, so\n     * the output of deflate is not affected by the uninitialized values.\n     */\n\n    if (_win[match + best_len]     !== scan_end  ||\n        _win[match + best_len - 1] !== scan_end1 ||\n        _win[match]                !== _win[scan] ||\n        _win[++match]              !== _win[scan + 1]) {\n      continue;\n    }\n\n    /* The check at best_len-1 can be removed because it will be made\n     * again later. (This heuristic is not always a win.)\n     * It is not necessary to compare scan[2] and match[2] since they\n     * are always equal when the other bytes match, given that\n     * the hash keys are equal and that HASH_BITS >= 8.\n     */\n    scan += 2;\n    match++;\n    // Assert(*scan == *match, \"match[2]?\");\n\n    /* We check for insufficient lookahead only every 8th comparison;\n     * the 256th check will be made at strstart+258.\n     */\n    do {\n      /*jshint noempty:false*/\n    } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n             scan < strend);\n\n    // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n    len = MAX_MATCH - (strend - scan);\n    scan = strend - MAX_MATCH;\n\n    if (len > best_len) {\n      s.match_start = cur_match;\n      best_len = len;\n      if (len >= nice_match) {\n        break;\n      }\n      scan_end1  = _win[scan + best_len - 1];\n      scan_end   = _win[scan + best_len];\n    }\n  } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n  if (best_len <= s.lookahead) {\n    return best_len;\n  }\n  return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n *    At least one byte has been read, or avail_in == 0; reads are\n *    performed for at least two bytes (required for the zip translate_eol\n *    option -- not supported here).\n */\nfunction fill_window(s) {\n  var _w_size = s.w_size;\n  var p, n, m, more, str;\n\n  //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n  do {\n    more = s.window_size - s.lookahead - s.strstart;\n\n    // JS ints have 32 bit, block below not needed\n    /* Deal with !@#$% 64K limit: */\n    //if (sizeof(int) <= 2) {\n    //    if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n    //        more = wsize;\n    //\n    //  } else if (more == (unsigned)(-1)) {\n    //        /* Very unlikely, but possible on 16 bit machine if\n    //         * strstart == 0 && lookahead == 1 (input done a byte at time)\n    //         */\n    //        more--;\n    //    }\n    //}\n\n\n    /* If the window is almost full and there is insufficient lookahead,\n     * move the upper half to the lower one to make room in the upper half.\n     */\n    if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n      utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n      s.match_start -= _w_size;\n      s.strstart -= _w_size;\n      /* we now have strstart >= MAX_DIST */\n      s.block_start -= _w_size;\n\n      /* Slide the hash table (could be avoided with 32 bit values\n       at the expense of memory usage). We slide even when level == 0\n       to keep the hash table consistent if we switch back to level > 0\n       later. (Using level 0 permanently is not an optimal usage of\n       zlib, so we don't care about this pathological case.)\n       */\n\n      n = s.hash_size;\n      p = n;\n      do {\n        m = s.head[--p];\n        s.head[p] = (m >= _w_size ? m - _w_size : 0);\n      } while (--n);\n\n      n = _w_size;\n      p = n;\n      do {\n        m = s.prev[--p];\n        s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n        /* If n is not on any hash chain, prev[n] is garbage but\n         * its value will never be used.\n         */\n      } while (--n);\n\n      more += _w_size;\n    }\n    if (s.strm.avail_in === 0) {\n      break;\n    }\n\n    /* If there was no sliding:\n     *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n     *    more == window_size - lookahead - strstart\n     * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n     * => more >= window_size - 2*WSIZE + 2\n     * In the BIG_MEM or MMAP case (not yet supported),\n     *   window_size == input_size + MIN_LOOKAHEAD  &&\n     *   strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n     * Otherwise, window_size == 2*WSIZE so more >= 2.\n     * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n     */\n    //Assert(more >= 2, \"more < 2\");\n    n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n    s.lookahead += n;\n\n    /* Initialize the hash value now that we have some input: */\n    if (s.lookahead + s.insert >= MIN_MATCH) {\n      str = s.strstart - s.insert;\n      s.ins_h = s.window[str];\n\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n//        Call update_hash() MIN_MATCH-3 more times\n//#endif\n      while (s.insert) {\n        /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n        s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n        s.prev[str & s.w_mask] = s.head[s.ins_h];\n        s.head[s.ins_h] = str;\n        str++;\n        s.insert--;\n        if (s.lookahead + s.insert < MIN_MATCH) {\n          break;\n        }\n      }\n    }\n    /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n     * but this is not important since only literal bytes will be emitted.\n     */\n\n  } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n  /* If the WIN_INIT bytes after the end of the current data have never been\n   * written, then zero those bytes in order to avoid memory check reports of\n   * the use of uninitialized (or uninitialised as Julian writes) bytes by\n   * the longest match routines.  Update the high water mark for the next\n   * time through here.  WIN_INIT is set to MAX_MATCH since the longest match\n   * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n   */\n//  if (s.high_water < s.window_size) {\n//    var curr = s.strstart + s.lookahead;\n//    var init = 0;\n//\n//    if (s.high_water < curr) {\n//      /* Previous high water mark below current data -- zero WIN_INIT\n//       * bytes or up to end of window, whichever is less.\n//       */\n//      init = s.window_size - curr;\n//      if (init > WIN_INIT)\n//        init = WIN_INIT;\n//      zmemzero(s->window + curr, (unsigned)init);\n//      s->high_water = curr + init;\n//    }\n//    else if (s->high_water < (ulg)curr + WIN_INIT) {\n//      /* High water mark at or above current data, but below current data\n//       * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n//       * to end of window, whichever is less.\n//       */\n//      init = (ulg)curr + WIN_INIT - s->high_water;\n//      if (init > s->window_size - s->high_water)\n//        init = s->window_size - s->high_water;\n//      zmemzero(s->window + s->high_water, (unsigned)init);\n//      s->high_water += init;\n//    }\n//  }\n//\n//  Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n//    \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n  /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n   * to pending_buf_size, and each stored block has a 5 byte header:\n   */\n  var max_block_size = 0xffff;\n\n  if (max_block_size > s.pending_buf_size - 5) {\n    max_block_size = s.pending_buf_size - 5;\n  }\n\n  /* Copy as much as possible from input to output: */\n  for (;;) {\n    /* Fill the window as much as possible: */\n    if (s.lookahead <= 1) {\n\n      //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n      //  s->block_start >= (long)s->w_size, \"slide too late\");\n//      if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n//        s.block_start >= s.w_size)) {\n//        throw  new Error(\"slide too late\");\n//      }\n\n      fill_window(s);\n      if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n\n      if (s.lookahead === 0) {\n        break;\n      }\n      /* flush the current block */\n    }\n    //Assert(s->block_start >= 0L, \"block gone\");\n//    if (s.block_start < 0) throw new Error(\"block gone\");\n\n    s.strstart += s.lookahead;\n    s.lookahead = 0;\n\n    /* Emit a stored block if pending_buf will be full: */\n    var max_start = s.block_start + max_block_size;\n\n    if (s.strstart === 0 || s.strstart >= max_start) {\n      /* strstart == 0 is possible when wraparound on 16-bit machine */\n      s.lookahead = s.strstart - max_start;\n      s.strstart = max_start;\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n\n\n    }\n    /* Flush if we may have to slide, otherwise block_start may become\n     * negative and the data will be gone:\n     */\n    if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n\n  s.insert = 0;\n\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n\n  if (s.strstart > s.block_start) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n  var hash_head;        /* head of the hash chain */\n  var bflush;           /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) {\n        break; /* flush the current block */\n      }\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     * At this point we have always match_length < MIN_MATCH\n     */\n    if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n    }\n    if (s.match_length >= MIN_MATCH) {\n      // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n      /*** _tr_tally_dist(s, s.strstart - s.match_start,\n                     s.match_length - MIN_MATCH, bflush); ***/\n      bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n\n      /* Insert new strings in the hash table only if the match length\n       * is not too large. This saves time but degrades compression.\n       */\n      if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n        s.match_length--; /* string at strstart already in table */\n        do {\n          s.strstart++;\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n          /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n           * always MIN_MATCH bytes ahead.\n           */\n        } while (--s.match_length !== 0);\n        s.strstart++;\n      } else\n      {\n        s.strstart += s.match_length;\n        s.match_length = 0;\n        s.ins_h = s.window[s.strstart];\n        /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n        s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n//                Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n        /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n         * matter since it will be recomputed at next deflate call.\n         */\n      }\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n  var hash_head;          /* head of hash chain */\n  var bflush;              /* set if current block must be flushed */\n\n  var max_insert;\n\n  /* Process the input block. */\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the next match, plus MIN_MATCH bytes to insert the\n     * string following the next match.\n     */\n    if (s.lookahead < MIN_LOOKAHEAD) {\n      fill_window(s);\n      if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* Insert the string window[strstart .. strstart+2] in the\n     * dictionary, and set hash_head to the head of the hash chain:\n     */\n    hash_head = 0/*NIL*/;\n    if (s.lookahead >= MIN_MATCH) {\n      /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n      hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n      s.head[s.ins_h] = s.strstart;\n      /***/\n    }\n\n    /* Find the longest match, discarding those <= prev_length.\n     */\n    s.prev_length = s.match_length;\n    s.prev_match = s.match_start;\n    s.match_length = MIN_MATCH - 1;\n\n    if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n        s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n      /* To simplify the code, we prevent matches with the string\n       * of window index 0 (in particular we have to avoid a match\n       * of the string with itself at the start of the input file).\n       */\n      s.match_length = longest_match(s, hash_head);\n      /* longest_match() sets match_start */\n\n      if (s.match_length <= 5 &&\n         (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n        /* If prev_match is also MIN_MATCH, match_start is garbage\n         * but we will ignore the current match anyway.\n         */\n        s.match_length = MIN_MATCH - 1;\n      }\n    }\n    /* If there was a match at the previous step and the current\n     * match is not better, output the previous match:\n     */\n    if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n      max_insert = s.strstart + s.lookahead - MIN_MATCH;\n      /* Do not insert strings in hash table beyond this. */\n\n      //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n      /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n                     s.prev_length - MIN_MATCH, bflush);***/\n      bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n      /* Insert in hash table all strings up to the end of the match.\n       * strstart-1 and strstart are already inserted. If there is not\n       * enough lookahead, the last two strings are not inserted in\n       * the hash table.\n       */\n      s.lookahead -= s.prev_length - 1;\n      s.prev_length -= 2;\n      do {\n        if (++s.strstart <= max_insert) {\n          /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n          s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n          hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n          s.head[s.ins_h] = s.strstart;\n          /***/\n        }\n      } while (--s.prev_length !== 0);\n      s.match_available = 0;\n      s.match_length = MIN_MATCH - 1;\n      s.strstart++;\n\n      if (bflush) {\n        /*** FLUSH_BLOCK(s, 0); ***/\n        flush_block_only(s, false);\n        if (s.strm.avail_out === 0) {\n          return BS_NEED_MORE;\n        }\n        /***/\n      }\n\n    } else if (s.match_available) {\n      /* If there was no match at the previous position, output a\n       * single literal. If there was a match but the current match\n       * is longer, truncate the previous match to a single literal.\n       */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n      /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n      if (bflush) {\n        /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n        flush_block_only(s, false);\n        /***/\n      }\n      s.strstart++;\n      s.lookahead--;\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n    } else {\n      /* There is no previous match to compare with, wait for\n       * the next step to decide.\n       */\n      s.match_available = 1;\n      s.strstart++;\n      s.lookahead--;\n    }\n  }\n  //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n  if (s.match_available) {\n    //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n    /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n    bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n    s.match_available = 0;\n  }\n  s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n\n  return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one.  Do not maintain a hash table.  (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n  var bflush;            /* set if current block must be flushed */\n  var prev;              /* byte at distance one to match */\n  var scan, strend;      /* scan goes up to strend for length of run */\n\n  var _win = s.window;\n\n  for (;;) {\n    /* Make sure that we always have enough lookahead, except\n     * at the end of the input file. We need MAX_MATCH bytes\n     * for the longest run, plus one for the unrolled loop.\n     */\n    if (s.lookahead <= MAX_MATCH) {\n      fill_window(s);\n      if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n        return BS_NEED_MORE;\n      }\n      if (s.lookahead === 0) { break; } /* flush the current block */\n    }\n\n    /* See how many times the previous byte repeats */\n    s.match_length = 0;\n    if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n      scan = s.strstart - 1;\n      prev = _win[scan];\n      if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n        strend = s.strstart + MAX_MATCH;\n        do {\n          /*jshint noempty:false*/\n        } while (prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 prev === _win[++scan] && prev === _win[++scan] &&\n                 scan < strend);\n        s.match_length = MAX_MATCH - (strend - scan);\n        if (s.match_length > s.lookahead) {\n          s.match_length = s.lookahead;\n        }\n      }\n      //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n    }\n\n    /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n    if (s.match_length >= MIN_MATCH) {\n      //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n      /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n      bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n      s.lookahead -= s.match_length;\n      s.strstart += s.match_length;\n      s.match_length = 0;\n    } else {\n      /* No match, output a literal byte */\n      //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n      /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n      bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n      s.lookahead--;\n      s.strstart++;\n    }\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches.  Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n  var bflush;             /* set if current block must be flushed */\n\n  for (;;) {\n    /* Make sure that we have a literal to write. */\n    if (s.lookahead === 0) {\n      fill_window(s);\n      if (s.lookahead === 0) {\n        if (flush === Z_NO_FLUSH) {\n          return BS_NEED_MORE;\n        }\n        break;      /* flush the current block */\n      }\n    }\n\n    /* Output a literal byte */\n    s.match_length = 0;\n    //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n    /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n    bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n    s.lookahead--;\n    s.strstart++;\n    if (bflush) {\n      /*** FLUSH_BLOCK(s, 0); ***/\n      flush_block_only(s, false);\n      if (s.strm.avail_out === 0) {\n        return BS_NEED_MORE;\n      }\n      /***/\n    }\n  }\n  s.insert = 0;\n  if (flush === Z_FINISH) {\n    /*** FLUSH_BLOCK(s, 1); ***/\n    flush_block_only(s, true);\n    if (s.strm.avail_out === 0) {\n      return BS_FINISH_STARTED;\n    }\n    /***/\n    return BS_FINISH_DONE;\n  }\n  if (s.last_lit) {\n    /*** FLUSH_BLOCK(s, 0); ***/\n    flush_block_only(s, false);\n    if (s.strm.avail_out === 0) {\n      return BS_NEED_MORE;\n    }\n    /***/\n  }\n  return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n  this.good_length = good_length;\n  this.max_lazy = max_lazy;\n  this.nice_length = nice_length;\n  this.max_chain = max_chain;\n  this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n  /*      good lazy nice chain */\n  new Config(0, 0, 0, 0, deflate_stored),          /* 0 store only */\n  new Config(4, 4, 8, 4, deflate_fast),            /* 1 max speed, no lazy matches */\n  new Config(4, 5, 16, 8, deflate_fast),           /* 2 */\n  new Config(4, 6, 32, 32, deflate_fast),          /* 3 */\n\n  new Config(4, 4, 16, 16, deflate_slow),          /* 4 lazy matches */\n  new Config(8, 16, 32, 32, deflate_slow),         /* 5 */\n  new Config(8, 16, 128, 128, deflate_slow),       /* 6 */\n  new Config(8, 32, 128, 256, deflate_slow),       /* 7 */\n  new Config(32, 128, 258, 1024, deflate_slow),    /* 8 */\n  new Config(32, 258, 258, 4096, deflate_slow)     /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n  s.window_size = 2 * s.w_size;\n\n  /*** CLEAR_HASH(s); ***/\n  zero(s.head); // Fill with NIL (= 0);\n\n  /* Set the default configuration parameters:\n   */\n  s.max_lazy_match = configuration_table[s.level].max_lazy;\n  s.good_match = configuration_table[s.level].good_length;\n  s.nice_match = configuration_table[s.level].nice_length;\n  s.max_chain_length = configuration_table[s.level].max_chain;\n\n  s.strstart = 0;\n  s.block_start = 0;\n  s.lookahead = 0;\n  s.insert = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n  this.strm = null;            /* pointer back to this zlib stream */\n  this.status = 0;            /* as the name implies */\n  this.pending_buf = null;      /* output still pending */\n  this.pending_buf_size = 0;  /* size of pending_buf */\n  this.pending_out = 0;       /* next pending byte to output to the stream */\n  this.pending = 0;           /* nb of bytes in the pending buffer */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.gzhead = null;         /* gzip header information to write */\n  this.gzindex = 0;           /* where in extra, name, or comment */\n  this.method = Z_DEFLATED; /* can only be DEFLATED */\n  this.last_flush = -1;   /* value of flush param for previous deflate call */\n\n  this.w_size = 0;  /* LZ77 window size (32K by default) */\n  this.w_bits = 0;  /* log2(w_size)  (8..16) */\n  this.w_mask = 0;  /* w_size - 1 */\n\n  this.window = null;\n  /* Sliding window. Input bytes are read into the second half of the window,\n   * and move to the first half later to keep a dictionary of at least wSize\n   * bytes. With this organization, matches are limited to a distance of\n   * wSize-MAX_MATCH bytes, but this ensures that IO is always\n   * performed with a length multiple of the block size.\n   */\n\n  this.window_size = 0;\n  /* Actual size of window: 2*wSize, except when the user input buffer\n   * is directly used as sliding window.\n   */\n\n  this.prev = null;\n  /* Link to older string with same hash index. To limit the size of this\n   * array to 64K, this link is maintained only for the last 32K strings.\n   * An index in this array is thus a window index modulo 32K.\n   */\n\n  this.head = null;   /* Heads of the hash chains or NIL. */\n\n  this.ins_h = 0;       /* hash index of string to be inserted */\n  this.hash_size = 0;   /* number of elements in hash table */\n  this.hash_bits = 0;   /* log2(hash_size) */\n  this.hash_mask = 0;   /* hash_size-1 */\n\n  this.hash_shift = 0;\n  /* Number of bits by which ins_h must be shifted at each input\n   * step. It must be such that after MIN_MATCH steps, the oldest\n   * byte no longer takes part in the hash key, that is:\n   *   hash_shift * MIN_MATCH >= hash_bits\n   */\n\n  this.block_start = 0;\n  /* Window position at the beginning of the current output block. Gets\n   * negative when the window is moved backwards.\n   */\n\n  this.match_length = 0;      /* length of best match */\n  this.prev_match = 0;        /* previous match */\n  this.match_available = 0;   /* set if previous match exists */\n  this.strstart = 0;          /* start of string to insert */\n  this.match_start = 0;       /* start of matching string */\n  this.lookahead = 0;         /* number of valid bytes ahead in window */\n\n  this.prev_length = 0;\n  /* Length of the best match at previous step. Matches not greater than this\n   * are discarded. This is used in the lazy match evaluation.\n   */\n\n  this.max_chain_length = 0;\n  /* To speed up deflation, hash chains are never searched beyond this\n   * length.  A higher limit improves compression ratio but degrades the\n   * speed.\n   */\n\n  this.max_lazy_match = 0;\n  /* Attempt to find a better match only when the current match is strictly\n   * smaller than this value. This mechanism is used only for compression\n   * levels >= 4.\n   */\n  // That's alias to max_lazy_match, don't use directly\n  //this.max_insert_length = 0;\n  /* Insert new strings in the hash table only if the match length is not\n   * greater than this length. This saves time but degrades compression.\n   * max_insert_length is used only for compression levels <= 3.\n   */\n\n  this.level = 0;     /* compression level (1..9) */\n  this.strategy = 0;  /* favor or force Huffman coding*/\n\n  this.good_match = 0;\n  /* Use a faster search when the previous match is longer than this */\n\n  this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n              /* used by trees.c: */\n\n  /* Didn't use ct_data typedef below to suppress compiler warning */\n\n  // struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */\n  // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n  // struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */\n\n  // Use flat array of DOUBLE size, with interleaved fata,\n  // because JS does not support effective\n  this.dyn_ltree  = new utils.Buf16(HEAP_SIZE * 2);\n  this.dyn_dtree  = new utils.Buf16((2 * D_CODES + 1) * 2);\n  this.bl_tree    = new utils.Buf16((2 * BL_CODES + 1) * 2);\n  zero(this.dyn_ltree);\n  zero(this.dyn_dtree);\n  zero(this.bl_tree);\n\n  this.l_desc   = null;         /* desc. for literal tree */\n  this.d_desc   = null;         /* desc. for distance tree */\n  this.bl_desc  = null;         /* desc. for bit length tree */\n\n  //ush bl_count[MAX_BITS+1];\n  this.bl_count = new utils.Buf16(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  //int heap[2*L_CODES+1];      /* heap used to build the Huffman trees */\n  this.heap = new utils.Buf16(2 * L_CODES + 1);  /* heap used to build the Huffman trees */\n  zero(this.heap);\n\n  this.heap_len = 0;               /* number of elements in the heap */\n  this.heap_max = 0;               /* element of largest frequency */\n  /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n   * The same heap array is used to build all trees.\n   */\n\n  this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n  zero(this.depth);\n  /* Depth of each subtree used as tie breaker for trees of equal frequency\n   */\n\n  this.l_buf = 0;          /* buffer index for literals or lengths */\n\n  this.lit_bufsize = 0;\n  /* Size of match buffer for literals/lengths.  There are 4 reasons for\n   * limiting lit_bufsize to 64K:\n   *   - frequencies can be kept in 16 bit counters\n   *   - if compression is not successful for the first block, all input\n   *     data is still in the window so we can still emit a stored block even\n   *     when input comes from standard input.  (This can also be done for\n   *     all blocks if lit_bufsize is not greater than 32K.)\n   *   - if compression is not successful for a file smaller than 64K, we can\n   *     even emit a stored file instead of a stored block (saving 5 bytes).\n   *     This is applicable only for zip (not gzip or zlib).\n   *   - creating new Huffman trees less frequently may not provide fast\n   *     adaptation to changes in the input data statistics. (Take for\n   *     example a binary file with poorly compressible code followed by\n   *     a highly compressible string table.) Smaller buffer sizes give\n   *     fast adaptation but have of course the overhead of transmitting\n   *     trees more frequently.\n   *   - I can't count above 4\n   */\n\n  this.last_lit = 0;      /* running index in l_buf */\n\n  this.d_buf = 0;\n  /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n   * the same number of elements. To use different lengths, an extra flag\n   * array would be necessary.\n   */\n\n  this.opt_len = 0;       /* bit length of current block with optimal trees */\n  this.static_len = 0;    /* bit length of current block with static trees */\n  this.matches = 0;       /* number of string matches in current block */\n  this.insert = 0;        /* bytes at end of window left to insert */\n\n\n  this.bi_buf = 0;\n  /* Output buffer. bits are inserted starting at the bottom (least\n   * significant bits).\n   */\n  this.bi_valid = 0;\n  /* Number of valid bits in bi_buf.  All bits above the last valid bit\n   * are always zero.\n   */\n\n  // Used for window memory init. We safely ignore it for JS. That makes\n  // sense only for pointers and memory check tools.\n  //this.high_water = 0;\n  /* High water mark offset in window for initialized bytes -- bytes above\n   * this are set to zero in order to avoid memory check warnings when\n   * longest match routines access bytes past the input.  This is then\n   * updated to the new high water mark.\n   */\n}\n\n\nfunction deflateResetKeep(strm) {\n  var s;\n\n  if (!strm || !strm.state) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.total_in = strm.total_out = 0;\n  strm.data_type = Z_UNKNOWN;\n\n  s = strm.state;\n  s.pending = 0;\n  s.pending_out = 0;\n\n  if (s.wrap < 0) {\n    s.wrap = -s.wrap;\n    /* was made negative by deflate(..., Z_FINISH); */\n  }\n  s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n  strm.adler = (s.wrap === 2) ?\n    0  // crc32(0, Z_NULL, 0)\n  :\n    1; // adler32(0, Z_NULL, 0)\n  s.last_flush = Z_NO_FLUSH;\n  trees._tr_init(s);\n  return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n  var ret = deflateResetKeep(strm);\n  if (ret === Z_OK) {\n    lm_init(strm.state);\n  }\n  return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n  strm.state.gzhead = head;\n  return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n  if (!strm) { // === Z_NULL\n    return Z_STREAM_ERROR;\n  }\n  var wrap = 1;\n\n  if (level === Z_DEFAULT_COMPRESSION) {\n    level = 6;\n  }\n\n  if (windowBits < 0) { /* suppress zlib wrapper */\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n\n  else if (windowBits > 15) {\n    wrap = 2;           /* write gzip wrapper instead */\n    windowBits -= 16;\n  }\n\n\n  if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n    windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n    strategy < 0 || strategy > Z_FIXED) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n\n  if (windowBits === 8) {\n    windowBits = 9;\n  }\n  /* until 256-byte window bug fixed */\n\n  var s = new DeflateState();\n\n  strm.state = s;\n  s.strm = strm;\n\n  s.wrap = wrap;\n  s.gzhead = null;\n  s.w_bits = windowBits;\n  s.w_size = 1 << s.w_bits;\n  s.w_mask = s.w_size - 1;\n\n  s.hash_bits = memLevel + 7;\n  s.hash_size = 1 << s.hash_bits;\n  s.hash_mask = s.hash_size - 1;\n  s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n  s.window = new utils.Buf8(s.w_size * 2);\n  s.head = new utils.Buf16(s.hash_size);\n  s.prev = new utils.Buf16(s.w_size);\n\n  // Don't need mem init magic for JS.\n  //s.high_water = 0;  /* nothing written to s->window yet */\n\n  s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n  s.pending_buf_size = s.lit_bufsize * 4;\n\n  //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n  //s->pending_buf = (uchf *) overlay;\n  s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n  // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n  //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n  s.d_buf = 1 * s.lit_bufsize;\n\n  //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n  s.l_buf = (1 + 2) * s.lit_bufsize;\n\n  s.level = level;\n  s.strategy = strategy;\n  s.method = method;\n\n  return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n  return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n  var old_flush, s;\n  var beg, val; // for gzip header write only\n\n  if (!strm || !strm.state ||\n    flush > Z_BLOCK || flush < 0) {\n    return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n  }\n\n  s = strm.state;\n\n  if (!strm.output ||\n      (!strm.input && strm.avail_in !== 0) ||\n      (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n    return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n  }\n\n  s.strm = strm; /* just in case */\n  old_flush = s.last_flush;\n  s.last_flush = flush;\n\n  /* Write the header */\n  if (s.status === INIT_STATE) {\n\n    if (s.wrap === 2) { // GZIP header\n      strm.adler = 0;  //crc32(0L, Z_NULL, 0);\n      put_byte(s, 31);\n      put_byte(s, 139);\n      put_byte(s, 8);\n      if (!s.gzhead) { // s->gzhead == Z_NULL\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, 0);\n        put_byte(s, s.level === 9 ? 2 :\n                    (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                     4 : 0));\n        put_byte(s, OS_CODE);\n        s.status = BUSY_STATE;\n      }\n      else {\n        put_byte(s, (s.gzhead.text ? 1 : 0) +\n                    (s.gzhead.hcrc ? 2 : 0) +\n                    (!s.gzhead.extra ? 0 : 4) +\n                    (!s.gzhead.name ? 0 : 8) +\n                    (!s.gzhead.comment ? 0 : 16)\n        );\n        put_byte(s, s.gzhead.time & 0xff);\n        put_byte(s, (s.gzhead.time >> 8) & 0xff);\n        put_byte(s, (s.gzhead.time >> 16) & 0xff);\n        put_byte(s, (s.gzhead.time >> 24) & 0xff);\n        put_byte(s, s.level === 9 ? 2 :\n                    (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n                     4 : 0));\n        put_byte(s, s.gzhead.os & 0xff);\n        if (s.gzhead.extra && s.gzhead.extra.length) {\n          put_byte(s, s.gzhead.extra.length & 0xff);\n          put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n        }\n        if (s.gzhead.hcrc) {\n          strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n        }\n        s.gzindex = 0;\n        s.status = EXTRA_STATE;\n      }\n    }\n    else // DEFLATE header\n    {\n      var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n      var level_flags = -1;\n\n      if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n        level_flags = 0;\n      } else if (s.level < 6) {\n        level_flags = 1;\n      } else if (s.level === 6) {\n        level_flags = 2;\n      } else {\n        level_flags = 3;\n      }\n      header |= (level_flags << 6);\n      if (s.strstart !== 0) { header |= PRESET_DICT; }\n      header += 31 - (header % 31);\n\n      s.status = BUSY_STATE;\n      putShortMSB(s, header);\n\n      /* Save the adler32 of the preset dictionary: */\n      if (s.strstart !== 0) {\n        putShortMSB(s, strm.adler >>> 16);\n        putShortMSB(s, strm.adler & 0xffff);\n      }\n      strm.adler = 1; // adler32(0L, Z_NULL, 0);\n    }\n  }\n\n//#ifdef GZIP\n  if (s.status === EXTRA_STATE) {\n    if (s.gzhead.extra/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n\n      while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            break;\n          }\n        }\n        put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n        s.gzindex++;\n      }\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (s.gzindex === s.gzhead.extra.length) {\n        s.gzindex = 0;\n        s.status = NAME_STATE;\n      }\n    }\n    else {\n      s.status = NAME_STATE;\n    }\n  }\n  if (s.status === NAME_STATE) {\n    if (s.gzhead.name/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n      //int val;\n\n      do {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            val = 1;\n            break;\n          }\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.name.length) {\n          val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (val === 0) {\n        s.gzindex = 0;\n        s.status = COMMENT_STATE;\n      }\n    }\n    else {\n      s.status = COMMENT_STATE;\n    }\n  }\n  if (s.status === COMMENT_STATE) {\n    if (s.gzhead.comment/* != Z_NULL*/) {\n      beg = s.pending;  /* start of bytes to update crc */\n      //int val;\n\n      do {\n        if (s.pending === s.pending_buf_size) {\n          if (s.gzhead.hcrc && s.pending > beg) {\n            strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n          }\n          flush_pending(strm);\n          beg = s.pending;\n          if (s.pending === s.pending_buf_size) {\n            val = 1;\n            break;\n          }\n        }\n        // JS specific: little magic to add zero terminator to end of string\n        if (s.gzindex < s.gzhead.comment.length) {\n          val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n        } else {\n          val = 0;\n        }\n        put_byte(s, val);\n      } while (val !== 0);\n\n      if (s.gzhead.hcrc && s.pending > beg) {\n        strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n      }\n      if (val === 0) {\n        s.status = HCRC_STATE;\n      }\n    }\n    else {\n      s.status = HCRC_STATE;\n    }\n  }\n  if (s.status === HCRC_STATE) {\n    if (s.gzhead.hcrc) {\n      if (s.pending + 2 > s.pending_buf_size) {\n        flush_pending(strm);\n      }\n      if (s.pending + 2 <= s.pending_buf_size) {\n        put_byte(s, strm.adler & 0xff);\n        put_byte(s, (strm.adler >> 8) & 0xff);\n        strm.adler = 0; //crc32(0L, Z_NULL, 0);\n        s.status = BUSY_STATE;\n      }\n    }\n    else {\n      s.status = BUSY_STATE;\n    }\n  }\n//#endif\n\n  /* Flush as much pending output as possible */\n  if (s.pending !== 0) {\n    flush_pending(strm);\n    if (strm.avail_out === 0) {\n      /* Since avail_out is 0, deflate will be called again with\n       * more output space, but possibly with both pending and\n       * avail_in equal to zero. There won't be anything to do,\n       * but this is not an error situation so make sure we\n       * return OK instead of BUF_ERROR at next call of deflate:\n       */\n      s.last_flush = -1;\n      return Z_OK;\n    }\n\n    /* Make sure there is something to do and avoid duplicate consecutive\n     * flushes. For repeated and useless calls with Z_FINISH, we keep\n     * returning Z_STREAM_END instead of Z_BUF_ERROR.\n     */\n  } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n    flush !== Z_FINISH) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* User must not provide more input after the first FINISH: */\n  if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n    return err(strm, Z_BUF_ERROR);\n  }\n\n  /* Start a new block or continue the current one.\n   */\n  if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n    (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n    var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n      (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n        configuration_table[s.level].func(s, flush));\n\n    if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n      s.status = FINISH_STATE;\n    }\n    if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n      if (strm.avail_out === 0) {\n        s.last_flush = -1;\n        /* avoid BUF_ERROR next call, see above */\n      }\n      return Z_OK;\n      /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n       * of deflate should use the same flush parameter to make sure\n       * that the flush is complete. So we don't have to output an\n       * empty block here, this will be done at next call. This also\n       * ensures that for a very small output buffer, we emit at most\n       * one empty block.\n       */\n    }\n    if (bstate === BS_BLOCK_DONE) {\n      if (flush === Z_PARTIAL_FLUSH) {\n        trees._tr_align(s);\n      }\n      else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n        trees._tr_stored_block(s, 0, 0, false);\n        /* For a full flush, this empty block will be recognized\n         * as a special marker by inflate_sync().\n         */\n        if (flush === Z_FULL_FLUSH) {\n          /*** CLEAR_HASH(s); ***/             /* forget history */\n          zero(s.head); // Fill with NIL (= 0);\n\n          if (s.lookahead === 0) {\n            s.strstart = 0;\n            s.block_start = 0;\n            s.insert = 0;\n          }\n        }\n      }\n      flush_pending(strm);\n      if (strm.avail_out === 0) {\n        s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n        return Z_OK;\n      }\n    }\n  }\n  //Assert(strm->avail_out > 0, \"bug2\");\n  //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n  if (flush !== Z_FINISH) { return Z_OK; }\n  if (s.wrap <= 0) { return Z_STREAM_END; }\n\n  /* Write the trailer */\n  if (s.wrap === 2) {\n    put_byte(s, strm.adler & 0xff);\n    put_byte(s, (strm.adler >> 8) & 0xff);\n    put_byte(s, (strm.adler >> 16) & 0xff);\n    put_byte(s, (strm.adler >> 24) & 0xff);\n    put_byte(s, strm.total_in & 0xff);\n    put_byte(s, (strm.total_in >> 8) & 0xff);\n    put_byte(s, (strm.total_in >> 16) & 0xff);\n    put_byte(s, (strm.total_in >> 24) & 0xff);\n  }\n  else\n  {\n    putShortMSB(s, strm.adler >>> 16);\n    putShortMSB(s, strm.adler & 0xffff);\n  }\n\n  flush_pending(strm);\n  /* If avail_out is zero, the application will call deflate again\n   * to flush the rest.\n   */\n  if (s.wrap > 0) { s.wrap = -s.wrap; }\n  /* write the trailer only once! */\n  return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n  var status;\n\n  if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  status = strm.state.status;\n  if (status !== INIT_STATE &&\n    status !== EXTRA_STATE &&\n    status !== NAME_STATE &&\n    status !== COMMENT_STATE &&\n    status !== HCRC_STATE &&\n    status !== BUSY_STATE &&\n    status !== FINISH_STATE\n  ) {\n    return err(strm, Z_STREAM_ERROR);\n  }\n\n  strm.state = null;\n\n  return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n  var dictLength = dictionary.length;\n\n  var s;\n  var str, n;\n  var wrap;\n  var avail;\n  var next;\n  var input;\n  var tmpDict;\n\n  if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  s = strm.state;\n  wrap = s.wrap;\n\n  if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n  if (wrap === 1) {\n    /* adler32(strm->adler, dictionary, dictLength); */\n    strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n  }\n\n  s.wrap = 0;   /* avoid computing Adler-32 in read_buf */\n\n  /* if dictionary would fill window, just replace the history */\n  if (dictLength >= s.w_size) {\n    if (wrap === 0) {            /* already empty otherwise */\n      /*** CLEAR_HASH(s); ***/\n      zero(s.head); // Fill with NIL (= 0);\n      s.strstart = 0;\n      s.block_start = 0;\n      s.insert = 0;\n    }\n    /* use the tail */\n    // dictionary = dictionary.slice(dictLength - s.w_size);\n    tmpDict = new utils.Buf8(s.w_size);\n    utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n    dictionary = tmpDict;\n    dictLength = s.w_size;\n  }\n  /* insert dictionary into window and hash */\n  avail = strm.avail_in;\n  next = strm.next_in;\n  input = strm.input;\n  strm.avail_in = dictLength;\n  strm.next_in = 0;\n  strm.input = dictionary;\n  fill_window(s);\n  while (s.lookahead >= MIN_MATCH) {\n    str = s.strstart;\n    n = s.lookahead - (MIN_MATCH - 1);\n    do {\n      /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n      s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n      s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n      s.head[s.ins_h] = str;\n      str++;\n    } while (--n);\n    s.strstart = str;\n    s.lookahead = MIN_MATCH - 1;\n    fill_window(s);\n  }\n  s.strstart += s.lookahead;\n  s.block_start = s.strstart;\n  s.insert = s.lookahead;\n  s.lookahead = 0;\n  s.match_length = s.prev_length = MIN_MATCH - 1;\n  s.match_available = 0;\n  strm.next_in = next;\n  strm.input = input;\n  strm.avail_in = avail;\n  s.wrap = wrap;\n  return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30;       /* got a data error -- remain here until reset */\nvar TYPE = 12;      /* i: waiting for type bits, including last-flag bit */\n\n/*\n   Decode literal, length, and distance codes and write out the resulting\n   literal and match bytes until either not enough input or output is\n   available, an end-of-block is encountered, or a data error is encountered.\n   When large enough input and output buffers are supplied to inflate(), for\n   example, a 16K input buffer and a 64K output buffer, more than 95% of the\n   inflate execution time is spent in this routine.\n\n   Entry assumptions:\n\n        state.mode === LEN\n        strm.avail_in >= 6\n        strm.avail_out >= 258\n        start >= strm.avail_out\n        state.bits < 8\n\n   On return, state.mode is one of:\n\n        LEN -- ran out of enough output space or enough available input\n        TYPE -- reached end of block code, inflate() to interpret next block\n        BAD -- error in block data\n\n   Notes:\n\n    - The maximum input bits used by a length/distance pair is 15 bits for the\n      length code, 5 bits for the length extra, 15 bits for the distance code,\n      and 13 bits for the distance extra.  This totals 48 bits, or six bytes.\n      Therefore if strm.avail_in >= 6, then there is enough input to avoid\n      checking for available input while decoding.\n\n    - The maximum bytes that a single length/distance pair can output is 258\n      bytes, which is the maximum length that can be coded.  inflate_fast()\n      requires strm.avail_out >= 258 for each loop to avoid checking for\n      output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n  var state;\n  var _in;                    /* local strm.input */\n  var last;                   /* have enough input while in < last */\n  var _out;                   /* local strm.output */\n  var beg;                    /* inflate()'s initial strm.output */\n  var end;                    /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n  var dmax;                   /* maximum distance from zlib header */\n//#endif\n  var wsize;                  /* window size or zero if not using window */\n  var whave;                  /* valid bytes in the window */\n  var wnext;                  /* window write index */\n  // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n  var s_window;               /* allocated sliding window, if wsize != 0 */\n  var hold;                   /* local strm.hold */\n  var bits;                   /* local strm.bits */\n  var lcode;                  /* local strm.lencode */\n  var dcode;                  /* local strm.distcode */\n  var lmask;                  /* mask for first level of length codes */\n  var dmask;                  /* mask for first level of distance codes */\n  var here;                   /* retrieved table entry */\n  var op;                     /* code bits, operation, extra bits, or */\n                              /*  window position, window bytes to copy */\n  var len;                    /* match length, unused bytes */\n  var dist;                   /* match distance */\n  var from;                   /* where to copy match from */\n  var from_source;\n\n\n  var input, output; // JS specific, because we have no pointers\n\n  /* copy state to local variables */\n  state = strm.state;\n  //here = state.here;\n  _in = strm.next_in;\n  input = strm.input;\n  last = _in + (strm.avail_in - 5);\n  _out = strm.next_out;\n  output = strm.output;\n  beg = _out - (start - strm.avail_out);\n  end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n  dmax = state.dmax;\n//#endif\n  wsize = state.wsize;\n  whave = state.whave;\n  wnext = state.wnext;\n  s_window = state.window;\n  hold = state.hold;\n  bits = state.bits;\n  lcode = state.lencode;\n  dcode = state.distcode;\n  lmask = (1 << state.lenbits) - 1;\n  dmask = (1 << state.distbits) - 1;\n\n\n  /* decode literals and length/distances until end-of-block or not enough\n     input data or output space */\n\n  top:\n  do {\n    if (bits < 15) {\n      hold += input[_in++] << bits;\n      bits += 8;\n      hold += input[_in++] << bits;\n      bits += 8;\n    }\n\n    here = lcode[hold & lmask];\n\n    dolen:\n    for (;;) { // Goto emulation\n      op = here >>> 24/*here.bits*/;\n      hold >>>= op;\n      bits -= op;\n      op = (here >>> 16) & 0xff/*here.op*/;\n      if (op === 0) {                          /* literal */\n        //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n        //        \"inflate:         literal '%c'\\n\" :\n        //        \"inflate:         literal 0x%02x\\n\", here.val));\n        output[_out++] = here & 0xffff/*here.val*/;\n      }\n      else if (op & 16) {                     /* length base */\n        len = here & 0xffff/*here.val*/;\n        op &= 15;                           /* number of extra bits */\n        if (op) {\n          if (bits < op) {\n            hold += input[_in++] << bits;\n            bits += 8;\n          }\n          len += hold & ((1 << op) - 1);\n          hold >>>= op;\n          bits -= op;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", len));\n        if (bits < 15) {\n          hold += input[_in++] << bits;\n          bits += 8;\n          hold += input[_in++] << bits;\n          bits += 8;\n        }\n        here = dcode[hold & dmask];\n\n        dodist:\n        for (;;) { // goto emulation\n          op = here >>> 24/*here.bits*/;\n          hold >>>= op;\n          bits -= op;\n          op = (here >>> 16) & 0xff/*here.op*/;\n\n          if (op & 16) {                      /* distance base */\n            dist = here & 0xffff/*here.val*/;\n            op &= 15;                       /* number of extra bits */\n            if (bits < op) {\n              hold += input[_in++] << bits;\n              bits += 8;\n              if (bits < op) {\n                hold += input[_in++] << bits;\n                bits += 8;\n              }\n            }\n            dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n            if (dist > dmax) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break top;\n            }\n//#endif\n            hold >>>= op;\n            bits -= op;\n            //Tracevv((stderr, \"inflate:         distance %u\\n\", dist));\n            op = _out - beg;                /* max distance in output */\n            if (dist > op) {                /* see if copy from window */\n              op = dist - op;               /* distance back in window */\n              if (op > whave) {\n                if (state.sane) {\n                  strm.msg = 'invalid distance too far back';\n                  state.mode = BAD;\n                  break top;\n                }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//                if (len <= op - whave) {\n//                  do {\n//                    output[_out++] = 0;\n//                  } while (--len);\n//                  continue top;\n//                }\n//                len -= op - whave;\n//                do {\n//                  output[_out++] = 0;\n//                } while (--op > whave);\n//                if (op === 0) {\n//                  from = _out - dist;\n//                  do {\n//                    output[_out++] = output[from++];\n//                  } while (--len);\n//                  continue top;\n//                }\n//#endif\n              }\n              from = 0; // window index\n              from_source = s_window;\n              if (wnext === 0) {           /* very common case */\n                from += wsize - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              else if (wnext < op) {      /* wrap around window */\n                from += wsize + wnext - op;\n                op -= wnext;\n                if (op < len) {         /* some from end of window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = 0;\n                  if (wnext < len) {  /* some from start of window */\n                    op = wnext;\n                    len -= op;\n                    do {\n                      output[_out++] = s_window[from++];\n                    } while (--op);\n                    from = _out - dist;      /* rest from output */\n                    from_source = output;\n                  }\n                }\n              }\n              else {                      /* contiguous in window */\n                from += wnext - op;\n                if (op < len) {         /* some from window */\n                  len -= op;\n                  do {\n                    output[_out++] = s_window[from++];\n                  } while (--op);\n                  from = _out - dist;  /* rest from output */\n                  from_source = output;\n                }\n              }\n              while (len > 2) {\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                output[_out++] = from_source[from++];\n                len -= 3;\n              }\n              if (len) {\n                output[_out++] = from_source[from++];\n                if (len > 1) {\n                  output[_out++] = from_source[from++];\n                }\n              }\n            }\n            else {\n              from = _out - dist;          /* copy direct from output */\n              do {                        /* minimum length is three */\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                output[_out++] = output[from++];\n                len -= 3;\n              } while (len > 2);\n              if (len) {\n                output[_out++] = output[from++];\n                if (len > 1) {\n                  output[_out++] = output[from++];\n                }\n              }\n            }\n          }\n          else if ((op & 64) === 0) {          /* 2nd level distance code */\n            here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n            continue dodist;\n          }\n          else {\n            strm.msg = 'invalid distance code';\n            state.mode = BAD;\n            break top;\n          }\n\n          break; // need to emulate goto via \"continue\"\n        }\n      }\n      else if ((op & 64) === 0) {              /* 2nd level length code */\n        here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n        continue dolen;\n      }\n      else if (op & 32) {                     /* end-of-block */\n        //Tracevv((stderr, \"inflate:         end of block\\n\"));\n        state.mode = TYPE;\n        break top;\n      }\n      else {\n        strm.msg = 'invalid literal/length code';\n        state.mode = BAD;\n        break top;\n      }\n\n      break; // need to emulate goto via \"continue\"\n    }\n  } while (_in < last && _out < end);\n\n  /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n  len = bits >> 3;\n  _in -= len;\n  bits -= len << 3;\n  hold &= (1 << bits) - 1;\n\n  /* update state and return */\n  strm.next_in = _in;\n  strm.next_out = _out;\n  strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n  strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n  state.hold = hold;\n  state.bits = bits;\n  return;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils         = require('../utils/common');\nvar adler32       = require('./adler32');\nvar crc32         = require('./crc32');\nvar inflate_fast  = require('./inffast');\nvar inflate_table = require('./inftrees');\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH      = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH    = 2;\n//var Z_FULL_FLUSH    = 3;\nvar Z_FINISH        = 4;\nvar Z_BLOCK         = 5;\nvar Z_TREES         = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK            = 0;\nvar Z_STREAM_END    = 1;\nvar Z_NEED_DICT     = 2;\n//var Z_ERRNO         = -1;\nvar Z_STREAM_ERROR  = -2;\nvar Z_DATA_ERROR    = -3;\nvar Z_MEM_ERROR     = -4;\nvar Z_BUF_ERROR     = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED  = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar    HEAD = 1;       /* i: waiting for magic header */\nvar    FLAGS = 2;      /* i: waiting for method and flags (gzip) */\nvar    TIME = 3;       /* i: waiting for modification time (gzip) */\nvar    OS = 4;         /* i: waiting for extra flags and operating system (gzip) */\nvar    EXLEN = 5;      /* i: waiting for extra length (gzip) */\nvar    EXTRA = 6;      /* i: waiting for extra bytes (gzip) */\nvar    NAME = 7;       /* i: waiting for end of file name (gzip) */\nvar    COMMENT = 8;    /* i: waiting for end of comment (gzip) */\nvar    HCRC = 9;       /* i: waiting for header crc (gzip) */\nvar    DICTID = 10;    /* i: waiting for dictionary check value */\nvar    DICT = 11;      /* waiting for inflateSetDictionary() call */\nvar        TYPE = 12;      /* i: waiting for type bits, including last-flag bit */\nvar        TYPEDO = 13;    /* i: same, but skip check to exit inflate on new block */\nvar        STORED = 14;    /* i: waiting for stored size (length and complement) */\nvar        COPY_ = 15;     /* i/o: same as COPY below, but only first time in */\nvar        COPY = 16;      /* i/o: waiting for input or output to copy stored block */\nvar        TABLE = 17;     /* i: waiting for dynamic block table lengths */\nvar        LENLENS = 18;   /* i: waiting for code length code lengths */\nvar        CODELENS = 19;  /* i: waiting for length/lit and distance code lengths */\nvar            LEN_ = 20;      /* i: same as LEN below, but only first time in */\nvar            LEN = 21;       /* i: waiting for length/lit/eob code */\nvar            LENEXT = 22;    /* i: waiting for length extra bits */\nvar            DIST = 23;      /* i: waiting for distance code */\nvar            DISTEXT = 24;   /* i: waiting for distance extra bits */\nvar            MATCH = 25;     /* o: waiting for output space to copy string */\nvar            LIT = 26;       /* o: waiting for output space to write literal */\nvar    CHECK = 27;     /* i: waiting for 32-bit check value */\nvar    LENGTH = 28;    /* i: waiting for 32-bit length (gzip) */\nvar    DONE = 29;      /* finished check, done -- remain here until reset */\nvar    BAD = 30;       /* got a data error -- remain here until reset */\nvar    MEM = 31;       /* got an inflate() memory error -- remain here until reset */\nvar    SYNC = 32;      /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH =  (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n  return  (((q >>> 24) & 0xff) +\n          ((q >>> 8) & 0xff00) +\n          ((q & 0xff00) << 8) +\n          ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n  this.mode = 0;             /* current inflate mode */\n  this.last = false;          /* true if processing last block */\n  this.wrap = 0;              /* bit 0 true for zlib, bit 1 true for gzip */\n  this.havedict = false;      /* true if dictionary provided */\n  this.flags = 0;             /* gzip header method and flags (0 if zlib) */\n  this.dmax = 0;              /* zlib header max distance (INFLATE_STRICT) */\n  this.check = 0;             /* protected copy of check value */\n  this.total = 0;             /* protected copy of output count */\n  // TODO: may be {}\n  this.head = null;           /* where to save gzip header information */\n\n  /* sliding window */\n  this.wbits = 0;             /* log base 2 of requested window size */\n  this.wsize = 0;             /* window size or zero if not using window */\n  this.whave = 0;             /* valid bytes in the window */\n  this.wnext = 0;             /* window write index */\n  this.window = null;         /* allocated sliding window, if needed */\n\n  /* bit accumulator */\n  this.hold = 0;              /* input bit accumulator */\n  this.bits = 0;              /* number of bits in \"in\" */\n\n  /* for string and stored block copying */\n  this.length = 0;            /* literal or length of data to copy */\n  this.offset = 0;            /* distance back to copy string from */\n\n  /* for table and code decoding */\n  this.extra = 0;             /* extra bits needed */\n\n  /* fixed and dynamic code tables */\n  this.lencode = null;          /* starting table for length/literal codes */\n  this.distcode = null;         /* starting table for distance codes */\n  this.lenbits = 0;           /* index bits for lencode */\n  this.distbits = 0;          /* index bits for distcode */\n\n  /* dynamic table building */\n  this.ncode = 0;             /* number of code length code lengths */\n  this.nlen = 0;              /* number of length code lengths */\n  this.ndist = 0;             /* number of distance code lengths */\n  this.have = 0;              /* number of code lengths in lens[] */\n  this.next = null;              /* next available space in codes[] */\n\n  this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n  this.work = new utils.Buf16(288); /* work area for code table building */\n\n  /*\n   because we don't have pointers in js, we use lencode and distcode directly\n   as buffers so we don't need codes\n  */\n  //this.codes = new utils.Buf32(ENOUGH);       /* space for code tables */\n  this.lendyn = null;              /* dynamic table for length/literal codes (JS specific) */\n  this.distdyn = null;             /* dynamic table for distance codes (JS specific) */\n  this.sane = 0;                   /* if false, allow invalid distance too far */\n  this.back = 0;                   /* bits back of last unprocessed length/lit */\n  this.was = 0;                    /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n  var state;\n\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  strm.total_in = strm.total_out = state.total = 0;\n  strm.msg = ''; /*Z_NULL*/\n  if (state.wrap) {       /* to support ill-conceived Java test suite */\n    strm.adler = state.wrap & 1;\n  }\n  state.mode = HEAD;\n  state.last = 0;\n  state.havedict = 0;\n  state.dmax = 32768;\n  state.head = null/*Z_NULL*/;\n  state.hold = 0;\n  state.bits = 0;\n  //state.lencode = state.distcode = state.next = state.codes;\n  state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n  state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n  state.sane = 1;\n  state.back = -1;\n  //Tracev((stderr, \"inflate: reset\\n\"));\n  return Z_OK;\n}\n\nfunction inflateReset(strm) {\n  var state;\n\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  state.wsize = 0;\n  state.whave = 0;\n  state.wnext = 0;\n  return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n  var wrap;\n  var state;\n\n  /* get the state */\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  /* extract wrap request from windowBits parameter */\n  if (windowBits < 0) {\n    wrap = 0;\n    windowBits = -windowBits;\n  }\n  else {\n    wrap = (windowBits >> 4) + 1;\n    if (windowBits < 48) {\n      windowBits &= 15;\n    }\n  }\n\n  /* set number of window bits, free window if different */\n  if (windowBits && (windowBits < 8 || windowBits > 15)) {\n    return Z_STREAM_ERROR;\n  }\n  if (state.window !== null && state.wbits !== windowBits) {\n    state.window = null;\n  }\n\n  /* update state and reset the rest of it */\n  state.wrap = wrap;\n  state.wbits = windowBits;\n  return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n  var ret;\n  var state;\n\n  if (!strm) { return Z_STREAM_ERROR; }\n  //strm.msg = Z_NULL;                 /* in case we return an error */\n\n  state = new InflateState();\n\n  //if (state === Z_NULL) return Z_MEM_ERROR;\n  //Tracev((stderr, \"inflate: allocated\\n\"));\n  strm.state = state;\n  state.window = null/*Z_NULL*/;\n  ret = inflateReset2(strm, windowBits);\n  if (ret !== Z_OK) {\n    strm.state = null/*Z_NULL*/;\n  }\n  return ret;\n}\n\nfunction inflateInit(strm) {\n  return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding.  Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter.  This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time.  However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n  /* build fixed huffman tables if first call (may not be thread safe) */\n  if (virgin) {\n    var sym;\n\n    lenfix = new utils.Buf32(512);\n    distfix = new utils.Buf32(32);\n\n    /* literal/length table */\n    sym = 0;\n    while (sym < 144) { state.lens[sym++] = 8; }\n    while (sym < 256) { state.lens[sym++] = 9; }\n    while (sym < 280) { state.lens[sym++] = 7; }\n    while (sym < 288) { state.lens[sym++] = 8; }\n\n    inflate_table(LENS,  state.lens, 0, 288, lenfix,   0, state.work, { bits: 9 });\n\n    /* distance table */\n    sym = 0;\n    while (sym < 32) { state.lens[sym++] = 5; }\n\n    inflate_table(DISTS, state.lens, 0, 32,   distfix, 0, state.work, { bits: 5 });\n\n    /* do this just once */\n    virgin = false;\n  }\n\n  state.lencode = lenfix;\n  state.lenbits = 9;\n  state.distcode = distfix;\n  state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning.  If window does not exist yet, create it.  This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n  var dist;\n  var state = strm.state;\n\n  /* if it hasn't been done already, allocate space for the window */\n  if (state.window === null) {\n    state.wsize = 1 << state.wbits;\n    state.wnext = 0;\n    state.whave = 0;\n\n    state.window = new utils.Buf8(state.wsize);\n  }\n\n  /* copy state->wsize or less output bytes into the circular window */\n  if (copy >= state.wsize) {\n    utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n    state.wnext = 0;\n    state.whave = state.wsize;\n  }\n  else {\n    dist = state.wsize - state.wnext;\n    if (dist > copy) {\n      dist = copy;\n    }\n    //zmemcpy(state->window + state->wnext, end - copy, dist);\n    utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n    copy -= dist;\n    if (copy) {\n      //zmemcpy(state->window, end - copy, copy);\n      utils.arraySet(state.window, src, end - copy, copy, 0);\n      state.wnext = copy;\n      state.whave = state.wsize;\n    }\n    else {\n      state.wnext += dist;\n      if (state.wnext === state.wsize) { state.wnext = 0; }\n      if (state.whave < state.wsize) { state.whave += dist; }\n    }\n  }\n  return 0;\n}\n\nfunction inflate(strm, flush) {\n  var state;\n  var input, output;          // input/output buffers\n  var next;                   /* next input INDEX */\n  var put;                    /* next output INDEX */\n  var have, left;             /* available input and output */\n  var hold;                   /* bit buffer */\n  var bits;                   /* bits in bit buffer */\n  var _in, _out;              /* save starting available input and output */\n  var copy;                   /* number of stored or match bytes to copy */\n  var from;                   /* where to copy match bytes from */\n  var from_source;\n  var here = 0;               /* current decoding table entry */\n  var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n  //var last;                   /* parent table entry */\n  var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n  var len;                    /* length to copy for repeats, bits to drop */\n  var ret;                    /* return code */\n  var hbuf = new utils.Buf8(4);    /* buffer for gzip header crc calculation */\n  var opts;\n\n  var n; // temporary var for NEED_BITS\n\n  var order = /* permutation of code lengths */\n    [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n  if (!strm || !strm.state || !strm.output ||\n      (!strm.input && strm.avail_in !== 0)) {\n    return Z_STREAM_ERROR;\n  }\n\n  state = strm.state;\n  if (state.mode === TYPE) { state.mode = TYPEDO; }    /* skip check */\n\n\n  //--- LOAD() ---\n  put = strm.next_out;\n  output = strm.output;\n  left = strm.avail_out;\n  next = strm.next_in;\n  input = strm.input;\n  have = strm.avail_in;\n  hold = state.hold;\n  bits = state.bits;\n  //---\n\n  _in = have;\n  _out = left;\n  ret = Z_OK;\n\n  inf_leave: // goto emulation\n  for (;;) {\n    switch (state.mode) {\n      case HEAD:\n        if (state.wrap === 0) {\n          state.mode = TYPEDO;\n          break;\n        }\n        //=== NEEDBITS(16);\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if ((state.wrap & 2) && hold === 0x8b1f) {  /* gzip header */\n          state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          state.mode = FLAGS;\n          break;\n        }\n        state.flags = 0;           /* expect zlib header */\n        if (state.head) {\n          state.head.done = false;\n        }\n        if (!(state.wrap & 1) ||   /* check if zlib header allowed */\n          (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n          strm.msg = 'incorrect header check';\n          state.mode = BAD;\n          break;\n        }\n        if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n          strm.msg = 'unknown compression method';\n          state.mode = BAD;\n          break;\n        }\n        //--- DROPBITS(4) ---//\n        hold >>>= 4;\n        bits -= 4;\n        //---//\n        len = (hold & 0x0f)/*BITS(4)*/ + 8;\n        if (state.wbits === 0) {\n          state.wbits = len;\n        }\n        else if (len > state.wbits) {\n          strm.msg = 'invalid window size';\n          state.mode = BAD;\n          break;\n        }\n        state.dmax = 1 << len;\n        //Tracev((stderr, \"inflate:   zlib header ok\\n\"));\n        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n        state.mode = hold & 0x200 ? DICTID : TYPE;\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        break;\n      case FLAGS:\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.flags = hold;\n        if ((state.flags & 0xff) !== Z_DEFLATED) {\n          strm.msg = 'unknown compression method';\n          state.mode = BAD;\n          break;\n        }\n        if (state.flags & 0xe000) {\n          strm.msg = 'unknown header flags set';\n          state.mode = BAD;\n          break;\n        }\n        if (state.head) {\n          state.head.text = ((hold >> 8) & 1);\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = TIME;\n        /* falls through */\n      case TIME:\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (state.head) {\n          state.head.time = hold;\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC4(state.check, hold)\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          hbuf[2] = (hold >>> 16) & 0xff;\n          hbuf[3] = (hold >>> 24) & 0xff;\n          state.check = crc32(state.check, hbuf, 4, 0);\n          //===\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = OS;\n        /* falls through */\n      case OS:\n        //=== NEEDBITS(16); */\n        while (bits < 16) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if (state.head) {\n          state.head.xflags = (hold & 0xff);\n          state.head.os = (hold >> 8);\n        }\n        if (state.flags & 0x0200) {\n          //=== CRC2(state.check, hold);\n          hbuf[0] = hold & 0xff;\n          hbuf[1] = (hold >>> 8) & 0xff;\n          state.check = crc32(state.check, hbuf, 2, 0);\n          //===//\n        }\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = EXLEN;\n        /* falls through */\n      case EXLEN:\n        if (state.flags & 0x0400) {\n          //=== NEEDBITS(16); */\n          while (bits < 16) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.length = hold;\n          if (state.head) {\n            state.head.extra_len = hold;\n          }\n          if (state.flags & 0x0200) {\n            //=== CRC2(state.check, hold);\n            hbuf[0] = hold & 0xff;\n            hbuf[1] = (hold >>> 8) & 0xff;\n            state.check = crc32(state.check, hbuf, 2, 0);\n            //===//\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n        }\n        else if (state.head) {\n          state.head.extra = null/*Z_NULL*/;\n        }\n        state.mode = EXTRA;\n        /* falls through */\n      case EXTRA:\n        if (state.flags & 0x0400) {\n          copy = state.length;\n          if (copy > have) { copy = have; }\n          if (copy) {\n            if (state.head) {\n              len = state.head.extra_len - state.length;\n              if (!state.head.extra) {\n                // Use untyped array for more convenient processing later\n                state.head.extra = new Array(state.head.extra_len);\n              }\n              utils.arraySet(\n                state.head.extra,\n                input,\n                next,\n                // extra field is limited to 65536 bytes\n                // - no need for additional size check\n                copy,\n                /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n                len\n              );\n              //zmemcpy(state.head.extra + len, next,\n              //        len + copy > state.head.extra_max ?\n              //        state.head.extra_max - len : copy);\n            }\n            if (state.flags & 0x0200) {\n              state.check = crc32(state.check, input, copy, next);\n            }\n            have -= copy;\n            next += copy;\n            state.length -= copy;\n          }\n          if (state.length) { break inf_leave; }\n        }\n        state.length = 0;\n        state.mode = NAME;\n        /* falls through */\n      case NAME:\n        if (state.flags & 0x0800) {\n          if (have === 0) { break inf_leave; }\n          copy = 0;\n          do {\n            // TODO: 2 or 1 bytes?\n            len = input[next + copy++];\n            /* use constant limit because in js we should not preallocate memory */\n            if (state.head && len &&\n                (state.length < 65536 /*state.head.name_max*/)) {\n              state.head.name += String.fromCharCode(len);\n            }\n          } while (len && copy < have);\n\n          if (state.flags & 0x0200) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          if (len) { break inf_leave; }\n        }\n        else if (state.head) {\n          state.head.name = null;\n        }\n        state.length = 0;\n        state.mode = COMMENT;\n        /* falls through */\n      case COMMENT:\n        if (state.flags & 0x1000) {\n          if (have === 0) { break inf_leave; }\n          copy = 0;\n          do {\n            len = input[next + copy++];\n            /* use constant limit because in js we should not preallocate memory */\n            if (state.head && len &&\n                (state.length < 65536 /*state.head.comm_max*/)) {\n              state.head.comment += String.fromCharCode(len);\n            }\n          } while (len && copy < have);\n          if (state.flags & 0x0200) {\n            state.check = crc32(state.check, input, copy, next);\n          }\n          have -= copy;\n          next += copy;\n          if (len) { break inf_leave; }\n        }\n        else if (state.head) {\n          state.head.comment = null;\n        }\n        state.mode = HCRC;\n        /* falls through */\n      case HCRC:\n        if (state.flags & 0x0200) {\n          //=== NEEDBITS(16); */\n          while (bits < 16) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          if (hold !== (state.check & 0xffff)) {\n            strm.msg = 'header crc mismatch';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n        }\n        if (state.head) {\n          state.head.hcrc = ((state.flags >> 9) & 1);\n          state.head.done = true;\n        }\n        strm.adler = state.check = 0;\n        state.mode = TYPE;\n        break;\n      case DICTID:\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        strm.adler = state.check = zswap32(hold);\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = DICT;\n        /* falls through */\n      case DICT:\n        if (state.havedict === 0) {\n          //--- RESTORE() ---\n          strm.next_out = put;\n          strm.avail_out = left;\n          strm.next_in = next;\n          strm.avail_in = have;\n          state.hold = hold;\n          state.bits = bits;\n          //---\n          return Z_NEED_DICT;\n        }\n        strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n        state.mode = TYPE;\n        /* falls through */\n      case TYPE:\n        if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case TYPEDO:\n        if (state.last) {\n          //--- BYTEBITS() ---//\n          hold >>>= bits & 7;\n          bits -= bits & 7;\n          //---//\n          state.mode = CHECK;\n          break;\n        }\n        //=== NEEDBITS(3); */\n        while (bits < 3) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.last = (hold & 0x01)/*BITS(1)*/;\n        //--- DROPBITS(1) ---//\n        hold >>>= 1;\n        bits -= 1;\n        //---//\n\n        switch ((hold & 0x03)/*BITS(2)*/) {\n          case 0:                             /* stored block */\n            //Tracev((stderr, \"inflate:     stored block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = STORED;\n            break;\n          case 1:                             /* fixed block */\n            fixedtables(state);\n            //Tracev((stderr, \"inflate:     fixed codes block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = LEN_;             /* decode codes */\n            if (flush === Z_TREES) {\n              //--- DROPBITS(2) ---//\n              hold >>>= 2;\n              bits -= 2;\n              //---//\n              break inf_leave;\n            }\n            break;\n          case 2:                             /* dynamic block */\n            //Tracev((stderr, \"inflate:     dynamic codes block%s\\n\",\n            //        state.last ? \" (last)\" : \"\"));\n            state.mode = TABLE;\n            break;\n          case 3:\n            strm.msg = 'invalid block type';\n            state.mode = BAD;\n        }\n        //--- DROPBITS(2) ---//\n        hold >>>= 2;\n        bits -= 2;\n        //---//\n        break;\n      case STORED:\n        //--- BYTEBITS() ---// /* go to byte boundary */\n        hold >>>= bits & 7;\n        bits -= bits & 7;\n        //---//\n        //=== NEEDBITS(32); */\n        while (bits < 32) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n          strm.msg = 'invalid stored block lengths';\n          state.mode = BAD;\n          break;\n        }\n        state.length = hold & 0xffff;\n        //Tracev((stderr, \"inflate:       stored length %u\\n\",\n        //        state.length));\n        //=== INITBITS();\n        hold = 0;\n        bits = 0;\n        //===//\n        state.mode = COPY_;\n        if (flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case COPY_:\n        state.mode = COPY;\n        /* falls through */\n      case COPY:\n        copy = state.length;\n        if (copy) {\n          if (copy > have) { copy = have; }\n          if (copy > left) { copy = left; }\n          if (copy === 0) { break inf_leave; }\n          //--- zmemcpy(put, next, copy); ---\n          utils.arraySet(output, input, next, copy, put);\n          //---//\n          have -= copy;\n          next += copy;\n          left -= copy;\n          put += copy;\n          state.length -= copy;\n          break;\n        }\n        //Tracev((stderr, \"inflate:       stored end\\n\"));\n        state.mode = TYPE;\n        break;\n      case TABLE:\n        //=== NEEDBITS(14); */\n        while (bits < 14) {\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n        }\n        //===//\n        state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n        //--- DROPBITS(5) ---//\n        hold >>>= 5;\n        bits -= 5;\n        //---//\n        state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n        //--- DROPBITS(5) ---//\n        hold >>>= 5;\n        bits -= 5;\n        //---//\n        state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n        //--- DROPBITS(4) ---//\n        hold >>>= 4;\n        bits -= 4;\n        //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n        if (state.nlen > 286 || state.ndist > 30) {\n          strm.msg = 'too many length or distance symbols';\n          state.mode = BAD;\n          break;\n        }\n//#endif\n        //Tracev((stderr, \"inflate:       table sizes ok\\n\"));\n        state.have = 0;\n        state.mode = LENLENS;\n        /* falls through */\n      case LENLENS:\n        while (state.have < state.ncode) {\n          //=== NEEDBITS(3);\n          while (bits < 3) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n          //--- DROPBITS(3) ---//\n          hold >>>= 3;\n          bits -= 3;\n          //---//\n        }\n        while (state.have < 19) {\n          state.lens[order[state.have++]] = 0;\n        }\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        //state.next = state.codes;\n        //state.lencode = state.next;\n        // Switch to use dynamic table\n        state.lencode = state.lendyn;\n        state.lenbits = 7;\n\n        opts = { bits: state.lenbits };\n        ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n        state.lenbits = opts.bits;\n\n        if (ret) {\n          strm.msg = 'invalid code lengths set';\n          state.mode = BAD;\n          break;\n        }\n        //Tracev((stderr, \"inflate:       code lengths ok\\n\"));\n        state.have = 0;\n        state.mode = CODELENS;\n        /* falls through */\n      case CODELENS:\n        while (state.have < state.nlen + state.ndist) {\n          for (;;) {\n            here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          if (here_val < 16) {\n            //--- DROPBITS(here.bits) ---//\n            hold >>>= here_bits;\n            bits -= here_bits;\n            //---//\n            state.lens[state.have++] = here_val;\n          }\n          else {\n            if (here_val === 16) {\n              //=== NEEDBITS(here.bits + 2);\n              n = here_bits + 2;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              if (state.have === 0) {\n                strm.msg = 'invalid bit length repeat';\n                state.mode = BAD;\n                break;\n              }\n              len = state.lens[state.have - 1];\n              copy = 3 + (hold & 0x03);//BITS(2);\n              //--- DROPBITS(2) ---//\n              hold >>>= 2;\n              bits -= 2;\n              //---//\n            }\n            else if (here_val === 17) {\n              //=== NEEDBITS(here.bits + 3);\n              n = here_bits + 3;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              len = 0;\n              copy = 3 + (hold & 0x07);//BITS(3);\n              //--- DROPBITS(3) ---//\n              hold >>>= 3;\n              bits -= 3;\n              //---//\n            }\n            else {\n              //=== NEEDBITS(here.bits + 7);\n              n = here_bits + 7;\n              while (bits < n) {\n                if (have === 0) { break inf_leave; }\n                have--;\n                hold += input[next++] << bits;\n                bits += 8;\n              }\n              //===//\n              //--- DROPBITS(here.bits) ---//\n              hold >>>= here_bits;\n              bits -= here_bits;\n              //---//\n              len = 0;\n              copy = 11 + (hold & 0x7f);//BITS(7);\n              //--- DROPBITS(7) ---//\n              hold >>>= 7;\n              bits -= 7;\n              //---//\n            }\n            if (state.have + copy > state.nlen + state.ndist) {\n              strm.msg = 'invalid bit length repeat';\n              state.mode = BAD;\n              break;\n            }\n            while (copy--) {\n              state.lens[state.have++] = len;\n            }\n          }\n        }\n\n        /* handle error breaks in while */\n        if (state.mode === BAD) { break; }\n\n        /* check for end-of-block code (better have one) */\n        if (state.lens[256] === 0) {\n          strm.msg = 'invalid code -- missing end-of-block';\n          state.mode = BAD;\n          break;\n        }\n\n        /* build code tables -- note: do not change the lenbits or distbits\n           values here (9 and 6) without reading the comments in inftrees.h\n           concerning the ENOUGH constants, which depend on those values */\n        state.lenbits = 9;\n\n        opts = { bits: state.lenbits };\n        ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        // state.next_index = opts.table_index;\n        state.lenbits = opts.bits;\n        // state.lencode = state.next;\n\n        if (ret) {\n          strm.msg = 'invalid literal/lengths set';\n          state.mode = BAD;\n          break;\n        }\n\n        state.distbits = 6;\n        //state.distcode.copy(state.codes);\n        // Switch to use dynamic table\n        state.distcode = state.distdyn;\n        opts = { bits: state.distbits };\n        ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n        // We have separate tables & no pointers. 2 commented lines below not needed.\n        // state.next_index = opts.table_index;\n        state.distbits = opts.bits;\n        // state.distcode = state.next;\n\n        if (ret) {\n          strm.msg = 'invalid distances set';\n          state.mode = BAD;\n          break;\n        }\n        //Tracev((stderr, 'inflate:       codes ok\\n'));\n        state.mode = LEN_;\n        if (flush === Z_TREES) { break inf_leave; }\n        /* falls through */\n      case LEN_:\n        state.mode = LEN;\n        /* falls through */\n      case LEN:\n        if (have >= 6 && left >= 258) {\n          //--- RESTORE() ---\n          strm.next_out = put;\n          strm.avail_out = left;\n          strm.next_in = next;\n          strm.avail_in = have;\n          state.hold = hold;\n          state.bits = bits;\n          //---\n          inflate_fast(strm, _out);\n          //--- LOAD() ---\n          put = strm.next_out;\n          output = strm.output;\n          left = strm.avail_out;\n          next = strm.next_in;\n          input = strm.input;\n          have = strm.avail_in;\n          hold = state.hold;\n          bits = state.bits;\n          //---\n\n          if (state.mode === TYPE) {\n            state.back = -1;\n          }\n          break;\n        }\n        state.back = 0;\n        for (;;) {\n          here = state.lencode[hold & ((1 << state.lenbits) - 1)];  /*BITS(state.lenbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if (here_bits <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if (here_op && (here_op & 0xf0) === 0) {\n          last_bits = here_bits;\n          last_op = here_op;\n          last_val = here_val;\n          for (;;) {\n            here = state.lencode[last_val +\n                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((last_bits + here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          //--- DROPBITS(last.bits) ---//\n          hold >>>= last_bits;\n          bits -= last_bits;\n          //---//\n          state.back += last_bits;\n        }\n        //--- DROPBITS(here.bits) ---//\n        hold >>>= here_bits;\n        bits -= here_bits;\n        //---//\n        state.back += here_bits;\n        state.length = here_val;\n        if (here_op === 0) {\n          //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n          //        \"inflate:         literal '%c'\\n\" :\n          //        \"inflate:         literal 0x%02x\\n\", here.val));\n          state.mode = LIT;\n          break;\n        }\n        if (here_op & 32) {\n          //Tracevv((stderr, \"inflate:         end of block\\n\"));\n          state.back = -1;\n          state.mode = TYPE;\n          break;\n        }\n        if (here_op & 64) {\n          strm.msg = 'invalid literal/length code';\n          state.mode = BAD;\n          break;\n        }\n        state.extra = here_op & 15;\n        state.mode = LENEXT;\n        /* falls through */\n      case LENEXT:\n        if (state.extra) {\n          //=== NEEDBITS(state.extra);\n          n = state.extra;\n          while (bits < n) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n          //--- DROPBITS(state.extra) ---//\n          hold >>>= state.extra;\n          bits -= state.extra;\n          //---//\n          state.back += state.extra;\n        }\n        //Tracevv((stderr, \"inflate:         length %u\\n\", state.length));\n        state.was = state.length;\n        state.mode = DIST;\n        /* falls through */\n      case DIST:\n        for (;;) {\n          here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n          here_bits = here >>> 24;\n          here_op = (here >>> 16) & 0xff;\n          here_val = here & 0xffff;\n\n          if ((here_bits) <= bits) { break; }\n          //--- PULLBYTE() ---//\n          if (have === 0) { break inf_leave; }\n          have--;\n          hold += input[next++] << bits;\n          bits += 8;\n          //---//\n        }\n        if ((here_op & 0xf0) === 0) {\n          last_bits = here_bits;\n          last_op = here_op;\n          last_val = here_val;\n          for (;;) {\n            here = state.distcode[last_val +\n                    ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n            here_bits = here >>> 24;\n            here_op = (here >>> 16) & 0xff;\n            here_val = here & 0xffff;\n\n            if ((last_bits + here_bits) <= bits) { break; }\n            //--- PULLBYTE() ---//\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n            //---//\n          }\n          //--- DROPBITS(last.bits) ---//\n          hold >>>= last_bits;\n          bits -= last_bits;\n          //---//\n          state.back += last_bits;\n        }\n        //--- DROPBITS(here.bits) ---//\n        hold >>>= here_bits;\n        bits -= here_bits;\n        //---//\n        state.back += here_bits;\n        if (here_op & 64) {\n          strm.msg = 'invalid distance code';\n          state.mode = BAD;\n          break;\n        }\n        state.offset = here_val;\n        state.extra = (here_op) & 15;\n        state.mode = DISTEXT;\n        /* falls through */\n      case DISTEXT:\n        if (state.extra) {\n          //=== NEEDBITS(state.extra);\n          n = state.extra;\n          while (bits < n) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n          //--- DROPBITS(state.extra) ---//\n          hold >>>= state.extra;\n          bits -= state.extra;\n          //---//\n          state.back += state.extra;\n        }\n//#ifdef INFLATE_STRICT\n        if (state.offset > state.dmax) {\n          strm.msg = 'invalid distance too far back';\n          state.mode = BAD;\n          break;\n        }\n//#endif\n        //Tracevv((stderr, \"inflate:         distance %u\\n\", state.offset));\n        state.mode = MATCH;\n        /* falls through */\n      case MATCH:\n        if (left === 0) { break inf_leave; }\n        copy = _out - left;\n        if (state.offset > copy) {         /* copy from window */\n          copy = state.offset - copy;\n          if (copy > state.whave) {\n            if (state.sane) {\n              strm.msg = 'invalid distance too far back';\n              state.mode = BAD;\n              break;\n            }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n//          Trace((stderr, \"inflate.c too far\\n\"));\n//          copy -= state.whave;\n//          if (copy > state.length) { copy = state.length; }\n//          if (copy > left) { copy = left; }\n//          left -= copy;\n//          state.length -= copy;\n//          do {\n//            output[put++] = 0;\n//          } while (--copy);\n//          if (state.length === 0) { state.mode = LEN; }\n//          break;\n//#endif\n          }\n          if (copy > state.wnext) {\n            copy -= state.wnext;\n            from = state.wsize - copy;\n          }\n          else {\n            from = state.wnext - copy;\n          }\n          if (copy > state.length) { copy = state.length; }\n          from_source = state.window;\n        }\n        else {                              /* copy from output */\n          from_source = output;\n          from = put - state.offset;\n          copy = state.length;\n        }\n        if (copy > left) { copy = left; }\n        left -= copy;\n        state.length -= copy;\n        do {\n          output[put++] = from_source[from++];\n        } while (--copy);\n        if (state.length === 0) { state.mode = LEN; }\n        break;\n      case LIT:\n        if (left === 0) { break inf_leave; }\n        output[put++] = state.length;\n        left--;\n        state.mode = LEN;\n        break;\n      case CHECK:\n        if (state.wrap) {\n          //=== NEEDBITS(32);\n          while (bits < 32) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            // Use '|' instead of '+' to make sure that result is signed\n            hold |= input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          _out -= left;\n          strm.total_out += _out;\n          state.total += _out;\n          if (_out) {\n            strm.adler = state.check =\n                /*UPDATE(state.check, put - _out, _out);*/\n                (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n          }\n          _out = left;\n          // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n          if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n            strm.msg = 'incorrect data check';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          //Tracev((stderr, \"inflate:   check matches trailer\\n\"));\n        }\n        state.mode = LENGTH;\n        /* falls through */\n      case LENGTH:\n        if (state.wrap && state.flags) {\n          //=== NEEDBITS(32);\n          while (bits < 32) {\n            if (have === 0) { break inf_leave; }\n            have--;\n            hold += input[next++] << bits;\n            bits += 8;\n          }\n          //===//\n          if (hold !== (state.total & 0xffffffff)) {\n            strm.msg = 'incorrect length check';\n            state.mode = BAD;\n            break;\n          }\n          //=== INITBITS();\n          hold = 0;\n          bits = 0;\n          //===//\n          //Tracev((stderr, \"inflate:   length matches trailer\\n\"));\n        }\n        state.mode = DONE;\n        /* falls through */\n      case DONE:\n        ret = Z_STREAM_END;\n        break inf_leave;\n      case BAD:\n        ret = Z_DATA_ERROR;\n        break inf_leave;\n      case MEM:\n        return Z_MEM_ERROR;\n      case SYNC:\n        /* falls through */\n      default:\n        return Z_STREAM_ERROR;\n    }\n  }\n\n  // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n  /*\n     Return from inflate(), updating the total counts and the check value.\n     If there was no progress during the inflate() call, return a buffer\n     error.  Call updatewindow() to create and/or update the window state.\n     Note: a memory error from inflate() is non-recoverable.\n   */\n\n  //--- RESTORE() ---\n  strm.next_out = put;\n  strm.avail_out = left;\n  strm.next_in = next;\n  strm.avail_in = have;\n  state.hold = hold;\n  state.bits = bits;\n  //---\n\n  if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n                      (state.mode < CHECK || flush !== Z_FINISH))) {\n    if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n      state.mode = MEM;\n      return Z_MEM_ERROR;\n    }\n  }\n  _in -= strm.avail_in;\n  _out -= strm.avail_out;\n  strm.total_in += _in;\n  strm.total_out += _out;\n  state.total += _out;\n  if (state.wrap && _out) {\n    strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n      (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n  }\n  strm.data_type = state.bits + (state.last ? 64 : 0) +\n                    (state.mode === TYPE ? 128 : 0) +\n                    (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n  if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n    ret = Z_BUF_ERROR;\n  }\n  return ret;\n}\n\nfunction inflateEnd(strm) {\n\n  if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n    return Z_STREAM_ERROR;\n  }\n\n  var state = strm.state;\n  if (state.window) {\n    state.window = null;\n  }\n  strm.state = null;\n  return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n  var state;\n\n  /* check state */\n  if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n  state = strm.state;\n  if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n  /* save header structure */\n  state.head = head;\n  head.done = false;\n  return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n  var dictLength = dictionary.length;\n\n  var state;\n  var dictid;\n  var ret;\n\n  /* check state */\n  if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n  state = strm.state;\n\n  if (state.wrap !== 0 && state.mode !== DICT) {\n    return Z_STREAM_ERROR;\n  }\n\n  /* check for correct dictionary identifier */\n  if (state.mode === DICT) {\n    dictid = 1; /* adler32(0, null, 0)*/\n    /* dictid = adler32(dictid, dictionary, dictLength); */\n    dictid = adler32(dictid, dictionary, dictLength, 0);\n    if (dictid !== state.check) {\n      return Z_DATA_ERROR;\n    }\n  }\n  /* copy dictionary to window using updatewindow(), which will amend the\n   existing dictionary if appropriate */\n  ret = updatewindow(strm, dictionary, dictLength, dictLength);\n  if (ret) {\n    state.mode = MEM;\n    return Z_MEM_ERROR;\n  }\n  state.havedict = 1;\n  // Tracev((stderr, \"inflate:   dictionary set\\n\"));\n  return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = require('../utils/common');\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n  3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n  35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n  16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n  19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n  1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n  257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n  8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n  16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n  23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n  28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n  var bits = opts.bits;\n      //here = opts.here; /* table entry for duplication */\n\n  var len = 0;               /* a code's length in bits */\n  var sym = 0;               /* index of code symbols */\n  var min = 0, max = 0;          /* minimum and maximum code lengths */\n  var root = 0;              /* number of index bits for root table */\n  var curr = 0;              /* number of index bits for current table */\n  var drop = 0;              /* code bits to drop for sub-table */\n  var left = 0;                   /* number of prefix codes available */\n  var used = 0;              /* code entries in table used */\n  var huff = 0;              /* Huffman code */\n  var incr;              /* for incrementing code, index */\n  var fill;              /* index for replicating entries */\n  var low;               /* low bits for current root entry */\n  var mask;              /* mask for low root bits */\n  var next;             /* next available space in table */\n  var base = null;     /* base value table to use */\n  var base_index = 0;\n//  var shoextra;    /* extra bits table to use */\n  var end;                    /* use base and extra for symbol > end */\n  var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];    /* number of codes of each length */\n  var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1];     /* offsets in table for each length */\n  var extra = null;\n  var extra_index = 0;\n\n  var here_bits, here_op, here_val;\n\n  /*\n   Process a set of code lengths to create a canonical Huffman code.  The\n   code lengths are lens[0..codes-1].  Each length corresponds to the\n   symbols 0..codes-1.  The Huffman code is generated by first sorting the\n   symbols by length from short to long, and retaining the symbol order\n   for codes with equal lengths.  Then the code starts with all zero bits\n   for the first code of the shortest length, and the codes are integer\n   increments for the same length, and zeros are appended as the length\n   increases.  For the deflate format, these bits are stored backwards\n   from their more natural integer increment ordering, and so when the\n   decoding tables are built in the large loop below, the integer codes\n   are incremented backwards.\n\n   This routine assumes, but does not check, that all of the entries in\n   lens[] are in the range 0..MAXBITS.  The caller must assure this.\n   1..MAXBITS is interpreted as that code length.  zero means that that\n   symbol does not occur in this code.\n\n   The codes are sorted by computing a count of codes for each length,\n   creating from that a table of starting indices for each length in the\n   sorted table, and then entering the symbols in order in the sorted\n   table.  The sorted table is work[], with that space being provided by\n   the caller.\n\n   The length counts are used for other purposes as well, i.e. finding\n   the minimum and maximum length codes, determining if there are any\n   codes at all, checking for a valid set of lengths, and looking ahead\n   at length counts to determine sub-table sizes when building the\n   decoding tables.\n   */\n\n  /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n  for (len = 0; len <= MAXBITS; len++) {\n    count[len] = 0;\n  }\n  for (sym = 0; sym < codes; sym++) {\n    count[lens[lens_index + sym]]++;\n  }\n\n  /* bound code lengths, force root to be within code lengths */\n  root = bits;\n  for (max = MAXBITS; max >= 1; max--) {\n    if (count[max] !== 0) { break; }\n  }\n  if (root > max) {\n    root = max;\n  }\n  if (max === 0) {                     /* no symbols to code at all */\n    //table.op[opts.table_index] = 64;  //here.op = (var char)64;    /* invalid code marker */\n    //table.bits[opts.table_index] = 1;   //here.bits = (var char)1;\n    //table.val[opts.table_index++] = 0;   //here.val = (var short)0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n    //table.op[opts.table_index] = 64;\n    //table.bits[opts.table_index] = 1;\n    //table.val[opts.table_index++] = 0;\n    table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n    opts.bits = 1;\n    return 0;     /* no symbols, but wait for decoding to report error */\n  }\n  for (min = 1; min < max; min++) {\n    if (count[min] !== 0) { break; }\n  }\n  if (root < min) {\n    root = min;\n  }\n\n  /* check for an over-subscribed or incomplete set of lengths */\n  left = 1;\n  for (len = 1; len <= MAXBITS; len++) {\n    left <<= 1;\n    left -= count[len];\n    if (left < 0) {\n      return -1;\n    }        /* over-subscribed */\n  }\n  if (left > 0 && (type === CODES || max !== 1)) {\n    return -1;                      /* incomplete set */\n  }\n\n  /* generate offsets into symbol table for each length for sorting */\n  offs[1] = 0;\n  for (len = 1; len < MAXBITS; len++) {\n    offs[len + 1] = offs[len] + count[len];\n  }\n\n  /* sort symbols by length, by symbol order within each length */\n  for (sym = 0; sym < codes; sym++) {\n    if (lens[lens_index + sym] !== 0) {\n      work[offs[lens[lens_index + sym]]++] = sym;\n    }\n  }\n\n  /*\n   Create and fill in decoding tables.  In this loop, the table being\n   filled is at next and has curr index bits.  The code being used is huff\n   with length len.  That code is converted to an index by dropping drop\n   bits off of the bottom.  For codes where len is less than drop + curr,\n   those top drop + curr - len bits are incremented through all values to\n   fill the table with replicated entries.\n\n   root is the number of index bits for the root table.  When len exceeds\n   root, sub-tables are created pointed to by the root entry with an index\n   of the low root bits of huff.  This is saved in low to check for when a\n   new sub-table should be started.  drop is zero when the root table is\n   being filled, and drop is root when sub-tables are being filled.\n\n   When a new sub-table is needed, it is necessary to look ahead in the\n   code lengths to determine what size sub-table is needed.  The length\n   counts are used for this, and so count[] is decremented as codes are\n   entered in the tables.\n\n   used keeps track of how many table entries have been allocated from the\n   provided *table space.  It is checked for LENS and DIST tables against\n   the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n   the initial root table size constants.  See the comments in inftrees.h\n   for more information.\n\n   sym increments through all symbols, and the loop terminates when\n   all codes of length max, i.e. all codes, have been processed.  This\n   routine permits incomplete codes, so another loop after this one fills\n   in the rest of the decoding tables with invalid code markers.\n   */\n\n  /* set up for code type */\n  // poor man optimization - use if-else instead of switch,\n  // to avoid deopts in old v8\n  if (type === CODES) {\n    base = extra = work;    /* dummy value--not used */\n    end = 19;\n\n  } else if (type === LENS) {\n    base = lbase;\n    base_index -= 257;\n    extra = lext;\n    extra_index -= 257;\n    end = 256;\n\n  } else {                    /* DISTS */\n    base = dbase;\n    extra = dext;\n    end = -1;\n  }\n\n  /* initialize opts for loop */\n  huff = 0;                   /* starting code */\n  sym = 0;                    /* starting code symbol */\n  len = min;                  /* starting code length */\n  next = table_index;              /* current table to fill in */\n  curr = root;                /* current table index bits */\n  drop = 0;                   /* current bits to drop from code for index */\n  low = -1;                   /* trigger new sub-table when len > root */\n  used = 1 << root;          /* use root table entries */\n  mask = used - 1;            /* mask for comparing low */\n\n  /* check available table space */\n  if ((type === LENS && used > ENOUGH_LENS) ||\n    (type === DISTS && used > ENOUGH_DISTS)) {\n    return 1;\n  }\n\n  /* process all codes and make table entries */\n  for (;;) {\n    /* create table entry */\n    here_bits = len - drop;\n    if (work[sym] < end) {\n      here_op = 0;\n      here_val = work[sym];\n    }\n    else if (work[sym] > end) {\n      here_op = extra[extra_index + work[sym]];\n      here_val = base[base_index + work[sym]];\n    }\n    else {\n      here_op = 32 + 64;         /* end of block */\n      here_val = 0;\n    }\n\n    /* replicate for those indices with low len bits equal to huff */\n    incr = 1 << (len - drop);\n    fill = 1 << curr;\n    min = fill;                 /* save offset to next table */\n    do {\n      fill -= incr;\n      table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n    } while (fill !== 0);\n\n    /* backwards increment the len-bit code huff */\n    incr = 1 << (len - 1);\n    while (huff & incr) {\n      incr >>= 1;\n    }\n    if (incr !== 0) {\n      huff &= incr - 1;\n      huff += incr;\n    } else {\n      huff = 0;\n    }\n\n    /* go to next symbol, update count, len */\n    sym++;\n    if (--count[len] === 0) {\n      if (len === max) { break; }\n      len = lens[lens_index + work[sym]];\n    }\n\n    /* create new sub-table if needed */\n    if (len > root && (huff & mask) !== low) {\n      /* if first time, transition to sub-tables */\n      if (drop === 0) {\n        drop = root;\n      }\n\n      /* increment past last table */\n      next += min;            /* here min is 1 << curr */\n\n      /* determine length of next table */\n      curr = len - drop;\n      left = 1 << curr;\n      while (curr + drop < max) {\n        left -= count[curr + drop];\n        if (left <= 0) { break; }\n        curr++;\n        left <<= 1;\n      }\n\n      /* check for enough space */\n      used += 1 << curr;\n      if ((type === LENS && used > ENOUGH_LENS) ||\n        (type === DISTS && used > ENOUGH_DISTS)) {\n        return 1;\n      }\n\n      /* point entry in root table to sub-table */\n      low = huff & mask;\n      /*table.op[low] = curr;\n      table.bits[low] = root;\n      table.val[low] = next - opts.table_index;*/\n      table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n    }\n  }\n\n  /* fill in remaining table entry if code is incomplete (guaranteed to have\n   at most one remaining entry, since if the code is incomplete, the\n   maximum code length that was allowed to get this far is one bit) */\n  if (huff !== 0) {\n    //table.op[next + huff] = 64;            /* invalid code marker */\n    //table.bits[next + huff] = len - drop;\n    //table.val[next + huff] = 0;\n    table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n  }\n\n  /* set return parameters */\n  //opts.table_index += used;\n  opts.bits = root;\n  return 0;\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n  2:      'need dictionary',     /* Z_NEED_DICT       2  */\n  1:      'stream end',          /* Z_STREAM_END      1  */\n  0:      '',                    /* Z_OK              0  */\n  '-1':   'file error',          /* Z_ERRNO         (-1) */\n  '-2':   'stream error',        /* Z_STREAM_ERROR  (-2) */\n  '-3':   'data error',          /* Z_DATA_ERROR    (-3) */\n  '-4':   'insufficient memory', /* Z_MEM_ERROR     (-4) */\n  '-5':   'buffer error',        /* Z_BUF_ERROR     (-5) */\n  '-6':   'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = require('../utils/common');\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED          = 1;\n//var Z_HUFFMAN_ONLY      = 2;\n//var Z_RLE               = 3;\nvar Z_FIXED               = 4;\n//var Z_DEFAULT_STRATEGY  = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY              = 0;\nvar Z_TEXT                = 1;\n//var Z_ASCII             = 1; // = Z_TEXT\nvar Z_UNKNOWN             = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES    = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH    = 3;\nvar MAX_MATCH    = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES  = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS      = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES       = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES       = 30;\n/* number of distance codes */\n\nvar BL_CODES      = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE     = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS      = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size      = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK   = 256;\n/* end of block literal code */\n\nvar REP_3_6     = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10   = 17;\n/* repeat a zero length 3-10 times  (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times  (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits =   /* extra bits for each length code */\n  [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];\n\nvar extra_dbits =   /* extra bits for each distance code */\n  [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];\n\nvar extra_blbits =  /* extra bits for each bit length code */\n  [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n  [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree  = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree  = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code    = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code  = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length   = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist     = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n  this.static_tree  = static_tree;  /* static tree or NULL */\n  this.extra_bits   = extra_bits;   /* extra bits for each code or NULL */\n  this.extra_base   = extra_base;   /* base index for extra_bits */\n  this.elems        = elems;        /* max number of elements in the tree */\n  this.max_length   = max_length;   /* max bit length for the codes */\n\n  // show if `static_tree` has data or dummy - needed for monomorphic objects\n  this.has_stree    = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n  this.dyn_tree = dyn_tree;     /* the dynamic tree */\n  this.max_code = 0;            /* largest code with non zero frequency */\n  this.stat_desc = stat_desc;   /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n  return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n//    put_byte(s, (uch)((w) & 0xff));\n//    put_byte(s, (uch)((ush)(w) >> 8));\n  s.pending_buf[s.pending++] = (w) & 0xff;\n  s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n  if (s.bi_valid > (Buf_size - length)) {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    put_short(s, s.bi_buf);\n    s.bi_buf = value >> (Buf_size - s.bi_valid);\n    s.bi_valid += length - Buf_size;\n  } else {\n    s.bi_buf |= (value << s.bi_valid) & 0xffff;\n    s.bi_valid += length;\n  }\n}\n\n\nfunction send_code(s, c, tree) {\n  send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n  var res = 0;\n  do {\n    res |= code & 1;\n    code >>>= 1;\n    res <<= 1;\n  } while (--len > 0);\n  return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n  if (s.bi_valid === 16) {\n    put_short(s, s.bi_buf);\n    s.bi_buf = 0;\n    s.bi_valid = 0;\n\n  } else if (s.bi_valid >= 8) {\n    s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n    s.bi_buf >>= 8;\n    s.bi_valid -= 8;\n  }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n *    above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n *     array bl_count contains the frequencies for each bit length.\n *     The length opt_len is updated; static_len is also updated if stree is\n *     not null.\n */\nfunction gen_bitlen(s, desc)\n//    deflate_state *s;\n//    tree_desc *desc;    /* the tree descriptor */\n{\n  var tree            = desc.dyn_tree;\n  var max_code        = desc.max_code;\n  var stree           = desc.stat_desc.static_tree;\n  var has_stree       = desc.stat_desc.has_stree;\n  var extra           = desc.stat_desc.extra_bits;\n  var base            = desc.stat_desc.extra_base;\n  var max_length      = desc.stat_desc.max_length;\n  var h;              /* heap index */\n  var n, m;           /* iterate over the tree elements */\n  var bits;           /* bit length */\n  var xbits;          /* extra bits */\n  var f;              /* frequency */\n  var overflow = 0;   /* number of elements with bit length too large */\n\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    s.bl_count[bits] = 0;\n  }\n\n  /* In a first pass, compute the optimal bit lengths (which may\n   * overflow in the case of the bit length tree).\n   */\n  tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n  for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n    n = s.heap[h];\n    bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n    if (bits > max_length) {\n      bits = max_length;\n      overflow++;\n    }\n    tree[n * 2 + 1]/*.Len*/ = bits;\n    /* We overwrite tree[n].Dad which is no longer needed */\n\n    if (n > max_code) { continue; } /* not a leaf node */\n\n    s.bl_count[bits]++;\n    xbits = 0;\n    if (n >= base) {\n      xbits = extra[n - base];\n    }\n    f = tree[n * 2]/*.Freq*/;\n    s.opt_len += f * (bits + xbits);\n    if (has_stree) {\n      s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n    }\n  }\n  if (overflow === 0) { return; }\n\n  // Trace((stderr,\"\\nbit length overflow\\n\"));\n  /* This happens for example on obj2 and pic of the Calgary corpus */\n\n  /* Find the first bit length which could increase: */\n  do {\n    bits = max_length - 1;\n    while (s.bl_count[bits] === 0) { bits--; }\n    s.bl_count[bits]--;      /* move one leaf down the tree */\n    s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n    s.bl_count[max_length]--;\n    /* The brother of the overflow item also moves one step up,\n     * but this does not affect bl_count[max_length]\n     */\n    overflow -= 2;\n  } while (overflow > 0);\n\n  /* Now recompute all bit lengths, scanning in increasing frequency.\n   * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n   * lengths instead of fixing only the wrong ones. This idea is taken\n   * from 'ar' written by Haruhiko Okumura.)\n   */\n  for (bits = max_length; bits !== 0; bits--) {\n    n = s.bl_count[bits];\n    while (n !== 0) {\n      m = s.heap[--h];\n      if (m > max_code) { continue; }\n      if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n        // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n        s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n        tree[m * 2 + 1]/*.Len*/ = bits;\n      }\n      n--;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n *     zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n//    ct_data *tree;             /* the tree to decorate */\n//    int max_code;              /* largest code with non zero frequency */\n//    ushf *bl_count;            /* number of codes at each bit length */\n{\n  var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n  var code = 0;              /* running code value */\n  var bits;                  /* bit index */\n  var n;                     /* code index */\n\n  /* The distribution counts are first used to generate the code values\n   * without bit reversal.\n   */\n  for (bits = 1; bits <= MAX_BITS; bits++) {\n    next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n  }\n  /* Check that the bit counts in bl_count are consistent. The last code\n   * must be all ones.\n   */\n  //Assert (code + bl_count[MAX_BITS]-1 == (1<<MAX_BITS)-1,\n  //        \"inconsistent bit counts\");\n  //Tracev((stderr,\"\\ngen_codes: max_code %d \", max_code));\n\n  for (n = 0;  n <= max_code; n++) {\n    var len = tree[n * 2 + 1]/*.Len*/;\n    if (len === 0) { continue; }\n    /* Now reverse the bits */\n    tree[n * 2]/*.Code*/ = bi_reverse(next_code[len]++, len);\n\n    //Tracecv(tree != static_ltree, (stderr,\"\\nn %3d %c l %2d c %4x (%x) \",\n    //     n, (isgraph(n) ? n : ' '), len, tree[n].Code, next_code[len]-1));\n  }\n}\n\n\n/* ===========================================================================\n * Initialize the various 'constant' tables.\n */\nfunction tr_static_init() {\n  var n;        /* iterates over tree elements */\n  var bits;     /* bit counter */\n  var length;   /* length value */\n  var code;     /* code value */\n  var dist;     /* distance index */\n  var bl_count = new Array(MAX_BITS + 1);\n  /* number of codes at each bit length for an optimal tree */\n\n  // do check in _tr_init()\n  //if (static_init_done) return;\n\n  /* For some embedded targets, global variables are not initialized: */\n/*#ifdef NO_INIT_GLOBAL_POINTERS\n  static_l_desc.static_tree = static_ltree;\n  static_l_desc.extra_bits = extra_lbits;\n  static_d_desc.static_tree = static_dtree;\n  static_d_desc.extra_bits = extra_dbits;\n  static_bl_desc.extra_bits = extra_blbits;\n#endif*/\n\n  /* Initialize the mapping length (0..255) -> length code (0..28) */\n  length = 0;\n  for (code = 0; code < LENGTH_CODES - 1; code++) {\n    base_length[code] = length;\n    for (n = 0; n < (1 << extra_lbits[code]); n++) {\n      _length_code[length++] = code;\n    }\n  }\n  //Assert (length == 256, \"tr_static_init: length != 256\");\n  /* Note that the length 255 (match length 258) can be represented\n   * in two different ways: code 284 + 5 bits or code 285, so we\n   * overwrite length_code[255] to use the best encoding:\n   */\n  _length_code[length - 1] = code;\n\n  /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n  dist = 0;\n  for (code = 0; code < 16; code++) {\n    base_dist[code] = dist;\n    for (n = 0; n < (1 << extra_dbits[code]); n++) {\n      _dist_code[dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: dist != 256\");\n  dist >>= 7; /* from now on, all distances are divided by 128 */\n  for (; code < D_CODES; code++) {\n    base_dist[code] = dist << 7;\n    for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n      _dist_code[256 + dist++] = code;\n    }\n  }\n  //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n  /* Construct the codes of the static literal tree */\n  for (bits = 0; bits <= MAX_BITS; bits++) {\n    bl_count[bits] = 0;\n  }\n\n  n = 0;\n  while (n <= 143) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  while (n <= 255) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 9;\n    n++;\n    bl_count[9]++;\n  }\n  while (n <= 279) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 7;\n    n++;\n    bl_count[7]++;\n  }\n  while (n <= 287) {\n    static_ltree[n * 2 + 1]/*.Len*/ = 8;\n    n++;\n    bl_count[8]++;\n  }\n  /* Codes 286 and 287 do not exist, but we must include them in the\n   * tree construction to get a canonical Huffman tree (longest code\n   * all ones)\n   */\n  gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n  /* The static distance tree is trivial: */\n  for (n = 0; n < D_CODES; n++) {\n    static_dtree[n * 2 + 1]/*.Len*/ = 5;\n    static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n  }\n\n  // Now data ready and we can init static trees\n  static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n  static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0,          D_CODES, MAX_BITS);\n  static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0,         BL_CODES, MAX_BL_BITS);\n\n  //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n  var n; /* iterates over tree elements */\n\n  /* Initialize the trees. */\n  for (n = 0; n < L_CODES;  n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < D_CODES;  n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n  for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n  s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n  s.opt_len = s.static_len = 0;\n  s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n  if (s.bi_valid > 8) {\n    put_short(s, s.bi_buf);\n  } else if (s.bi_valid > 0) {\n    //put_byte(s, (Byte)s->bi_buf);\n    s.pending_buf[s.pending++] = s.bi_buf;\n  }\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf    *buf;    /* the input data */\n//unsigned len;     /* its length */\n//int      header;  /* true if block header must be written */\n{\n  bi_windup(s);        /* align on byte boundary */\n\n  if (header) {\n    put_short(s, len);\n    put_short(s, ~len);\n  }\n//  while (len--) {\n//    put_byte(s, *buf++);\n//  }\n  utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n  s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n  var _n2 = n * 2;\n  var _m2 = m * 2;\n  return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n         (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n//    deflate_state *s;\n//    ct_data *tree;  /* the tree to restore */\n//    int k;               /* node to move down */\n{\n  var v = s.heap[k];\n  var j = k << 1;  /* left son of k */\n  while (j <= s.heap_len) {\n    /* Set j to the smallest of the two sons: */\n    if (j < s.heap_len &&\n      smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n      j++;\n    }\n    /* Exit if v is smaller than both sons */\n    if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n    /* Exchange v with the smallest son */\n    s.heap[k] = s.heap[j];\n    k = j;\n\n    /* And continue down the tree, setting j to the left son of k */\n    j <<= 1;\n  }\n  s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n//    deflate_state *s;\n//    const ct_data *ltree; /* literal tree */\n//    const ct_data *dtree; /* distance tree */\n{\n  var dist;           /* distance of matched string */\n  var lc;             /* match length or unmatched char (if dist == 0) */\n  var lx = 0;         /* running index in l_buf */\n  var code;           /* the code to send */\n  var extra;          /* number of extra bits to send */\n\n  if (s.last_lit !== 0) {\n    do {\n      dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n      lc = s.pending_buf[s.l_buf + lx];\n      lx++;\n\n      if (dist === 0) {\n        send_code(s, lc, ltree); /* send a literal byte */\n        //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n      } else {\n        /* Here, lc is the match length - MIN_MATCH */\n        code = _length_code[lc];\n        send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n        extra = extra_lbits[code];\n        if (extra !== 0) {\n          lc -= base_length[code];\n          send_bits(s, lc, extra);       /* send the extra length bits */\n        }\n        dist--; /* dist is now the match distance - 1 */\n        code = d_code(dist);\n        //Assert (code < D_CODES, \"bad d_code\");\n\n        send_code(s, code, dtree);       /* send the distance code */\n        extra = extra_dbits[code];\n        if (extra !== 0) {\n          dist -= base_dist[code];\n          send_bits(s, dist, extra);   /* send the extra distance bits */\n        }\n      } /* literal or match pair ? */\n\n      /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n      //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n      //       \"pendingBuf overflow\");\n\n    } while (lx < s.last_lit);\n  }\n\n  send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n *     and corresponding code. The length opt_len is updated; static_len is\n *     also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n//    deflate_state *s;\n//    tree_desc *desc; /* the tree descriptor */\n{\n  var tree     = desc.dyn_tree;\n  var stree    = desc.stat_desc.static_tree;\n  var has_stree = desc.stat_desc.has_stree;\n  var elems    = desc.stat_desc.elems;\n  var n, m;          /* iterate over heap elements */\n  var max_code = -1; /* largest code with non zero frequency */\n  var node;          /* new node being created */\n\n  /* Construct the initial heap, with least frequent element in\n   * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n   * heap[0] is not used.\n   */\n  s.heap_len = 0;\n  s.heap_max = HEAP_SIZE;\n\n  for (n = 0; n < elems; n++) {\n    if (tree[n * 2]/*.Freq*/ !== 0) {\n      s.heap[++s.heap_len] = max_code = n;\n      s.depth[n] = 0;\n\n    } else {\n      tree[n * 2 + 1]/*.Len*/ = 0;\n    }\n  }\n\n  /* The pkzip format requires that at least one distance code exists,\n   * and that at least one bit should be sent even if there is only one\n   * possible code. So to avoid special checks later on we force at least\n   * two codes of non zero frequency.\n   */\n  while (s.heap_len < 2) {\n    node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n    tree[node * 2]/*.Freq*/ = 1;\n    s.depth[node] = 0;\n    s.opt_len--;\n\n    if (has_stree) {\n      s.static_len -= stree[node * 2 + 1]/*.Len*/;\n    }\n    /* node is 0 or 1 so it does not have extra bits */\n  }\n  desc.max_code = max_code;\n\n  /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n   * establish sub-heaps of increasing lengths:\n   */\n  for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n  /* Construct the Huffman tree by repeatedly combining the least two\n   * frequent nodes.\n   */\n  node = elems;              /* next internal node of the tree */\n  do {\n    //pqremove(s, tree, n);  /* n = node of least frequency */\n    /*** pqremove ***/\n    n = s.heap[1/*SMALLEST*/];\n    s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n    /***/\n\n    m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n    s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n    s.heap[--s.heap_max] = m;\n\n    /* Create a new node father of n and m */\n    tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n    s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n    tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n    /* and insert the new node in the heap */\n    s.heap[1/*SMALLEST*/] = node++;\n    pqdownheap(s, tree, 1/*SMALLEST*/);\n\n  } while (s.heap_len >= 2);\n\n  s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n  /* At this point, the fields freq and dad are set. We can now\n   * generate the bit lengths.\n   */\n  gen_bitlen(s, desc);\n\n  /* The field len is now set, we can generate the bit codes */\n  gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n//    deflate_state *s;\n//    ct_data *tree;   /* the tree to be scanned */\n//    int max_code;    /* and its largest code of non zero frequency */\n{\n  var n;                     /* iterates over all tree elements */\n  var prevlen = -1;          /* last emitted length */\n  var curlen;                /* length of current code */\n\n  var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  var count = 0;             /* repeat count of the current code */\n  var max_count = 7;         /* max repeat count */\n  var min_count = 4;         /* min repeat count */\n\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n  tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n    } else if (curlen !== 0) {\n\n      if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n      s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n    } else if (count <= 10) {\n      s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n    } else {\n      s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n    }\n\n    count = 0;\n    prevlen = curlen;\n\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n//    deflate_state *s;\n//    ct_data *tree; /* the tree to be scanned */\n//    int max_code;       /* and its largest code of non zero frequency */\n{\n  var n;                     /* iterates over all tree elements */\n  var prevlen = -1;          /* last emitted length */\n  var curlen;                /* length of current code */\n\n  var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n  var count = 0;             /* repeat count of the current code */\n  var max_count = 7;         /* max repeat count */\n  var min_count = 4;         /* min repeat count */\n\n  /* tree[max_code+1].Len = -1; */  /* guard already set */\n  if (nextlen === 0) {\n    max_count = 138;\n    min_count = 3;\n  }\n\n  for (n = 0; n <= max_code; n++) {\n    curlen = nextlen;\n    nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n    if (++count < max_count && curlen === nextlen) {\n      continue;\n\n    } else if (count < min_count) {\n      do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n    } else if (curlen !== 0) {\n      if (curlen !== prevlen) {\n        send_code(s, curlen, s.bl_tree);\n        count--;\n      }\n      //Assert(count >= 3 && count <= 6, \" 3_6?\");\n      send_code(s, REP_3_6, s.bl_tree);\n      send_bits(s, count - 3, 2);\n\n    } else if (count <= 10) {\n      send_code(s, REPZ_3_10, s.bl_tree);\n      send_bits(s, count - 3, 3);\n\n    } else {\n      send_code(s, REPZ_11_138, s.bl_tree);\n      send_bits(s, count - 11, 7);\n    }\n\n    count = 0;\n    prevlen = curlen;\n    if (nextlen === 0) {\n      max_count = 138;\n      min_count = 3;\n\n    } else if (curlen === nextlen) {\n      max_count = 6;\n      min_count = 3;\n\n    } else {\n      max_count = 7;\n      min_count = 4;\n    }\n  }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n  var max_blindex;  /* index of last bit length code of non zero freq */\n\n  /* Determine the bit length frequencies for literal and distance trees */\n  scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n  scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n  /* Build the bit length tree: */\n  build_tree(s, s.bl_desc);\n  /* opt_len now includes the length of the tree representations, except\n   * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n   */\n\n  /* Determine the number of bit length codes to send. The pkzip format\n   * requires that at least 4 bit length codes be sent. (appnote.txt says\n   * 3 but the actual value used is 4.)\n   */\n  for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n    if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n      break;\n    }\n  }\n  /* Update opt_len to include the bit length tree and counts */\n  s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n  //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n  //        s->opt_len, s->static_len));\n\n  return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n//    deflate_state *s;\n//    int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n  var rank;                    /* index in bl_order */\n\n  //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n  //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n  //        \"too many codes\");\n  //Tracev((stderr, \"\\nbl counts: \"));\n  send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n  send_bits(s, dcodes - 1,   5);\n  send_bits(s, blcodes - 4,  4); /* not -3 as stated in appnote.txt */\n  for (rank = 0; rank < blcodes; rank++) {\n    //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n    send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n  }\n  //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n  //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n  send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n  //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n *    a) There are no non-portable control characters belonging to the\n *       \"black list\" (0..6, 14..25, 28..31).\n *    b) There is at least one printable character belonging to the\n *       \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n *   \"gray list\" that is ignored in this detection algorithm:\n *   (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n  /* black_mask is the bit mask of black-listed bytes\n   * set bits 0..6, 14..25, and 28..31\n   * 0xf3ffc07f = binary 11110011111111111100000001111111\n   */\n  var black_mask = 0xf3ffc07f;\n  var n;\n\n  /* Check for non-textual (\"black-listed\") bytes. */\n  for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n    if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n      return Z_BINARY;\n    }\n  }\n\n  /* Check for textual (\"white-listed\") bytes. */\n  if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n      s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n    return Z_TEXT;\n  }\n  for (n = 32; n < LITERALS; n++) {\n    if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n      return Z_TEXT;\n    }\n  }\n\n  /* There are no \"black-listed\" or \"white-listed\" bytes:\n   * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n   */\n  return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n  if (!static_init_done) {\n    tr_static_init();\n    static_init_done = true;\n  }\n\n  s.l_desc  = new TreeDesc(s.dyn_ltree, static_l_desc);\n  s.d_desc  = new TreeDesc(s.dyn_dtree, static_d_desc);\n  s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n  s.bi_buf = 0;\n  s.bi_valid = 0;\n\n  /* Initialize the first block of the first file: */\n  init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf;       /* input block */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n{\n  send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3);    /* send block type */\n  copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n  send_bits(s, STATIC_TREES << 1, 3);\n  send_code(s, END_BLOCK, static_ltree);\n  bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf;       /* input block, or NULL if too old */\n//ulg stored_len;   /* length of input block */\n//int last;         /* one if this is the last block for a file */\n{\n  var opt_lenb, static_lenb;  /* opt_len and static_len in bytes */\n  var max_blindex = 0;        /* index of last bit length code of non zero freq */\n\n  /* Build the Huffman trees unless a stored block is forced */\n  if (s.level > 0) {\n\n    /* Check if the file is binary or text */\n    if (s.strm.data_type === Z_UNKNOWN) {\n      s.strm.data_type = detect_data_type(s);\n    }\n\n    /* Construct the literal and distance trees */\n    build_tree(s, s.l_desc);\n    // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n\n    build_tree(s, s.d_desc);\n    // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n    //        s->static_len));\n    /* At this point, opt_len and static_len are the total bit lengths of\n     * the compressed block data, excluding the tree representations.\n     */\n\n    /* Build the bit length tree for the above two trees, and get the index\n     * in bl_order of the last bit length code to send.\n     */\n    max_blindex = build_bl_tree(s);\n\n    /* Determine the best encoding. Compute the block lengths in bytes. */\n    opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n    static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n    // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n    //        opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n    //        s->last_lit));\n\n    if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n  } else {\n    // Assert(buf != (char*)0, \"lost buf\");\n    opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n  }\n\n  if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n    /* 4: two words for the lengths */\n\n    /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n     * Otherwise we can't have processed more than WSIZE input bytes since\n     * the last block flush, because compression would have been\n     * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n     * transform a block into a stored block.\n     */\n    _tr_stored_block(s, buf, stored_len, last);\n\n  } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n    send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n    compress_block(s, static_ltree, static_dtree);\n\n  } else {\n    send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n    send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n    compress_block(s, s.dyn_ltree, s.dyn_dtree);\n  }\n  // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n  /* The above check is made mod 2^32, for files larger than 512 MB\n   * and uLong implemented on 32 bits.\n   */\n  init_block(s);\n\n  if (last) {\n    bi_windup(s);\n  }\n  // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n  //       s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n//    deflate_state *s;\n//    unsigned dist;  /* distance of matched string */\n//    unsigned lc;    /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n  //var out_length, in_length, dcode;\n\n  s.pending_buf[s.d_buf + s.last_lit * 2]     = (dist >>> 8) & 0xff;\n  s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n  s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n  s.last_lit++;\n\n  if (dist === 0) {\n    /* lc is the unmatched char */\n    s.dyn_ltree[lc * 2]/*.Freq*/++;\n  } else {\n    s.matches++;\n    /* Here, lc is the match length - MIN_MATCH */\n    dist--;             /* dist = match distance - 1 */\n    //Assert((ush)dist < (ush)MAX_DIST(s) &&\n    //       (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n    //       (ush)d_code(dist) < (ush)D_CODES,  \"_tr_tally: bad match\");\n\n    s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n    s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n  }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n//  /* Try to guess if it is profitable to stop the current block here */\n//  if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n//    /* Compute an upper bound for the compressed length */\n//    out_length = s.last_lit*8;\n//    in_length = s.strstart - s.block_start;\n//\n//    for (dcode = 0; dcode < D_CODES; dcode++) {\n//      out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n//    }\n//    out_length >>>= 3;\n//    //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n//    //       s->last_lit, in_length, out_length,\n//    //       100L - out_length*100L/in_length));\n//    if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n//      return true;\n//    }\n//  }\n//#endif\n\n  return (s.last_lit === s.lit_bufsize - 1);\n  /* We avoid equality with lit_bufsize because of wraparound at 64K\n   * on 16 bit machines and because stored blocks are restricted to\n   * 64K-1 bytes.\n   */\n}\n\nexports._tr_init  = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block  = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n","'use strict';\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n//   claim that you wrote the original software. If you use this software\n//   in a product, an acknowledgment in the product documentation would be\n//   appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n//   misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n  /* next input byte */\n  this.input = null; // JS specific, because we have no pointers\n  this.next_in = 0;\n  /* number of bytes available at input */\n  this.avail_in = 0;\n  /* total number of input bytes read so far */\n  this.total_in = 0;\n  /* next output byte should be put there */\n  this.output = null; // JS specific, because we have no pointers\n  this.next_out = 0;\n  /* remaining free space at output */\n  this.avail_out = 0;\n  /* total number of bytes output so far */\n  this.total_out = 0;\n  /* last error message, NULL if no error */\n  this.msg = ''/*Z_NULL*/;\n  /* not visible by applications */\n  this.state = null;\n  /* best guess about the data type: binary or text */\n  this.data_type = 2/*Z_UNKNOWN*/;\n  /* adler32 value of the uncompressed data */\n  this.adler = 0;\n}\n\nmodule.exports = ZStream;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things.  But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n    throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n    throw new Error('clearTimeout has not been defined');\n}\n(function () {\n    try {\n        if (typeof setTimeout === 'function') {\n            cachedSetTimeout = setTimeout;\n        } else {\n            cachedSetTimeout = defaultSetTimout;\n        }\n    } catch (e) {\n        cachedSetTimeout = defaultSetTimout;\n    }\n    try {\n        if (typeof clearTimeout === 'function') {\n            cachedClearTimeout = clearTimeout;\n        } else {\n            cachedClearTimeout = defaultClearTimeout;\n        }\n    } catch (e) {\n        cachedClearTimeout = defaultClearTimeout;\n    }\n} ())\nfunction runTimeout(fun) {\n    if (cachedSetTimeout === setTimeout) {\n        //normal enviroments in sane situations\n        return setTimeout(fun, 0);\n    }\n    // if setTimeout wasn't available but was latter defined\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n        cachedSetTimeout = setTimeout;\n        return setTimeout(fun, 0);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedSetTimeout(fun, 0);\n    } catch(e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n            return cachedSetTimeout.call(null, fun, 0);\n        } catch(e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n            return cachedSetTimeout.call(this, fun, 0);\n        }\n    }\n\n\n}\nfunction runClearTimeout(marker) {\n    if (cachedClearTimeout === clearTimeout) {\n        //normal enviroments in sane situations\n        return clearTimeout(marker);\n    }\n    // if clearTimeout wasn't available but was latter defined\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n        cachedClearTimeout = clearTimeout;\n        return clearTimeout(marker);\n    }\n    try {\n        // when when somebody has screwed with setTimeout but no I.E. maddness\n        return cachedClearTimeout(marker);\n    } catch (e){\n        try {\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\n            return cachedClearTimeout.call(null, marker);\n        } catch (e){\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n            return cachedClearTimeout.call(this, marker);\n        }\n    }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n    if (!draining || !currentQueue) {\n        return;\n    }\n    draining = false;\n    if (currentQueue.length) {\n        queue = currentQueue.concat(queue);\n    } else {\n        queueIndex = -1;\n    }\n    if (queue.length) {\n        drainQueue();\n    }\n}\n\nfunction drainQueue() {\n    if (draining) {\n        return;\n    }\n    var timeout = runTimeout(cleanUpNextTick);\n    draining = true;\n\n    var len = queue.length;\n    while(len) {\n        currentQueue = queue;\n        queue = [];\n        while (++queueIndex < len) {\n            if (currentQueue) {\n                currentQueue[queueIndex].run();\n            }\n        }\n        queueIndex = -1;\n        len = queue.length;\n    }\n    currentQueue = null;\n    draining = false;\n    runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n    var args = new Array(arguments.length - 1);\n    if (arguments.length > 1) {\n        for (var i = 1; i < arguments.length; i++) {\n            args[i - 1] = arguments[i];\n        }\n    }\n    queue.push(new Item(fun, args));\n    if (queue.length === 1 && !draining) {\n        runTimeout(drainQueue);\n    }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n    this.fun = fun;\n    this.array = array;\n}\nItem.prototype.run = function () {\n    this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n    throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n    throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","'use strict';\n\nvar functionsHaveConfigurableNames = require('functions-have-names').functionsHaveConfigurableNames();\n\nvar $Object = Object;\nvar $TypeError = TypeError;\n\nmodule.exports = function flags() {\n\tif (this != null && this !== $Object(this)) {\n\t\tthrow new $TypeError('RegExp.prototype.flags getter called on non-object');\n\t}\n\tvar result = '';\n\tif (this.hasIndices) {\n\t\tresult += 'd';\n\t}\n\tif (this.global) {\n\t\tresult += 'g';\n\t}\n\tif (this.ignoreCase) {\n\t\tresult += 'i';\n\t}\n\tif (this.multiline) {\n\t\tresult += 'm';\n\t}\n\tif (this.dotAll) {\n\t\tresult += 's';\n\t}\n\tif (this.unicode) {\n\t\tresult += 'u';\n\t}\n\tif (this.sticky) {\n\t\tresult += 'y';\n\t}\n\treturn result;\n};\n\nif (functionsHaveConfigurableNames && Object.defineProperty) {\n\tObject.defineProperty(module.exports, 'name', { value: 'get flags' });\n}\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar flagsBound = callBind(getPolyfill());\n\ndefine(flagsBound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = flagsBound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar $gOPD = Object.getOwnPropertyDescriptor;\n\nmodule.exports = function getPolyfill() {\n\tif (supportsDescriptors && (/a/mig).flags === 'gim') {\n\t\tvar descriptor = $gOPD(RegExp.prototype, 'flags');\n\t\tif (\n\t\t\tdescriptor\n\t\t\t&& typeof descriptor.get === 'function'\n\t\t\t&& typeof RegExp.prototype.dotAll === 'boolean'\n\t\t\t&& typeof RegExp.prototype.hasIndices === 'boolean'\n\t\t) {\n\t\t\t/* eslint getter-return: 0 */\n\t\t\tvar calls = '';\n\t\t\tvar o = {};\n\t\t\tObject.defineProperty(o, 'hasIndices', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'd';\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.defineProperty(o, 'sticky', {\n\t\t\t\tget: function () {\n\t\t\t\t\tcalls += 'y';\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (calls === 'dy') {\n\t\t\t\treturn descriptor.get;\n\t\t\t}\n\t\t}\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar supportsDescriptors = require('define-properties').supportsDescriptors;\nvar getPolyfill = require('./polyfill');\nvar gOPD = Object.getOwnPropertyDescriptor;\nvar defineProperty = Object.defineProperty;\nvar TypeErr = TypeError;\nvar getProto = Object.getPrototypeOf;\nvar regex = /a/;\n\nmodule.exports = function shimFlags() {\n\tif (!supportsDescriptors || !getProto) {\n\t\tthrow new TypeErr('RegExp.prototype.flags requires a true ES5 environment that supports property descriptors');\n\t}\n\tvar polyfill = getPolyfill();\n\tvar proto = getProto(regex);\n\tvar descriptor = gOPD(proto, 'flags');\n\tif (!descriptor || descriptor.get !== polyfill) {\n\t\tdefineProperty(proto, 'flags', {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tget: polyfill\n\t\t});\n\t}\n\treturn polyfill;\n};\n",";(function (sax) { // wrapper for non-node envs\n  sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n  sax.SAXParser = SAXParser\n  sax.SAXStream = SAXStream\n  sax.createStream = createStream\n\n  // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n  // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n  // since that's the earliest that a buffer overrun could occur.  This way, checks are\n  // as rare as required, but as often as necessary to ensure never crossing this bound.\n  // Furthermore, buffers are only tested at most once per write(), so passing a very\n  // large string into write() might have undesirable effects, but this is manageable by\n  // the caller, so it is assumed to be safe.  Thus, a call to write() may, in the extreme\n  // edge case, result in creating at most one complete copy of the string passed in.\n  // Set to Infinity to have unlimited buffers.\n  sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n  var buffers = [\n    'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n    'procInstName', 'procInstBody', 'entity', 'attribName',\n    'attribValue', 'cdata', 'script'\n  ]\n\n  sax.EVENTS = [\n    'text',\n    'processinginstruction',\n    'sgmldeclaration',\n    'doctype',\n    'comment',\n    'opentagstart',\n    'attribute',\n    'opentag',\n    'closetag',\n    'opencdata',\n    'cdata',\n    'closecdata',\n    'error',\n    'end',\n    'ready',\n    'script',\n    'opennamespace',\n    'closenamespace'\n  ]\n\n  function SAXParser (strict, opt) {\n    if (!(this instanceof SAXParser)) {\n      return new SAXParser(strict, opt)\n    }\n\n    var parser = this\n    clearBuffers(parser)\n    parser.q = parser.c = ''\n    parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n    parser.opt = opt || {}\n    parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n    parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n    parser.tags = []\n    parser.closed = parser.closedRoot = parser.sawRoot = false\n    parser.tag = parser.error = null\n    parser.strict = !!strict\n    parser.noscript = !!(strict || parser.opt.noscript)\n    parser.state = S.BEGIN\n    parser.strictEntities = parser.opt.strictEntities\n    parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n    parser.attribList = []\n\n    // namespaces form a prototype chain.\n    // it always points at the current tag,\n    // which protos to its parent tag.\n    if (parser.opt.xmlns) {\n      parser.ns = Object.create(rootNS)\n    }\n\n    // mostly just for error reporting\n    parser.trackPosition = parser.opt.position !== false\n    if (parser.trackPosition) {\n      parser.position = parser.line = parser.column = 0\n    }\n    emit(parser, 'onready')\n  }\n\n  if (!Object.create) {\n    Object.create = function (o) {\n      function F () {}\n      F.prototype = o\n      var newf = new F()\n      return newf\n    }\n  }\n\n  if (!Object.keys) {\n    Object.keys = function (o) {\n      var a = []\n      for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n      return a\n    }\n  }\n\n  function checkBufferLength (parser) {\n    var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n    var maxActual = 0\n    for (var i = 0, l = buffers.length; i < l; i++) {\n      var len = parser[buffers[i]].length\n      if (len > maxAllowed) {\n        // Text/cdata nodes can get big, and since they're buffered,\n        // we can get here under normal conditions.\n        // Avoid issues by emitting the text node now,\n        // so at least it won't get any bigger.\n        switch (buffers[i]) {\n          case 'textNode':\n            closeText(parser)\n            break\n\n          case 'cdata':\n            emitNode(parser, 'oncdata', parser.cdata)\n            parser.cdata = ''\n            break\n\n          case 'script':\n            emitNode(parser, 'onscript', parser.script)\n            parser.script = ''\n            break\n\n          default:\n            error(parser, 'Max buffer length exceeded: ' + buffers[i])\n        }\n      }\n      maxActual = Math.max(maxActual, len)\n    }\n    // schedule the next check for the earliest possible buffer overrun.\n    var m = sax.MAX_BUFFER_LENGTH - maxActual\n    parser.bufferCheckPosition = m + parser.position\n  }\n\n  function clearBuffers (parser) {\n    for (var i = 0, l = buffers.length; i < l; i++) {\n      parser[buffers[i]] = ''\n    }\n  }\n\n  function flushBuffers (parser) {\n    closeText(parser)\n    if (parser.cdata !== '') {\n      emitNode(parser, 'oncdata', parser.cdata)\n      parser.cdata = ''\n    }\n    if (parser.script !== '') {\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n  }\n\n  SAXParser.prototype = {\n    end: function () { end(this) },\n    write: write,\n    resume: function () { this.error = null; return this },\n    close: function () { return this.write(null) },\n    flush: function () { flushBuffers(this) }\n  }\n\n  var Stream\n  try {\n    Stream = require('stream').Stream\n  } catch (ex) {\n    Stream = function () {}\n  }\n\n  var streamWraps = sax.EVENTS.filter(function (ev) {\n    return ev !== 'error' && ev !== 'end'\n  })\n\n  function createStream (strict, opt) {\n    return new SAXStream(strict, opt)\n  }\n\n  function SAXStream (strict, opt) {\n    if (!(this instanceof SAXStream)) {\n      return new SAXStream(strict, opt)\n    }\n\n    Stream.apply(this)\n\n    this._parser = new SAXParser(strict, opt)\n    this.writable = true\n    this.readable = true\n\n    var me = this\n\n    this._parser.onend = function () {\n      me.emit('end')\n    }\n\n    this._parser.onerror = function (er) {\n      me.emit('error', er)\n\n      // if didn't throw, then means error was handled.\n      // go ahead and clear error, so we can write again.\n      me._parser.error = null\n    }\n\n    this._decoder = null\n\n    streamWraps.forEach(function (ev) {\n      Object.defineProperty(me, 'on' + ev, {\n        get: function () {\n          return me._parser['on' + ev]\n        },\n        set: function (h) {\n          if (!h) {\n            me.removeAllListeners(ev)\n            me._parser['on' + ev] = h\n            return h\n          }\n          me.on(ev, h)\n        },\n        enumerable: true,\n        configurable: false\n      })\n    })\n  }\n\n  SAXStream.prototype = Object.create(Stream.prototype, {\n    constructor: {\n      value: SAXStream\n    }\n  })\n\n  SAXStream.prototype.write = function (data) {\n    if (typeof Buffer === 'function' &&\n      typeof Buffer.isBuffer === 'function' &&\n      Buffer.isBuffer(data)) {\n      if (!this._decoder) {\n        var SD = require('string_decoder').StringDecoder\n        this._decoder = new SD('utf8')\n      }\n      data = this._decoder.write(data)\n    }\n\n    this._parser.write(data.toString())\n    this.emit('data', data)\n    return true\n  }\n\n  SAXStream.prototype.end = function (chunk) {\n    if (chunk && chunk.length) {\n      this.write(chunk)\n    }\n    this._parser.end()\n    return true\n  }\n\n  SAXStream.prototype.on = function (ev, handler) {\n    var me = this\n    if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n      me._parser['on' + ev] = function () {\n        var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n        args.splice(0, 0, ev)\n        me.emit.apply(me, args)\n      }\n    }\n\n    return Stream.prototype.on.call(me, ev, handler)\n  }\n\n  // this really needs to be replaced with character classes.\n  // XML allows all manner of ridiculous numbers and digits.\n  var CDATA = '[CDATA['\n  var DOCTYPE = 'DOCTYPE'\n  var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n  var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n  var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n  // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n  // This implementation works on strings, a single character at a time\n  // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n  // without a significant breaking change to either this  parser, or the\n  // JavaScript language.  Implementation of an emoji-capable xml parser\n  // is left as an exercise for the reader.\n  var nameStart = /[:_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]/\n\n  var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  var entityStart = /[#:_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]/\n  var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n  function isWhitespace (c) {\n    return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n  }\n\n  function isQuote (c) {\n    return c === '\"' || c === '\\''\n  }\n\n  function isAttribEnd (c) {\n    return c === '>' || isWhitespace(c)\n  }\n\n  function isMatch (regex, c) {\n    return regex.test(c)\n  }\n\n  function notMatch (regex, c) {\n    return !isMatch(regex, c)\n  }\n\n  var S = 0\n  sax.STATE = {\n    BEGIN: S++, // leading byte order mark or whitespace\n    BEGIN_WHITESPACE: S++, // leading whitespace\n    TEXT: S++, // general stuff\n    TEXT_ENTITY: S++, // &amp and such.\n    OPEN_WAKA: S++, // <\n    SGML_DECL: S++, // <!BLARG\n    SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n    DOCTYPE: S++, // <!DOCTYPE\n    DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n    DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n    DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n    COMMENT_STARTING: S++, // <!-\n    COMMENT: S++, // <!--\n    COMMENT_ENDING: S++, // <!-- blah -\n    COMMENT_ENDED: S++, // <!-- blah --\n    CDATA: S++, // <![CDATA[ something\n    CDATA_ENDING: S++, // ]\n    CDATA_ENDING_2: S++, // ]]\n    PROC_INST: S++, // <?hi\n    PROC_INST_BODY: S++, // <?hi there\n    PROC_INST_ENDING: S++, // <?hi \"there\" ?\n    OPEN_TAG: S++, // <strong\n    OPEN_TAG_SLASH: S++, // <strong /\n    ATTRIB: S++, // <a\n    ATTRIB_NAME: S++, // <a foo\n    ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n    ATTRIB_VALUE: S++, // <a foo=\n    ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n    ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n    ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n    ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\"&quot;\"\n    ATTRIB_VALUE_ENTITY_U: S++, // <foo bar=&quot\n    CLOSE_TAG: S++, // </a\n    CLOSE_TAG_SAW_WHITE: S++, // </a   >\n    SCRIPT: S++, // <script> ...\n    SCRIPT_ENDING: S++ // <script> ... <\n  }\n\n  sax.XML_ENTITIES = {\n    'amp': '&',\n    'gt': '>',\n    'lt': '<',\n    'quot': '\"',\n    'apos': \"'\"\n  }\n\n  sax.ENTITIES = {\n    'amp': '&',\n    'gt': '>',\n    'lt': '<',\n    'quot': '\"',\n    'apos': \"'\",\n    'AElig': 198,\n    'Aacute': 193,\n    'Acirc': 194,\n    'Agrave': 192,\n    'Aring': 197,\n    'Atilde': 195,\n    'Auml': 196,\n    'Ccedil': 199,\n    'ETH': 208,\n    'Eacute': 201,\n    'Ecirc': 202,\n    'Egrave': 200,\n    'Euml': 203,\n    'Iacute': 205,\n    'Icirc': 206,\n    'Igrave': 204,\n    'Iuml': 207,\n    'Ntilde': 209,\n    'Oacute': 211,\n    'Ocirc': 212,\n    'Ograve': 210,\n    'Oslash': 216,\n    'Otilde': 213,\n    'Ouml': 214,\n    'THORN': 222,\n    'Uacute': 218,\n    'Ucirc': 219,\n    'Ugrave': 217,\n    'Uuml': 220,\n    'Yacute': 221,\n    'aacute': 225,\n    'acirc': 226,\n    'aelig': 230,\n    'agrave': 224,\n    'aring': 229,\n    'atilde': 227,\n    'auml': 228,\n    'ccedil': 231,\n    'eacute': 233,\n    'ecirc': 234,\n    'egrave': 232,\n    'eth': 240,\n    'euml': 235,\n    'iacute': 237,\n    'icirc': 238,\n    'igrave': 236,\n    'iuml': 239,\n    'ntilde': 241,\n    'oacute': 243,\n    'ocirc': 244,\n    'ograve': 242,\n    'oslash': 248,\n    'otilde': 245,\n    'ouml': 246,\n    'szlig': 223,\n    'thorn': 254,\n    'uacute': 250,\n    'ucirc': 251,\n    'ugrave': 249,\n    'uuml': 252,\n    'yacute': 253,\n    'yuml': 255,\n    'copy': 169,\n    'reg': 174,\n    'nbsp': 160,\n    'iexcl': 161,\n    'cent': 162,\n    'pound': 163,\n    'curren': 164,\n    'yen': 165,\n    'brvbar': 166,\n    'sect': 167,\n    'uml': 168,\n    'ordf': 170,\n    'laquo': 171,\n    'not': 172,\n    'shy': 173,\n    'macr': 175,\n    'deg': 176,\n    'plusmn': 177,\n    'sup1': 185,\n    'sup2': 178,\n    'sup3': 179,\n    'acute': 180,\n    'micro': 181,\n    'para': 182,\n    'middot': 183,\n    'cedil': 184,\n    'ordm': 186,\n    'raquo': 187,\n    'frac14': 188,\n    'frac12': 189,\n    'frac34': 190,\n    'iquest': 191,\n    'times': 215,\n    'divide': 247,\n    'OElig': 338,\n    'oelig': 339,\n    'Scaron': 352,\n    'scaron': 353,\n    'Yuml': 376,\n    'fnof': 402,\n    'circ': 710,\n    'tilde': 732,\n    'Alpha': 913,\n    'Beta': 914,\n    'Gamma': 915,\n    'Delta': 916,\n    'Epsilon': 917,\n    'Zeta': 918,\n    'Eta': 919,\n    'Theta': 920,\n    'Iota': 921,\n    'Kappa': 922,\n    'Lambda': 923,\n    'Mu': 924,\n    'Nu': 925,\n    'Xi': 926,\n    'Omicron': 927,\n    'Pi': 928,\n    'Rho': 929,\n    'Sigma': 931,\n    'Tau': 932,\n    'Upsilon': 933,\n    'Phi': 934,\n    'Chi': 935,\n    'Psi': 936,\n    'Omega': 937,\n    'alpha': 945,\n    'beta': 946,\n    'gamma': 947,\n    'delta': 948,\n    'epsilon': 949,\n    'zeta': 950,\n    'eta': 951,\n    'theta': 952,\n    'iota': 953,\n    'kappa': 954,\n    'lambda': 955,\n    'mu': 956,\n    'nu': 957,\n    'xi': 958,\n    'omicron': 959,\n    'pi': 960,\n    'rho': 961,\n    'sigmaf': 962,\n    'sigma': 963,\n    'tau': 964,\n    'upsilon': 965,\n    'phi': 966,\n    'chi': 967,\n    'psi': 968,\n    'omega': 969,\n    'thetasym': 977,\n    'upsih': 978,\n    'piv': 982,\n    'ensp': 8194,\n    'emsp': 8195,\n    'thinsp': 8201,\n    'zwnj': 8204,\n    'zwj': 8205,\n    'lrm': 8206,\n    'rlm': 8207,\n    'ndash': 8211,\n    'mdash': 8212,\n    'lsquo': 8216,\n    'rsquo': 8217,\n    'sbquo': 8218,\n    'ldquo': 8220,\n    'rdquo': 8221,\n    'bdquo': 8222,\n    'dagger': 8224,\n    'Dagger': 8225,\n    'bull': 8226,\n    'hellip': 8230,\n    'permil': 8240,\n    'prime': 8242,\n    'Prime': 8243,\n    'lsaquo': 8249,\n    'rsaquo': 8250,\n    'oline': 8254,\n    'frasl': 8260,\n    'euro': 8364,\n    'image': 8465,\n    'weierp': 8472,\n    'real': 8476,\n    'trade': 8482,\n    'alefsym': 8501,\n    'larr': 8592,\n    'uarr': 8593,\n    'rarr': 8594,\n    'darr': 8595,\n    'harr': 8596,\n    'crarr': 8629,\n    'lArr': 8656,\n    'uArr': 8657,\n    'rArr': 8658,\n    'dArr': 8659,\n    'hArr': 8660,\n    'forall': 8704,\n    'part': 8706,\n    'exist': 8707,\n    'empty': 8709,\n    'nabla': 8711,\n    'isin': 8712,\n    'notin': 8713,\n    'ni': 8715,\n    'prod': 8719,\n    'sum': 8721,\n    'minus': 8722,\n    'lowast': 8727,\n    'radic': 8730,\n    'prop': 8733,\n    'infin': 8734,\n    'ang': 8736,\n    'and': 8743,\n    'or': 8744,\n    'cap': 8745,\n    'cup': 8746,\n    'int': 8747,\n    'there4': 8756,\n    'sim': 8764,\n    'cong': 8773,\n    'asymp': 8776,\n    'ne': 8800,\n    'equiv': 8801,\n    'le': 8804,\n    'ge': 8805,\n    'sub': 8834,\n    'sup': 8835,\n    'nsub': 8836,\n    'sube': 8838,\n    'supe': 8839,\n    'oplus': 8853,\n    'otimes': 8855,\n    'perp': 8869,\n    'sdot': 8901,\n    'lceil': 8968,\n    'rceil': 8969,\n    'lfloor': 8970,\n    'rfloor': 8971,\n    'lang': 9001,\n    'rang': 9002,\n    'loz': 9674,\n    'spades': 9824,\n    'clubs': 9827,\n    'hearts': 9829,\n    'diams': 9830\n  }\n\n  Object.keys(sax.ENTITIES).forEach(function (key) {\n    var e = sax.ENTITIES[key]\n    var s = typeof e === 'number' ? String.fromCharCode(e) : e\n    sax.ENTITIES[key] = s\n  })\n\n  for (var s in sax.STATE) {\n    sax.STATE[sax.STATE[s]] = s\n  }\n\n  // shorthand\n  S = sax.STATE\n\n  function emit (parser, event, data) {\n    parser[event] && parser[event](data)\n  }\n\n  function emitNode (parser, nodeType, data) {\n    if (parser.textNode) closeText(parser)\n    emit(parser, nodeType, data)\n  }\n\n  function closeText (parser) {\n    parser.textNode = textopts(parser.opt, parser.textNode)\n    if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n    parser.textNode = ''\n  }\n\n  function textopts (opt, text) {\n    if (opt.trim) text = text.trim()\n    if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n    return text\n  }\n\n  function error (parser, er) {\n    closeText(parser)\n    if (parser.trackPosition) {\n      er += '\\nLine: ' + parser.line +\n        '\\nColumn: ' + parser.column +\n        '\\nChar: ' + parser.c\n    }\n    er = new Error(er)\n    parser.error = er\n    emit(parser, 'onerror', er)\n    return parser\n  }\n\n  function end (parser) {\n    if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n    if ((parser.state !== S.BEGIN) &&\n      (parser.state !== S.BEGIN_WHITESPACE) &&\n      (parser.state !== S.TEXT)) {\n      error(parser, 'Unexpected end')\n    }\n    closeText(parser)\n    parser.c = ''\n    parser.closed = true\n    emit(parser, 'onend')\n    SAXParser.call(parser, parser.strict, parser.opt)\n    return parser\n  }\n\n  function strictFail (parser, message) {\n    if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n      throw new Error('bad call to strictFail')\n    }\n    if (parser.strict) {\n      error(parser, message)\n    }\n  }\n\n  function newTag (parser) {\n    if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n    var parent = parser.tags[parser.tags.length - 1] || parser\n    var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n    // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n    if (parser.opt.xmlns) {\n      tag.ns = parent.ns\n    }\n    parser.attribList.length = 0\n    emitNode(parser, 'onopentagstart', tag)\n  }\n\n  function qname (name, attribute) {\n    var i = name.indexOf(':')\n    var qualName = i < 0 ? [ '', name ] : name.split(':')\n    var prefix = qualName[0]\n    var local = qualName[1]\n\n    // <x \"xmlns\"=\"http://foo\">\n    if (attribute && name === 'xmlns') {\n      prefix = 'xmlns'\n      local = ''\n    }\n\n    return { prefix: prefix, local: local }\n  }\n\n  function attrib (parser) {\n    if (!parser.strict) {\n      parser.attribName = parser.attribName[parser.looseCase]()\n    }\n\n    if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n      parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n      parser.attribName = parser.attribValue = ''\n      return\n    }\n\n    if (parser.opt.xmlns) {\n      var qn = qname(parser.attribName, true)\n      var prefix = qn.prefix\n      var local = qn.local\n\n      if (prefix === 'xmlns') {\n        // namespace binding attribute. push the binding into scope\n        if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n          strictFail(parser,\n            'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n          strictFail(parser,\n            'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n            'Actual: ' + parser.attribValue)\n        } else {\n          var tag = parser.tag\n          var parent = parser.tags[parser.tags.length - 1] || parser\n          if (tag.ns === parent.ns) {\n            tag.ns = Object.create(parent.ns)\n          }\n          tag.ns[local] = parser.attribValue\n        }\n      }\n\n      // defer onattribute events until all attributes have been seen\n      // so any new bindings can take effect. preserve attribute order\n      // so deferred events can be emitted in document order\n      parser.attribList.push([parser.attribName, parser.attribValue])\n    } else {\n      // in non-xmlns mode, we can emit the event right away\n      parser.tag.attributes[parser.attribName] = parser.attribValue\n      emitNode(parser, 'onattribute', {\n        name: parser.attribName,\n        value: parser.attribValue\n      })\n    }\n\n    parser.attribName = parser.attribValue = ''\n  }\n\n  function openTag (parser, selfClosing) {\n    if (parser.opt.xmlns) {\n      // emit namespace binding events\n      var tag = parser.tag\n\n      // add namespace info to tag\n      var qn = qname(parser.tagName)\n      tag.prefix = qn.prefix\n      tag.local = qn.local\n      tag.uri = tag.ns[qn.prefix] || ''\n\n      if (tag.prefix && !tag.uri) {\n        strictFail(parser, 'Unbound namespace prefix: ' +\n          JSON.stringify(parser.tagName))\n        tag.uri = qn.prefix\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (tag.ns && parent.ns !== tag.ns) {\n        Object.keys(tag.ns).forEach(function (p) {\n          emitNode(parser, 'onopennamespace', {\n            prefix: p,\n            uri: tag.ns[p]\n          })\n        })\n      }\n\n      // handle deferred onattribute events\n      // Note: do not apply default ns to attributes:\n      //   http://www.w3.org/TR/REC-xml-names/#defaulting\n      for (var i = 0, l = parser.attribList.length; i < l; i++) {\n        var nv = parser.attribList[i]\n        var name = nv[0]\n        var value = nv[1]\n        var qualName = qname(name, true)\n        var prefix = qualName.prefix\n        var local = qualName.local\n        var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n        var a = {\n          name: name,\n          value: value,\n          prefix: prefix,\n          local: local,\n          uri: uri\n        }\n\n        // if there's any attributes with an undefined namespace,\n        // then fail on them now.\n        if (prefix && prefix !== 'xmlns' && !uri) {\n          strictFail(parser, 'Unbound namespace prefix: ' +\n            JSON.stringify(prefix))\n          a.uri = prefix\n        }\n        parser.tag.attributes[name] = a\n        emitNode(parser, 'onattribute', a)\n      }\n      parser.attribList.length = 0\n    }\n\n    parser.tag.isSelfClosing = !!selfClosing\n\n    // process the tag\n    parser.sawRoot = true\n    parser.tags.push(parser.tag)\n    emitNode(parser, 'onopentag', parser.tag)\n    if (!selfClosing) {\n      // special case for <script> in non-strict mode.\n      if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n        parser.state = S.SCRIPT\n      } else {\n        parser.state = S.TEXT\n      }\n      parser.tag = null\n      parser.tagName = ''\n    }\n    parser.attribName = parser.attribValue = ''\n    parser.attribList.length = 0\n  }\n\n  function closeTag (parser) {\n    if (!parser.tagName) {\n      strictFail(parser, 'Weird empty close tag.')\n      parser.textNode += '</>'\n      parser.state = S.TEXT\n      return\n    }\n\n    if (parser.script) {\n      if (parser.tagName !== 'script') {\n        parser.script += '</' + parser.tagName + '>'\n        parser.tagName = ''\n        parser.state = S.SCRIPT\n        return\n      }\n      emitNode(parser, 'onscript', parser.script)\n      parser.script = ''\n    }\n\n    // first make sure that the closing tag actually exists.\n    // <a><b></c></b></a> will close everything, otherwise.\n    var t = parser.tags.length\n    var tagName = parser.tagName\n    if (!parser.strict) {\n      tagName = tagName[parser.looseCase]()\n    }\n    var closeTo = tagName\n    while (t--) {\n      var close = parser.tags[t]\n      if (close.name !== closeTo) {\n        // fail the first time in strict mode\n        strictFail(parser, 'Unexpected close tag')\n      } else {\n        break\n      }\n    }\n\n    // didn't find it.  we already failed for strict, so just abort.\n    if (t < 0) {\n      strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n      parser.textNode += '</' + parser.tagName + '>'\n      parser.state = S.TEXT\n      return\n    }\n    parser.tagName = tagName\n    var s = parser.tags.length\n    while (s-- > t) {\n      var tag = parser.tag = parser.tags.pop()\n      parser.tagName = parser.tag.name\n      emitNode(parser, 'onclosetag', parser.tagName)\n\n      var x = {}\n      for (var i in tag.ns) {\n        x[i] = tag.ns[i]\n      }\n\n      var parent = parser.tags[parser.tags.length - 1] || parser\n      if (parser.opt.xmlns && tag.ns !== parent.ns) {\n        // remove namespace bindings introduced by tag\n        Object.keys(tag.ns).forEach(function (p) {\n          var n = tag.ns[p]\n          emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n        })\n      }\n    }\n    if (t === 0) parser.closedRoot = true\n    parser.tagName = parser.attribValue = parser.attribName = ''\n    parser.attribList.length = 0\n    parser.state = S.TEXT\n  }\n\n  function parseEntity (parser) {\n    var entity = parser.entity\n    var entityLC = entity.toLowerCase()\n    var num\n    var numStr = ''\n\n    if (parser.ENTITIES[entity]) {\n      return parser.ENTITIES[entity]\n    }\n    if (parser.ENTITIES[entityLC]) {\n      return parser.ENTITIES[entityLC]\n    }\n    entity = entityLC\n    if (entity.charAt(0) === '#') {\n      if (entity.charAt(1) === 'x') {\n        entity = entity.slice(2)\n        num = parseInt(entity, 16)\n        numStr = num.toString(16)\n      } else {\n        entity = entity.slice(1)\n        num = parseInt(entity, 10)\n        numStr = num.toString(10)\n      }\n    }\n    entity = entity.replace(/^0+/, '')\n    if (isNaN(num) || numStr.toLowerCase() !== entity) {\n      strictFail(parser, 'Invalid character entity')\n      return '&' + parser.entity + ';'\n    }\n\n    return String.fromCodePoint(num)\n  }\n\n  function beginWhiteSpace (parser, c) {\n    if (c === '<') {\n      parser.state = S.OPEN_WAKA\n      parser.startTagPosition = parser.position\n    } else if (!isWhitespace(c)) {\n      // have to process this as a text node.\n      // weird, but happens.\n      strictFail(parser, 'Non-whitespace before first tag.')\n      parser.textNode = c\n      parser.state = S.TEXT\n    }\n  }\n\n  function charAt (chunk, i) {\n    var result = ''\n    if (i < chunk.length) {\n      result = chunk.charAt(i)\n    }\n    return result\n  }\n\n  function write (chunk) {\n    var parser = this\n    if (this.error) {\n      throw this.error\n    }\n    if (parser.closed) {\n      return error(parser,\n        'Cannot write after close. Assign an onready handler.')\n    }\n    if (chunk === null) {\n      return end(parser)\n    }\n    if (typeof chunk === 'object') {\n      chunk = chunk.toString()\n    }\n    var i = 0\n    var c = ''\n    while (true) {\n      c = charAt(chunk, i++)\n      parser.c = c\n\n      if (!c) {\n        break\n      }\n\n      if (parser.trackPosition) {\n        parser.position++\n        if (c === '\\n') {\n          parser.line++\n          parser.column = 0\n        } else {\n          parser.column++\n        }\n      }\n\n      switch (parser.state) {\n        case S.BEGIN:\n          parser.state = S.BEGIN_WHITESPACE\n          if (c === '\\uFEFF') {\n            continue\n          }\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.BEGIN_WHITESPACE:\n          beginWhiteSpace(parser, c)\n          continue\n\n        case S.TEXT:\n          if (parser.sawRoot && !parser.closedRoot) {\n            var starti = i - 1\n            while (c && c !== '<' && c !== '&') {\n              c = charAt(chunk, i++)\n              if (c && parser.trackPosition) {\n                parser.position++\n                if (c === '\\n') {\n                  parser.line++\n                  parser.column = 0\n                } else {\n                  parser.column++\n                }\n              }\n            }\n            parser.textNode += chunk.substring(starti, i - 1)\n          }\n          if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n            parser.state = S.OPEN_WAKA\n            parser.startTagPosition = parser.position\n          } else {\n            if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n              strictFail(parser, 'Text data outside of root node.')\n            }\n            if (c === '&') {\n              parser.state = S.TEXT_ENTITY\n            } else {\n              parser.textNode += c\n            }\n          }\n          continue\n\n        case S.SCRIPT:\n          // only non-strict\n          if (c === '<') {\n            parser.state = S.SCRIPT_ENDING\n          } else {\n            parser.script += c\n          }\n          continue\n\n        case S.SCRIPT_ENDING:\n          if (c === '/') {\n            parser.state = S.CLOSE_TAG\n          } else {\n            parser.script += '<' + c\n            parser.state = S.SCRIPT\n          }\n          continue\n\n        case S.OPEN_WAKA:\n          // either a /, ?, !, or text is coming next.\n          if (c === '!') {\n            parser.state = S.SGML_DECL\n            parser.sgmlDecl = ''\n          } else if (isWhitespace(c)) {\n            // wait for it...\n          } else if (isMatch(nameStart, c)) {\n            parser.state = S.OPEN_TAG\n            parser.tagName = c\n          } else if (c === '/') {\n            parser.state = S.CLOSE_TAG\n            parser.tagName = ''\n          } else if (c === '?') {\n            parser.state = S.PROC_INST\n            parser.procInstName = parser.procInstBody = ''\n          } else {\n            strictFail(parser, 'Unencoded <')\n            // if there was some whitespace, then add that in.\n            if (parser.startTagPosition + 1 < parser.position) {\n              var pad = parser.position - parser.startTagPosition\n              c = new Array(pad).join(' ') + c\n            }\n            parser.textNode += '<' + c\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.SGML_DECL:\n          if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n            emitNode(parser, 'onopencdata')\n            parser.state = S.CDATA\n            parser.sgmlDecl = ''\n            parser.cdata = ''\n          } else if (parser.sgmlDecl + c === '--') {\n            parser.state = S.COMMENT\n            parser.comment = ''\n            parser.sgmlDecl = ''\n          } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n            parser.state = S.DOCTYPE\n            if (parser.doctype || parser.sawRoot) {\n              strictFail(parser,\n                'Inappropriately located doctype declaration')\n            }\n            parser.doctype = ''\n            parser.sgmlDecl = ''\n          } else if (c === '>') {\n            emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n            parser.sgmlDecl = ''\n            parser.state = S.TEXT\n          } else if (isQuote(c)) {\n            parser.state = S.SGML_DECL_QUOTED\n            parser.sgmlDecl += c\n          } else {\n            parser.sgmlDecl += c\n          }\n          continue\n\n        case S.SGML_DECL_QUOTED:\n          if (c === parser.q) {\n            parser.state = S.SGML_DECL\n            parser.q = ''\n          }\n          parser.sgmlDecl += c\n          continue\n\n        case S.DOCTYPE:\n          if (c === '>') {\n            parser.state = S.TEXT\n            emitNode(parser, 'ondoctype', parser.doctype)\n            parser.doctype = true // just remember that we saw it.\n          } else {\n            parser.doctype += c\n            if (c === '[') {\n              parser.state = S.DOCTYPE_DTD\n            } else if (isQuote(c)) {\n              parser.state = S.DOCTYPE_QUOTED\n              parser.q = c\n            }\n          }\n          continue\n\n        case S.DOCTYPE_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.q = ''\n            parser.state = S.DOCTYPE\n          }\n          continue\n\n        case S.DOCTYPE_DTD:\n          parser.doctype += c\n          if (c === ']') {\n            parser.state = S.DOCTYPE\n          } else if (isQuote(c)) {\n            parser.state = S.DOCTYPE_DTD_QUOTED\n            parser.q = c\n          }\n          continue\n\n        case S.DOCTYPE_DTD_QUOTED:\n          parser.doctype += c\n          if (c === parser.q) {\n            parser.state = S.DOCTYPE_DTD\n            parser.q = ''\n          }\n          continue\n\n        case S.COMMENT:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDING\n          } else {\n            parser.comment += c\n          }\n          continue\n\n        case S.COMMENT_ENDING:\n          if (c === '-') {\n            parser.state = S.COMMENT_ENDED\n            parser.comment = textopts(parser.opt, parser.comment)\n            if (parser.comment) {\n              emitNode(parser, 'oncomment', parser.comment)\n            }\n            parser.comment = ''\n          } else {\n            parser.comment += '-' + c\n            parser.state = S.COMMENT\n          }\n          continue\n\n        case S.COMMENT_ENDED:\n          if (c !== '>') {\n            strictFail(parser, 'Malformed comment')\n            // allow <!-- blah -- bloo --> in non-strict mode,\n            // which is a comment of \" blah -- bloo \"\n            parser.comment += '--' + c\n            parser.state = S.COMMENT\n          } else {\n            parser.state = S.TEXT\n          }\n          continue\n\n        case S.CDATA:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING\n          } else {\n            parser.cdata += c\n          }\n          continue\n\n        case S.CDATA_ENDING:\n          if (c === ']') {\n            parser.state = S.CDATA_ENDING_2\n          } else {\n            parser.cdata += ']' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.CDATA_ENDING_2:\n          if (c === '>') {\n            if (parser.cdata) {\n              emitNode(parser, 'oncdata', parser.cdata)\n            }\n            emitNode(parser, 'onclosecdata')\n            parser.cdata = ''\n            parser.state = S.TEXT\n          } else if (c === ']') {\n            parser.cdata += ']'\n          } else {\n            parser.cdata += ']]' + c\n            parser.state = S.CDATA\n          }\n          continue\n\n        case S.PROC_INST:\n          if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else if (isWhitespace(c)) {\n            parser.state = S.PROC_INST_BODY\n          } else {\n            parser.procInstName += c\n          }\n          continue\n\n        case S.PROC_INST_BODY:\n          if (!parser.procInstBody && isWhitespace(c)) {\n            continue\n          } else if (c === '?') {\n            parser.state = S.PROC_INST_ENDING\n          } else {\n            parser.procInstBody += c\n          }\n          continue\n\n        case S.PROC_INST_ENDING:\n          if (c === '>') {\n            emitNode(parser, 'onprocessinginstruction', {\n              name: parser.procInstName,\n              body: parser.procInstBody\n            })\n            parser.procInstName = parser.procInstBody = ''\n            parser.state = S.TEXT\n          } else {\n            parser.procInstBody += '?' + c\n            parser.state = S.PROC_INST_BODY\n          }\n          continue\n\n        case S.OPEN_TAG:\n          if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else {\n            newTag(parser)\n            if (c === '>') {\n              openTag(parser)\n            } else if (c === '/') {\n              parser.state = S.OPEN_TAG_SLASH\n            } else {\n              if (!isWhitespace(c)) {\n                strictFail(parser, 'Invalid character in tag name')\n              }\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.OPEN_TAG_SLASH:\n          if (c === '>') {\n            openTag(parser, true)\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Forward-slash in opening tag not followed by >')\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.ATTRIB:\n          // haven't read the attribute name yet.\n          if (isWhitespace(c)) {\n            continue\n          } else if (c === '>') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (c === '>') {\n            strictFail(parser, 'Attribute without value')\n            parser.attribValue = parser.attribName\n            attrib(parser)\n            openTag(parser)\n          } else if (isWhitespace(c)) {\n            parser.state = S.ATTRIB_NAME_SAW_WHITE\n          } else if (isMatch(nameBody, c)) {\n            parser.attribName += c\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_NAME_SAW_WHITE:\n          if (c === '=') {\n            parser.state = S.ATTRIB_VALUE\n          } else if (isWhitespace(c)) {\n            continue\n          } else {\n            strictFail(parser, 'Attribute without value')\n            parser.tag.attributes[parser.attribName] = ''\n            parser.attribValue = ''\n            emitNode(parser, 'onattribute', {\n              name: parser.attribName,\n              value: ''\n            })\n            parser.attribName = ''\n            if (c === '>') {\n              openTag(parser)\n            } else if (isMatch(nameStart, c)) {\n              parser.attribName = c\n              parser.state = S.ATTRIB_NAME\n            } else {\n              strictFail(parser, 'Invalid attribute name')\n              parser.state = S.ATTRIB\n            }\n          }\n          continue\n\n        case S.ATTRIB_VALUE:\n          if (isWhitespace(c)) {\n            continue\n          } else if (isQuote(c)) {\n            parser.q = c\n            parser.state = S.ATTRIB_VALUE_QUOTED\n          } else {\n            strictFail(parser, 'Unquoted attribute value')\n            parser.state = S.ATTRIB_VALUE_UNQUOTED\n            parser.attribValue = c\n          }\n          continue\n\n        case S.ATTRIB_VALUE_QUOTED:\n          if (c !== parser.q) {\n            if (c === '&') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_Q\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          parser.q = ''\n          parser.state = S.ATTRIB_VALUE_CLOSED\n          continue\n\n        case S.ATTRIB_VALUE_CLOSED:\n          if (isWhitespace(c)) {\n            parser.state = S.ATTRIB\n          } else if (c === '>') {\n            openTag(parser)\n          } else if (c === '/') {\n            parser.state = S.OPEN_TAG_SLASH\n          } else if (isMatch(nameStart, c)) {\n            strictFail(parser, 'No whitespace between attributes')\n            parser.attribName = c\n            parser.attribValue = ''\n            parser.state = S.ATTRIB_NAME\n          } else {\n            strictFail(parser, 'Invalid attribute name')\n          }\n          continue\n\n        case S.ATTRIB_VALUE_UNQUOTED:\n          if (!isAttribEnd(c)) {\n            if (c === '&') {\n              parser.state = S.ATTRIB_VALUE_ENTITY_U\n            } else {\n              parser.attribValue += c\n            }\n            continue\n          }\n          attrib(parser)\n          if (c === '>') {\n            openTag(parser)\n          } else {\n            parser.state = S.ATTRIB\n          }\n          continue\n\n        case S.CLOSE_TAG:\n          if (!parser.tagName) {\n            if (isWhitespace(c)) {\n              continue\n            } else if (notMatch(nameStart, c)) {\n              if (parser.script) {\n                parser.script += '</' + c\n                parser.state = S.SCRIPT\n              } else {\n                strictFail(parser, 'Invalid tagname in closing tag.')\n              }\n            } else {\n              parser.tagName = c\n            }\n          } else if (c === '>') {\n            closeTag(parser)\n          } else if (isMatch(nameBody, c)) {\n            parser.tagName += c\n          } else if (parser.script) {\n            parser.script += '</' + parser.tagName\n            parser.tagName = ''\n            parser.state = S.SCRIPT\n          } else {\n            if (!isWhitespace(c)) {\n              strictFail(parser, 'Invalid tagname in closing tag')\n            }\n            parser.state = S.CLOSE_TAG_SAW_WHITE\n          }\n          continue\n\n        case S.CLOSE_TAG_SAW_WHITE:\n          if (isWhitespace(c)) {\n            continue\n          }\n          if (c === '>') {\n            closeTag(parser)\n          } else {\n            strictFail(parser, 'Invalid characters in closing tag')\n          }\n          continue\n\n        case S.TEXT_ENTITY:\n        case S.ATTRIB_VALUE_ENTITY_Q:\n        case S.ATTRIB_VALUE_ENTITY_U:\n          var returnState\n          var buffer\n          switch (parser.state) {\n            case S.TEXT_ENTITY:\n              returnState = S.TEXT\n              buffer = 'textNode'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_Q:\n              returnState = S.ATTRIB_VALUE_QUOTED\n              buffer = 'attribValue'\n              break\n\n            case S.ATTRIB_VALUE_ENTITY_U:\n              returnState = S.ATTRIB_VALUE_UNQUOTED\n              buffer = 'attribValue'\n              break\n          }\n\n          if (c === ';') {\n            parser[buffer] += parseEntity(parser)\n            parser.entity = ''\n            parser.state = returnState\n          } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n            parser.entity += c\n          } else {\n            strictFail(parser, 'Invalid character in entity name')\n            parser[buffer] += '&' + parser.entity + c\n            parser.entity = ''\n            parser.state = returnState\n          }\n\n          continue\n\n        default:\n          throw new Error(parser, 'Unknown state: ' + parser.state)\n      }\n    } // while\n\n    if (parser.position >= parser.bufferCheckPosition) {\n      checkBufferLength(parser)\n    }\n    return parser\n  }\n\n  /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n  /* istanbul ignore next */\n  if (!String.fromCodePoint) {\n    (function () {\n      var stringFromCharCode = String.fromCharCode\n      var floor = Math.floor\n      var fromCodePoint = function () {\n        var MAX_SIZE = 0x4000\n        var codeUnits = []\n        var highSurrogate\n        var lowSurrogate\n        var index = -1\n        var length = arguments.length\n        if (!length) {\n          return ''\n        }\n        var result = ''\n        while (++index < length) {\n          var codePoint = Number(arguments[index])\n          if (\n            !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n            codePoint < 0 || // not a valid Unicode code point\n            codePoint > 0x10FFFF || // not a valid Unicode code point\n            floor(codePoint) !== codePoint // not an integer\n          ) {\n            throw RangeError('Invalid code point: ' + codePoint)\n          }\n          if (codePoint <= 0xFFFF) { // BMP code point\n            codeUnits.push(codePoint)\n          } else { // Astral code point; split in surrogate halves\n            // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n            codePoint -= 0x10000\n            highSurrogate = (codePoint >> 10) + 0xD800\n            lowSurrogate = (codePoint % 0x400) + 0xDC00\n            codeUnits.push(highSurrogate, lowSurrogate)\n          }\n          if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n            result += stringFromCharCode.apply(null, codeUnits)\n            codeUnits.length = 0\n          }\n        }\n        return result\n      }\n      /* istanbul ignore next */\n      if (Object.defineProperty) {\n        Object.defineProperty(String, 'fromCodePoint', {\n          value: fromCodePoint,\n          configurable: true,\n          writable: true\n        })\n      } else {\n        String.fromCodePoint = fromCodePoint\n      }\n    }())\n  }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams.  Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n  EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n  var source = this;\n\n  function ondata(chunk) {\n    if (dest.writable) {\n      if (false === dest.write(chunk) && source.pause) {\n        source.pause();\n      }\n    }\n  }\n\n  source.on('data', ondata);\n\n  function ondrain() {\n    if (source.readable && source.resume) {\n      source.resume();\n    }\n  }\n\n  dest.on('drain', ondrain);\n\n  // If the 'end' option is not supplied, dest.end() will be called when\n  // source gets the 'end' or 'close' events.  Only dest.end() once.\n  if (!dest._isStdio && (!options || options.end !== false)) {\n    source.on('end', onend);\n    source.on('close', onclose);\n  }\n\n  var didOnEnd = false;\n  function onend() {\n    if (didOnEnd) return;\n    didOnEnd = true;\n\n    dest.end();\n  }\n\n\n  function onclose() {\n    if (didOnEnd) return;\n    didOnEnd = true;\n\n    if (typeof dest.destroy === 'function') dest.destroy();\n  }\n\n  // don't leave dangling pipes when there are errors.\n  function onerror(er) {\n    cleanup();\n    if (EE.listenerCount(this, 'error') === 0) {\n      throw er; // Unhandled stream error in pipe.\n    }\n  }\n\n  source.on('error', onerror);\n  dest.on('error', onerror);\n\n  // remove all the event listeners that were added.\n  function cleanup() {\n    source.removeListener('data', ondata);\n    dest.removeListener('drain', ondrain);\n\n    source.removeListener('end', onend);\n    source.removeListener('close', onclose);\n\n    source.removeListener('error', onerror);\n    dest.removeListener('error', onerror);\n\n    source.removeListener('end', cleanup);\n    source.removeListener('close', cleanup);\n\n    dest.removeListener('close', cleanup);\n  }\n\n  source.on('end', cleanup);\n  source.on('close', cleanup);\n\n  dest.on('close', cleanup);\n\n  dest.emit('pipe', source);\n\n  // Allow for unix-like usage: A.pipe(B).pipe(C)\n  return dest;\n};\n","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n  if (!Base) {\n    Base = Error;\n  }\n\n  function getMessage(arg1, arg2, arg3) {\n    if (typeof message === 'string') {\n      return message;\n    } else {\n      return message(arg1, arg2, arg3);\n    }\n  }\n\n  var NodeError =\n  /*#__PURE__*/\n  function (_Base) {\n    _inheritsLoose(NodeError, _Base);\n\n    function NodeError(arg1, arg2, arg3) {\n      return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n    }\n\n    return NodeError;\n  }(Base);\n\n  NodeError.prototype.name = Base.name;\n  NodeError.prototype.code = code;\n  codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n  if (Array.isArray(expected)) {\n    var len = expected.length;\n    expected = expected.map(function (i) {\n      return String(i);\n    });\n\n    if (len > 2) {\n      return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n    } else if (len === 2) {\n      return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n    } else {\n      return \"of \".concat(thing, \" \").concat(expected[0]);\n    }\n  } else {\n    return \"of \".concat(thing, \" \").concat(String(expected));\n  }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n  return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n  if (this_len === undefined || this_len > str.length) {\n    this_len = str.length;\n  }\n\n  return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n  if (typeof start !== 'number') {\n    start = 0;\n  }\n\n  if (start + search.length > str.length) {\n    return false;\n  } else {\n    return str.indexOf(search, start) !== -1;\n  }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n  return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n  // determiner: 'must be' or 'must not be'\n  var determiner;\n\n  if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n    determiner = 'must not be';\n    expected = expected.replace(/^not /, '');\n  } else {\n    determiner = 'must be';\n  }\n\n  var msg;\n\n  if (endsWith(name, ' argument')) {\n    // For cases like 'first argument'\n    msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  } else {\n    var type = includes(name, '.') ? 'property' : 'argument';\n    msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n  }\n\n  msg += \". Received type \".concat(typeof actual);\n  return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n  return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n  return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n  return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/*<replacement>*/\n\nvar objectKeys = Object.keys || function (obj) {\n  var keys = [];\n\n  for (var key in obj) {\n    keys.push(key);\n  }\n\n  return keys;\n};\n/*</replacement>*/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n  // Allow the keys array to be GC'ed.\n  var keys = objectKeys(Writable.prototype);\n\n  for (var v = 0; v < keys.length; v++) {\n    var method = keys[v];\n    if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n  }\n}\n\nfunction Duplex(options) {\n  if (!(this instanceof Duplex)) return new Duplex(options);\n  Readable.call(this, options);\n  Writable.call(this, options);\n  this.allowHalfOpen = true;\n\n  if (options) {\n    if (options.readable === false) this.readable = false;\n    if (options.writable === false) this.writable = false;\n\n    if (options.allowHalfOpen === false) {\n      this.allowHalfOpen = false;\n      this.once('end', onend);\n    }\n  }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.highWaterMark;\n  }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState && this._writableState.getBuffer();\n  }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.length;\n  }\n}); // the no-half-open enforcer\n\nfunction onend() {\n  // If the writable side ended, then we're ok.\n  if (this._writableState.ended) return; // no more data can be written.\n  // But allow more writes to happen in this tick.\n\n  process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n  self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    if (this._readableState === undefined || this._writableState === undefined) {\n      return false;\n    }\n\n    return this._readableState.destroyed && this._writableState.destroyed;\n  },\n  set: function set(value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (this._readableState === undefined || this._writableState === undefined) {\n      return;\n    } // backward compatibility, the user is explicitly\n    // managing destroyed\n\n\n    this._readableState.destroyed = value;\n    this._writableState.destroyed = value;\n  }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n  if (!(this instanceof PassThrough)) return new PassThrough(options);\n  Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n  cb(null, chunk);\n};","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/*<replacement>*/\n\nvar Duplex;\n/*</replacement>*/\n\nReadable.ReadableState = ReadableState;\n/*<replacement>*/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n  return emitter.listeners(type).length;\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\n\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n  return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/*<replacement>*/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n  debug = debugUtil.debuglog('stream');\n} else {\n  debug = function debug() {};\n}\n/*</replacement>*/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n    getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n    ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n    ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n    ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n    ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n  // Sadly this is not cacheable as some libraries bundle their own\n  // event emitter implementation with them.\n  if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n  // userland ones.  NEVER DO THIS. This is here only because this code needs\n  // to continue to work with older versions of Node.js that do not include\n  // the prependListener() method. The goal is to eventually remove this hack.\n\n  if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n  Duplex = Duplex || require('./_stream_duplex');\n  options = options || {}; // Duplex streams are both readable and writable, but share\n  // the same options object.\n  // However, some cases require setting options to different\n  // values for the readable and the writable sides of the duplex stream.\n  // These options can be provided separately as readableXXX and writableXXX.\n\n  if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n  // make all the buffer merging and length checks go away\n\n  this.objectMode = !!options.objectMode;\n  if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n  // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n  this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n  // linked list can remove elements from the beginning faster than\n  // array.shift()\n\n  this.buffer = new BufferList();\n  this.length = 0;\n  this.pipes = null;\n  this.pipesCount = 0;\n  this.flowing = null;\n  this.ended = false;\n  this.endEmitted = false;\n  this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n  // immediately, or on a later tick.  We set this to true at first, because\n  // any actions that shouldn't happen until \"later\" should generally also\n  // not happen before the first read call.\n\n  this.sync = true; // whenever we return null, then we set a flag to say\n  // that we're awaiting a 'readable' event emission.\n\n  this.needReadable = false;\n  this.emittedReadable = false;\n  this.readableListening = false;\n  this.resumeScheduled = false;\n  this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n  this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n  this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n  this.destroyed = false; // Crypto is kind of old and crusty.  Historically, its default string\n  // encoding is 'binary' so we have to make this configurable.\n  // Everything else in the universe uses 'utf8', though.\n\n  this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n  this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n  this.readingMore = false;\n  this.decoder = null;\n  this.encoding = null;\n\n  if (options.encoding) {\n    if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n    this.decoder = new StringDecoder(options.encoding);\n    this.encoding = options.encoding;\n  }\n}\n\nfunction Readable(options) {\n  Duplex = Duplex || require('./_stream_duplex');\n  if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n  // the ReadableState constructor, at least with V8 6.5\n\n  var isDuplex = this instanceof Duplex;\n  this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n  this.readable = true;\n\n  if (options) {\n    if (typeof options.read === 'function') this._read = options.read;\n    if (typeof options.destroy === 'function') this._destroy = options.destroy;\n  }\n\n  Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    if (this._readableState === undefined) {\n      return false;\n    }\n\n    return this._readableState.destroyed;\n  },\n  set: function set(value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (!this._readableState) {\n      return;\n    } // backward compatibility, the user is explicitly\n    // managing destroyed\n\n\n    this._readableState.destroyed = value;\n  }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n  cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n  var state = this._readableState;\n  var skipChunkCheck;\n\n  if (!state.objectMode) {\n    if (typeof chunk === 'string') {\n      encoding = encoding || state.defaultEncoding;\n\n      if (encoding !== state.encoding) {\n        chunk = Buffer.from(chunk, encoding);\n        encoding = '';\n      }\n\n      skipChunkCheck = true;\n    }\n  } else {\n    skipChunkCheck = true;\n  }\n\n  return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n  return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n  debug('readableAddChunk', chunk);\n  var state = stream._readableState;\n\n  if (chunk === null) {\n    state.reading = false;\n    onEofChunk(stream, state);\n  } else {\n    var er;\n    if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n    if (er) {\n      errorOrDestroy(stream, er);\n    } else if (state.objectMode || chunk && chunk.length > 0) {\n      if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n        chunk = _uint8ArrayToBuffer(chunk);\n      }\n\n      if (addToFront) {\n        if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n      } else if (state.ended) {\n        errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n      } else if (state.destroyed) {\n        return false;\n      } else {\n        state.reading = false;\n\n        if (state.decoder && !encoding) {\n          chunk = state.decoder.write(chunk);\n          if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n        } else {\n          addChunk(stream, state, chunk, false);\n        }\n      }\n    } else if (!addToFront) {\n      state.reading = false;\n      maybeReadMore(stream, state);\n    }\n  } // We can push more data if we are below the highWaterMark.\n  // Also, if we have no data yet, we can stand some more bytes.\n  // This is to work around cases where hwm=0, such as the repl.\n\n\n  return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n  if (state.flowing && state.length === 0 && !state.sync) {\n    state.awaitDrain = 0;\n    stream.emit('data', chunk);\n  } else {\n    // update the buffer info.\n    state.length += state.objectMode ? 1 : chunk.length;\n    if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n    if (state.needReadable) emitReadable(stream);\n  }\n\n  maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n  var er;\n\n  if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n    er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n  }\n\n  return er;\n}\n\nReadable.prototype.isPaused = function () {\n  return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n  if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n  var decoder = new StringDecoder(enc);\n  this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n  this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n  var p = this._readableState.buffer.head;\n  var content = '';\n\n  while (p !== null) {\n    content += decoder.write(p.data);\n    p = p.next;\n  }\n\n  this._readableState.buffer.clear();\n\n  if (content !== '') this._readableState.buffer.push(content);\n  this._readableState.length = content.length;\n  return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n  if (n >= MAX_HWM) {\n    // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n    n = MAX_HWM;\n  } else {\n    // Get the next highest power of 2 to prevent increasing hwm excessively in\n    // tiny amounts\n    n--;\n    n |= n >>> 1;\n    n |= n >>> 2;\n    n |= n >>> 4;\n    n |= n >>> 8;\n    n |= n >>> 16;\n    n++;\n  }\n\n  return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n  if (n <= 0 || state.length === 0 && state.ended) return 0;\n  if (state.objectMode) return 1;\n\n  if (n !== n) {\n    // Only flow one buffer at a time\n    if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n  } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n  if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n  if (n <= state.length) return n; // Don't have enough\n\n  if (!state.ended) {\n    state.needReadable = true;\n    return 0;\n  }\n\n  return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n  debug('read', n);\n  n = parseInt(n, 10);\n  var state = this._readableState;\n  var nOrig = n;\n  if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n  // already have a bunch of data in the buffer, then just trigger\n  // the 'readable' event and move on.\n\n  if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n    debug('read: emitReadable', state.length, state.ended);\n    if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n    return null;\n  }\n\n  n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n  if (n === 0 && state.ended) {\n    if (state.length === 0) endReadable(this);\n    return null;\n  } // All the actual chunk generation logic needs to be\n  // *below* the call to _read.  The reason is that in certain\n  // synthetic stream cases, such as passthrough streams, _read\n  // may be a completely synchronous operation which may change\n  // the state of the read buffer, providing enough data when\n  // before there was *not* enough.\n  //\n  // So, the steps are:\n  // 1. Figure out what the state of things will be after we do\n  // a read from the buffer.\n  //\n  // 2. If that resulting state will trigger a _read, then call _read.\n  // Note that this may be asynchronous, or synchronous.  Yes, it is\n  // deeply ugly to write APIs this way, but that still doesn't mean\n  // that the Readable class should behave improperly, as streams are\n  // designed to be sync/async agnostic.\n  // Take note if the _read call is sync or async (ie, if the read call\n  // has returned yet), so that we know whether or not it's safe to emit\n  // 'readable' etc.\n  //\n  // 3. Actually pull the requested chunks out of the buffer and return.\n  // if we need a readable event, then we need to do some reading.\n\n\n  var doRead = state.needReadable;\n  debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n  if (state.length === 0 || state.length - n < state.highWaterMark) {\n    doRead = true;\n    debug('length less than watermark', doRead);\n  } // however, if we've ended, then there's no point, and if we're already\n  // reading, then it's unnecessary.\n\n\n  if (state.ended || state.reading) {\n    doRead = false;\n    debug('reading or ended', doRead);\n  } else if (doRead) {\n    debug('do read');\n    state.reading = true;\n    state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n    if (state.length === 0) state.needReadable = true; // call internal read method\n\n    this._read(state.highWaterMark);\n\n    state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n    // and we need to re-evaluate how much data we can return to the user.\n\n    if (!state.reading) n = howMuchToRead(nOrig, state);\n  }\n\n  var ret;\n  if (n > 0) ret = fromList(n, state);else ret = null;\n\n  if (ret === null) {\n    state.needReadable = state.length <= state.highWaterMark;\n    n = 0;\n  } else {\n    state.length -= n;\n    state.awaitDrain = 0;\n  }\n\n  if (state.length === 0) {\n    // If we have nothing in the buffer, then we want to know\n    // as soon as we *do* get something into the buffer.\n    if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n    if (nOrig !== n && state.ended) endReadable(this);\n  }\n\n  if (ret !== null) this.emit('data', ret);\n  return ret;\n};\n\nfunction onEofChunk(stream, state) {\n  debug('onEofChunk');\n  if (state.ended) return;\n\n  if (state.decoder) {\n    var chunk = state.decoder.end();\n\n    if (chunk && chunk.length) {\n      state.buffer.push(chunk);\n      state.length += state.objectMode ? 1 : chunk.length;\n    }\n  }\n\n  state.ended = true;\n\n  if (state.sync) {\n    // if we are sync, wait until next tick to emit the data.\n    // Otherwise we risk emitting data in the flow()\n    // the readable code triggers during a read() call\n    emitReadable(stream);\n  } else {\n    // emit 'readable' now to make sure it gets picked up.\n    state.needReadable = false;\n\n    if (!state.emittedReadable) {\n      state.emittedReadable = true;\n      emitReadable_(stream);\n    }\n  }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow.  This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n  var state = stream._readableState;\n  debug('emitReadable', state.needReadable, state.emittedReadable);\n  state.needReadable = false;\n\n  if (!state.emittedReadable) {\n    debug('emitReadable', state.flowing);\n    state.emittedReadable = true;\n    process.nextTick(emitReadable_, stream);\n  }\n}\n\nfunction emitReadable_(stream) {\n  var state = stream._readableState;\n  debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n  if (!state.destroyed && (state.length || state.ended)) {\n    stream.emit('readable');\n    state.emittedReadable = false;\n  } // The stream needs another readable event if\n  // 1. It is not flowing, as the flow mechanism will take\n  //    care of it.\n  // 2. It is not ended.\n  // 3. It is below the highWaterMark, so we can schedule\n  //    another readable later.\n\n\n  state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n  flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data.  that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n  if (!state.readingMore) {\n    state.readingMore = true;\n    process.nextTick(maybeReadMore_, stream, state);\n  }\n}\n\nfunction maybeReadMore_(stream, state) {\n  // Attempt to read more data if we should.\n  //\n  // The conditions for reading more data are (one of):\n  // - Not enough data buffered (state.length < state.highWaterMark). The loop\n  //   is responsible for filling the buffer with enough data if such data\n  //   is available. If highWaterMark is 0 and we are not in the flowing mode\n  //   we should _not_ attempt to buffer any extra data. We'll get more data\n  //   when the stream consumer calls read() instead.\n  // - No data in the buffer, and the stream is in flowing mode. In this mode\n  //   the loop below is responsible for ensuring read() is called. Failing to\n  //   call read here would abort the flow and there's no other mechanism for\n  //   continuing the flow if the stream consumer has just subscribed to the\n  //   'data' event.\n  //\n  // In addition to the above conditions to keep reading data, the following\n  // conditions prevent the data from being read:\n  // - The stream has ended (state.ended).\n  // - There is already a pending 'read' operation (state.reading). This is a\n  //   case where the the stream has called the implementation defined _read()\n  //   method, but they are processing the call asynchronously and have _not_\n  //   called push() with new data. In this case we skip performing more\n  //   read()s. The execution ends in this method again after the _read() ends\n  //   up calling push() with more data.\n  while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n    var len = state.length;\n    debug('maybeReadMore read 0');\n    stream.read(0);\n    if (len === state.length) // didn't get any data, stop spinning.\n      break;\n  }\n\n  state.readingMore = false;\n} // abstract method.  to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n  errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n  var src = this;\n  var state = this._readableState;\n\n  switch (state.pipesCount) {\n    case 0:\n      state.pipes = dest;\n      break;\n\n    case 1:\n      state.pipes = [state.pipes, dest];\n      break;\n\n    default:\n      state.pipes.push(dest);\n      break;\n  }\n\n  state.pipesCount += 1;\n  debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n  var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n  var endFn = doEnd ? onend : unpipe;\n  if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n  dest.on('unpipe', onunpipe);\n\n  function onunpipe(readable, unpipeInfo) {\n    debug('onunpipe');\n\n    if (readable === src) {\n      if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n        unpipeInfo.hasUnpiped = true;\n        cleanup();\n      }\n    }\n  }\n\n  function onend() {\n    debug('onend');\n    dest.end();\n  } // when the dest drains, it reduces the awaitDrain counter\n  // on the source.  This would be more elegant with a .once()\n  // handler in flow(), but adding and removing repeatedly is\n  // too slow.\n\n\n  var ondrain = pipeOnDrain(src);\n  dest.on('drain', ondrain);\n  var cleanedUp = false;\n\n  function cleanup() {\n    debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n    dest.removeListener('close', onclose);\n    dest.removeListener('finish', onfinish);\n    dest.removeListener('drain', ondrain);\n    dest.removeListener('error', onerror);\n    dest.removeListener('unpipe', onunpipe);\n    src.removeListener('end', onend);\n    src.removeListener('end', unpipe);\n    src.removeListener('data', ondata);\n    cleanedUp = true; // if the reader is waiting for a drain event from this\n    // specific writer, then it would cause it to never start\n    // flowing again.\n    // So, if this is awaiting a drain, then we just call it now.\n    // If we don't know, then assume that we are waiting for one.\n\n    if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n  }\n\n  src.on('data', ondata);\n\n  function ondata(chunk) {\n    debug('ondata');\n    var ret = dest.write(chunk);\n    debug('dest.write', ret);\n\n    if (ret === false) {\n      // If the user unpiped during `dest.write()`, it is possible\n      // to get stuck in a permanently paused state if that write\n      // also returned false.\n      // => Check whether `dest` is still a piping destination.\n      if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n        debug('false write response, pause', state.awaitDrain);\n        state.awaitDrain++;\n      }\n\n      src.pause();\n    }\n  } // if the dest has an error, then stop piping into it.\n  // however, don't suppress the throwing behavior for this.\n\n\n  function onerror(er) {\n    debug('onerror', er);\n    unpipe();\n    dest.removeListener('error', onerror);\n    if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n  } // Make sure our error handler is attached before userland ones.\n\n\n  prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n  function onclose() {\n    dest.removeListener('finish', onfinish);\n    unpipe();\n  }\n\n  dest.once('close', onclose);\n\n  function onfinish() {\n    debug('onfinish');\n    dest.removeListener('close', onclose);\n    unpipe();\n  }\n\n  dest.once('finish', onfinish);\n\n  function unpipe() {\n    debug('unpipe');\n    src.unpipe(dest);\n  } // tell the dest that it's being piped to\n\n\n  dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n  if (!state.flowing) {\n    debug('pipe resume');\n    src.resume();\n  }\n\n  return dest;\n};\n\nfunction pipeOnDrain(src) {\n  return function pipeOnDrainFunctionResult() {\n    var state = src._readableState;\n    debug('pipeOnDrain', state.awaitDrain);\n    if (state.awaitDrain) state.awaitDrain--;\n\n    if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n      state.flowing = true;\n      flow(src);\n    }\n  };\n}\n\nReadable.prototype.unpipe = function (dest) {\n  var state = this._readableState;\n  var unpipeInfo = {\n    hasUnpiped: false\n  }; // if we're not piping anywhere, then do nothing.\n\n  if (state.pipesCount === 0) return this; // just one destination.  most common case.\n\n  if (state.pipesCount === 1) {\n    // passed in one, but it's not the right one.\n    if (dest && dest !== state.pipes) return this;\n    if (!dest) dest = state.pipes; // got a match.\n\n    state.pipes = null;\n    state.pipesCount = 0;\n    state.flowing = false;\n    if (dest) dest.emit('unpipe', this, unpipeInfo);\n    return this;\n  } // slow case. multiple pipe destinations.\n\n\n  if (!dest) {\n    // remove all.\n    var dests = state.pipes;\n    var len = state.pipesCount;\n    state.pipes = null;\n    state.pipesCount = 0;\n    state.flowing = false;\n\n    for (var i = 0; i < len; i++) {\n      dests[i].emit('unpipe', this, {\n        hasUnpiped: false\n      });\n    }\n\n    return this;\n  } // try to find the right one.\n\n\n  var index = indexOf(state.pipes, dest);\n  if (index === -1) return this;\n  state.pipes.splice(index, 1);\n  state.pipesCount -= 1;\n  if (state.pipesCount === 1) state.pipes = state.pipes[0];\n  dest.emit('unpipe', this, unpipeInfo);\n  return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n  var res = Stream.prototype.on.call(this, ev, fn);\n  var state = this._readableState;\n\n  if (ev === 'data') {\n    // update readableListening so that resume() may be a no-op\n    // a few lines down. This is needed to support once('readable').\n    state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n    if (state.flowing !== false) this.resume();\n  } else if (ev === 'readable') {\n    if (!state.endEmitted && !state.readableListening) {\n      state.readableListening = state.needReadable = true;\n      state.flowing = false;\n      state.emittedReadable = false;\n      debug('on readable', state.length, state.reading);\n\n      if (state.length) {\n        emitReadable(this);\n      } else if (!state.reading) {\n        process.nextTick(nReadingNextTick, this);\n      }\n    }\n  }\n\n  return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n  var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n  if (ev === 'readable') {\n    // We need to check if there is someone still listening to\n    // readable and reset the state. However this needs to happen\n    // after readable has been emitted but before I/O (nextTick) to\n    // support once('readable', fn) cycles. This means that calling\n    // resume within the same tick will have no\n    // effect.\n    process.nextTick(updateReadableListening, this);\n  }\n\n  return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n  var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n  if (ev === 'readable' || ev === undefined) {\n    // We need to check if there is someone still listening to\n    // readable and reset the state. However this needs to happen\n    // after readable has been emitted but before I/O (nextTick) to\n    // support once('readable', fn) cycles. This means that calling\n    // resume within the same tick will have no\n    // effect.\n    process.nextTick(updateReadableListening, this);\n  }\n\n  return res;\n};\n\nfunction updateReadableListening(self) {\n  var state = self._readableState;\n  state.readableListening = self.listenerCount('readable') > 0;\n\n  if (state.resumeScheduled && !state.paused) {\n    // flowing needs to be set to true now, otherwise\n    // the upcoming resume will not flow.\n    state.flowing = true; // crude way to check if we should resume\n  } else if (self.listenerCount('data') > 0) {\n    self.resume();\n  }\n}\n\nfunction nReadingNextTick(self) {\n  debug('readable nexttick read 0');\n  self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n  var state = this._readableState;\n\n  if (!state.flowing) {\n    debug('resume'); // we flow only if there is no one listening\n    // for readable, but we still have to call\n    // resume()\n\n    state.flowing = !state.readableListening;\n    resume(this, state);\n  }\n\n  state.paused = false;\n  return this;\n};\n\nfunction resume(stream, state) {\n  if (!state.resumeScheduled) {\n    state.resumeScheduled = true;\n    process.nextTick(resume_, stream, state);\n  }\n}\n\nfunction resume_(stream, state) {\n  debug('resume', state.reading);\n\n  if (!state.reading) {\n    stream.read(0);\n  }\n\n  state.resumeScheduled = false;\n  stream.emit('resume');\n  flow(stream);\n  if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n  debug('call pause flowing=%j', this._readableState.flowing);\n\n  if (this._readableState.flowing !== false) {\n    debug('pause');\n    this._readableState.flowing = false;\n    this.emit('pause');\n  }\n\n  this._readableState.paused = true;\n  return this;\n};\n\nfunction flow(stream) {\n  var state = stream._readableState;\n  debug('flow', state.flowing);\n\n  while (state.flowing && stream.read() !== null) {\n    ;\n  }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n  var _this = this;\n\n  var state = this._readableState;\n  var paused = false;\n  stream.on('end', function () {\n    debug('wrapped end');\n\n    if (state.decoder && !state.ended) {\n      var chunk = state.decoder.end();\n      if (chunk && chunk.length) _this.push(chunk);\n    }\n\n    _this.push(null);\n  });\n  stream.on('data', function (chunk) {\n    debug('wrapped data');\n    if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n    if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n    var ret = _this.push(chunk);\n\n    if (!ret) {\n      paused = true;\n      stream.pause();\n    }\n  }); // proxy all the other methods.\n  // important when wrapping filters and duplexes.\n\n  for (var i in stream) {\n    if (this[i] === undefined && typeof stream[i] === 'function') {\n      this[i] = function methodWrap(method) {\n        return function methodWrapReturnFunction() {\n          return stream[method].apply(stream, arguments);\n        };\n      }(i);\n    }\n  } // proxy certain important events.\n\n\n  for (var n = 0; n < kProxyEvents.length; n++) {\n    stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n  } // when we try to consume some more bytes, simply unpause the\n  // underlying stream.\n\n\n  this._read = function (n) {\n    debug('wrapped _read', n);\n\n    if (paused) {\n      paused = false;\n      stream.resume();\n    }\n  };\n\n  return this;\n};\n\nif (typeof Symbol === 'function') {\n  Readable.prototype[Symbol.asyncIterator] = function () {\n    if (createReadableStreamAsyncIterator === undefined) {\n      createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n    }\n\n    return createReadableStreamAsyncIterator(this);\n  };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState.highWaterMark;\n  }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState && this._readableState.buffer;\n  }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState.flowing;\n  },\n  set: function set(state) {\n    if (this._readableState) {\n      this._readableState.flowing = state;\n    }\n  }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._readableState.length;\n  }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n  // nothing buffered\n  if (state.length === 0) return null;\n  var ret;\n  if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n    // read it all, truncate the list\n    if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n    state.buffer.clear();\n  } else {\n    // read part of list\n    ret = state.buffer.consume(n, state.decoder);\n  }\n  return ret;\n}\n\nfunction endReadable(stream) {\n  var state = stream._readableState;\n  debug('endReadable', state.endEmitted);\n\n  if (!state.endEmitted) {\n    state.ended = true;\n    process.nextTick(endReadableNT, state, stream);\n  }\n}\n\nfunction endReadableNT(state, stream) {\n  debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n  if (!state.endEmitted && state.length === 0) {\n    state.endEmitted = true;\n    stream.readable = false;\n    stream.emit('end');\n\n    if (state.autoDestroy) {\n      // In case of duplex streams we need a way to detect\n      // if the writable side is ready for autoDestroy as well\n      var wState = stream._writableState;\n\n      if (!wState || wState.autoDestroy && wState.finished) {\n        stream.destroy();\n      }\n    }\n  }\n}\n\nif (typeof Symbol === 'function') {\n  Readable.from = function (iterable, opts) {\n    if (from === undefined) {\n      from = require('./internal/streams/from');\n    }\n\n    return from(Readable, iterable, opts);\n  };\n}\n\nfunction indexOf(xs, x) {\n  for (var i = 0, l = xs.length; i < l; i++) {\n    if (xs[i] === x) return i;\n  }\n\n  return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data.  Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored.  (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation.  For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes.  When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up.  When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer.  When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks.  If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk.  However,\n// a pathological inflate type of transform can cause excessive buffering\n// here.  For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output.  Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output.  In this case, you could write a very small\n// amount of input, and end up with a very large amount of output.  In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform.  A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n    ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n    ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n    ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n    ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n  var ts = this._transformState;\n  ts.transforming = false;\n  var cb = ts.writecb;\n\n  if (cb === null) {\n    return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n  }\n\n  ts.writechunk = null;\n  ts.writecb = null;\n  if (data != null) // single equals check for both `null` and `undefined`\n    this.push(data);\n  cb(er);\n  var rs = this._readableState;\n  rs.reading = false;\n\n  if (rs.needReadable || rs.length < rs.highWaterMark) {\n    this._read(rs.highWaterMark);\n  }\n}\n\nfunction Transform(options) {\n  if (!(this instanceof Transform)) return new Transform(options);\n  Duplex.call(this, options);\n  this._transformState = {\n    afterTransform: afterTransform.bind(this),\n    needTransform: false,\n    transforming: false,\n    writecb: null,\n    writechunk: null,\n    writeencoding: null\n  }; // start out asking for a readable event once data is transformed.\n\n  this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n  // that Readable wants before the first _read call, so unset the\n  // sync guard flag.\n\n  this._readableState.sync = false;\n\n  if (options) {\n    if (typeof options.transform === 'function') this._transform = options.transform;\n    if (typeof options.flush === 'function') this._flush = options.flush;\n  } // When the writable side finishes, then flush out anything remaining.\n\n\n  this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n  var _this = this;\n\n  if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n    this._flush(function (er, data) {\n      done(_this, er, data);\n    });\n  } else {\n    done(this, null, null);\n  }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n  this._transformState.needTransform = false;\n  return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side.  You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk.  If you pass\n// an error, then that'll put the hurt on the whole operation.  If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n  cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n  var ts = this._transformState;\n  ts.writecb = cb;\n  ts.writechunk = chunk;\n  ts.writeencoding = encoding;\n\n  if (!ts.transforming) {\n    var rs = this._readableState;\n    if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n  }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n  var ts = this._transformState;\n\n  if (ts.writechunk !== null && !ts.transforming) {\n    ts.transforming = true;\n\n    this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n  } else {\n    // mark that we need a transform, so that any data that comes in\n    // will get processed, now that we've asked for it.\n    ts.needTransform = true;\n  }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n  Duplex.prototype._destroy.call(this, err, function (err2) {\n    cb(err2);\n  });\n};\n\nfunction done(stream, er, data) {\n  if (er) return stream.emit('error', er);\n  if (data != null) // single equals check for both `null` and `undefined`\n    stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n  // if there's nothing in the write buffer, then that means\n  // that nothing more will ever be provided\n\n  if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n  if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n  return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* <replacement> */\n\nfunction WriteReq(chunk, encoding, cb) {\n  this.chunk = chunk;\n  this.encoding = encoding;\n  this.callback = cb;\n  this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n  var _this = this;\n\n  this.next = null;\n  this.entry = null;\n\n  this.finish = function () {\n    onCorkedFinish(_this, state);\n  };\n}\n/* </replacement> */\n\n/*<replacement>*/\n\n\nvar Duplex;\n/*</replacement>*/\n\nWritable.WritableState = WritableState;\n/*<replacement>*/\n\nvar internalUtil = {\n  deprecate: require('util-deprecate')\n};\n/*</replacement>*/\n\n/*<replacement>*/\n\nvar Stream = require('./internal/streams/stream');\n/*</replacement>*/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n  return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n  return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n    getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n    ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n    ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n    ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n    ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n    ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n    ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n    ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n    ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n  Duplex = Duplex || require('./_stream_duplex');\n  options = options || {}; // Duplex streams are both readable and writable, but share\n  // the same options object.\n  // However, some cases require setting options to different\n  // values for the readable and the writable sides of the duplex stream,\n  // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n  if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n  // contains buffers or objects.\n\n  this.objectMode = !!options.objectMode;\n  if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n  // Note: 0 is a valid value, means that we always return false if\n  // the entire buffer is not flushed immediately on write()\n\n  this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n  this.finalCalled = false; // drain event flag.\n\n  this.needDrain = false; // at the start of calling end()\n\n  this.ending = false; // when end() has been called, and returned\n\n  this.ended = false; // when 'finish' is emitted\n\n  this.finished = false; // has it been destroyed\n\n  this.destroyed = false; // should we decode strings into buffers before passing to _write?\n  // this is here so that some node-core streams can optimize string\n  // handling at a lower level.\n\n  var noDecode = options.decodeStrings === false;\n  this.decodeStrings = !noDecode; // Crypto is kind of old and crusty.  Historically, its default string\n  // encoding is 'binary' so we have to make this configurable.\n  // Everything else in the universe uses 'utf8', though.\n\n  this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n  // of how much we're waiting to get pushed to some underlying\n  // socket or file.\n\n  this.length = 0; // a flag to see when we're in the middle of a write.\n\n  this.writing = false; // when true all writes will be buffered until .uncork() call\n\n  this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n  // or on a later tick.  We set this to true at first, because any\n  // actions that shouldn't happen until \"later\" should generally also\n  // not happen before the first write call.\n\n  this.sync = true; // a flag to know if we're processing previously buffered items, which\n  // may call the _write() callback in the same tick, so that we don't\n  // end up in an overlapped onwrite situation.\n\n  this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n  this.onwrite = function (er) {\n    onwrite(stream, er);\n  }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n  this.writecb = null; // the amount that is being written when _write is called.\n\n  this.writelen = 0;\n  this.bufferedRequest = null;\n  this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n  // this must be 0 before 'finish' can be emitted\n\n  this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n  // This is relevant for synchronous Transform streams\n\n  this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n  this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n  this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n  this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n  this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n  // one allocated and free to use, and we maintain at most two\n\n  this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n  var current = this.bufferedRequest;\n  var out = [];\n\n  while (current) {\n    out.push(current);\n    current = current.next;\n  }\n\n  return out;\n};\n\n(function () {\n  try {\n    Object.defineProperty(WritableState.prototype, 'buffer', {\n      get: internalUtil.deprecate(function writableStateBufferGetter() {\n        return this.getBuffer();\n      }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n    });\n  } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n  realHasInstance = Function.prototype[Symbol.hasInstance];\n  Object.defineProperty(Writable, Symbol.hasInstance, {\n    value: function value(object) {\n      if (realHasInstance.call(this, object)) return true;\n      if (this !== Writable) return false;\n      return object && object._writableState instanceof WritableState;\n    }\n  });\n} else {\n  realHasInstance = function realHasInstance(object) {\n    return object instanceof this;\n  };\n}\n\nfunction Writable(options) {\n  Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n  // `realHasInstance` is necessary because using plain `instanceof`\n  // would return false, as no `_writableState` property is attached.\n  // Trying to use the custom `instanceof` for Writable here will also break the\n  // Node.js LazyTransform implementation, which has a non-trivial getter for\n  // `_writableState` that would lead to infinite recursion.\n  // Checking for a Stream.Duplex instance is faster here instead of inside\n  // the WritableState constructor, at least with V8 6.5\n\n  var isDuplex = this instanceof Duplex;\n  if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n  this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n  this.writable = true;\n\n  if (options) {\n    if (typeof options.write === 'function') this._write = options.write;\n    if (typeof options.writev === 'function') this._writev = options.writev;\n    if (typeof options.destroy === 'function') this._destroy = options.destroy;\n    if (typeof options.final === 'function') this._final = options.final;\n  }\n\n  Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n  errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n  var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n  errorOrDestroy(stream, er);\n  process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n  var er;\n\n  if (chunk === null) {\n    er = new ERR_STREAM_NULL_VALUES();\n  } else if (typeof chunk !== 'string' && !state.objectMode) {\n    er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n  }\n\n  if (er) {\n    errorOrDestroy(stream, er);\n    process.nextTick(cb, er);\n    return false;\n  }\n\n  return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n  var state = this._writableState;\n  var ret = false;\n\n  var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n  if (isBuf && !Buffer.isBuffer(chunk)) {\n    chunk = _uint8ArrayToBuffer(chunk);\n  }\n\n  if (typeof encoding === 'function') {\n    cb = encoding;\n    encoding = null;\n  }\n\n  if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n  if (typeof cb !== 'function') cb = nop;\n  if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n    state.pendingcb++;\n    ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n  }\n  return ret;\n};\n\nWritable.prototype.cork = function () {\n  this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n  var state = this._writableState;\n\n  if (state.corked) {\n    state.corked--;\n    if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n  }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n  // node::ParseEncoding() requires lower case.\n  if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n  if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n  this._writableState.defaultEncoding = encoding;\n  return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState && this._writableState.getBuffer();\n  }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n  if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n    chunk = Buffer.from(chunk, encoding);\n  }\n\n  return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.highWaterMark;\n  }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn.  Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n  if (!isBuf) {\n    var newChunk = decodeChunk(state, chunk, encoding);\n\n    if (chunk !== newChunk) {\n      isBuf = true;\n      encoding = 'buffer';\n      chunk = newChunk;\n    }\n  }\n\n  var len = state.objectMode ? 1 : chunk.length;\n  state.length += len;\n  var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n  if (!ret) state.needDrain = true;\n\n  if (state.writing || state.corked) {\n    var last = state.lastBufferedRequest;\n    state.lastBufferedRequest = {\n      chunk: chunk,\n      encoding: encoding,\n      isBuf: isBuf,\n      callback: cb,\n      next: null\n    };\n\n    if (last) {\n      last.next = state.lastBufferedRequest;\n    } else {\n      state.bufferedRequest = state.lastBufferedRequest;\n    }\n\n    state.bufferedRequestCount += 1;\n  } else {\n    doWrite(stream, state, false, len, chunk, encoding, cb);\n  }\n\n  return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n  state.writelen = len;\n  state.writecb = cb;\n  state.writing = true;\n  state.sync = true;\n  if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n  state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n  --state.pendingcb;\n\n  if (sync) {\n    // defer the callback if we are being called synchronously\n    // to avoid piling up things on the stack\n    process.nextTick(cb, er); // this can emit finish, and it will always happen\n    // after error\n\n    process.nextTick(finishMaybe, stream, state);\n    stream._writableState.errorEmitted = true;\n    errorOrDestroy(stream, er);\n  } else {\n    // the caller expect this to happen before if\n    // it is async\n    cb(er);\n    stream._writableState.errorEmitted = true;\n    errorOrDestroy(stream, er); // this can emit finish, but finish must\n    // always follow error\n\n    finishMaybe(stream, state);\n  }\n}\n\nfunction onwriteStateUpdate(state) {\n  state.writing = false;\n  state.writecb = null;\n  state.length -= state.writelen;\n  state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n  var state = stream._writableState;\n  var sync = state.sync;\n  var cb = state.writecb;\n  if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n  onwriteStateUpdate(state);\n  if (er) onwriteError(stream, state, sync, er, cb);else {\n    // Check if we're actually ready to finish, but don't emit yet\n    var finished = needFinish(state) || stream.destroyed;\n\n    if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n      clearBuffer(stream, state);\n    }\n\n    if (sync) {\n      process.nextTick(afterWrite, stream, state, finished, cb);\n    } else {\n      afterWrite(stream, state, finished, cb);\n    }\n  }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n  if (!finished) onwriteDrain(stream, state);\n  state.pendingcb--;\n  cb();\n  finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n  if (state.length === 0 && state.needDrain) {\n    state.needDrain = false;\n    stream.emit('drain');\n  }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n  state.bufferProcessing = true;\n  var entry = state.bufferedRequest;\n\n  if (stream._writev && entry && entry.next) {\n    // Fast case, write everything using _writev()\n    var l = state.bufferedRequestCount;\n    var buffer = new Array(l);\n    var holder = state.corkedRequestsFree;\n    holder.entry = entry;\n    var count = 0;\n    var allBuffers = true;\n\n    while (entry) {\n      buffer[count] = entry;\n      if (!entry.isBuf) allBuffers = false;\n      entry = entry.next;\n      count += 1;\n    }\n\n    buffer.allBuffers = allBuffers;\n    doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n    // as the hot path ends with doWrite\n\n    state.pendingcb++;\n    state.lastBufferedRequest = null;\n\n    if (holder.next) {\n      state.corkedRequestsFree = holder.next;\n      holder.next = null;\n    } else {\n      state.corkedRequestsFree = new CorkedRequest(state);\n    }\n\n    state.bufferedRequestCount = 0;\n  } else {\n    // Slow case, write chunks one-by-one\n    while (entry) {\n      var chunk = entry.chunk;\n      var encoding = entry.encoding;\n      var cb = entry.callback;\n      var len = state.objectMode ? 1 : chunk.length;\n      doWrite(stream, state, false, len, chunk, encoding, cb);\n      entry = entry.next;\n      state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n      // it means that we need to wait until it does.\n      // also, that means that the chunk and cb are currently\n      // being processed, so move the buffer counter past them.\n\n      if (state.writing) {\n        break;\n      }\n    }\n\n    if (entry === null) state.lastBufferedRequest = null;\n  }\n\n  state.bufferedRequest = entry;\n  state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n  cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n  var state = this._writableState;\n\n  if (typeof chunk === 'function') {\n    cb = chunk;\n    chunk = null;\n    encoding = null;\n  } else if (typeof encoding === 'function') {\n    cb = encoding;\n    encoding = null;\n  }\n\n  if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n  if (state.corked) {\n    state.corked = 1;\n    this.uncork();\n  } // ignore unnecessary end() calls.\n\n\n  if (!state.ending) endWritable(this, state, cb);\n  return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    return this._writableState.length;\n  }\n});\n\nfunction needFinish(state) {\n  return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n  stream._final(function (err) {\n    state.pendingcb--;\n\n    if (err) {\n      errorOrDestroy(stream, err);\n    }\n\n    state.prefinished = true;\n    stream.emit('prefinish');\n    finishMaybe(stream, state);\n  });\n}\n\nfunction prefinish(stream, state) {\n  if (!state.prefinished && !state.finalCalled) {\n    if (typeof stream._final === 'function' && !state.destroyed) {\n      state.pendingcb++;\n      state.finalCalled = true;\n      process.nextTick(callFinal, stream, state);\n    } else {\n      state.prefinished = true;\n      stream.emit('prefinish');\n    }\n  }\n}\n\nfunction finishMaybe(stream, state) {\n  var need = needFinish(state);\n\n  if (need) {\n    prefinish(stream, state);\n\n    if (state.pendingcb === 0) {\n      state.finished = true;\n      stream.emit('finish');\n\n      if (state.autoDestroy) {\n        // In case of duplex streams we need a way to detect\n        // if the readable side is ready for autoDestroy as well\n        var rState = stream._readableState;\n\n        if (!rState || rState.autoDestroy && rState.endEmitted) {\n          stream.destroy();\n        }\n      }\n    }\n  }\n\n  return need;\n}\n\nfunction endWritable(stream, state, cb) {\n  state.ending = true;\n  finishMaybe(stream, state);\n\n  if (cb) {\n    if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n  }\n\n  state.ended = true;\n  stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n  var entry = corkReq.entry;\n  corkReq.entry = null;\n\n  while (entry) {\n    var cb = entry.callback;\n    state.pendingcb--;\n    cb(err);\n    entry = entry.next;\n  } // reuse the free corkReq.\n\n\n  state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n  // making it explicit this property is not enumerable\n  // because otherwise some prototype manipulation in\n  // userland will fail\n  enumerable: false,\n  get: function get() {\n    if (this._writableState === undefined) {\n      return false;\n    }\n\n    return this._writableState.destroyed;\n  },\n  set: function set(value) {\n    // we ignore the value if the stream\n    // has not been initialized yet\n    if (!this._writableState) {\n      return;\n    } // backward compatibility, the user is explicitly\n    // managing destroyed\n\n\n    this._writableState.destroyed = value;\n  }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n  cb(err);\n};","'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n  return {\n    value: value,\n    done: done\n  };\n}\n\nfunction readAndResolve(iter) {\n  var resolve = iter[kLastResolve];\n\n  if (resolve !== null) {\n    var data = iter[kStream].read(); // we defer if data is null\n    // we can be expecting either 'end' or\n    // 'error'\n\n    if (data !== null) {\n      iter[kLastPromise] = null;\n      iter[kLastResolve] = null;\n      iter[kLastReject] = null;\n      resolve(createIterResult(data, false));\n    }\n  }\n}\n\nfunction onReadable(iter) {\n  // we wait for the next tick, because it might\n  // emit an error with process.nextTick\n  process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n  return function (resolve, reject) {\n    lastPromise.then(function () {\n      if (iter[kEnded]) {\n        resolve(createIterResult(undefined, true));\n        return;\n      }\n\n      iter[kHandlePromise](resolve, reject);\n    }, reject);\n  };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n  get stream() {\n    return this[kStream];\n  },\n\n  next: function next() {\n    var _this = this;\n\n    // if we have detected an error in the meanwhile\n    // reject straight away\n    var error = this[kError];\n\n    if (error !== null) {\n      return Promise.reject(error);\n    }\n\n    if (this[kEnded]) {\n      return Promise.resolve(createIterResult(undefined, true));\n    }\n\n    if (this[kStream].destroyed) {\n      // We need to defer via nextTick because if .destroy(err) is\n      // called, the error will be emitted via nextTick, and\n      // we cannot guarantee that there is no error lingering around\n      // waiting to be emitted.\n      return new Promise(function (resolve, reject) {\n        process.nextTick(function () {\n          if (_this[kError]) {\n            reject(_this[kError]);\n          } else {\n            resolve(createIterResult(undefined, true));\n          }\n        });\n      });\n    } // if we have multiple next() calls\n    // we will wait for the previous Promise to finish\n    // this logic is optimized to support for await loops,\n    // where next() is only called once at a time\n\n\n    var lastPromise = this[kLastPromise];\n    var promise;\n\n    if (lastPromise) {\n      promise = new Promise(wrapForNext(lastPromise, this));\n    } else {\n      // fast path needed to support multiple this.push()\n      // without triggering the next() queue\n      var data = this[kStream].read();\n\n      if (data !== null) {\n        return Promise.resolve(createIterResult(data, false));\n      }\n\n      promise = new Promise(this[kHandlePromise]);\n    }\n\n    this[kLastPromise] = promise;\n    return promise;\n  }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n  return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n  var _this2 = this;\n\n  // destroy(err, cb) is a private API\n  // we can guarantee we have that here, because we control the\n  // Readable class this is attached to\n  return new Promise(function (resolve, reject) {\n    _this2[kStream].destroy(null, function (err) {\n      if (err) {\n        reject(err);\n        return;\n      }\n\n      resolve(createIterResult(undefined, true));\n    });\n  });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n  var _Object$create;\n\n  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n    value: stream,\n    writable: true\n  }), _defineProperty(_Object$create, kLastResolve, {\n    value: null,\n    writable: true\n  }), _defineProperty(_Object$create, kLastReject, {\n    value: null,\n    writable: true\n  }), _defineProperty(_Object$create, kError, {\n    value: null,\n    writable: true\n  }), _defineProperty(_Object$create, kEnded, {\n    value: stream._readableState.endEmitted,\n    writable: true\n  }), _defineProperty(_Object$create, kHandlePromise, {\n    value: function value(resolve, reject) {\n      var data = iterator[kStream].read();\n\n      if (data) {\n        iterator[kLastPromise] = null;\n        iterator[kLastResolve] = null;\n        iterator[kLastReject] = null;\n        resolve(createIterResult(data, false));\n      } else {\n        iterator[kLastResolve] = resolve;\n        iterator[kLastReject] = reject;\n      }\n    },\n    writable: true\n  }), _Object$create));\n  iterator[kLastPromise] = null;\n  finished(stream, function (err) {\n    if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n      var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n      // returned by next() and store the error\n\n      if (reject !== null) {\n        iterator[kLastPromise] = null;\n        iterator[kLastResolve] = null;\n        iterator[kLastReject] = null;\n        reject(err);\n      }\n\n      iterator[kError] = err;\n      return;\n    }\n\n    var resolve = iterator[kLastResolve];\n\n    if (resolve !== null) {\n      iterator[kLastPromise] = null;\n      iterator[kLastResolve] = null;\n      iterator[kLastReject] = null;\n      resolve(createIterResult(undefined, true));\n    }\n\n    iterator[kEnded] = true;\n  });\n  stream.on('readable', onReadable.bind(null, iterator));\n  return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;","'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n  var _this = this;\n\n  var readableDestroyed = this._readableState && this._readableState.destroyed;\n  var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n  if (readableDestroyed || writableDestroyed) {\n    if (cb) {\n      cb(err);\n    } else if (err) {\n      if (!this._writableState) {\n        process.nextTick(emitErrorNT, this, err);\n      } else if (!this._writableState.errorEmitted) {\n        this._writableState.errorEmitted = true;\n        process.nextTick(emitErrorNT, this, err);\n      }\n    }\n\n    return this;\n  } // we set destroyed to true before firing error callbacks in order\n  // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n  if (this._readableState) {\n    this._readableState.destroyed = true;\n  } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n  if (this._writableState) {\n    this._writableState.destroyed = true;\n  }\n\n  this._destroy(err || null, function (err) {\n    if (!cb && err) {\n      if (!_this._writableState) {\n        process.nextTick(emitErrorAndCloseNT, _this, err);\n      } else if (!_this._writableState.errorEmitted) {\n        _this._writableState.errorEmitted = true;\n        process.nextTick(emitErrorAndCloseNT, _this, err);\n      } else {\n        process.nextTick(emitCloseNT, _this);\n      }\n    } else if (cb) {\n      process.nextTick(emitCloseNT, _this);\n      cb(err);\n    } else {\n      process.nextTick(emitCloseNT, _this);\n    }\n  });\n\n  return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n  emitErrorNT(self, err);\n  emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n  if (self._writableState && !self._writableState.emitClose) return;\n  if (self._readableState && !self._readableState.emitClose) return;\n  self.emit('close');\n}\n\nfunction undestroy() {\n  if (this._readableState) {\n    this._readableState.destroyed = false;\n    this._readableState.reading = false;\n    this._readableState.ended = false;\n    this._readableState.endEmitted = false;\n  }\n\n  if (this._writableState) {\n    this._writableState.destroyed = false;\n    this._writableState.ended = false;\n    this._writableState.ending = false;\n    this._writableState.finalCalled = false;\n    this._writableState.prefinished = false;\n    this._writableState.finished = false;\n    this._writableState.errorEmitted = false;\n  }\n}\n\nfunction emitErrorNT(self, err) {\n  self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n  // We have tests that rely on errors being emitted\n  // in the same tick, so changing this is semver major.\n  // For now when you opt-in to autoDestroy we allow\n  // the error to be emitted nextTick. In a future\n  // semver major update we should change the default to this.\n  var rState = stream._readableState;\n  var wState = stream._writableState;\n  if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n  destroy: destroy,\n  undestroy: undestroy,\n  errorOrDestroy: errorOrDestroy\n};","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n  var called = false;\n  return function () {\n    if (called) return;\n    called = true;\n\n    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    callback.apply(this, args);\n  };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n  return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n  if (typeof opts === 'function') return eos(stream, null, opts);\n  if (!opts) opts = {};\n  callback = once(callback || noop);\n  var readable = opts.readable || opts.readable !== false && stream.readable;\n  var writable = opts.writable || opts.writable !== false && stream.writable;\n\n  var onlegacyfinish = function onlegacyfinish() {\n    if (!stream.writable) onfinish();\n  };\n\n  var writableEnded = stream._writableState && stream._writableState.finished;\n\n  var onfinish = function onfinish() {\n    writable = false;\n    writableEnded = true;\n    if (!readable) callback.call(stream);\n  };\n\n  var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n  var onend = function onend() {\n    readable = false;\n    readableEnded = true;\n    if (!writable) callback.call(stream);\n  };\n\n  var onerror = function onerror(err) {\n    callback.call(stream, err);\n  };\n\n  var onclose = function onclose() {\n    var err;\n\n    if (readable && !readableEnded) {\n      if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n      return callback.call(stream, err);\n    }\n\n    if (writable && !writableEnded) {\n      if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n      return callback.call(stream, err);\n    }\n  };\n\n  var onrequest = function onrequest() {\n    stream.req.on('finish', onfinish);\n  };\n\n  if (isRequest(stream)) {\n    stream.on('complete', onfinish);\n    stream.on('abort', onclose);\n    if (stream.req) onrequest();else stream.on('request', onrequest);\n  } else if (writable && !stream._writableState) {\n    // legacy streams\n    stream.on('end', onlegacyfinish);\n    stream.on('close', onlegacyfinish);\n  }\n\n  stream.on('end', onend);\n  stream.on('finish', onfinish);\n  if (opts.error !== false) stream.on('error', onerror);\n  stream.on('close', onclose);\n  return function () {\n    stream.removeListener('complete', onfinish);\n    stream.removeListener('abort', onclose);\n    stream.removeListener('request', onrequest);\n    if (stream.req) stream.req.removeListener('finish', onfinish);\n    stream.removeListener('end', onlegacyfinish);\n    stream.removeListener('close', onlegacyfinish);\n    stream.removeListener('finish', onfinish);\n    stream.removeListener('end', onend);\n    stream.removeListener('error', onerror);\n    stream.removeListener('close', onclose);\n  };\n}\n\nmodule.exports = eos;","module.exports = function () {\n  throw new Error('Readable.from is not available in the browser')\n};\n","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n  var called = false;\n  return function () {\n    if (called) return;\n    called = true;\n    callback.apply(void 0, arguments);\n  };\n}\n\nvar _require$codes = require('../../../errors').codes,\n    ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n    ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n  // Rethrow the error if it exists to avoid swallowing it\n  if (err) throw err;\n}\n\nfunction isRequest(stream) {\n  return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n  callback = once(callback);\n  var closed = false;\n  stream.on('close', function () {\n    closed = true;\n  });\n  if (eos === undefined) eos = require('./end-of-stream');\n  eos(stream, {\n    readable: reading,\n    writable: writing\n  }, function (err) {\n    if (err) return callback(err);\n    closed = true;\n    callback();\n  });\n  var destroyed = false;\n  return function (err) {\n    if (closed) return;\n    if (destroyed) return;\n    destroyed = true; // request.destroy just do .end - .abort is what we want\n\n    if (isRequest(stream)) return stream.abort();\n    if (typeof stream.destroy === 'function') return stream.destroy();\n    callback(err || new ERR_STREAM_DESTROYED('pipe'));\n  };\n}\n\nfunction call(fn) {\n  fn();\n}\n\nfunction pipe(from, to) {\n  return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n  if (!streams.length) return noop;\n  if (typeof streams[streams.length - 1] !== 'function') return noop;\n  return streams.pop();\n}\n\nfunction pipeline() {\n  for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n    streams[_key] = arguments[_key];\n  }\n\n  var callback = popCallback(streams);\n  if (Array.isArray(streams[0])) streams = streams[0];\n\n  if (streams.length < 2) {\n    throw new ERR_MISSING_ARGS('streams');\n  }\n\n  var error;\n  var destroys = streams.map(function (stream, i) {\n    var reading = i < streams.length - 1;\n    var writing = i > 0;\n    return destroyer(stream, reading, writing, function (err) {\n      if (!error) error = err;\n      if (err) destroys.forEach(call);\n      if (reading) return;\n      destroys.forEach(call);\n      callback(error);\n    });\n  });\n  return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n  return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n  var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n  if (hwm != null) {\n    if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n      var name = isDuplex ? duplexKey : 'highWaterMark';\n      throw new ERR_INVALID_OPT_VALUE(name, hwm);\n    }\n\n    return Math.floor(hwm);\n  } // Default value\n\n\n  return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n  getHighWaterMark: getHighWaterMark\n};","module.exports = require('events').EventEmitter;\n","(function(a,b){if(\"function\"==typeof define&&define.amd)define([],b);else if(\"undefined\"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){\"use strict\";function b(a,b){return\"undefined\"==typeof b?b={autoBom:!1}:\"object\"!=typeof b&&(console.warn(\"Deprecated: Expected third argument to be a object\"),b={autoBom:!b}),b.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(a.type)?new Blob([\"\\uFEFF\",a],{type:a.type}):a}function c(a,b,c){var d=new XMLHttpRequest;d.open(\"GET\",a),d.responseType=\"blob\",d.onload=function(){g(d.response,b,c)},d.onerror=function(){console.error(\"could not download file\")},d.send()}function d(a){var b=new XMLHttpRequest;b.open(\"HEAD\",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent(\"click\"))}catch(c){var b=document.createEvent(\"MouseEvents\");b.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f=\"object\"==typeof window&&window.window===window?window:\"object\"==typeof self&&self.self===self?self:\"object\"==typeof global&&global.global===global?global:void 0,a=f.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),g=f.saveAs||(\"object\"!=typeof window||window!==f?function(){}:(typeof HTMLAnchorElement !== \"undefined\" && \"download\" in HTMLAnchorElement.prototype)&&!a?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement(\"a\");g=g||b.name||\"download\",j.download=g,j.rel=\"noopener\",\"string\"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target=\"_blank\")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:\"msSaveOrOpenBlob\"in navigator?function(f,g,h){if(g=g||f.name||\"download\",\"string\"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement(\"a\");i.href=f,i.target=\"_blank\",setTimeout(function(){e(i)})}}:function(b,d,e,g){if(g=g||open(\"\",\"_blank\"),g&&(g.document.title=g.document.body.innerText=\"downloading...\"),\"string\"==typeof b)return c(b,d,e);var h=\"application/octet-stream\"===b.type,i=/constructor/i.test(f.HTMLElement)||f.safari,j=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((j||h&&i||a)&&\"undefined\"!=typeof FileReader){var k=new FileReader;k.onloadend=function(){var a=k.result;a=j?a:a.replace(/^data:[^;]*;/,\"data:attachment/file;\"),g?g.location.href=a:location=a,g=null},k.readAsDataURL(b)}else{var l=f.URL||f.webkitURL,m=l.createObjectURL(b);g?g.location=m:location.href=m,g=null,setTimeout(function(){l.revokeObjectURL(m)},4E4)}});f.saveAs=g.saveAs=g,\"undefined\"!=typeof module&&(module.exports=g)});\n\n//# sourceMappingURL=FileSaver.min.js.map","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/*<replacement>*/\n\nvar Buffer = require('safe-buffer').Buffer;\n/*</replacement>*/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n  encoding = '' + encoding;\n  switch (encoding && encoding.toLowerCase()) {\n    case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n      return true;\n    default:\n      return false;\n  }\n};\n\nfunction _normalizeEncoding(enc) {\n  if (!enc) return 'utf8';\n  var retried;\n  while (true) {\n    switch (enc) {\n      case 'utf8':\n      case 'utf-8':\n        return 'utf8';\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return 'utf16le';\n      case 'latin1':\n      case 'binary':\n        return 'latin1';\n      case 'base64':\n      case 'ascii':\n      case 'hex':\n        return enc;\n      default:\n        if (retried) return; // undefined\n        enc = ('' + enc).toLowerCase();\n        retried = true;\n    }\n  }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n  var nenc = _normalizeEncoding(enc);\n  if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n  return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n  this.encoding = normalizeEncoding(encoding);\n  var nb;\n  switch (this.encoding) {\n    case 'utf16le':\n      this.text = utf16Text;\n      this.end = utf16End;\n      nb = 4;\n      break;\n    case 'utf8':\n      this.fillLast = utf8FillLast;\n      nb = 4;\n      break;\n    case 'base64':\n      this.text = base64Text;\n      this.end = base64End;\n      nb = 3;\n      break;\n    default:\n      this.write = simpleWrite;\n      this.end = simpleEnd;\n      return;\n  }\n  this.lastNeed = 0;\n  this.lastTotal = 0;\n  this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n  if (buf.length === 0) return '';\n  var r;\n  var i;\n  if (this.lastNeed) {\n    r = this.fillLast(buf);\n    if (r === undefined) return '';\n    i = this.lastNeed;\n    this.lastNeed = 0;\n  } else {\n    i = 0;\n  }\n  if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n  return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n  if (this.lastNeed <= buf.length) {\n    buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n    return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n  }\n  buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n  this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n  if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n  return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n  var j = buf.length - 1;\n  if (j < i) return 0;\n  var nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) self.lastNeed = nb - 1;\n    return nb;\n  }\n  if (--j < i || nb === -2) return 0;\n  nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) self.lastNeed = nb - 2;\n    return nb;\n  }\n  if (--j < i || nb === -2) return 0;\n  nb = utf8CheckByte(buf[j]);\n  if (nb >= 0) {\n    if (nb > 0) {\n      if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n    }\n    return nb;\n  }\n  return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n  if ((buf[0] & 0xC0) !== 0x80) {\n    self.lastNeed = 0;\n    return '\\ufffd';\n  }\n  if (self.lastNeed > 1 && buf.length > 1) {\n    if ((buf[1] & 0xC0) !== 0x80) {\n      self.lastNeed = 1;\n      return '\\ufffd';\n    }\n    if (self.lastNeed > 2 && buf.length > 2) {\n      if ((buf[2] & 0xC0) !== 0x80) {\n        self.lastNeed = 2;\n        return '\\ufffd';\n      }\n    }\n  }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n  var p = this.lastTotal - this.lastNeed;\n  var r = utf8CheckExtraBytes(this, buf, p);\n  if (r !== undefined) return r;\n  if (this.lastNeed <= buf.length) {\n    buf.copy(this.lastChar, p, 0, this.lastNeed);\n    return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n  }\n  buf.copy(this.lastChar, p, 0, buf.length);\n  this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n  var total = utf8CheckIncomplete(this, buf, i);\n  if (!this.lastNeed) return buf.toString('utf8', i);\n  this.lastTotal = total;\n  var end = buf.length - (total - this.lastNeed);\n  buf.copy(this.lastChar, 0, end);\n  return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) return r + '\\ufffd';\n  return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n  if ((buf.length - i) % 2 === 0) {\n    var r = buf.toString('utf16le', i);\n    if (r) {\n      var c = r.charCodeAt(r.length - 1);\n      if (c >= 0xD800 && c <= 0xDBFF) {\n        this.lastNeed = 2;\n        this.lastTotal = 4;\n        this.lastChar[0] = buf[buf.length - 2];\n        this.lastChar[1] = buf[buf.length - 1];\n        return r.slice(0, -1);\n      }\n    }\n    return r;\n  }\n  this.lastNeed = 1;\n  this.lastTotal = 2;\n  this.lastChar[0] = buf[buf.length - 1];\n  return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) {\n    var end = this.lastTotal - this.lastNeed;\n    return r + this.lastChar.toString('utf16le', 0, end);\n  }\n  return r;\n}\n\nfunction base64Text(buf, i) {\n  var n = (buf.length - i) % 3;\n  if (n === 0) return buf.toString('base64', i);\n  this.lastNeed = 3 - n;\n  this.lastTotal = 3;\n  if (n === 1) {\n    this.lastChar[0] = buf[buf.length - 1];\n  } else {\n    this.lastChar[0] = buf[buf.length - 2];\n    this.lastChar[1] = buf[buf.length - 1];\n  }\n  return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n  var r = buf && buf.length ? this.write(buf) : '';\n  if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n  return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n  return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n  return buf && buf.length ? this.write(buf) : '';\n}","var TINF_OK = 0;\nvar TINF_DATA_ERROR = -3;\n\nfunction Tree() {\n  this.table = new Uint16Array(16);   /* table of code length counts */\n  this.trans = new Uint16Array(288);  /* code -> symbol translation table */\n}\n\nfunction Data(source, dest) {\n  this.source = source;\n  this.sourceIndex = 0;\n  this.tag = 0;\n  this.bitcount = 0;\n  \n  this.dest = dest;\n  this.destLen = 0;\n  \n  this.ltree = new Tree();  /* dynamic length/symbol tree */\n  this.dtree = new Tree();  /* dynamic distance tree */\n}\n\n/* --------------------------------------------------- *\n * -- uninitialized global data (static structures) -- *\n * --------------------------------------------------- */\n\nvar sltree = new Tree();\nvar sdtree = new Tree();\n\n/* extra bits and base tables for length codes */\nvar length_bits = new Uint8Array(30);\nvar length_base = new Uint16Array(30);\n\n/* extra bits and base tables for distance codes */\nvar dist_bits = new Uint8Array(30);\nvar dist_base = new Uint16Array(30);\n\n/* special ordering of code length codes */\nvar clcidx = new Uint8Array([\n  16, 17, 18, 0, 8, 7, 9, 6,\n  10, 5, 11, 4, 12, 3, 13, 2,\n  14, 1, 15\n]);\n\n/* used by tinf_decode_trees, avoids allocations every call */\nvar code_tree = new Tree();\nvar lengths = new Uint8Array(288 + 32);\n\n/* ----------------------- *\n * -- utility functions -- *\n * ----------------------- */\n\n/* build extra bits and base tables */\nfunction tinf_build_bits_base(bits, base, delta, first) {\n  var i, sum;\n\n  /* build bits table */\n  for (i = 0; i < delta; ++i) bits[i] = 0;\n  for (i = 0; i < 30 - delta; ++i) bits[i + delta] = i / delta | 0;\n\n  /* build base table */\n  for (sum = first, i = 0; i < 30; ++i) {\n    base[i] = sum;\n    sum += 1 << bits[i];\n  }\n}\n\n/* build the fixed huffman trees */\nfunction tinf_build_fixed_trees(lt, dt) {\n  var i;\n\n  /* build fixed length tree */\n  for (i = 0; i < 7; ++i) lt.table[i] = 0;\n\n  lt.table[7] = 24;\n  lt.table[8] = 152;\n  lt.table[9] = 112;\n\n  for (i = 0; i < 24; ++i) lt.trans[i] = 256 + i;\n  for (i = 0; i < 144; ++i) lt.trans[24 + i] = i;\n  for (i = 0; i < 8; ++i) lt.trans[24 + 144 + i] = 280 + i;\n  for (i = 0; i < 112; ++i) lt.trans[24 + 144 + 8 + i] = 144 + i;\n\n  /* build fixed distance tree */\n  for (i = 0; i < 5; ++i) dt.table[i] = 0;\n\n  dt.table[5] = 32;\n\n  for (i = 0; i < 32; ++i) dt.trans[i] = i;\n}\n\n/* given an array of code lengths, build a tree */\nvar offs = new Uint16Array(16);\n\nfunction tinf_build_tree(t, lengths, off, num) {\n  var i, sum;\n\n  /* clear code length count table */\n  for (i = 0; i < 16; ++i) t.table[i] = 0;\n\n  /* scan symbol lengths, and sum code length counts */\n  for (i = 0; i < num; ++i) t.table[lengths[off + i]]++;\n\n  t.table[0] = 0;\n\n  /* compute offset table for distribution sort */\n  for (sum = 0, i = 0; i < 16; ++i) {\n    offs[i] = sum;\n    sum += t.table[i];\n  }\n\n  /* create code->symbol translation table (symbols sorted by code) */\n  for (i = 0; i < num; ++i) {\n    if (lengths[off + i]) t.trans[offs[lengths[off + i]]++] = i;\n  }\n}\n\n/* ---------------------- *\n * -- decode functions -- *\n * ---------------------- */\n\n/* get one bit from source stream */\nfunction tinf_getbit(d) {\n  /* check if tag is empty */\n  if (!d.bitcount--) {\n    /* load next tag */\n    d.tag = d.source[d.sourceIndex++];\n    d.bitcount = 7;\n  }\n\n  /* shift bit out of tag */\n  var bit = d.tag & 1;\n  d.tag >>>= 1;\n\n  return bit;\n}\n\n/* read a num bit value from a stream and add base */\nfunction tinf_read_bits(d, num, base) {\n  if (!num)\n    return base;\n\n  while (d.bitcount < 24) {\n    d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n    d.bitcount += 8;\n  }\n\n  var val = d.tag & (0xffff >>> (16 - num));\n  d.tag >>>= num;\n  d.bitcount -= num;\n  return val + base;\n}\n\n/* given a data stream and a tree, decode a symbol */\nfunction tinf_decode_symbol(d, t) {\n  while (d.bitcount < 24) {\n    d.tag |= d.source[d.sourceIndex++] << d.bitcount;\n    d.bitcount += 8;\n  }\n  \n  var sum = 0, cur = 0, len = 0;\n  var tag = d.tag;\n\n  /* get more bits while code value is above sum */\n  do {\n    cur = 2 * cur + (tag & 1);\n    tag >>>= 1;\n    ++len;\n\n    sum += t.table[len];\n    cur -= t.table[len];\n  } while (cur >= 0);\n  \n  d.tag = tag;\n  d.bitcount -= len;\n\n  return t.trans[sum + cur];\n}\n\n/* given a data stream, decode dynamic trees from it */\nfunction tinf_decode_trees(d, lt, dt) {\n  var hlit, hdist, hclen;\n  var i, num, length;\n\n  /* get 5 bits HLIT (257-286) */\n  hlit = tinf_read_bits(d, 5, 257);\n\n  /* get 5 bits HDIST (1-32) */\n  hdist = tinf_read_bits(d, 5, 1);\n\n  /* get 4 bits HCLEN (4-19) */\n  hclen = tinf_read_bits(d, 4, 4);\n\n  for (i = 0; i < 19; ++i) lengths[i] = 0;\n\n  /* read code lengths for code length alphabet */\n  for (i = 0; i < hclen; ++i) {\n    /* get 3 bits code length (0-7) */\n    var clen = tinf_read_bits(d, 3, 0);\n    lengths[clcidx[i]] = clen;\n  }\n\n  /* build code length tree */\n  tinf_build_tree(code_tree, lengths, 0, 19);\n\n  /* decode code lengths for the dynamic trees */\n  for (num = 0; num < hlit + hdist;) {\n    var sym = tinf_decode_symbol(d, code_tree);\n\n    switch (sym) {\n      case 16:\n        /* copy previous code length 3-6 times (read 2 bits) */\n        var prev = lengths[num - 1];\n        for (length = tinf_read_bits(d, 2, 3); length; --length) {\n          lengths[num++] = prev;\n        }\n        break;\n      case 17:\n        /* repeat code length 0 for 3-10 times (read 3 bits) */\n        for (length = tinf_read_bits(d, 3, 3); length; --length) {\n          lengths[num++] = 0;\n        }\n        break;\n      case 18:\n        /* repeat code length 0 for 11-138 times (read 7 bits) */\n        for (length = tinf_read_bits(d, 7, 11); length; --length) {\n          lengths[num++] = 0;\n        }\n        break;\n      default:\n        /* values 0-15 represent the actual code lengths */\n        lengths[num++] = sym;\n        break;\n    }\n  }\n\n  /* build dynamic trees */\n  tinf_build_tree(lt, lengths, 0, hlit);\n  tinf_build_tree(dt, lengths, hlit, hdist);\n}\n\n/* ----------------------------- *\n * -- block inflate functions -- *\n * ----------------------------- */\n\n/* given a stream and two trees, inflate a block of data */\nfunction tinf_inflate_block_data(d, lt, dt) {\n  while (1) {\n    var sym = tinf_decode_symbol(d, lt);\n\n    /* check for end of block */\n    if (sym === 256) {\n      return TINF_OK;\n    }\n\n    if (sym < 256) {\n      d.dest[d.destLen++] = sym;\n    } else {\n      var length, dist, offs;\n      var i;\n\n      sym -= 257;\n\n      /* possibly get more bits from length code */\n      length = tinf_read_bits(d, length_bits[sym], length_base[sym]);\n\n      dist = tinf_decode_symbol(d, dt);\n\n      /* possibly get more bits from distance code */\n      offs = d.destLen - tinf_read_bits(d, dist_bits[dist], dist_base[dist]);\n\n      /* copy match */\n      for (i = offs; i < offs + length; ++i) {\n        d.dest[d.destLen++] = d.dest[i];\n      }\n    }\n  }\n}\n\n/* inflate an uncompressed block of data */\nfunction tinf_inflate_uncompressed_block(d) {\n  var length, invlength;\n  var i;\n  \n  /* unread from bitbuffer */\n  while (d.bitcount > 8) {\n    d.sourceIndex--;\n    d.bitcount -= 8;\n  }\n\n  /* get length */\n  length = d.source[d.sourceIndex + 1];\n  length = 256 * length + d.source[d.sourceIndex];\n\n  /* get one's complement of length */\n  invlength = d.source[d.sourceIndex + 3];\n  invlength = 256 * invlength + d.source[d.sourceIndex + 2];\n\n  /* check length */\n  if (length !== (~invlength & 0x0000ffff))\n    return TINF_DATA_ERROR;\n\n  d.sourceIndex += 4;\n\n  /* copy block */\n  for (i = length; i; --i)\n    d.dest[d.destLen++] = d.source[d.sourceIndex++];\n\n  /* make sure we start next block on a byte boundary */\n  d.bitcount = 0;\n\n  return TINF_OK;\n}\n\n/* inflate stream from source to dest */\nfunction tinf_uncompress(source, dest) {\n  var d = new Data(source, dest);\n  var bfinal, btype, res;\n\n  do {\n    /* read final block flag */\n    bfinal = tinf_getbit(d);\n\n    /* read block type (2 bits) */\n    btype = tinf_read_bits(d, 2, 0);\n\n    /* decompress block */\n    switch (btype) {\n      case 0:\n        /* decompress uncompressed block */\n        res = tinf_inflate_uncompressed_block(d);\n        break;\n      case 1:\n        /* decompress block with fixed huffman trees */\n        res = tinf_inflate_block_data(d, sltree, sdtree);\n        break;\n      case 2:\n        /* decompress block with dynamic huffman trees */\n        tinf_decode_trees(d, d.ltree, d.dtree);\n        res = tinf_inflate_block_data(d, d.ltree, d.dtree);\n        break;\n      default:\n        res = TINF_DATA_ERROR;\n    }\n\n    if (res !== TINF_OK)\n      throw new Error('Data error');\n\n  } while (!bfinal);\n\n  if (d.destLen < d.dest.length) {\n    if (typeof d.dest.slice === 'function')\n      return d.dest.slice(0, d.destLen);\n    else\n      return d.dest.subarray(0, d.destLen);\n  }\n  \n  return d.dest;\n}\n\n/* -------------------- *\n * -- initialization -- *\n * -------------------- */\n\n/* build fixed huffman trees */\ntinf_build_fixed_trees(sltree, sdtree);\n\n/* build extra bits and base tables */\ntinf_build_bits_base(length_bits, length_base, 4, 3);\ntinf_build_bits_base(dist_bits, dist_base, 2, 1);\n\n/* fix a special case */\nlength_bits[28] = 0;\nlength_base[28] = 258;\n\nmodule.exports = tinf_uncompress;\n","'use strict';\n\nrequire(\"core-js/modules/es.symbol.js\");\nrequire(\"core-js/modules/es.symbol.description.js\");\nrequire(\"core-js/modules/es.symbol.iterator.js\");\nrequire(\"core-js/modules/es.symbol.to-primitive.js\");\nrequire(\"core-js/modules/es.date.to-primitive.js\");\nrequire(\"core-js/modules/es.object.to-string.js\");\nrequire(\"core-js/modules/web.dom-collections.for-each.js\");\nrequire(\"core-js/modules/es.object.keys.js\");\nrequire(\"core-js/modules/es.array.slice.js\");\nrequire(\"core-js/modules/es.array.iterator.js\");\nrequire(\"core-js/modules/es.map.js\");\nrequire(\"core-js/modules/es.string.iterator.js\");\nrequire(\"core-js/modules/web.dom-collections.iterator.js\");\nrequire(\"core-js/modules/es.array.concat.js\");\nrequire(\"core-js/modules/es.number.constructor.js\");\nrequire(\"core-js/modules/es.array.map.js\");\nrequire(\"core-js/modules/es.regexp.flags.js\");\nrequire(\"core-js/modules/es.function.name.js\");\nrequire(\"core-js/modules/es.object.assign.js\");\nrequire(\"core-js/modules/es.string.from-code-point.js\");\nrequire(\"core-js/modules/es.promise.js\");\nrequire(\"core-js/modules/es.object.get-own-property-descriptor.js\");\nrequire(\"core-js/modules/es.set.js\");\nrequire(\"core-js/modules/es.array.splice.js\");\nrequire(\"core-js/modules/es.string.repeat.js\");\nrequire(\"core-js/modules/es.array.sort.js\");\nrequire(\"core-js/modules/es.regexp.exec.js\");\nrequire(\"core-js/modules/es.string.match.js\");\nrequire(\"core-js/modules/es.array.from.js\");\nrequire(\"core-js/modules/es.array.join.js\");\nrequire(\"core-js/modules/es.object.freeze.js\");\nrequire(\"core-js/modules/es.array.fill.js\");\nrequire(\"core-js/modules/es.number.epsilon.js\");\nrequire(\"core-js/modules/es.typed-array.uint16-array.js\");\nrequire(\"core-js/modules/es.typed-array.copy-within.js\");\nrequire(\"core-js/modules/es.typed-array.every.js\");\nrequire(\"core-js/modules/es.typed-array.fill.js\");\nrequire(\"core-js/modules/es.typed-array.filter.js\");\nrequire(\"core-js/modules/es.typed-array.find.js\");\nrequire(\"core-js/modules/es.typed-array.find-index.js\");\nrequire(\"core-js/modules/es.typed-array.for-each.js\");\nrequire(\"core-js/modules/es.typed-array.includes.js\");\nrequire(\"core-js/modules/es.typed-array.index-of.js\");\nrequire(\"core-js/modules/es.typed-array.iterator.js\");\nrequire(\"core-js/modules/es.typed-array.join.js\");\nrequire(\"core-js/modules/es.typed-array.last-index-of.js\");\nrequire(\"core-js/modules/es.typed-array.map.js\");\nrequire(\"core-js/modules/es.typed-array.reduce.js\");\nrequire(\"core-js/modules/es.typed-array.reduce-right.js\");\nrequire(\"core-js/modules/es.typed-array.reverse.js\");\nrequire(\"core-js/modules/es.typed-array.set.js\");\nrequire(\"core-js/modules/es.typed-array.slice.js\");\nrequire(\"core-js/modules/es.typed-array.some.js\");\nrequire(\"core-js/modules/es.typed-array.sort.js\");\nrequire(\"core-js/modules/es.typed-array.subarray.js\");\nrequire(\"core-js/modules/es.typed-array.to-locale-string.js\");\nrequire(\"core-js/modules/es.typed-array.to-string.js\");\nrequire(\"core-js/modules/es.typed-array.int16-array.js\");\nrequire(\"core-js/modules/es.regexp.to-string.js\");\nrequire(\"core-js/modules/es.string.trim.js\");\nvar _;\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (it) return (it = it.call(o)).next.bind(it); if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; return function () { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\nfunction _interopDefault(ex) {\n  return ex && typeof ex === 'object' && 'default' in ex ? ex['default'] : ex;\n}\nvar r = _interopDefault(require('@foliojs-fork/restructure'));\nvar utils = require('@foliojs-fork/restructure/src/utils');\nvar isEqual = _interopDefault(require('deep-equal'));\nvar unicode = _interopDefault(require('unicode-properties'));\nvar UnicodeTrie = _interopDefault(require('unicode-trie'));\nvar StateMachine = _interopDefault(require('dfa'));\nvar cloneDeep = _interopDefault(require('clone'));\nvar inflate = _interopDefault(require('tiny-inflate'));\nvar brotli = _interopDefault(require('brotli/decompress'));\nvar fs = require('fs');\nvar fontkit = {};\nfontkit.logErrors = false;\nvar formats = [];\nfontkit.registerFormat = function (format) {\n  formats.push(format);\n};\nfontkit.openSync = function (filename, postscriptName) {\n  var buffer = fs.readFileSync(filename);\n  return fontkit.create(buffer, postscriptName);\n};\nfontkit.open = function (filename, postscriptName, callback) {\n  if (typeof postscriptName === 'function') {\n    callback = postscriptName;\n    postscriptName = null;\n  }\n  fs.readFile(filename, function (err, buffer) {\n    if (err) {\n      return callback(err);\n    }\n    try {\n      var font = fontkit.create(buffer, postscriptName);\n    } catch (e) {\n      return callback(e);\n    }\n    return callback(null, font);\n  });\n  return;\n};\nfontkit.create = function (buffer, postscriptName) {\n  for (var i = 0; i < formats.length; i++) {\n    var format = formats[i];\n    if (format.probe(buffer)) {\n      var font = new format(new r.DecodeStream(buffer));\n      if (postscriptName) {\n        return font.getFont(postscriptName);\n      }\n      return font;\n    }\n  }\n  throw new Error('Unknown font format');\n};\nfontkit.defaultLanguage = 'en';\nfontkit.setDefaultLanguage = function (lang) {\n  if (lang === void 0) {\n    lang = 'en';\n  }\n  fontkit.defaultLanguage = lang;\n};\nfunction _defineProperty(obj, key, value) {\n  if (key in obj) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n  } else {\n    obj[key] = value;\n  }\n  return obj;\n}\nfunction _applyDecoratedDescriptor(target, property, decorators, descriptor, context) {\n  var desc = {};\n  Object.keys(descriptor).forEach(function (key) {\n    desc[key] = descriptor[key];\n  });\n  desc.enumerable = !!desc.enumerable;\n  desc.configurable = !!desc.configurable;\n  if ('value' in desc || desc.initializer) {\n    desc.writable = true;\n  }\n  desc = decorators.slice().reverse().reduce(function (desc, decorator) {\n    return decorator(target, property, desc) || desc;\n  }, desc);\n  if (context && desc.initializer !== void 0) {\n    desc.value = desc.initializer ? desc.initializer.call(context) : void 0;\n    desc.initializer = undefined;\n  }\n  if (desc.initializer === void 0) {\n    Object.defineProperty(target, property, desc);\n    desc = null;\n  }\n  return desc;\n}\n\n/**\r\n * This decorator caches the results of a getter or method such that\r\n * the results are lazily computed once, and then cached.\r\n * @private\r\n */\nfunction cache(target, key, descriptor) {\n  if (descriptor.get) {\n    var get = descriptor.get;\n    descriptor.get = function () {\n      var value = get.call(this);\n      Object.defineProperty(this, key, {\n        value: value\n      });\n      return value;\n    };\n  } else if (typeof descriptor.value === 'function') {\n    var fn = descriptor.value;\n    return {\n      get: function get() {\n        var cache = new Map();\n        function memoized() {\n          for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n            args[_key] = arguments[_key];\n          }\n          var key = args.length > 0 ? args[0] : 'value';\n          if (cache.has(key)) {\n            return cache.get(key);\n          }\n          var result = fn.apply(this, args);\n          cache.set(key, result);\n          return result;\n        }\n        Object.defineProperty(this, key, {\n          value: memoized\n        });\n        return memoized;\n      }\n    };\n  }\n}\nvar SubHeader = new r.Struct({\n  firstCode: r.uint16,\n  entryCount: r.uint16,\n  idDelta: r.int16,\n  idRangeOffset: r.uint16\n});\nvar CmapGroup = new r.Struct({\n  startCharCode: r.uint32,\n  endCharCode: r.uint32,\n  glyphID: r.uint32\n});\nvar UnicodeValueRange = new r.Struct({\n  startUnicodeValue: r.uint24,\n  additionalCount: r.uint8\n});\nvar UVSMapping = new r.Struct({\n  unicodeValue: r.uint24,\n  glyphID: r.uint16\n});\nvar DefaultUVS = new r.Array(UnicodeValueRange, r.uint32);\nvar NonDefaultUVS = new r.Array(UVSMapping, r.uint32);\nvar VarSelectorRecord = new r.Struct({\n  varSelector: r.uint24,\n  defaultUVS: new r.Pointer(r.uint32, DefaultUVS, {\n    type: 'parent'\n  }),\n  nonDefaultUVS: new r.Pointer(r.uint32, NonDefaultUVS, {\n    type: 'parent'\n  })\n});\nvar CmapSubtable = new r.VersionedStruct(r.uint16, {\n  0: {\n    // Byte encoding\n    length: r.uint16,\n    // Total table length in bytes (set to 262 for format 0)\n    language: r.uint16,\n    // Language code for this encoding subtable, or zero if language-independent\n    codeMap: new r.LazyArray(r.uint8, 256)\n  },\n  2: {\n    // High-byte mapping (CJK)\n    length: r.uint16,\n    language: r.uint16,\n    subHeaderKeys: new r.Array(r.uint16, 256),\n    subHeaderCount: function subHeaderCount(t) {\n      return Math.max.apply(Math, t.subHeaderKeys);\n    },\n    subHeaders: new r.LazyArray(SubHeader, 'subHeaderCount'),\n    glyphIndexArray: new r.LazyArray(r.uint16, 'subHeaderCount')\n  },\n  4: {\n    // Segment mapping to delta values\n    length: r.uint16,\n    // Total table length in bytes\n    language: r.uint16,\n    // Language code\n    segCountX2: r.uint16,\n    segCount: function segCount(t) {\n      return t.segCountX2 >> 1;\n    },\n    searchRange: r.uint16,\n    entrySelector: r.uint16,\n    rangeShift: r.uint16,\n    endCode: new r.LazyArray(r.uint16, 'segCount'),\n    reservedPad: new r.Reserved(r.uint16),\n    // This value should be zero\n    startCode: new r.LazyArray(r.uint16, 'segCount'),\n    idDelta: new r.LazyArray(r.int16, 'segCount'),\n    idRangeOffset: new r.LazyArray(r.uint16, 'segCount'),\n    glyphIndexArray: new r.LazyArray(r.uint16, function (t) {\n      return (t.length - t._currentOffset) / 2;\n    })\n  },\n  6: {\n    // Trimmed table\n    length: r.uint16,\n    language: r.uint16,\n    firstCode: r.uint16,\n    entryCount: r.uint16,\n    glyphIndices: new r.LazyArray(r.uint16, 'entryCount')\n  },\n  8: {\n    // mixed 16-bit and 32-bit coverage\n    reserved: new r.Reserved(r.uint16),\n    length: r.uint32,\n    language: r.uint16,\n    is32: new r.LazyArray(r.uint8, 8192),\n    nGroups: r.uint32,\n    groups: new r.LazyArray(CmapGroup, 'nGroups')\n  },\n  10: {\n    // Trimmed Array\n    reserved: new r.Reserved(r.uint16),\n    length: r.uint32,\n    language: r.uint32,\n    firstCode: r.uint32,\n    entryCount: r.uint32,\n    glyphIndices: new r.LazyArray(r.uint16, 'numChars')\n  },\n  12: {\n    // Segmented coverage\n    reserved: new r.Reserved(r.uint16),\n    length: r.uint32,\n    language: r.uint32,\n    nGroups: r.uint32,\n    groups: new r.LazyArray(CmapGroup, 'nGroups')\n  },\n  13: {\n    // Many-to-one range mappings (same as 12 except for group.startGlyphID)\n    reserved: new r.Reserved(r.uint16),\n    length: r.uint32,\n    language: r.uint32,\n    nGroups: r.uint32,\n    groups: new r.LazyArray(CmapGroup, 'nGroups')\n  },\n  14: {\n    // Unicode Variation Sequences\n    length: r.uint32,\n    numRecords: r.uint32,\n    varSelectors: new r.LazyArray(VarSelectorRecord, 'numRecords')\n  }\n});\nvar CmapEntry = new r.Struct({\n  platformID: r.uint16,\n  // Platform identifier\n  encodingID: r.uint16,\n  // Platform-specific encoding identifier\n  table: new r.Pointer(r.uint32, CmapSubtable, {\n    type: 'parent',\n    lazy: true\n  })\n}); // character to glyph mapping\n\nvar cmap = new r.Struct({\n  version: r.uint16,\n  numSubtables: r.uint16,\n  tables: new r.Array(CmapEntry, 'numSubtables')\n});\nvar head = new r.Struct({\n  version: r.int32,\n  // 0x00010000 (version 1.0)\n  revision: r.int32,\n  // set by font manufacturer\n  checkSumAdjustment: r.uint32,\n  magicNumber: r.uint32,\n  // set to 0x5F0F3CF5\n  flags: r.uint16,\n  unitsPerEm: r.uint16,\n  // range from 64 to 16384\n  created: new r.Array(r.int32, 2),\n  modified: new r.Array(r.int32, 2),\n  xMin: r.int16,\n  // for all glyph bounding boxes\n  yMin: r.int16,\n  // for all glyph bounding boxes\n  xMax: r.int16,\n  // for all glyph bounding boxes\n  yMax: r.int16,\n  // for all glyph bounding boxes\n  macStyle: new r.Bitfield(r.uint16, ['bold', 'italic', 'underline', 'outline', 'shadow', 'condensed', 'extended']),\n  lowestRecPPEM: r.uint16,\n  // smallest readable size in pixels\n  fontDirectionHint: r.int16,\n  indexToLocFormat: r.int16,\n  // 0 for short offsets, 1 for long\n  glyphDataFormat: r.int16 // 0 for current format\n});\n\nvar hhea = new r.Struct({\n  version: r.int32,\n  ascent: r.int16,\n  // Distance from baseline of highest ascender\n  descent: r.int16,\n  // Distance from baseline of lowest descender\n  lineGap: r.int16,\n  // Typographic line gap\n  advanceWidthMax: r.uint16,\n  // Maximum advance width value in 'hmtx' table\n  minLeftSideBearing: r.int16,\n  // Maximum advance width value in 'hmtx' table\n  minRightSideBearing: r.int16,\n  // Minimum right sidebearing value\n  xMaxExtent: r.int16,\n  caretSlopeRise: r.int16,\n  // Used to calculate the slope of the cursor (rise/run); 1 for vertical\n  caretSlopeRun: r.int16,\n  // 0 for vertical\n  caretOffset: r.int16,\n  // Set to 0 for non-slanted fonts\n  reserved: new r.Reserved(r.int16, 4),\n  metricDataFormat: r.int16,\n  // 0 for current format\n  numberOfMetrics: r.uint16 // Number of advance widths in 'hmtx' table\n});\n\nvar HmtxEntry = new r.Struct({\n  advance: r.uint16,\n  bearing: r.int16\n});\nvar hmtx = new r.Struct({\n  metrics: new r.LazyArray(HmtxEntry, function (t) {\n    return t.parent.hhea.numberOfMetrics;\n  }),\n  bearings: new r.LazyArray(r.int16, function (t) {\n    return t.parent.maxp.numGlyphs - t.parent.hhea.numberOfMetrics;\n  })\n});\nvar maxp = new r.Struct({\n  version: r.int32,\n  numGlyphs: r.uint16,\n  // The number of glyphs in the font\n  maxPoints: r.uint16,\n  // Maximum points in a non-composite glyph\n  maxContours: r.uint16,\n  // Maximum contours in a non-composite glyph\n  maxComponentPoints: r.uint16,\n  // Maximum points in a composite glyph\n  maxComponentContours: r.uint16,\n  // Maximum contours in a composite glyph\n  maxZones: r.uint16,\n  // 1 if instructions do not use the twilight zone, 2 otherwise\n  maxTwilightPoints: r.uint16,\n  // Maximum points used in Z0\n  maxStorage: r.uint16,\n  // Number of Storage Area locations\n  maxFunctionDefs: r.uint16,\n  // Number of FDEFs\n  maxInstructionDefs: r.uint16,\n  // Number of IDEFs\n  maxStackElements: r.uint16,\n  // Maximum stack depth\n  maxSizeOfInstructions: r.uint16,\n  // Maximum byte count for glyph instructions\n  maxComponentElements: r.uint16,\n  // Maximum number of components referenced at “top level” for any composite glyph\n  maxComponentDepth: r.uint16 // Maximum levels of recursion; 1 for simple components\n});\n\n/**\r\n * Gets an encoding name from platform, encoding, and language ids.\r\n * Returned encoding names can be used in iconv-lite to decode text.\r\n */\nfunction getEncoding(platformID, encodingID, languageID) {\n  if (languageID === void 0) {\n    languageID = 0;\n  }\n  if (platformID === 1 && MAC_LANGUAGE_ENCODINGS[languageID]) {\n    return MAC_LANGUAGE_ENCODINGS[languageID];\n  }\n  return ENCODINGS[platformID][encodingID];\n} // Map of platform ids to encoding ids.\n\nvar ENCODINGS = [\n// unicode\n['utf16be', 'utf16be', 'utf16be', 'utf16be', 'utf16be', 'utf16be'],\n// macintosh\n// Mappings available at http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/\n// 0\tRoman                 17\tMalayalam\n// 1\tJapanese\t            18\tSinhalese\n// 2\tTraditional Chinese\t  19\tBurmese\n// 3\tKorean\t              20\tKhmer\n// 4\tArabic\t              21\tThai\n// 5\tHebrew\t              22\tLaotian\n// 6\tGreek\t                23\tGeorgian\n// 7\tRussian\t              24\tArmenian\n// 8\tRSymbol\t              25\tSimplified Chinese\n// 9\tDevanagari\t          26\tTibetan\n// 10\tGurmukhi\t            27\tMongolian\n// 11\tGujarati\t            28\tGeez\n// 12\tOriya\t                29\tSlavic\n// 13\tBengali\t              30\tVietnamese\n// 14\tTamil\t                31\tSindhi\n// 15\tTelugu\t              32\t(Uninterpreted)\n// 16\tKannada\n['macroman', 'shift-jis', 'big5', 'euc-kr', 'iso-8859-6', 'iso-8859-8', 'macgreek', 'maccyrillic', 'symbol', 'Devanagari', 'Gurmukhi', 'Gujarati', 'Oriya', 'Bengali', 'Tamil', 'Telugu', 'Kannada', 'Malayalam', 'Sinhalese', 'Burmese', 'Khmer', 'macthai', 'Laotian', 'Georgian', 'Armenian', 'gb-2312-80', 'Tibetan', 'Mongolian', 'Geez', 'maccenteuro', 'Vietnamese', 'Sindhi'],\n// ISO (deprecated)\n['ascii'],\n// windows\n// Docs here: http://msdn.microsoft.com/en-us/library/system.text.encoding(v=vs.110).aspx\n['symbol', 'utf16be', 'shift-jis', 'gb18030', 'big5', 'wansung', 'johab', null, null, null, 'utf16be']]; // Overrides for Mac scripts by language id.\n// See http://unicode.org/Public/MAPPINGS/VENDORS/APPLE/Readme.txt\n\nvar MAC_LANGUAGE_ENCODINGS = {\n  15: 'maciceland',\n  17: 'macturkish',\n  18: 'maccroatian',\n  24: 'maccenteuro',\n  25: 'maccenteuro',\n  26: 'maccenteuro',\n  27: 'maccenteuro',\n  28: 'maccenteuro',\n  30: 'maciceland',\n  37: 'macromania',\n  38: 'maccenteuro',\n  39: 'maccenteuro',\n  40: 'maccenteuro',\n  143: 'macinuit',\n  // Unsupported by iconv-lite\n  146: 'macgaelic' // Unsupported by iconv-lite\n}; // Map of platform ids to BCP-47 language codes.\n\nvar LANGUAGES = [\n// unicode\n[], {\n  // macintosh\n  0: 'en',\n  30: 'fo',\n  60: 'ks',\n  90: 'rw',\n  1: 'fr',\n  31: 'fa',\n  61: 'ku',\n  91: 'rn',\n  2: 'de',\n  32: 'ru',\n  62: 'sd',\n  92: 'ny',\n  3: 'it',\n  33: 'zh',\n  63: 'bo',\n  93: 'mg',\n  4: 'nl',\n  34: 'nl-BE',\n  64: 'ne',\n  94: 'eo',\n  5: 'sv',\n  35: 'ga',\n  65: 'sa',\n  128: 'cy',\n  6: 'es',\n  36: 'sq',\n  66: 'mr',\n  129: 'eu',\n  7: 'da',\n  37: 'ro',\n  67: 'bn',\n  130: 'ca',\n  8: 'pt',\n  38: 'cz',\n  68: 'as',\n  131: 'la',\n  9: 'no',\n  39: 'sk',\n  69: 'gu',\n  132: 'qu',\n  10: 'he',\n  40: 'si',\n  70: 'pa',\n  133: 'gn',\n  11: 'ja',\n  41: 'yi',\n  71: 'or',\n  134: 'ay',\n  12: 'ar',\n  42: 'sr',\n  72: 'ml',\n  135: 'tt',\n  13: 'fi',\n  43: 'mk',\n  73: 'kn',\n  136: 'ug',\n  14: 'el',\n  44: 'bg',\n  74: 'ta',\n  137: 'dz',\n  15: 'is',\n  45: 'uk',\n  75: 'te',\n  138: 'jv',\n  16: 'mt',\n  46: 'be',\n  76: 'si',\n  139: 'su',\n  17: 'tr',\n  47: 'uz',\n  77: 'my',\n  140: 'gl',\n  18: 'hr',\n  48: 'kk',\n  78: 'km',\n  141: 'af',\n  19: 'zh-Hant',\n  49: 'az-Cyrl',\n  79: 'lo',\n  142: 'br',\n  20: 'ur',\n  50: 'az-Arab',\n  80: 'vi',\n  143: 'iu',\n  21: 'hi',\n  51: 'hy',\n  81: 'id',\n  144: 'gd',\n  22: 'th',\n  52: 'ka',\n  82: 'tl',\n  145: 'gv',\n  23: 'ko',\n  53: 'mo',\n  83: 'ms',\n  146: 'ga',\n  24: 'lt',\n  54: 'ky',\n  84: 'ms-Arab',\n  147: 'to',\n  25: 'pl',\n  55: 'tg',\n  85: 'am',\n  148: 'el-polyton',\n  26: 'hu',\n  56: 'tk',\n  86: 'ti',\n  149: 'kl',\n  27: 'es',\n  57: 'mn-CN',\n  87: 'om',\n  150: 'az',\n  28: 'lv',\n  58: 'mn',\n  88: 'so',\n  151: 'nn',\n  29: 'se',\n  59: 'ps',\n  89: 'sw'\n},\n// ISO (deprecated)\n[], {\n  // windows                                        \n  0x0436: 'af',\n  0x4009: 'en-IN',\n  0x0487: 'rw',\n  0x0432: 'tn',\n  0x041C: 'sq',\n  0x1809: 'en-IE',\n  0x0441: 'sw',\n  0x045B: 'si',\n  0x0484: 'gsw',\n  0x2009: 'en-JM',\n  0x0457: 'kok',\n  0x041B: 'sk',\n  0x045E: 'am',\n  0x4409: 'en-MY',\n  0x0412: 'ko',\n  0x0424: 'sl',\n  0x1401: 'ar-DZ',\n  0x1409: 'en-NZ',\n  0x0440: 'ky',\n  0x2C0A: 'es-AR',\n  0x3C01: 'ar-BH',\n  0x3409: 'en-PH',\n  0x0454: 'lo',\n  0x400A: 'es-BO',\n  0x0C01: 'ar',\n  0x4809: 'en-SG',\n  0x0426: 'lv',\n  0x340A: 'es-CL',\n  0x0801: 'ar-IQ',\n  0x1C09: 'en-ZA',\n  0x0427: 'lt',\n  0x240A: 'es-CO',\n  0x2C01: 'ar-JO',\n  0x2C09: 'en-TT',\n  0x082E: 'dsb',\n  0x140A: 'es-CR',\n  0x3401: 'ar-KW',\n  0x0809: 'en-GB',\n  0x046E: 'lb',\n  0x1C0A: 'es-DO',\n  0x3001: 'ar-LB',\n  0x0409: 'en',\n  0x042F: 'mk',\n  0x300A: 'es-EC',\n  0x1001: 'ar-LY',\n  0x3009: 'en-ZW',\n  0x083E: 'ms-BN',\n  0x440A: 'es-SV',\n  0x1801: 'ary',\n  0x0425: 'et',\n  0x043E: 'ms',\n  0x100A: 'es-GT',\n  0x2001: 'ar-OM',\n  0x0438: 'fo',\n  0x044C: 'ml',\n  0x480A: 'es-HN',\n  0x4001: 'ar-QA',\n  0x0464: 'fil',\n  0x043A: 'mt',\n  0x080A: 'es-MX',\n  0x0401: 'ar-SA',\n  0x040B: 'fi',\n  0x0481: 'mi',\n  0x4C0A: 'es-NI',\n  0x2801: 'ar-SY',\n  0x080C: 'fr-BE',\n  0x047A: 'arn',\n  0x180A: 'es-PA',\n  0x1C01: 'aeb',\n  0x0C0C: 'fr-CA',\n  0x044E: 'mr',\n  0x3C0A: 'es-PY',\n  0x3801: 'ar-AE',\n  0x040C: 'fr',\n  0x047C: 'moh',\n  0x280A: 'es-PE',\n  0x2401: 'ar-YE',\n  0x140C: 'fr-LU',\n  0x0450: 'mn',\n  0x500A: 'es-PR',\n  0x042B: 'hy',\n  0x180C: 'fr-MC',\n  0x0850: 'mn-CN',\n  0x0C0A: 'es',\n  0x044D: 'as',\n  0x100C: 'fr-CH',\n  0x0461: 'ne',\n  0x040A: 'es',\n  0x082C: 'az-Cyrl',\n  0x0462: 'fy',\n  0x0414: 'nb',\n  0x540A: 'es-US',\n  0x042C: 'az',\n  0x0456: 'gl',\n  0x0814: 'nn',\n  0x380A: 'es-UY',\n  0x046D: 'ba',\n  0x0437: 'ka',\n  0x0482: 'oc',\n  0x200A: 'es-VE',\n  0x042D: 'eu',\n  0x0C07: 'de-AT',\n  0x0448: 'or',\n  0x081D: 'sv-FI',\n  0x0423: 'be',\n  0x0407: 'de',\n  0x0463: 'ps',\n  0x041D: 'sv',\n  0x0845: 'bn',\n  0x1407: 'de-LI',\n  0x0415: 'pl',\n  0x045A: 'syr',\n  0x0445: 'bn-IN',\n  0x1007: 'de-LU',\n  0x0416: 'pt',\n  0x0428: 'tg',\n  0x201A: 'bs-Cyrl',\n  0x0807: 'de-CH',\n  0x0816: 'pt-PT',\n  0x085F: 'tzm',\n  0x141A: 'bs',\n  0x0408: 'el',\n  0x0446: 'pa',\n  0x0449: 'ta',\n  0x047E: 'br',\n  0x046F: 'kl',\n  0x046B: 'qu-BO',\n  0x0444: 'tt',\n  0x0402: 'bg',\n  0x0447: 'gu',\n  0x086B: 'qu-EC',\n  0x044A: 'te',\n  0x0403: 'ca',\n  0x0468: 'ha',\n  0x0C6B: 'qu',\n  0x041E: 'th',\n  0x0C04: 'zh-HK',\n  0x040D: 'he',\n  0x0418: 'ro',\n  0x0451: 'bo',\n  0x1404: 'zh-MO',\n  0x0439: 'hi',\n  0x0417: 'rm',\n  0x041F: 'tr',\n  0x0804: 'zh',\n  0x040E: 'hu',\n  0x0419: 'ru',\n  0x0442: 'tk',\n  0x1004: 'zh-SG',\n  0x040F: 'is',\n  0x243B: 'smn',\n  0x0480: 'ug',\n  0x0404: 'zh-TW',\n  0x0470: 'ig',\n  0x103B: 'smj-NO',\n  0x0422: 'uk',\n  0x0483: 'co',\n  0x0421: 'id',\n  0x143B: 'smj',\n  0x042E: 'hsb',\n  0x041A: 'hr',\n  0x045D: 'iu',\n  0x0C3B: 'se-FI',\n  0x0420: 'ur',\n  0x101A: 'hr-BA',\n  0x085D: 'iu-Latn',\n  0x043B: 'se',\n  0x0843: 'uz-Cyrl',\n  0x0405: 'cs',\n  0x083C: 'ga',\n  0x083B: 'se-SE',\n  0x0443: 'uz',\n  0x0406: 'da',\n  0x0434: 'xh',\n  0x203B: 'sms',\n  0x042A: 'vi',\n  0x048C: 'prs',\n  0x0435: 'zu',\n  0x183B: 'sma-NO',\n  0x0452: 'cy',\n  0x0465: 'dv',\n  0x0410: 'it',\n  0x1C3B: 'sms',\n  0x0488: 'wo',\n  0x0813: 'nl-BE',\n  0x0810: 'it-CH',\n  0x044F: 'sa',\n  0x0485: 'sah',\n  0x0413: 'nl',\n  0x0411: 'ja',\n  0x1C1A: 'sr-Cyrl-BA',\n  0x0478: 'ii',\n  0x0C09: 'en-AU',\n  0x044B: 'kn',\n  0x0C1A: 'sr',\n  0x046A: 'yo',\n  0x2809: 'en-BZ',\n  0x043F: 'kk',\n  0x181A: 'sr-Latn-BA',\n  0x1009: 'en-CA',\n  0x0453: 'km',\n  0x081A: 'sr-Latn',\n  0x2409: 'en-029',\n  0x0486: 'quc',\n  0x046C: 'nso'\n}];\nvar NameRecord = new r.Struct({\n  platformID: r.uint16,\n  encodingID: r.uint16,\n  languageID: r.uint16,\n  nameID: r.uint16,\n  length: r.uint16,\n  string: new r.Pointer(r.uint16, new r.String('length', function (t) {\n    return getEncoding(t.platformID, t.encodingID, t.languageID);\n  }), {\n    type: 'parent',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.parent.stringOffset;\n    },\n    allowNull: false\n  })\n});\nvar LangTagRecord = new r.Struct({\n  length: r.uint16,\n  tag: new r.Pointer(r.uint16, new r.String('length', 'utf16be'), {\n    type: 'parent',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.stringOffset;\n    }\n  })\n});\nvar NameTable = new r.VersionedStruct(r.uint16, {\n  0: {\n    count: r.uint16,\n    stringOffset: r.uint16,\n    records: new r.Array(NameRecord, 'count')\n  },\n  1: {\n    count: r.uint16,\n    stringOffset: r.uint16,\n    records: new r.Array(NameRecord, 'count'),\n    langTagCount: r.uint16,\n    langTags: new r.Array(LangTagRecord, 'langTagCount')\n  }\n});\nvar NAMES = ['copyright', 'fontFamily', 'fontSubfamily', 'uniqueSubfamily', 'fullName', 'version', 'postscriptName',\n// Note: A font may have only one PostScript name and that name must be ASCII.\n'trademark', 'manufacturer', 'designer', 'description', 'vendorURL', 'designerURL', 'license', 'licenseURL', null,\n// reserved\n'preferredFamily', 'preferredSubfamily', 'compatibleFull', 'sampleText', 'postscriptCIDFontName', 'wwsFamilyName', 'wwsSubfamilyName'];\nNameTable.process = function (stream) {\n  var records = {};\n  for (var _iterator = _createForOfIteratorHelperLoose(this.records), _step; !(_step = _iterator()).done;) {\n    var record = _step.value;\n    // find out what language this is for\n    var language = LANGUAGES[record.platformID][record.languageID];\n    if (language == null && this.langTags != null && record.languageID >= 0x8000) {\n      language = this.langTags[record.languageID - 0x8000].tag;\n    }\n    if (language == null) {\n      language = record.platformID + '-' + record.languageID;\n    } // if the nameID is >= 256, it is a font feature record (AAT)\n\n    var key = record.nameID >= 256 ? 'fontFeatures' : NAMES[record.nameID] || record.nameID;\n    if (records[key] == null) {\n      records[key] = {};\n    }\n    var obj = records[key];\n    if (record.nameID >= 256) {\n      obj = obj[record.nameID] || (obj[record.nameID] = {});\n    }\n    if (typeof record.string === 'string' || typeof obj[language] !== 'string') {\n      obj[language] = record.string;\n    }\n  }\n  this.records = records;\n};\nNameTable.preEncode = function () {\n  if (Array.isArray(this.records)) return;\n  this.version = 0;\n  var records = [];\n  for (var key in this.records) {\n    var val = this.records[key];\n    if (key === 'fontFeatures') continue;\n    records.push({\n      platformID: 3,\n      encodingID: 1,\n      languageID: 0x409,\n      nameID: NAMES.indexOf(key),\n      length: Buffer.byteLength(val.en, 'utf16le'),\n      string: val.en\n    });\n    if (key === 'postscriptName') {\n      records.push({\n        platformID: 1,\n        encodingID: 0,\n        languageID: 0,\n        nameID: NAMES.indexOf(key),\n        length: val.en.length,\n        string: val.en\n      });\n    }\n  }\n  this.records = records;\n  this.count = records.length;\n  this.stringOffset = NameTable.size(this, null, false);\n};\nvar OS2 = new r.VersionedStruct(r.uint16, {\n  header: {\n    xAvgCharWidth: r.int16,\n    // average weighted advance width of lower case letters and space\n    usWeightClass: r.uint16,\n    // visual weight of stroke in glyphs\n    usWidthClass: r.uint16,\n    // relative change from the normal aspect ratio (width to height ratio)\n    fsType: new r.Bitfield(r.uint16, [\n    // Indicates font embedding licensing rights\n    null, 'noEmbedding', 'viewOnly', 'editable', null, null, null, null, 'noSubsetting', 'bitmapOnly']),\n    ySubscriptXSize: r.int16,\n    // recommended horizontal size in pixels for subscripts\n    ySubscriptYSize: r.int16,\n    // recommended vertical size in pixels for subscripts\n    ySubscriptXOffset: r.int16,\n    // recommended horizontal offset for subscripts\n    ySubscriptYOffset: r.int16,\n    // recommended vertical offset form the baseline for subscripts\n    ySuperscriptXSize: r.int16,\n    // recommended horizontal size in pixels for superscripts\n    ySuperscriptYSize: r.int16,\n    // recommended vertical size in pixels for superscripts\n    ySuperscriptXOffset: r.int16,\n    // recommended horizontal offset for superscripts\n    ySuperscriptYOffset: r.int16,\n    // recommended vertical offset from the baseline for superscripts\n    yStrikeoutSize: r.int16,\n    // width of the strikeout stroke\n    yStrikeoutPosition: r.int16,\n    // position of the strikeout stroke relative to the baseline\n    sFamilyClass: r.int16,\n    // classification of font-family design\n    panose: new r.Array(r.uint8, 10),\n    // describe the visual characteristics of a given typeface\n    ulCharRange: new r.Array(r.uint32, 4),\n    vendorID: new r.String(4),\n    // four character identifier for the font vendor\n    fsSelection: new r.Bitfield(r.uint16, [\n    // bit field containing information about the font\n    'italic', 'underscore', 'negative', 'outlined', 'strikeout', 'bold', 'regular', 'useTypoMetrics', 'wws', 'oblique']),\n    usFirstCharIndex: r.uint16,\n    // The minimum Unicode index in this font\n    usLastCharIndex: r.uint16 // The maximum Unicode index in this font\n  },\n\n  // The Apple version of this table ends here, but the Microsoft one continues on...\n  0: {},\n  1: {\n    typoAscender: r.int16,\n    typoDescender: r.int16,\n    typoLineGap: r.int16,\n    winAscent: r.uint16,\n    winDescent: r.uint16,\n    codePageRange: new r.Array(r.uint32, 2)\n  },\n  2: {\n    // these should be common with version 1 somehow\n    typoAscender: r.int16,\n    typoDescender: r.int16,\n    typoLineGap: r.int16,\n    winAscent: r.uint16,\n    winDescent: r.uint16,\n    codePageRange: new r.Array(r.uint32, 2),\n    xHeight: r.int16,\n    capHeight: r.int16,\n    defaultChar: r.uint16,\n    breakChar: r.uint16,\n    maxContent: r.uint16\n  },\n  5: {\n    typoAscender: r.int16,\n    typoDescender: r.int16,\n    typoLineGap: r.int16,\n    winAscent: r.uint16,\n    winDescent: r.uint16,\n    codePageRange: new r.Array(r.uint32, 2),\n    xHeight: r.int16,\n    capHeight: r.int16,\n    defaultChar: r.uint16,\n    breakChar: r.uint16,\n    maxContent: r.uint16,\n    usLowerOpticalPointSize: r.uint16,\n    usUpperOpticalPointSize: r.uint16\n  }\n});\nvar versions = OS2.versions;\nversions[3] = versions[4] = versions[2];\nvar post = new r.VersionedStruct(r.fixed32, {\n  header: {\n    // these fields exist at the top of all versions\n    italicAngle: r.fixed32,\n    // Italic angle in counter-clockwise degrees from the vertical.\n    underlinePosition: r.int16,\n    // Suggested distance of the top of the underline from the baseline\n    underlineThickness: r.int16,\n    // Suggested values for the underline thickness\n    isFixedPitch: r.uint32,\n    // Whether the font is monospaced\n    minMemType42: r.uint32,\n    // Minimum memory usage when a TrueType font is downloaded as a Type 42 font\n    maxMemType42: r.uint32,\n    // Maximum memory usage when a TrueType font is downloaded as a Type 42 font\n    minMemType1: r.uint32,\n    // Minimum memory usage when a TrueType font is downloaded as a Type 1 font\n    maxMemType1: r.uint32 // Maximum memory usage when a TrueType font is downloaded as a Type 1 font\n  },\n\n  1: {},\n  // version 1 has no additional fields\n  2: {\n    numberOfGlyphs: r.uint16,\n    glyphNameIndex: new r.Array(r.uint16, 'numberOfGlyphs'),\n    names: new r.Array(new r.String(r.uint8))\n  },\n  2.5: {\n    numberOfGlyphs: r.uint16,\n    offsets: new r.Array(r.uint8, 'numberOfGlyphs')\n  },\n  3: {},\n  // version 3 has no additional fields\n  4: {\n    map: new r.Array(r.uint32, function (t) {\n      return t.parent.maxp.numGlyphs;\n    })\n  }\n});\nvar cvt = new r.Struct({\n  controlValues: new r.Array(r.int16)\n});\n\n// These instructions are known as the font program. The main use of this table\n// is for the definition of functions that are used in many different glyph programs.\n\nvar fpgm = new r.Struct({\n  instructions: new r.Array(r.uint8)\n});\nvar loca = new r.VersionedStruct('head.indexToLocFormat', {\n  0: {\n    offsets: new r.Array(r.uint16)\n  },\n  1: {\n    offsets: new r.Array(r.uint32)\n  }\n});\nloca.process = function () {\n  if (this.version === 0) {\n    for (var i = 0; i < this.offsets.length; i++) {\n      this.offsets[i] <<= 1;\n    }\n  }\n};\nloca.preEncode = function () {\n  if (this.version === 0) {\n    for (var i = 0; i < this.offsets.length; i++) {\n      this.offsets[i] >>>= 1;\n    }\n  }\n};\nvar prep = new r.Struct({\n  controlValueProgram: new r.Array(r.uint8)\n});\nvar glyf = new r.Array(new r.Buffer());\nvar CFFIndex = /*#__PURE__*/function () {\n  function CFFIndex(type) {\n    this.type = type;\n  }\n  var _proto = CFFIndex.prototype;\n  _proto.getCFFVersion = function getCFFVersion(ctx) {\n    while (ctx && !ctx.hdrSize) {\n      ctx = ctx.parent;\n    }\n    return ctx ? ctx.version : -1;\n  };\n  _proto.decode = function decode(stream, parent) {\n    var version = this.getCFFVersion(parent);\n    var count = version >= 2 ? stream.readUInt32BE() : stream.readUInt16BE();\n    if (count === 0) {\n      return [];\n    }\n    var offSize = stream.readUInt8();\n    var offsetType;\n    if (offSize === 1) {\n      offsetType = r.uint8;\n    } else if (offSize === 2) {\n      offsetType = r.uint16;\n    } else if (offSize === 3) {\n      offsetType = r.uint24;\n    } else if (offSize === 4) {\n      offsetType = r.uint32;\n    } else {\n      throw new Error(\"Bad offset size in CFFIndex: \".concat(offSize, \" \").concat(stream.pos));\n    }\n    var ret = [];\n    var startPos = stream.pos + (count + 1) * offSize - 1;\n    var start = offsetType.decode(stream);\n    for (var i = 0; i < count; i++) {\n      var end = offsetType.decode(stream);\n      if (this.type != null) {\n        var pos = stream.pos;\n        stream.pos = startPos + start;\n        parent.length = end - start;\n        ret.push(this.type.decode(stream, parent));\n        stream.pos = pos;\n      } else {\n        ret.push({\n          offset: startPos + start,\n          length: end - start\n        });\n      }\n      start = end;\n    }\n    stream.pos = startPos + start;\n    return ret;\n  };\n  _proto.size = function size(arr, parent) {\n    var size = 2;\n    if (arr.length === 0) {\n      return size;\n    }\n    var type = this.type || new r.Buffer(); // find maximum offset to detminine offset type\n\n    var offset = 1;\n    for (var i = 0; i < arr.length; i++) {\n      var item = arr[i];\n      offset += type.size(item, parent);\n    }\n    var offsetType;\n    if (offset <= 0xff) {\n      offsetType = r.uint8;\n    } else if (offset <= 0xffff) {\n      offsetType = r.uint16;\n    } else if (offset <= 0xffffff) {\n      offsetType = r.uint24;\n    } else if (offset <= 0xffffffff) {\n      offsetType = r.uint32;\n    } else {\n      throw new Error(\"Bad offset in CFFIndex\");\n    }\n    size += 1 + offsetType.size() * (arr.length + 1);\n    size += offset - 1;\n    return size;\n  };\n  _proto.encode = function encode(stream, arr, parent) {\n    stream.writeUInt16BE(arr.length);\n    if (arr.length === 0) {\n      return;\n    }\n    var type = this.type || new r.Buffer(); // find maximum offset to detminine offset type\n\n    var sizes = [];\n    var offset = 1;\n    for (var _iterator2 = _createForOfIteratorHelperLoose(arr), _step2; !(_step2 = _iterator2()).done;) {\n      var item = _step2.value;\n      var s = type.size(item, parent);\n      sizes.push(s);\n      offset += s;\n    }\n    var offsetType;\n    if (offset <= 0xff) {\n      offsetType = r.uint8;\n    } else if (offset <= 0xffff) {\n      offsetType = r.uint16;\n    } else if (offset <= 0xffffff) {\n      offsetType = r.uint24;\n    } else if (offset <= 0xffffffff) {\n      offsetType = r.uint32;\n    } else {\n      throw new Error(\"Bad offset in CFFIndex\");\n    } // write offset size\n\n    stream.writeUInt8(offsetType.size()); // write elements\n\n    offset = 1;\n    offsetType.encode(stream, offset);\n    for (var _i22 = 0, _sizes = sizes; _i22 < _sizes.length; _i22++) {\n      var size = _sizes[_i22];\n      offset += size;\n      offsetType.encode(stream, offset);\n    }\n    for (var _iterator3 = _createForOfIteratorHelperLoose(arr), _step3; !(_step3 = _iterator3()).done;) {\n      var _item = _step3.value;\n      type.encode(stream, _item, parent);\n    }\n    return;\n  };\n  return CFFIndex;\n}();\nvar FLOAT_EOF = 0xf;\nvar FLOAT_LOOKUP = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', 'E', 'E-', null, '-'];\nvar FLOAT_ENCODE_LOOKUP = {\n  '.': 10,\n  'E': 11,\n  'E-': 12,\n  '-': 14\n};\nvar CFFOperand = /*#__PURE__*/function () {\n  function CFFOperand() {}\n  CFFOperand.decode = function decode(stream, value) {\n    if (32 <= value && value <= 246) {\n      return value - 139;\n    }\n    if (247 <= value && value <= 250) {\n      return (value - 247) * 256 + stream.readUInt8() + 108;\n    }\n    if (251 <= value && value <= 254) {\n      return -(value - 251) * 256 - stream.readUInt8() - 108;\n    }\n    if (value === 28) {\n      return stream.readInt16BE();\n    }\n    if (value === 29) {\n      return stream.readInt32BE();\n    }\n    if (value === 30) {\n      var str = '';\n      while (true) {\n        var b = stream.readUInt8();\n        var n1 = b >> 4;\n        if (n1 === FLOAT_EOF) {\n          break;\n        }\n        str += FLOAT_LOOKUP[n1];\n        var n2 = b & 15;\n        if (n2 === FLOAT_EOF) {\n          break;\n        }\n        str += FLOAT_LOOKUP[n2];\n      }\n      return parseFloat(str);\n    }\n    return null;\n  };\n  CFFOperand.size = function size(value) {\n    // if the value needs to be forced to the largest size (32 bit)\n    // e.g. for unknown pointers, set to 32768\n    if (value.forceLarge) {\n      value = 32768;\n    }\n    if ((value | 0) !== value) {\n      // floating point\n      var str = '' + value;\n      return 1 + Math.ceil((str.length + 1) / 2);\n    } else if (-107 <= value && value <= 107) {\n      return 1;\n    } else if (108 <= value && value <= 1131 || -1131 <= value && value <= -108) {\n      return 2;\n    } else if (-32768 <= value && value <= 32767) {\n      return 3;\n    } else {\n      return 5;\n    }\n  };\n  CFFOperand.encode = function encode(stream, value) {\n    // if the value needs to be forced to the largest size (32 bit)\n    // e.g. for unknown pointers, save the old value and set to 32768\n    var val = Number(value);\n    if (value.forceLarge) {\n      stream.writeUInt8(29);\n      return stream.writeInt32BE(val);\n    } else if ((val | 0) !== val) {\n      // floating point\n      stream.writeUInt8(30);\n      var str = '' + val;\n      for (var i = 0; i < str.length; i += 2) {\n        var c1 = str[i];\n        var n1 = FLOAT_ENCODE_LOOKUP[c1] || +c1;\n        if (i === str.length - 1) {\n          var n2 = FLOAT_EOF;\n        } else {\n          var c2 = str[i + 1];\n          var n2 = FLOAT_ENCODE_LOOKUP[c2] || +c2;\n        }\n        stream.writeUInt8(n1 << 4 | n2 & 15);\n      }\n      if (n2 !== FLOAT_EOF) {\n        return stream.writeUInt8(FLOAT_EOF << 4);\n      }\n    } else if (-107 <= val && val <= 107) {\n      return stream.writeUInt8(val + 139);\n    } else if (108 <= val && val <= 1131) {\n      val -= 108;\n      stream.writeUInt8((val >> 8) + 247);\n      return stream.writeUInt8(val & 0xff);\n    } else if (-1131 <= val && val <= -108) {\n      val = -val - 108;\n      stream.writeUInt8((val >> 8) + 251);\n      return stream.writeUInt8(val & 0xff);\n    } else if (-32768 <= val && val <= 32767) {\n      stream.writeUInt8(28);\n      return stream.writeInt16BE(val);\n    } else {\n      stream.writeUInt8(29);\n      return stream.writeInt32BE(val);\n    }\n  };\n  return CFFOperand;\n}();\nvar CFFDict = /*#__PURE__*/function () {\n  function CFFDict(ops) {\n    if (ops === void 0) {\n      ops = [];\n    }\n    this.ops = ops;\n    this.fields = {};\n    for (var _iterator4 = _createForOfIteratorHelperLoose(ops), _step4; !(_step4 = _iterator4()).done;) {\n      var field = _step4.value;\n      var key = Array.isArray(field[0]) ? field[0][0] << 8 | field[0][1] : field[0];\n      this.fields[key] = field;\n    }\n  }\n  var _proto2 = CFFDict.prototype;\n  _proto2.decodeOperands = function decodeOperands(type, stream, ret, operands) {\n    var _this = this;\n    if (Array.isArray(type)) {\n      return operands.map(function (op, i) {\n        return _this.decodeOperands(type[i], stream, ret, [op]);\n      });\n    } else if (type.decode != null) {\n      return type.decode(stream, ret, operands);\n    } else {\n      switch (type) {\n        case 'number':\n        case 'offset':\n        case 'sid':\n          return operands[0];\n        case 'boolean':\n          return !!operands[0];\n        default:\n          return operands;\n      }\n    }\n  };\n  _proto2.encodeOperands = function encodeOperands(type, stream, ctx, operands) {\n    var _this2 = this;\n    if (Array.isArray(type)) {\n      return operands.map(function (op, i) {\n        return _this2.encodeOperands(type[i], stream, ctx, op)[0];\n      });\n    } else if (type.encode != null) {\n      return type.encode(stream, operands, ctx);\n    } else if (typeof operands === 'number') {\n      return [operands];\n    } else if (typeof operands === 'boolean') {\n      return [+operands];\n    } else if (Array.isArray(operands)) {\n      return operands;\n    } else {\n      return [operands];\n    }\n  };\n  _proto2.decode = function decode(stream, parent) {\n    var end = stream.pos + parent.length;\n    var ret = {};\n    var operands = []; // define hidden properties\n\n    Object.defineProperties(ret, {\n      parent: {\n        value: parent\n      },\n      _startOffset: {\n        value: stream.pos\n      }\n    }); // fill in defaults\n\n    for (var key in this.fields) {\n      var field = this.fields[key];\n      ret[field[1]] = field[3];\n    }\n    while (stream.pos < end) {\n      var b = stream.readUInt8();\n      if (b < 28) {\n        if (b === 12) {\n          b = b << 8 | stream.readUInt8();\n        }\n        var _field = this.fields[b];\n        if (!_field) {\n          throw new Error(\"Unknown operator \".concat(b));\n        }\n        var val = this.decodeOperands(_field[2], stream, ret, operands);\n        if (val != null) {\n          if (val instanceof utils.PropertyDescriptor) {\n            Object.defineProperty(ret, _field[1], val);\n          } else {\n            ret[_field[1]] = val;\n          }\n        }\n        operands = [];\n      } else {\n        operands.push(CFFOperand.decode(stream, b));\n      }\n    }\n    return ret;\n  };\n  _proto2.size = function size(dict, parent, includePointers) {\n    if (includePointers === void 0) {\n      includePointers = true;\n    }\n    var ctx = {\n      parent: parent,\n      val: dict,\n      pointerSize: 0,\n      startOffset: parent.startOffset || 0\n    };\n    var len = 0;\n    for (var k in this.fields) {\n      var field = this.fields[k];\n      var val = dict[field[1]];\n      if (val == null || isEqual(val, field[3])) {\n        continue;\n      }\n      var operands = this.encodeOperands(field[2], null, ctx, val);\n      for (var _iterator5 = _createForOfIteratorHelperLoose(operands), _step5; !(_step5 = _iterator5()).done;) {\n        var op = _step5.value;\n        len += CFFOperand.size(op);\n      }\n      var key = Array.isArray(field[0]) ? field[0] : [field[0]];\n      len += key.length;\n    }\n    if (includePointers) {\n      len += ctx.pointerSize;\n    }\n    return len;\n  };\n  _proto2.encode = function encode(stream, dict, parent) {\n    var ctx = {\n      pointers: [],\n      startOffset: stream.pos,\n      parent: parent,\n      val: dict,\n      pointerSize: 0\n    };\n    ctx.pointerOffset = stream.pos + this.size(dict, ctx, false);\n    for (var _iterator6 = _createForOfIteratorHelperLoose(this.ops), _step6; !(_step6 = _iterator6()).done;) {\n      var field = _step6.value;\n      var val = dict[field[1]];\n      if (val == null || isEqual(val, field[3])) {\n        continue;\n      }\n      var operands = this.encodeOperands(field[2], stream, ctx, val);\n      for (var _iterator7 = _createForOfIteratorHelperLoose(operands), _step7; !(_step7 = _iterator7()).done;) {\n        var op = _step7.value;\n        CFFOperand.encode(stream, op);\n      }\n      var key = Array.isArray(field[0]) ? field[0] : [field[0]];\n      for (var _iterator8 = _createForOfIteratorHelperLoose(key), _step8; !(_step8 = _iterator8()).done;) {\n        var _op = _step8.value;\n        stream.writeUInt8(_op);\n      }\n    }\n    var i = 0;\n    while (i < ctx.pointers.length) {\n      var ptr = ctx.pointers[i++];\n      ptr.type.encode(stream, ptr.val, ptr.parent);\n    }\n    return;\n  };\n  return CFFDict;\n}();\nvar CFFPointer = /*#__PURE__*/function (_r$Pointer) {\n  _inheritsLoose(CFFPointer, _r$Pointer);\n  function CFFPointer(type, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    if (options.type == null) {\n      options.type = 'global';\n    }\n    return _r$Pointer.call(this, null, type, options) || this;\n  }\n  var _proto3 = CFFPointer.prototype;\n  _proto3.decode = function decode(stream, parent, operands) {\n    this.offsetType = {\n      decode: function decode() {\n        return operands[0];\n      }\n    };\n    return _r$Pointer.prototype.decode.call(this, stream, parent, operands);\n  };\n  _proto3.encode = function encode(stream, value, ctx) {\n    if (!stream) {\n      // compute the size (so ctx.pointerSize is correct)\n      this.offsetType = {\n        size: function size() {\n          return 0;\n        }\n      };\n      this.size(value, ctx);\n      return [new Ptr(0)];\n    }\n    var ptr = null;\n    this.offsetType = {\n      encode: function encode(stream, val) {\n        return ptr = val;\n      }\n    };\n    _r$Pointer.prototype.encode.call(this, stream, value, ctx);\n    return [new Ptr(ptr)];\n  };\n  return CFFPointer;\n}(r.Pointer);\nvar Ptr = /*#__PURE__*/function () {\n  function Ptr(val) {\n    this.val = val;\n    this.forceLarge = true;\n  }\n  var _proto4 = Ptr.prototype;\n  _proto4.valueOf = function valueOf() {\n    return this.val;\n  };\n  return Ptr;\n}();\nvar CFFBlendOp = /*#__PURE__*/function () {\n  function CFFBlendOp() {}\n  CFFBlendOp.decode = function decode(stream, parent, operands) {\n    var numBlends = operands.pop(); // TODO: actually blend. For now just consume the deltas\n    // since we don't use any of the values anyway.\n\n    while (operands.length > numBlends) {\n      operands.pop();\n    }\n  };\n  return CFFBlendOp;\n}();\nvar CFFPrivateDict = new CFFDict([\n// key       name                    type                                          default\n[6, 'BlueValues', 'delta', null], [7, 'OtherBlues', 'delta', null], [8, 'FamilyBlues', 'delta', null], [9, 'FamilyOtherBlues', 'delta', null], [[12, 9], 'BlueScale', 'number', 0.039625], [[12, 10], 'BlueShift', 'number', 7], [[12, 11], 'BlueFuzz', 'number', 1], [10, 'StdHW', 'number', null], [11, 'StdVW', 'number', null], [[12, 12], 'StemSnapH', 'delta', null], [[12, 13], 'StemSnapV', 'delta', null], [[12, 14], 'ForceBold', 'boolean', false], [[12, 17], 'LanguageGroup', 'number', 0], [[12, 18], 'ExpansionFactor', 'number', 0.06], [[12, 19], 'initialRandomSeed', 'number', 0], [20, 'defaultWidthX', 'number', 0], [21, 'nominalWidthX', 'number', 0], [22, 'vsindex', 'number', 0], [23, 'blend', CFFBlendOp, null], [19, 'Subrs', new CFFPointer(new CFFIndex(), {\n  type: 'local'\n}), null]]);\n\n// Automatically generated from Appendix A of the CFF specification; do\n// not edit. Length should be 391.\nvar standardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nvar StandardEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', '', 'endash', 'dagger', 'daggerdbl', 'periodcentered', '', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', '', 'questiondown', '', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', '', 'ring', 'cedilla', '', 'hungarumlaut', 'ogonek', 'caron', 'emdash', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'AE', '', 'ordfeminine', '', '', '', '', 'Lslash', 'Oslash', 'OE', 'ordmasculine', '', '', '', '', '', 'ae', '', '', '', 'dotlessi', '', '', 'lslash', 'oslash', 'oe', 'germandbls'];\nvar ExpertEncoding = ['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'space', 'exclamsmall', 'Hungarumlautsmall', '', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', '', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', '', '', 'isuperior', '', '', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', '', '', 'rsuperior', 'ssuperior', 'tsuperior', '', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', '', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', '', '', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', '', 'Dotaccentsmall', '', '', 'Macronsmall', '', '', 'figuredash', 'hypheninferior', '', '', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', '', '', '', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', '', '', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nvar ISOAdobeCharset = ['.notdef', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quoteright', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'quoteleft', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'exclamdown', 'cent', 'sterling', 'fraction', 'yen', 'florin', 'section', 'currency', 'quotesingle', 'quotedblleft', 'guillemotleft', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'endash', 'dagger', 'daggerdbl', 'periodcentered', 'paragraph', 'bullet', 'quotesinglbase', 'quotedblbase', 'quotedblright', 'guillemotright', 'ellipsis', 'perthousand', 'questiondown', 'grave', 'acute', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'dieresis', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'emdash', 'AE', 'ordfeminine', 'Lslash', 'Oslash', 'OE', 'ordmasculine', 'ae', 'dotlessi', 'lslash', 'oslash', 'oe', 'germandbls', 'onesuperior', 'logicalnot', 'mu', 'trademark', 'Eth', 'onehalf', 'plusminus', 'Thorn', 'onequarter', 'divide', 'brokenbar', 'degree', 'thorn', 'threequarters', 'twosuperior', 'registered', 'minus', 'eth', 'multiply', 'threesuperior', 'copyright', 'Aacute', 'Acircumflex', 'Adieresis', 'Agrave', 'Aring', 'Atilde', 'Ccedilla', 'Eacute', 'Ecircumflex', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Ntilde', 'Oacute', 'Ocircumflex', 'Odieresis', 'Ograve', 'Otilde', 'Scaron', 'Uacute', 'Ucircumflex', 'Udieresis', 'Ugrave', 'Yacute', 'Ydieresis', 'Zcaron', 'aacute', 'acircumflex', 'adieresis', 'agrave', 'aring', 'atilde', 'ccedilla', 'eacute', 'ecircumflex', 'edieresis', 'egrave', 'iacute', 'icircumflex', 'idieresis', 'igrave', 'ntilde', 'oacute', 'ocircumflex', 'odieresis', 'ograve', 'otilde', 'scaron', 'uacute', 'ucircumflex', 'udieresis', 'ugrave', 'yacute', 'ydieresis', 'zcaron'];\nvar ExpertCharset = ['.notdef', 'space', 'exclamsmall', 'Hungarumlautsmall', 'dollaroldstyle', 'dollarsuperior', 'ampersandsmall', 'Acutesmall', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'questionsmall', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'Circumflexsmall', 'hyphensuperior', 'Gravesmall', 'Asmall', 'Bsmall', 'Csmall', 'Dsmall', 'Esmall', 'Fsmall', 'Gsmall', 'Hsmall', 'Ismall', 'Jsmall', 'Ksmall', 'Lsmall', 'Msmall', 'Nsmall', 'Osmall', 'Psmall', 'Qsmall', 'Rsmall', 'Ssmall', 'Tsmall', 'Usmall', 'Vsmall', 'Wsmall', 'Xsmall', 'Ysmall', 'Zsmall', 'colonmonetary', 'onefitted', 'rupiah', 'Tildesmall', 'exclamdownsmall', 'centoldstyle', 'Lslashsmall', 'Scaronsmall', 'Zcaronsmall', 'Dieresissmall', 'Brevesmall', 'Caronsmall', 'Dotaccentsmall', 'Macronsmall', 'figuredash', 'hypheninferior', 'Ogoneksmall', 'Ringsmall', 'Cedillasmall', 'onequarter', 'onehalf', 'threequarters', 'questiondownsmall', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior', 'Agravesmall', 'Aacutesmall', 'Acircumflexsmall', 'Atildesmall', 'Adieresissmall', 'Aringsmall', 'AEsmall', 'Ccedillasmall', 'Egravesmall', 'Eacutesmall', 'Ecircumflexsmall', 'Edieresissmall', 'Igravesmall', 'Iacutesmall', 'Icircumflexsmall', 'Idieresissmall', 'Ethsmall', 'Ntildesmall', 'Ogravesmall', 'Oacutesmall', 'Ocircumflexsmall', 'Otildesmall', 'Odieresissmall', 'OEsmall', 'Oslashsmall', 'Ugravesmall', 'Uacutesmall', 'Ucircumflexsmall', 'Udieresissmall', 'Yacutesmall', 'Thornsmall', 'Ydieresissmall'];\nvar ExpertSubsetCharset = ['.notdef', 'space', 'dollaroldstyle', 'dollarsuperior', 'parenleftsuperior', 'parenrightsuperior', 'twodotenleader', 'onedotenleader', 'comma', 'hyphen', 'period', 'fraction', 'zerooldstyle', 'oneoldstyle', 'twooldstyle', 'threeoldstyle', 'fouroldstyle', 'fiveoldstyle', 'sixoldstyle', 'sevenoldstyle', 'eightoldstyle', 'nineoldstyle', 'colon', 'semicolon', 'commasuperior', 'threequartersemdash', 'periodsuperior', 'asuperior', 'bsuperior', 'centsuperior', 'dsuperior', 'esuperior', 'isuperior', 'lsuperior', 'msuperior', 'nsuperior', 'osuperior', 'rsuperior', 'ssuperior', 'tsuperior', 'ff', 'fi', 'fl', 'ffi', 'ffl', 'parenleftinferior', 'parenrightinferior', 'hyphensuperior', 'colonmonetary', 'onefitted', 'rupiah', 'centoldstyle', 'figuredash', 'hypheninferior', 'onequarter', 'onehalf', 'threequarters', 'oneeighth', 'threeeighths', 'fiveeighths', 'seveneighths', 'onethird', 'twothirds', 'zerosuperior', 'onesuperior', 'twosuperior', 'threesuperior', 'foursuperior', 'fivesuperior', 'sixsuperior', 'sevensuperior', 'eightsuperior', 'ninesuperior', 'zeroinferior', 'oneinferior', 'twoinferior', 'threeinferior', 'fourinferior', 'fiveinferior', 'sixinferior', 'seveninferior', 'eightinferior', 'nineinferior', 'centinferior', 'dollarinferior', 'periodinferior', 'commainferior'];\n\n// Scripts and Languages #\n//########################\n\nvar LangSysTable = new r.Struct({\n  reserved: new r.Reserved(r.uint16),\n  reqFeatureIndex: r.uint16,\n  featureCount: r.uint16,\n  featureIndexes: new r.Array(r.uint16, 'featureCount')\n});\nvar LangSysRecord = new r.Struct({\n  tag: new r.String(4),\n  langSys: new r.Pointer(r.uint16, LangSysTable, {\n    type: 'parent'\n  })\n});\nvar Script = new r.Struct({\n  defaultLangSys: new r.Pointer(r.uint16, LangSysTable),\n  count: r.uint16,\n  langSysRecords: new r.Array(LangSysRecord, 'count')\n});\nvar ScriptRecord = new r.Struct({\n  tag: new r.String(4),\n  script: new r.Pointer(r.uint16, Script, {\n    type: 'parent'\n  })\n});\nvar ScriptList = new r.Array(ScriptRecord, r.uint16); //#######################\n// Features and Lookups #\n//#######################\n\nvar Feature = new r.Struct({\n  featureParams: r.uint16,\n  // pointer\n  lookupCount: r.uint16,\n  lookupListIndexes: new r.Array(r.uint16, 'lookupCount')\n});\nvar FeatureRecord = new r.Struct({\n  tag: new r.String(4),\n  feature: new r.Pointer(r.uint16, Feature, {\n    type: 'parent'\n  })\n});\nvar FeatureList = new r.Array(FeatureRecord, r.uint16);\nvar LookupFlags = new r.Struct({\n  markAttachmentType: r.uint8,\n  flags: new r.Bitfield(r.uint8, ['rightToLeft', 'ignoreBaseGlyphs', 'ignoreLigatures', 'ignoreMarks', 'useMarkFilteringSet'])\n});\nfunction LookupList(SubTable) {\n  var Lookup = new r.Struct({\n    lookupType: r.uint16,\n    flags: LookupFlags,\n    subTableCount: r.uint16,\n    subTables: new r.Array(new r.Pointer(r.uint16, SubTable), 'subTableCount'),\n    markFilteringSet: new r.Optional(r.uint16, function (t) {\n      return t.flags.flags.useMarkFilteringSet;\n    })\n  });\n  return new r.LazyArray(new r.Pointer(r.uint16, Lookup), r.uint16);\n} //#################\n// Coverage Table #\n//#################\n\nvar RangeRecord = new r.Struct({\n  start: r.uint16,\n  end: r.uint16,\n  startCoverageIndex: r.uint16\n});\nvar Coverage = new r.VersionedStruct(r.uint16, {\n  1: {\n    glyphCount: r.uint16,\n    glyphs: new r.Array(r.uint16, 'glyphCount')\n  },\n  2: {\n    rangeCount: r.uint16,\n    rangeRecords: new r.Array(RangeRecord, 'rangeCount')\n  }\n}); //#########################\n// Class Definition Table #\n//#########################\n\nvar ClassRangeRecord = new r.Struct({\n  start: r.uint16,\n  end: r.uint16,\n  class: r.uint16\n});\nvar ClassDef = new r.VersionedStruct(r.uint16, {\n  1: {\n    // Class array\n    startGlyph: r.uint16,\n    glyphCount: r.uint16,\n    classValueArray: new r.Array(r.uint16, 'glyphCount')\n  },\n  2: {\n    // Class ranges\n    classRangeCount: r.uint16,\n    classRangeRecord: new r.Array(ClassRangeRecord, 'classRangeCount')\n  }\n}); //###############\n// Device Table #\n//###############\n\nvar Device = new r.Struct({\n  a: r.uint16,\n  // startSize for hinting Device, outerIndex for VariationIndex\n  b: r.uint16,\n  // endSize for Device, innerIndex for VariationIndex\n  deltaFormat: r.uint16\n}); //#############################################\n// Contextual Substitution/Positioning Tables #\n//#############################################\n\nvar LookupRecord = new r.Struct({\n  sequenceIndex: r.uint16,\n  lookupListIndex: r.uint16\n});\nvar Rule = new r.Struct({\n  glyphCount: r.uint16,\n  lookupCount: r.uint16,\n  input: new r.Array(r.uint16, function (t) {\n    return t.glyphCount - 1;\n  }),\n  lookupRecords: new r.Array(LookupRecord, 'lookupCount')\n});\nvar RuleSet = new r.Array(new r.Pointer(r.uint16, Rule), r.uint16);\nvar ClassRule = new r.Struct({\n  glyphCount: r.uint16,\n  lookupCount: r.uint16,\n  classes: new r.Array(r.uint16, function (t) {\n    return t.glyphCount - 1;\n  }),\n  lookupRecords: new r.Array(LookupRecord, 'lookupCount')\n});\nvar ClassSet = new r.Array(new r.Pointer(r.uint16, ClassRule), r.uint16);\nvar Context = new r.VersionedStruct(r.uint16, {\n  1: {\n    // Simple context\n    coverage: new r.Pointer(r.uint16, Coverage),\n    ruleSetCount: r.uint16,\n    ruleSets: new r.Array(new r.Pointer(r.uint16, RuleSet), 'ruleSetCount')\n  },\n  2: {\n    // Class-based context\n    coverage: new r.Pointer(r.uint16, Coverage),\n    classDef: new r.Pointer(r.uint16, ClassDef),\n    classSetCnt: r.uint16,\n    classSet: new r.Array(new r.Pointer(r.uint16, ClassSet), 'classSetCnt')\n  },\n  3: {\n    glyphCount: r.uint16,\n    lookupCount: r.uint16,\n    coverages: new r.Array(new r.Pointer(r.uint16, Coverage), 'glyphCount'),\n    lookupRecords: new r.Array(LookupRecord, 'lookupCount')\n  }\n}); //######################################################\n// Chaining Contextual Substitution/Positioning Tables #\n//######################################################\n\nvar ChainRule = new r.Struct({\n  backtrackGlyphCount: r.uint16,\n  backtrack: new r.Array(r.uint16, 'backtrackGlyphCount'),\n  inputGlyphCount: r.uint16,\n  input: new r.Array(r.uint16, function (t) {\n    return t.inputGlyphCount - 1;\n  }),\n  lookaheadGlyphCount: r.uint16,\n  lookahead: new r.Array(r.uint16, 'lookaheadGlyphCount'),\n  lookupCount: r.uint16,\n  lookupRecords: new r.Array(LookupRecord, 'lookupCount')\n});\nvar ChainRuleSet = new r.Array(new r.Pointer(r.uint16, ChainRule), r.uint16);\nvar ChainingContext = new r.VersionedStruct(r.uint16, {\n  1: {\n    // Simple context glyph substitution\n    coverage: new r.Pointer(r.uint16, Coverage),\n    chainCount: r.uint16,\n    chainRuleSets: new r.Array(new r.Pointer(r.uint16, ChainRuleSet), 'chainCount')\n  },\n  2: {\n    // Class-based chaining context\n    coverage: new r.Pointer(r.uint16, Coverage),\n    backtrackClassDef: new r.Pointer(r.uint16, ClassDef),\n    inputClassDef: new r.Pointer(r.uint16, ClassDef),\n    lookaheadClassDef: new r.Pointer(r.uint16, ClassDef),\n    chainCount: r.uint16,\n    chainClassSet: new r.Array(new r.Pointer(r.uint16, ChainRuleSet), 'chainCount')\n  },\n  3: {\n    // Coverage-based chaining context\n    backtrackGlyphCount: r.uint16,\n    backtrackCoverage: new r.Array(new r.Pointer(r.uint16, Coverage), 'backtrackGlyphCount'),\n    inputGlyphCount: r.uint16,\n    inputCoverage: new r.Array(new r.Pointer(r.uint16, Coverage), 'inputGlyphCount'),\n    lookaheadGlyphCount: r.uint16,\n    lookaheadCoverage: new r.Array(new r.Pointer(r.uint16, Coverage), 'lookaheadGlyphCount'),\n    lookupCount: r.uint16,\n    lookupRecords: new r.Array(LookupRecord, 'lookupCount')\n  }\n});\n\n/*******************\r\n * Variation Store *\r\n *******************/\n\nvar F2DOT14 = new r.Fixed(16, 'BE', 14);\nvar RegionAxisCoordinates = new r.Struct({\n  startCoord: F2DOT14,\n  peakCoord: F2DOT14,\n  endCoord: F2DOT14\n});\nvar VariationRegionList = new r.Struct({\n  axisCount: r.uint16,\n  regionCount: r.uint16,\n  variationRegions: new r.Array(new r.Array(RegionAxisCoordinates, 'axisCount'), 'regionCount')\n});\nvar DeltaSet = new r.Struct({\n  shortDeltas: new r.Array(r.int16, function (t) {\n    return t.parent.shortDeltaCount;\n  }),\n  regionDeltas: new r.Array(r.int8, function (t) {\n    return t.parent.regionIndexCount - t.parent.shortDeltaCount;\n  }),\n  deltas: function deltas(t) {\n    return t.shortDeltas.concat(t.regionDeltas);\n  }\n});\nvar ItemVariationData = new r.Struct({\n  itemCount: r.uint16,\n  shortDeltaCount: r.uint16,\n  regionIndexCount: r.uint16,\n  regionIndexes: new r.Array(r.uint16, 'regionIndexCount'),\n  deltaSets: new r.Array(DeltaSet, 'itemCount')\n});\nvar ItemVariationStore = new r.Struct({\n  format: r.uint16,\n  variationRegionList: new r.Pointer(r.uint32, VariationRegionList),\n  variationDataCount: r.uint16,\n  itemVariationData: new r.Array(new r.Pointer(r.uint32, ItemVariationData), 'variationDataCount')\n});\n/**********************\r\n * Feature Variations *\r\n **********************/\n\nvar ConditionTable = new r.VersionedStruct(r.uint16, {\n  1: (_ = {\n    axisIndex: r.uint16\n  }, _[\"axisIndex\"] = r.uint16, _.filterRangeMinValue = F2DOT14, _.filterRangeMaxValue = F2DOT14, _)\n});\nvar ConditionSet = new r.Struct({\n  conditionCount: r.uint16,\n  conditionTable: new r.Array(new r.Pointer(r.uint32, ConditionTable), 'conditionCount')\n});\nvar FeatureTableSubstitutionRecord = new r.Struct({\n  featureIndex: r.uint16,\n  alternateFeatureTable: new r.Pointer(r.uint32, Feature, {\n    type: 'parent'\n  })\n});\nvar FeatureTableSubstitution = new r.Struct({\n  version: r.fixed32,\n  substitutionCount: r.uint16,\n  substitutions: new r.Array(FeatureTableSubstitutionRecord, 'substitutionCount')\n});\nvar FeatureVariationRecord = new r.Struct({\n  conditionSet: new r.Pointer(r.uint32, ConditionSet, {\n    type: 'parent'\n  }),\n  featureTableSubstitution: new r.Pointer(r.uint32, FeatureTableSubstitution, {\n    type: 'parent'\n  })\n});\nvar FeatureVariations = new r.Struct({\n  majorVersion: r.uint16,\n  minorVersion: r.uint16,\n  featureVariationRecordCount: r.uint32,\n  featureVariationRecords: new r.Array(FeatureVariationRecord, 'featureVariationRecordCount')\n});\n\n// otherwise delegates to the provided type.\nvar PredefinedOp = /*#__PURE__*/function () {\n  function PredefinedOp(predefinedOps, type) {\n    this.predefinedOps = predefinedOps;\n    this.type = type;\n  }\n  var _proto5 = PredefinedOp.prototype;\n  _proto5.decode = function decode(stream, parent, operands) {\n    if (this.predefinedOps[operands[0]]) {\n      return this.predefinedOps[operands[0]];\n    }\n    return this.type.decode(stream, parent, operands);\n  };\n  _proto5.size = function size(value, ctx) {\n    return this.type.size(value, ctx);\n  };\n  _proto5.encode = function encode(stream, value, ctx) {\n    var index = this.predefinedOps.indexOf(value);\n    if (index !== -1) {\n      return index;\n    }\n    return this.type.encode(stream, value, ctx);\n  };\n  return PredefinedOp;\n}();\nvar CFFEncodingVersion = /*#__PURE__*/function (_r$Number) {\n  _inheritsLoose(CFFEncodingVersion, _r$Number);\n  function CFFEncodingVersion() {\n    return _r$Number.call(this, 'UInt8') || this;\n  }\n  var _proto6 = CFFEncodingVersion.prototype;\n  _proto6.decode = function decode(stream) {\n    return r.uint8.decode(stream) & 0x7f;\n  };\n  return CFFEncodingVersion;\n}(r.Number);\nvar Range1 = new r.Struct({\n  first: r.uint16,\n  nLeft: r.uint8\n});\nvar Range2 = new r.Struct({\n  first: r.uint16,\n  nLeft: r.uint16\n});\nvar CFFCustomEncoding = new r.VersionedStruct(new CFFEncodingVersion(), {\n  0: {\n    nCodes: r.uint8,\n    codes: new r.Array(r.uint8, 'nCodes')\n  },\n  1: {\n    nRanges: r.uint8,\n    ranges: new r.Array(Range1, 'nRanges')\n  } // TODO: supplement?\n});\n\nvar CFFEncoding = new PredefinedOp([StandardEncoding, ExpertEncoding], new CFFPointer(CFFCustomEncoding, {\n  lazy: true\n})); // Decodes an array of ranges until the total\n// length is equal to the provided length.\nvar RangeArray = /*#__PURE__*/function (_r$Array) {\n  _inheritsLoose(RangeArray, _r$Array);\n  function RangeArray() {\n    return _r$Array.apply(this, arguments) || this;\n  }\n  var _proto7 = RangeArray.prototype;\n  _proto7.decode = function decode(stream, parent) {\n    var length = utils.resolveLength(this.length, stream, parent);\n    var count = 0;\n    var res = [];\n    while (count < length) {\n      var range = this.type.decode(stream, parent);\n      range.offset = count;\n      count += range.nLeft + 1;\n      res.push(range);\n    }\n    return res;\n  };\n  return RangeArray;\n}(r.Array);\nvar CFFCustomCharset = new r.VersionedStruct(r.uint8, {\n  0: {\n    glyphs: new r.Array(r.uint16, function (t) {\n      return t.parent.CharStrings.length - 1;\n    })\n  },\n  1: {\n    ranges: new RangeArray(Range1, function (t) {\n      return t.parent.CharStrings.length - 1;\n    })\n  },\n  2: {\n    ranges: new RangeArray(Range2, function (t) {\n      return t.parent.CharStrings.length - 1;\n    })\n  }\n});\nvar CFFCharset = new PredefinedOp([ISOAdobeCharset, ExpertCharset, ExpertSubsetCharset], new CFFPointer(CFFCustomCharset, {\n  lazy: true\n}));\nvar FDRange3 = new r.Struct({\n  first: r.uint16,\n  fd: r.uint8\n});\nvar FDRange4 = new r.Struct({\n  first: r.uint32,\n  fd: r.uint16\n});\nvar FDSelect = new r.VersionedStruct(r.uint8, {\n  0: {\n    fds: new r.Array(r.uint8, function (t) {\n      return t.parent.CharStrings.length;\n    })\n  },\n  3: {\n    nRanges: r.uint16,\n    ranges: new r.Array(FDRange3, 'nRanges'),\n    sentinel: r.uint16\n  },\n  4: {\n    nRanges: r.uint32,\n    ranges: new r.Array(FDRange4, 'nRanges'),\n    sentinel: r.uint32\n  }\n});\nvar ptr = new CFFPointer(CFFPrivateDict);\nvar CFFPrivateOp = /*#__PURE__*/function () {\n  function CFFPrivateOp() {}\n  var _proto8 = CFFPrivateOp.prototype;\n  _proto8.decode = function decode(stream, parent, operands) {\n    parent.length = operands[0];\n    return ptr.decode(stream, parent, [operands[1]]);\n  };\n  _proto8.size = function size(dict, ctx) {\n    return [CFFPrivateDict.size(dict, ctx, false), ptr.size(dict, ctx)[0]];\n  };\n  _proto8.encode = function encode(stream, dict, ctx) {\n    return [CFFPrivateDict.size(dict, ctx, false), ptr.encode(stream, dict, ctx)[0]];\n  };\n  return CFFPrivateOp;\n}();\nvar FontDict = new CFFDict([\n// key       name                   type(s)                                 default\n[18, 'Private', new CFFPrivateOp(), null], [[12, 38], 'FontName', 'sid', null], [[12, 7], 'FontMatrix', 'array', [0.001, 0, 0, 0.001, 0, 0]], [[12, 5], 'PaintType', 'number', 0]]);\nvar CFFTopDict = new CFFDict([\n// key       name                   type(s)                                 default\n[[12, 30], 'ROS', ['sid', 'sid', 'number'], null], [0, 'version', 'sid', null], [1, 'Notice', 'sid', null], [[12, 0], 'Copyright', 'sid', null], [2, 'FullName', 'sid', null], [3, 'FamilyName', 'sid', null], [4, 'Weight', 'sid', null], [[12, 1], 'isFixedPitch', 'boolean', false], [[12, 2], 'ItalicAngle', 'number', 0], [[12, 3], 'UnderlinePosition', 'number', -100], [[12, 4], 'UnderlineThickness', 'number', 50], [[12, 5], 'PaintType', 'number', 0], [[12, 6], 'CharstringType', 'number', 2], [[12, 7], 'FontMatrix', 'array', [0.001, 0, 0, 0.001, 0, 0]], [13, 'UniqueID', 'number', null], [5, 'FontBBox', 'array', [0, 0, 0, 0]], [[12, 8], 'StrokeWidth', 'number', 0], [14, 'XUID', 'array', null], [15, 'charset', CFFCharset, ISOAdobeCharset], [16, 'Encoding', CFFEncoding, StandardEncoding], [17, 'CharStrings', new CFFPointer(new CFFIndex()), null], [18, 'Private', new CFFPrivateOp(), null], [[12, 20], 'SyntheticBase', 'number', null], [[12, 21], 'PostScript', 'sid', null], [[12, 22], 'BaseFontName', 'sid', null], [[12, 23], 'BaseFontBlend', 'delta', null],\n// CID font specific\n[[12, 31], 'CIDFontVersion', 'number', 0], [[12, 32], 'CIDFontRevision', 'number', 0], [[12, 33], 'CIDFontType', 'number', 0], [[12, 34], 'CIDCount', 'number', 8720], [[12, 35], 'UIDBase', 'number', null], [[12, 37], 'FDSelect', new CFFPointer(FDSelect), null], [[12, 36], 'FDArray', new CFFPointer(new CFFIndex(FontDict)), null], [[12, 38], 'FontName', 'sid', null]]);\nvar VariationStore = new r.Struct({\n  length: r.uint16,\n  itemVariationStore: ItemVariationStore\n});\nvar CFF2TopDict = new CFFDict([[[12, 7], 'FontMatrix', 'array', [0.001, 0, 0, 0.001, 0, 0]], [17, 'CharStrings', new CFFPointer(new CFFIndex()), null], [[12, 37], 'FDSelect', new CFFPointer(FDSelect), null], [[12, 36], 'FDArray', new CFFPointer(new CFFIndex(FontDict)), null], [24, 'vstore', new CFFPointer(VariationStore), null], [25, 'maxstack', 'number', 193]]);\nvar CFFTop = new r.VersionedStruct(r.fixed16, {\n  1: {\n    hdrSize: r.uint8,\n    offSize: r.uint8,\n    nameIndex: new CFFIndex(new r.String('length')),\n    topDictIndex: new CFFIndex(CFFTopDict),\n    stringIndex: new CFFIndex(new r.String('length')),\n    globalSubrIndex: new CFFIndex()\n  },\n  2: {\n    hdrSize: r.uint8,\n    length: r.uint16,\n    topDict: CFF2TopDict,\n    globalSubrIndex: new CFFIndex()\n  }\n});\nvar CFFFont = /*#__PURE__*/function () {\n  function CFFFont(stream) {\n    this.stream = stream;\n    this.decode();\n  }\n  CFFFont.decode = function decode(stream) {\n    return new CFFFont(stream);\n  };\n  var _proto9 = CFFFont.prototype;\n  _proto9.decode = function decode() {\n    var start = this.stream.pos;\n    var top = CFFTop.decode(this.stream);\n    for (var key in top) {\n      var val = top[key];\n      this[key] = val;\n    }\n    if (this.version < 2) {\n      if (this.topDictIndex.length !== 1) {\n        throw new Error(\"Only a single font is allowed in CFF\");\n      }\n      this.topDict = this.topDictIndex[0];\n    }\n    this.isCIDFont = this.topDict.ROS != null;\n    return this;\n  };\n  _proto9.string = function string(sid) {\n    if (this.version >= 2) {\n      return null;\n    }\n    if (sid < standardStrings.length) {\n      return standardStrings[sid];\n    }\n    return this.stringIndex[sid - standardStrings.length];\n  };\n  _proto9.getCharString = function getCharString(glyph) {\n    this.stream.pos = this.topDict.CharStrings[glyph].offset;\n    return this.stream.readBuffer(this.topDict.CharStrings[glyph].length);\n  };\n  _proto9.getGlyphName = function getGlyphName(gid) {\n    // CFF2 glyph names are in the post table.\n    if (this.version >= 2) {\n      return null;\n    } // CID-keyed fonts don't have glyph names\n\n    if (this.isCIDFont) {\n      return null;\n    }\n    var charset = this.topDict.charset;\n    if (Array.isArray(charset)) {\n      return charset[gid];\n    }\n    if (gid === 0) {\n      return '.notdef';\n    }\n    gid -= 1;\n    switch (charset.version) {\n      case 0:\n        return this.string(charset.glyphs[gid]);\n      case 1:\n      case 2:\n        for (var i = 0; i < charset.ranges.length; i++) {\n          var range = charset.ranges[i];\n          if (range.offset <= gid && gid <= range.offset + range.nLeft) {\n            return this.string(range.first + (gid - range.offset));\n          }\n        }\n        break;\n    }\n    return null;\n  };\n  _proto9.fdForGlyph = function fdForGlyph(gid) {\n    if (!this.topDict.FDSelect) {\n      return null;\n    }\n    switch (this.topDict.FDSelect.version) {\n      case 0:\n        return this.topDict.FDSelect.fds[gid];\n      case 3:\n      case 4:\n        var ranges = this.topDict.FDSelect.ranges;\n        var low = 0;\n        var high = ranges.length - 1;\n        while (low <= high) {\n          var mid = low + high >> 1;\n          if (gid < ranges[mid].first) {\n            high = mid - 1;\n          } else if (mid < high && gid >= ranges[mid + 1].first) {\n            low = mid + 1;\n          } else {\n            return ranges[mid].fd;\n          }\n        }\n      default:\n        throw new Error(\"Unknown FDSelect version: \".concat(this.topDict.FDSelect.version));\n    }\n  };\n  _proto9.privateDictForGlyph = function privateDictForGlyph(gid) {\n    if (this.topDict.FDSelect) {\n      var fd = this.fdForGlyph(gid);\n      if (this.topDict.FDArray[fd]) {\n        return this.topDict.FDArray[fd].Private;\n      }\n      return null;\n    }\n    if (this.version < 2) {\n      return this.topDict.Private;\n    }\n    return this.topDict.FDArray[0].Private;\n  };\n  _createClass(CFFFont, [{\n    key: \"postscriptName\",\n    get: function get() {\n      if (this.version < 2) {\n        return this.nameIndex[0];\n      }\n      return null;\n    }\n  }, {\n    key: \"fullName\",\n    get: function get() {\n      return this.string(this.topDict.FullName);\n    }\n  }, {\n    key: \"familyName\",\n    get: function get() {\n      return this.string(this.topDict.FamilyName);\n    }\n  }]);\n  return CFFFont;\n}();\nvar VerticalOrigin = new r.Struct({\n  glyphIndex: r.uint16,\n  vertOriginY: r.int16\n});\nvar VORG = new r.Struct({\n  majorVersion: r.uint16,\n  minorVersion: r.uint16,\n  defaultVertOriginY: r.int16,\n  numVertOriginYMetrics: r.uint16,\n  metrics: new r.Array(VerticalOrigin, 'numVertOriginYMetrics')\n});\nvar BigMetrics = new r.Struct({\n  height: r.uint8,\n  width: r.uint8,\n  horiBearingX: r.int8,\n  horiBearingY: r.int8,\n  horiAdvance: r.uint8,\n  vertBearingX: r.int8,\n  vertBearingY: r.int8,\n  vertAdvance: r.uint8\n});\nvar SmallMetrics = new r.Struct({\n  height: r.uint8,\n  width: r.uint8,\n  bearingX: r.int8,\n  bearingY: r.int8,\n  advance: r.uint8\n});\nvar EBDTComponent = new r.Struct({\n  glyph: r.uint16,\n  xOffset: r.int8,\n  yOffset: r.int8\n});\nvar ByteAligned = function ByteAligned() {};\nvar BitAligned = function BitAligned() {};\nvar glyph = new r.VersionedStruct('version', {\n  1: {\n    metrics: SmallMetrics,\n    data: ByteAligned\n  },\n  2: {\n    metrics: SmallMetrics,\n    data: BitAligned\n  },\n  // format 3 is deprecated\n  // format 4 is not supported by Microsoft\n  5: {\n    data: BitAligned\n  },\n  6: {\n    metrics: BigMetrics,\n    data: ByteAligned\n  },\n  7: {\n    metrics: BigMetrics,\n    data: BitAligned\n  },\n  8: {\n    metrics: SmallMetrics,\n    pad: new r.Reserved(r.uint8),\n    numComponents: r.uint16,\n    components: new r.Array(EBDTComponent, 'numComponents')\n  },\n  9: {\n    metrics: BigMetrics,\n    pad: new r.Reserved(r.uint8),\n    numComponents: r.uint16,\n    components: new r.Array(EBDTComponent, 'numComponents')\n  },\n  17: {\n    metrics: SmallMetrics,\n    dataLen: r.uint32,\n    data: new r.Buffer('dataLen')\n  },\n  18: {\n    metrics: BigMetrics,\n    dataLen: r.uint32,\n    data: new r.Buffer('dataLen')\n  },\n  19: {\n    dataLen: r.uint32,\n    data: new r.Buffer('dataLen')\n  }\n});\nvar SBitLineMetrics = new r.Struct({\n  ascender: r.int8,\n  descender: r.int8,\n  widthMax: r.uint8,\n  caretSlopeNumerator: r.int8,\n  caretSlopeDenominator: r.int8,\n  caretOffset: r.int8,\n  minOriginSB: r.int8,\n  minAdvanceSB: r.int8,\n  maxBeforeBL: r.int8,\n  minAfterBL: r.int8,\n  pad: new r.Reserved(r.int8, 2)\n});\nvar CodeOffsetPair = new r.Struct({\n  glyphCode: r.uint16,\n  offset: r.uint16\n});\nvar IndexSubtable = new r.VersionedStruct(r.uint16, {\n  header: {\n    imageFormat: r.uint16,\n    imageDataOffset: r.uint32\n  },\n  1: {\n    offsetArray: new r.Array(r.uint32, function (t) {\n      return t.parent.lastGlyphIndex - t.parent.firstGlyphIndex + 1;\n    })\n  },\n  2: {\n    imageSize: r.uint32,\n    bigMetrics: BigMetrics\n  },\n  3: {\n    offsetArray: new r.Array(r.uint16, function (t) {\n      return t.parent.lastGlyphIndex - t.parent.firstGlyphIndex + 1;\n    })\n  },\n  4: {\n    numGlyphs: r.uint32,\n    glyphArray: new r.Array(CodeOffsetPair, function (t) {\n      return t.numGlyphs + 1;\n    })\n  },\n  5: {\n    imageSize: r.uint32,\n    bigMetrics: BigMetrics,\n    numGlyphs: r.uint32,\n    glyphCodeArray: new r.Array(r.uint16, 'numGlyphs')\n  }\n});\nvar IndexSubtableArray = new r.Struct({\n  firstGlyphIndex: r.uint16,\n  lastGlyphIndex: r.uint16,\n  subtable: new r.Pointer(r.uint32, IndexSubtable)\n});\nvar BitmapSizeTable = new r.Struct({\n  indexSubTableArray: new r.Pointer(r.uint32, new r.Array(IndexSubtableArray, 1), {\n    type: 'parent'\n  }),\n  indexTablesSize: r.uint32,\n  numberOfIndexSubTables: r.uint32,\n  colorRef: r.uint32,\n  hori: SBitLineMetrics,\n  vert: SBitLineMetrics,\n  startGlyphIndex: r.uint16,\n  endGlyphIndex: r.uint16,\n  ppemX: r.uint8,\n  ppemY: r.uint8,\n  bitDepth: r.uint8,\n  flags: new r.Bitfield(r.uint8, ['horizontal', 'vertical'])\n});\nvar EBLC = new r.Struct({\n  version: r.uint32,\n  // 0x00020000\n  numSizes: r.uint32,\n  sizes: new r.Array(BitmapSizeTable, 'numSizes')\n});\nvar ImageTable = new r.Struct({\n  ppem: r.uint16,\n  resolution: r.uint16,\n  imageOffsets: new r.Array(new r.Pointer(r.uint32, 'void'), function (t) {\n    return t.parent.parent.maxp.numGlyphs + 1;\n  })\n}); // This is the Apple sbix table, used by the \"Apple Color Emoji\" font.\n// It includes several image tables with images for each bitmap glyph\n// of several different sizes.\n\nvar sbix = new r.Struct({\n  version: r.uint16,\n  flags: new r.Bitfield(r.uint16, ['renderOutlines']),\n  numImgTables: r.uint32,\n  imageTables: new r.Array(new r.Pointer(r.uint32, ImageTable), 'numImgTables')\n});\nvar LayerRecord = new r.Struct({\n  gid: r.uint16,\n  // Glyph ID of layer glyph (must be in z-order from bottom to top).\n  paletteIndex: r.uint16 // Index value to use in the appropriate palette. This value must\n}); // be less than numPaletteEntries in the CPAL table, except for\n// the special case noted below. Each palette entry is 16 bits.\n// A palette index of 0xFFFF is a special case indicating that\n// the text foreground color should be used.\n\nvar BaseGlyphRecord = new r.Struct({\n  gid: r.uint16,\n  // Glyph ID of reference glyph. This glyph is for reference only\n  // and is not rendered for color.\n  firstLayerIndex: r.uint16,\n  // Index (from beginning of the Layer Records) to the layer record.\n  // There will be numLayers consecutive entries for this base glyph.\n  numLayers: r.uint16\n});\nvar COLR = new r.Struct({\n  version: r.uint16,\n  numBaseGlyphRecords: r.uint16,\n  baseGlyphRecord: new r.Pointer(r.uint32, new r.Array(BaseGlyphRecord, 'numBaseGlyphRecords')),\n  layerRecords: new r.Pointer(r.uint32, new r.Array(LayerRecord, 'numLayerRecords'), {\n    lazy: true\n  }),\n  numLayerRecords: r.uint16\n});\nvar ColorRecord = new r.Struct({\n  blue: r.uint8,\n  green: r.uint8,\n  red: r.uint8,\n  alpha: r.uint8\n});\nvar CPAL = new r.VersionedStruct(r.uint16, {\n  header: {\n    numPaletteEntries: r.uint16,\n    numPalettes: r.uint16,\n    numColorRecords: r.uint16,\n    colorRecords: new r.Pointer(r.uint32, new r.Array(ColorRecord, 'numColorRecords')),\n    colorRecordIndices: new r.Array(r.uint16, 'numPalettes')\n  },\n  0: {},\n  1: {\n    offsetPaletteTypeArray: new r.Pointer(r.uint32, new r.Array(r.uint32, 'numPalettes')),\n    offsetPaletteLabelArray: new r.Pointer(r.uint32, new r.Array(r.uint16, 'numPalettes')),\n    offsetPaletteEntryLabelArray: new r.Pointer(r.uint32, new r.Array(r.uint16, 'numPaletteEntries'))\n  }\n});\nvar BaseCoord = new r.VersionedStruct(r.uint16, {\n  1: {\n    // Design units only\n    coordinate: r.int16 // X or Y value, in design units\n  },\n\n  2: {\n    // Design units plus contour point\n    coordinate: r.int16,\n    // X or Y value, in design units\n    referenceGlyph: r.uint16,\n    // GlyphID of control glyph\n    baseCoordPoint: r.uint16 // Index of contour point on the referenceGlyph\n  },\n\n  3: {\n    // Design units plus Device table\n    coordinate: r.int16,\n    // X or Y value, in design units\n    deviceTable: new r.Pointer(r.uint16, Device) // Device table for X or Y value\n  }\n});\n\nvar BaseValues = new r.Struct({\n  defaultIndex: r.uint16,\n  // Index of default baseline for this script-same index in the BaseTagList\n  baseCoordCount: r.uint16,\n  baseCoords: new r.Array(new r.Pointer(r.uint16, BaseCoord), 'baseCoordCount')\n});\nvar FeatMinMaxRecord = new r.Struct({\n  tag: new r.String(4),\n  // 4-byte feature identification tag-must match FeatureTag in FeatureList\n  minCoord: new r.Pointer(r.uint16, BaseCoord, {\n    type: 'parent'\n  }),\n  // May be NULL\n  maxCoord: new r.Pointer(r.uint16, BaseCoord, {\n    type: 'parent'\n  }) // May be NULL\n});\n\nvar MinMax = new r.Struct({\n  minCoord: new r.Pointer(r.uint16, BaseCoord),\n  // May be NULL\n  maxCoord: new r.Pointer(r.uint16, BaseCoord),\n  // May be NULL\n  featMinMaxCount: r.uint16,\n  // May be 0\n  featMinMaxRecords: new r.Array(FeatMinMaxRecord, 'featMinMaxCount') // In alphabetical order\n});\n\nvar BaseLangSysRecord = new r.Struct({\n  tag: new r.String(4),\n  // 4-byte language system identification tag\n  minMax: new r.Pointer(r.uint16, MinMax, {\n    type: 'parent'\n  })\n});\nvar BaseScript = new r.Struct({\n  baseValues: new r.Pointer(r.uint16, BaseValues),\n  // May be NULL\n  defaultMinMax: new r.Pointer(r.uint16, MinMax),\n  // May be NULL\n  baseLangSysCount: r.uint16,\n  // May be 0\n  baseLangSysRecords: new r.Array(BaseLangSysRecord, 'baseLangSysCount') // in alphabetical order by BaseLangSysTag\n});\n\nvar BaseScriptRecord = new r.Struct({\n  tag: new r.String(4),\n  // 4-byte script identification tag\n  script: new r.Pointer(r.uint16, BaseScript, {\n    type: 'parent'\n  })\n});\nvar BaseScriptList = new r.Array(BaseScriptRecord, r.uint16); // Array of 4-byte baseline identification tags-must be in alphabetical order\n\nvar BaseTagList = new r.Array(new r.String(4), r.uint16);\nvar Axis = new r.Struct({\n  baseTagList: new r.Pointer(r.uint16, BaseTagList),\n  // May be NULL\n  baseScriptList: new r.Pointer(r.uint16, BaseScriptList)\n});\nvar BASE = new r.VersionedStruct(r.uint32, {\n  header: {\n    horizAxis: new r.Pointer(r.uint16, Axis),\n    // May be NULL\n    vertAxis: new r.Pointer(r.uint16, Axis) // May be NULL\n  },\n\n  0x00010000: {},\n  0x00010001: {\n    itemVariationStore: new r.Pointer(r.uint32, ItemVariationStore)\n  }\n});\nvar AttachPoint = new r.Array(r.uint16, r.uint16);\nvar AttachList = new r.Struct({\n  coverage: new r.Pointer(r.uint16, Coverage),\n  glyphCount: r.uint16,\n  attachPoints: new r.Array(new r.Pointer(r.uint16, AttachPoint), 'glyphCount')\n});\nvar CaretValue = new r.VersionedStruct(r.uint16, {\n  1: {\n    // Design units only\n    coordinate: r.int16\n  },\n  2: {\n    // Contour point\n    caretValuePoint: r.uint16\n  },\n  3: {\n    // Design units plus Device table\n    coordinate: r.int16,\n    deviceTable: new r.Pointer(r.uint16, Device)\n  }\n});\nvar LigGlyph = new r.Array(new r.Pointer(r.uint16, CaretValue), r.uint16);\nvar LigCaretList = new r.Struct({\n  coverage: new r.Pointer(r.uint16, Coverage),\n  ligGlyphCount: r.uint16,\n  ligGlyphs: new r.Array(new r.Pointer(r.uint16, LigGlyph), 'ligGlyphCount')\n});\nvar MarkGlyphSetsDef = new r.Struct({\n  markSetTableFormat: r.uint16,\n  markSetCount: r.uint16,\n  coverage: new r.Array(new r.Pointer(r.uint32, Coverage), 'markSetCount')\n});\nvar GDEF = new r.VersionedStruct(r.uint32, {\n  header: {\n    glyphClassDef: new r.Pointer(r.uint16, ClassDef),\n    attachList: new r.Pointer(r.uint16, AttachList),\n    ligCaretList: new r.Pointer(r.uint16, LigCaretList),\n    markAttachClassDef: new r.Pointer(r.uint16, ClassDef)\n  },\n  0x00010000: {},\n  0x00010002: {\n    markGlyphSetsDef: new r.Pointer(r.uint16, MarkGlyphSetsDef)\n  },\n  0x00010003: {\n    markGlyphSetsDef: new r.Pointer(r.uint16, MarkGlyphSetsDef),\n    itemVariationStore: new r.Pointer(r.uint32, ItemVariationStore)\n  }\n});\nvar ValueFormat = new r.Bitfield(r.uint16, ['xPlacement', 'yPlacement', 'xAdvance', 'yAdvance', 'xPlaDevice', 'yPlaDevice', 'xAdvDevice', 'yAdvDevice']);\nvar types = {\n  xPlacement: r.int16,\n  yPlacement: r.int16,\n  xAdvance: r.int16,\n  yAdvance: r.int16,\n  xPlaDevice: new r.Pointer(r.uint16, Device, {\n    type: 'global',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.rel;\n    }\n  }),\n  yPlaDevice: new r.Pointer(r.uint16, Device, {\n    type: 'global',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.rel;\n    }\n  }),\n  xAdvDevice: new r.Pointer(r.uint16, Device, {\n    type: 'global',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.rel;\n    }\n  }),\n  yAdvDevice: new r.Pointer(r.uint16, Device, {\n    type: 'global',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.rel;\n    }\n  })\n};\nvar ValueRecord = /*#__PURE__*/function () {\n  function ValueRecord(key) {\n    if (key === void 0) {\n      key = 'valueFormat';\n    }\n    this.key = key;\n  }\n  var _proto10 = ValueRecord.prototype;\n  _proto10.buildStruct = function buildStruct(parent) {\n    var struct = parent;\n    while (!struct[this.key] && struct.parent) {\n      struct = struct.parent;\n    }\n    if (!struct[this.key]) return;\n    var fields = {};\n    fields.rel = function () {\n      return struct._startOffset;\n    };\n    var format = struct[this.key];\n    for (var key in format) {\n      if (format[key]) {\n        fields[key] = types[key];\n      }\n    }\n    return new r.Struct(fields);\n  };\n  _proto10.size = function size(val, ctx) {\n    return this.buildStruct(ctx).size(val, ctx);\n  };\n  _proto10.decode = function decode(stream, parent) {\n    var res = this.buildStruct(parent).decode(stream, parent);\n    delete res.rel;\n    return res;\n  };\n  return ValueRecord;\n}();\nvar PairValueRecord = new r.Struct({\n  secondGlyph: r.uint16,\n  value1: new ValueRecord('valueFormat1'),\n  value2: new ValueRecord('valueFormat2')\n});\nvar PairSet = new r.Array(PairValueRecord, r.uint16);\nvar Class2Record = new r.Struct({\n  value1: new ValueRecord('valueFormat1'),\n  value2: new ValueRecord('valueFormat2')\n});\nvar Anchor = new r.VersionedStruct(r.uint16, {\n  1: {\n    // Design units only\n    xCoordinate: r.int16,\n    yCoordinate: r.int16\n  },\n  2: {\n    // Design units plus contour point\n    xCoordinate: r.int16,\n    yCoordinate: r.int16,\n    anchorPoint: r.uint16\n  },\n  3: {\n    // Design units plus Device tables\n    xCoordinate: r.int16,\n    yCoordinate: r.int16,\n    xDeviceTable: new r.Pointer(r.uint16, Device),\n    yDeviceTable: new r.Pointer(r.uint16, Device)\n  }\n});\nvar EntryExitRecord = new r.Struct({\n  entryAnchor: new r.Pointer(r.uint16, Anchor, {\n    type: 'parent'\n  }),\n  exitAnchor: new r.Pointer(r.uint16, Anchor, {\n    type: 'parent'\n  })\n});\nvar MarkRecord = new r.Struct({\n  class: r.uint16,\n  markAnchor: new r.Pointer(r.uint16, Anchor, {\n    type: 'parent'\n  })\n});\nvar MarkArray = new r.Array(MarkRecord, r.uint16);\nvar BaseRecord = new r.Array(new r.Pointer(r.uint16, Anchor), function (t) {\n  return t.parent.classCount;\n});\nvar BaseArray = new r.Array(BaseRecord, r.uint16);\nvar ComponentRecord = new r.Array(new r.Pointer(r.uint16, Anchor), function (t) {\n  return t.parent.parent.classCount;\n});\nvar LigatureAttach = new r.Array(ComponentRecord, r.uint16);\nvar LigatureArray = new r.Array(new r.Pointer(r.uint16, LigatureAttach), r.uint16);\nvar GPOSLookup = new r.VersionedStruct('lookupType', {\n  1: new r.VersionedStruct(r.uint16, {\n    // Single Adjustment\n    1: {\n      // Single positioning value\n      coverage: new r.Pointer(r.uint16, Coverage),\n      valueFormat: ValueFormat,\n      value: new ValueRecord()\n    },\n    2: {\n      coverage: new r.Pointer(r.uint16, Coverage),\n      valueFormat: ValueFormat,\n      valueCount: r.uint16,\n      values: new r.LazyArray(new ValueRecord(), 'valueCount')\n    }\n  }),\n  2: new r.VersionedStruct(r.uint16, {\n    // Pair Adjustment Positioning\n    1: {\n      // Adjustments for glyph pairs\n      coverage: new r.Pointer(r.uint16, Coverage),\n      valueFormat1: ValueFormat,\n      valueFormat2: ValueFormat,\n      pairSetCount: r.uint16,\n      pairSets: new r.LazyArray(new r.Pointer(r.uint16, PairSet), 'pairSetCount')\n    },\n    2: {\n      // Class pair adjustment\n      coverage: new r.Pointer(r.uint16, Coverage),\n      valueFormat1: ValueFormat,\n      valueFormat2: ValueFormat,\n      classDef1: new r.Pointer(r.uint16, ClassDef),\n      classDef2: new r.Pointer(r.uint16, ClassDef),\n      class1Count: r.uint16,\n      class2Count: r.uint16,\n      classRecords: new r.LazyArray(new r.LazyArray(Class2Record, 'class2Count'), 'class1Count')\n    }\n  }),\n  3: {\n    // Cursive Attachment Positioning\n    format: r.uint16,\n    coverage: new r.Pointer(r.uint16, Coverage),\n    entryExitCount: r.uint16,\n    entryExitRecords: new r.Array(EntryExitRecord, 'entryExitCount')\n  },\n  4: {\n    // MarkToBase Attachment Positioning\n    format: r.uint16,\n    markCoverage: new r.Pointer(r.uint16, Coverage),\n    baseCoverage: new r.Pointer(r.uint16, Coverage),\n    classCount: r.uint16,\n    markArray: new r.Pointer(r.uint16, MarkArray),\n    baseArray: new r.Pointer(r.uint16, BaseArray)\n  },\n  5: {\n    // MarkToLigature Attachment Positioning\n    format: r.uint16,\n    markCoverage: new r.Pointer(r.uint16, Coverage),\n    ligatureCoverage: new r.Pointer(r.uint16, Coverage),\n    classCount: r.uint16,\n    markArray: new r.Pointer(r.uint16, MarkArray),\n    ligatureArray: new r.Pointer(r.uint16, LigatureArray)\n  },\n  6: {\n    // MarkToMark Attachment Positioning\n    format: r.uint16,\n    mark1Coverage: new r.Pointer(r.uint16, Coverage),\n    mark2Coverage: new r.Pointer(r.uint16, Coverage),\n    classCount: r.uint16,\n    mark1Array: new r.Pointer(r.uint16, MarkArray),\n    mark2Array: new r.Pointer(r.uint16, BaseArray)\n  },\n  7: Context,\n  // Contextual positioning\n  8: ChainingContext,\n  // Chaining contextual positioning\n  9: {\n    // Extension Positioning\n    posFormat: r.uint16,\n    lookupType: r.uint16,\n    // cannot also be 9\n    extension: new r.Pointer(r.uint32, GPOSLookup)\n  }\n}); // Fix circular reference\n\nGPOSLookup.versions[9].extension.type = GPOSLookup;\nvar GPOS = new r.VersionedStruct(r.uint32, {\n  header: {\n    scriptList: new r.Pointer(r.uint16, ScriptList),\n    featureList: new r.Pointer(r.uint16, FeatureList),\n    lookupList: new r.Pointer(r.uint16, new LookupList(GPOSLookup))\n  },\n  0x00010000: {},\n  0x00010001: {\n    featureVariations: new r.Pointer(r.uint32, FeatureVariations)\n  }\n}); // export GPOSLookup for JSTF table\n\nvar Sequence = new r.Array(r.uint16, r.uint16);\nvar AlternateSet = Sequence;\nvar Ligature = new r.Struct({\n  glyph: r.uint16,\n  compCount: r.uint16,\n  components: new r.Array(r.uint16, function (t) {\n    return t.compCount - 1;\n  })\n});\nvar LigatureSet = new r.Array(new r.Pointer(r.uint16, Ligature), r.uint16);\nvar GSUBLookup = new r.VersionedStruct('lookupType', {\n  1: new r.VersionedStruct(r.uint16, {\n    // Single Substitution\n    1: {\n      coverage: new r.Pointer(r.uint16, Coverage),\n      deltaGlyphID: r.int16\n    },\n    2: {\n      coverage: new r.Pointer(r.uint16, Coverage),\n      glyphCount: r.uint16,\n      substitute: new r.LazyArray(r.uint16, 'glyphCount')\n    }\n  }),\n  2: {\n    // Multiple Substitution\n    substFormat: r.uint16,\n    coverage: new r.Pointer(r.uint16, Coverage),\n    count: r.uint16,\n    sequences: new r.LazyArray(new r.Pointer(r.uint16, Sequence), 'count')\n  },\n  3: {\n    // Alternate Substitution\n    substFormat: r.uint16,\n    coverage: new r.Pointer(r.uint16, Coverage),\n    count: r.uint16,\n    alternateSet: new r.LazyArray(new r.Pointer(r.uint16, AlternateSet), 'count')\n  },\n  4: {\n    // Ligature Substitution\n    substFormat: r.uint16,\n    coverage: new r.Pointer(r.uint16, Coverage),\n    count: r.uint16,\n    ligatureSets: new r.LazyArray(new r.Pointer(r.uint16, LigatureSet), 'count')\n  },\n  5: Context,\n  // Contextual Substitution\n  6: ChainingContext,\n  // Chaining Contextual Substitution\n  7: {\n    // Extension Substitution\n    substFormat: r.uint16,\n    lookupType: r.uint16,\n    // cannot also be 7\n    extension: new r.Pointer(r.uint32, GSUBLookup)\n  },\n  8: {\n    // Reverse Chaining Contextual Single Substitution\n    substFormat: r.uint16,\n    coverage: new r.Pointer(r.uint16, Coverage),\n    backtrackCoverage: new r.Array(new r.Pointer(r.uint16, Coverage), 'backtrackGlyphCount'),\n    lookaheadGlyphCount: r.uint16,\n    lookaheadCoverage: new r.Array(new r.Pointer(r.uint16, Coverage), 'lookaheadGlyphCount'),\n    glyphCount: r.uint16,\n    substitutes: new r.Array(r.uint16, 'glyphCount')\n  }\n}); // Fix circular reference\n\nGSUBLookup.versions[7].extension.type = GSUBLookup;\nvar GSUB = new r.VersionedStruct(r.uint32, {\n  header: {\n    scriptList: new r.Pointer(r.uint16, ScriptList),\n    featureList: new r.Pointer(r.uint16, FeatureList),\n    lookupList: new r.Pointer(r.uint16, new LookupList(GSUBLookup))\n  },\n  0x00010000: {},\n  0x00010001: {\n    featureVariations: new r.Pointer(r.uint32, FeatureVariations)\n  }\n});\nvar JstfGSUBModList = new r.Array(r.uint16, r.uint16);\nvar JstfPriority = new r.Struct({\n  shrinkageEnableGSUB: new r.Pointer(r.uint16, JstfGSUBModList),\n  shrinkageDisableGSUB: new r.Pointer(r.uint16, JstfGSUBModList),\n  shrinkageEnableGPOS: new r.Pointer(r.uint16, JstfGSUBModList),\n  shrinkageDisableGPOS: new r.Pointer(r.uint16, JstfGSUBModList),\n  shrinkageJstfMax: new r.Pointer(r.uint16, new LookupList(GPOSLookup)),\n  extensionEnableGSUB: new r.Pointer(r.uint16, JstfGSUBModList),\n  extensionDisableGSUB: new r.Pointer(r.uint16, JstfGSUBModList),\n  extensionEnableGPOS: new r.Pointer(r.uint16, JstfGSUBModList),\n  extensionDisableGPOS: new r.Pointer(r.uint16, JstfGSUBModList),\n  extensionJstfMax: new r.Pointer(r.uint16, new LookupList(GPOSLookup))\n});\nvar JstfLangSys = new r.Array(new r.Pointer(r.uint16, JstfPriority), r.uint16);\nvar JstfLangSysRecord = new r.Struct({\n  tag: new r.String(4),\n  jstfLangSys: new r.Pointer(r.uint16, JstfLangSys)\n});\nvar JstfScript = new r.Struct({\n  extenderGlyphs: new r.Pointer(r.uint16, new r.Array(r.uint16, r.uint16)),\n  // array of glyphs to extend line length\n  defaultLangSys: new r.Pointer(r.uint16, JstfLangSys),\n  langSysCount: r.uint16,\n  langSysRecords: new r.Array(JstfLangSysRecord, 'langSysCount')\n});\nvar JstfScriptRecord = new r.Struct({\n  tag: new r.String(4),\n  script: new r.Pointer(r.uint16, JstfScript, {\n    type: 'parent'\n  })\n});\nvar JSTF = new r.Struct({\n  version: r.uint32,\n  // should be 0x00010000\n  scriptCount: r.uint16,\n  scriptList: new r.Array(JstfScriptRecord, 'scriptCount')\n});\nvar VariableSizeNumber = /*#__PURE__*/function () {\n  function VariableSizeNumber(size) {\n    this._size = size;\n  }\n  var _proto11 = VariableSizeNumber.prototype;\n  _proto11.decode = function decode(stream, parent) {\n    switch (this.size(0, parent)) {\n      case 1:\n        return stream.readUInt8();\n      case 2:\n        return stream.readUInt16BE();\n      case 3:\n        return stream.readUInt24BE();\n      case 4:\n        return stream.readUInt32BE();\n    }\n  };\n  _proto11.size = function size(val, parent) {\n    return utils.resolveLength(this._size, null, parent);\n  };\n  return VariableSizeNumber;\n}();\nvar MapDataEntry = new r.Struct({\n  entry: new VariableSizeNumber(function (t) {\n    return ((t.parent.entryFormat & 0x0030) >> 4) + 1;\n  }),\n  outerIndex: function outerIndex(t) {\n    return t.entry >> (t.parent.entryFormat & 0x000F) + 1;\n  },\n  innerIndex: function innerIndex(t) {\n    return t.entry & (1 << (t.parent.entryFormat & 0x000F) + 1) - 1;\n  }\n});\nvar DeltaSetIndexMap = new r.Struct({\n  entryFormat: r.uint16,\n  mapCount: r.uint16,\n  mapData: new r.Array(MapDataEntry, 'mapCount')\n});\nvar HVAR = new r.Struct({\n  majorVersion: r.uint16,\n  minorVersion: r.uint16,\n  itemVariationStore: new r.Pointer(r.uint32, ItemVariationStore),\n  advanceWidthMapping: new r.Pointer(r.uint32, DeltaSetIndexMap),\n  LSBMapping: new r.Pointer(r.uint32, DeltaSetIndexMap),\n  RSBMapping: new r.Pointer(r.uint32, DeltaSetIndexMap)\n});\nvar Signature = new r.Struct({\n  format: r.uint32,\n  length: r.uint32,\n  offset: r.uint32\n});\nvar SignatureBlock = new r.Struct({\n  reserved: new r.Reserved(r.uint16, 2),\n  cbSignature: r.uint32,\n  // Length (in bytes) of the PKCS#7 packet in pbSignature\n  signature: new r.Buffer('cbSignature')\n});\nvar DSIG = new r.Struct({\n  ulVersion: r.uint32,\n  // Version number of the DSIG table (0x00000001)\n  usNumSigs: r.uint16,\n  // Number of signatures in the table\n  usFlag: r.uint16,\n  // Permission flags\n  signatures: new r.Array(Signature, 'usNumSigs'),\n  signatureBlocks: new r.Array(SignatureBlock, 'usNumSigs')\n});\nvar GaspRange = new r.Struct({\n  rangeMaxPPEM: r.uint16,\n  // Upper limit of range, in ppem\n  rangeGaspBehavior: new r.Bitfield(r.uint16, [\n  // Flags describing desired rasterizer behavior\n  'grayscale', 'gridfit', 'symmetricSmoothing', 'symmetricGridfit' // only in version 1, for ClearType\n  ])\n});\n\nvar gasp = new r.Struct({\n  version: r.uint16,\n  // set to 0\n  numRanges: r.uint16,\n  gaspRanges: new r.Array(GaspRange, 'numRanges') // Sorted by ppem\n});\n\nvar DeviceRecord = new r.Struct({\n  pixelSize: r.uint8,\n  maximumWidth: r.uint8,\n  widths: new r.Array(r.uint8, function (t) {\n    return t.parent.parent.maxp.numGlyphs;\n  })\n}); // The Horizontal Device Metrics table stores integer advance widths scaled to particular pixel sizes\n\nvar hdmx = new r.Struct({\n  version: r.uint16,\n  numRecords: r.int16,\n  sizeDeviceRecord: r.int32,\n  records: new r.Array(DeviceRecord, 'numRecords')\n});\nvar KernPair = new r.Struct({\n  left: r.uint16,\n  right: r.uint16,\n  value: r.int16\n});\nvar ClassTable = new r.Struct({\n  firstGlyph: r.uint16,\n  nGlyphs: r.uint16,\n  offsets: new r.Array(r.uint16, 'nGlyphs'),\n  max: function max(t) {\n    return t.offsets.length && Math.max.apply(Math, t.offsets);\n  }\n});\nvar Kern2Array = new r.Struct({\n  off: function off(t) {\n    return t._startOffset - t.parent.parent._startOffset;\n  },\n  len: function len(t) {\n    return ((t.parent.leftTable.max - t.off) / t.parent.rowWidth + 1) * (t.parent.rowWidth / 2);\n  },\n  values: new r.LazyArray(r.int16, 'len')\n});\nvar KernSubtable = new r.VersionedStruct('format', {\n  0: {\n    nPairs: r.uint16,\n    searchRange: r.uint16,\n    entrySelector: r.uint16,\n    rangeShift: r.uint16,\n    pairs: new r.Array(KernPair, 'nPairs')\n  },\n  2: {\n    rowWidth: r.uint16,\n    leftTable: new r.Pointer(r.uint16, ClassTable, {\n      type: 'parent'\n    }),\n    rightTable: new r.Pointer(r.uint16, ClassTable, {\n      type: 'parent'\n    }),\n    array: new r.Pointer(r.uint16, Kern2Array, {\n      type: 'parent'\n    })\n  },\n  3: {\n    glyphCount: r.uint16,\n    kernValueCount: r.uint8,\n    leftClassCount: r.uint8,\n    rightClassCount: r.uint8,\n    flags: r.uint8,\n    kernValue: new r.Array(r.int16, 'kernValueCount'),\n    leftClass: new r.Array(r.uint8, 'glyphCount'),\n    rightClass: new r.Array(r.uint8, 'glyphCount'),\n    kernIndex: new r.Array(r.uint8, function (t) {\n      return t.leftClassCount * t.rightClassCount;\n    })\n  }\n});\nvar KernTable = new r.VersionedStruct('version', {\n  0: {\n    // Microsoft uses this format\n    subVersion: r.uint16,\n    // Microsoft has an extra sub-table version number\n    length: r.uint16,\n    // Length of the subtable, in bytes\n    format: r.uint8,\n    // Format of subtable\n    coverage: new r.Bitfield(r.uint8, ['horizontal',\n    // 1 if table has horizontal data, 0 if vertical\n    'minimum',\n    // If set to 1, the table has minimum values. If set to 0, the table has kerning values.\n    'crossStream',\n    // If set to 1, kerning is perpendicular to the flow of the text\n    'override' // If set to 1 the value in this table replaces the accumulated value\n    ]),\n\n    subtable: KernSubtable,\n    padding: new r.Reserved(r.uint8, function (t) {\n      return t.length - t._currentOffset;\n    })\n  },\n  1: {\n    // Apple uses this format\n    length: r.uint32,\n    coverage: new r.Bitfield(r.uint8, [null, null, null, null, null, 'variation',\n    // Set if table has variation kerning values\n    'crossStream',\n    // Set if table has cross-stream kerning values\n    'vertical' // Set if table has vertical kerning values\n    ]),\n\n    format: r.uint8,\n    tupleIndex: r.uint16,\n    subtable: KernSubtable,\n    padding: new r.Reserved(r.uint8, function (t) {\n      return t.length - t._currentOffset;\n    })\n  }\n});\nvar kern = new r.VersionedStruct(r.uint16, {\n  0: {\n    // Microsoft Version\n    nTables: r.uint16,\n    tables: new r.Array(KernTable, 'nTables')\n  },\n  1: {\n    // Apple Version\n    reserved: new r.Reserved(r.uint16),\n    // the other half of the version number\n    nTables: r.uint32,\n    tables: new r.Array(KernTable, 'nTables')\n  }\n});\n\n// Records the ppem for each glyph at which the scaling becomes linear again,\n// despite instructions effecting the advance width\n\nvar LTSH = new r.Struct({\n  version: r.uint16,\n  numGlyphs: r.uint16,\n  yPels: new r.Array(r.uint8, 'numGlyphs')\n});\n\n// NOTE: The PCLT table is strongly discouraged for OpenType fonts with TrueType outlines\n\nvar PCLT = new r.Struct({\n  version: r.uint16,\n  fontNumber: r.uint32,\n  pitch: r.uint16,\n  xHeight: r.uint16,\n  style: r.uint16,\n  typeFamily: r.uint16,\n  capHeight: r.uint16,\n  symbolSet: r.uint16,\n  typeface: new r.String(16),\n  characterComplement: new r.String(8),\n  fileName: new r.String(6),\n  strokeWeight: new r.String(1),\n  widthType: new r.String(1),\n  serifStyle: r.uint8,\n  reserved: new r.Reserved(r.uint8)\n});\n\n// sizes. This is needed in order to match font metrics on Windows.\n\nvar Ratio = new r.Struct({\n  bCharSet: r.uint8,\n  // Character set\n  xRatio: r.uint8,\n  // Value to use for x-Ratio\n  yStartRatio: r.uint8,\n  // Starting y-Ratio value\n  yEndRatio: r.uint8 // Ending y-Ratio value\n});\n\nvar vTable = new r.Struct({\n  yPelHeight: r.uint16,\n  // yPelHeight to which values apply\n  yMax: r.int16,\n  // Maximum value (in pels) for this yPelHeight\n  yMin: r.int16 // Minimum value (in pels) for this yPelHeight\n});\n\nvar VdmxGroup = new r.Struct({\n  recs: r.uint16,\n  // Number of height records in this group\n  startsz: r.uint8,\n  // Starting yPelHeight\n  endsz: r.uint8,\n  // Ending yPelHeight\n  entries: new r.Array(vTable, 'recs') // The VDMX records\n});\n\nvar VDMX = new r.Struct({\n  version: r.uint16,\n  // Version number (0 or 1)\n  numRecs: r.uint16,\n  // Number of VDMX groups present\n  numRatios: r.uint16,\n  // Number of aspect ratio groupings\n  ratioRanges: new r.Array(Ratio, 'numRatios'),\n  // Ratio ranges\n  offsets: new r.Array(r.uint16, 'numRatios'),\n  // Offset to the VDMX group for this ratio range\n  groups: new r.Array(VdmxGroup, 'numRecs') // The actual VDMX groupings\n});\n\nvar vhea = new r.Struct({\n  version: r.uint16,\n  // Version number of the Vertical Header Table\n  ascent: r.int16,\n  // The vertical typographic ascender for this font\n  descent: r.int16,\n  // The vertical typographic descender for this font\n  lineGap: r.int16,\n  // The vertical typographic line gap for this font\n  advanceHeightMax: r.int16,\n  // The maximum advance height measurement found in the font\n  minTopSideBearing: r.int16,\n  // The minimum top side bearing measurement found in the font\n  minBottomSideBearing: r.int16,\n  // The minimum bottom side bearing measurement found in the font\n  yMaxExtent: r.int16,\n  caretSlopeRise: r.int16,\n  // Caret slope (rise/run)\n  caretSlopeRun: r.int16,\n  caretOffset: r.int16,\n  // Set value equal to 0 for nonslanted fonts\n  reserved: new r.Reserved(r.int16, 4),\n  metricDataFormat: r.int16,\n  // Set to 0\n  numberOfMetrics: r.uint16 // Number of advance heights in the Vertical Metrics table\n});\n\nvar VmtxEntry = new r.Struct({\n  advance: r.uint16,\n  // The advance height of the glyph\n  bearing: r.int16 // The top sidebearing of the glyph\n}); // Vertical Metrics Table\n\nvar vmtx = new r.Struct({\n  metrics: new r.LazyArray(VmtxEntry, function (t) {\n    return t.parent.vhea.numberOfMetrics;\n  }),\n  bearings: new r.LazyArray(r.int16, function (t) {\n    return t.parent.maxp.numGlyphs - t.parent.vhea.numberOfMetrics;\n  })\n});\nvar shortFrac = new r.Fixed(16, 'BE', 14);\nvar Correspondence = new r.Struct({\n  fromCoord: shortFrac,\n  toCoord: shortFrac\n});\nvar Segment = new r.Struct({\n  pairCount: r.uint16,\n  correspondence: new r.Array(Correspondence, 'pairCount')\n});\nvar avar = new r.Struct({\n  version: r.fixed32,\n  axisCount: r.uint32,\n  segment: new r.Array(Segment, 'axisCount')\n});\nvar UnboundedArrayAccessor = /*#__PURE__*/function () {\n  function UnboundedArrayAccessor(type, stream, parent) {\n    this.type = type;\n    this.stream = stream;\n    this.parent = parent;\n    this.base = this.stream.pos;\n    this._items = [];\n  }\n  var _proto12 = UnboundedArrayAccessor.prototype;\n  _proto12.getItem = function getItem(index) {\n    if (this._items[index] == null) {\n      var pos = this.stream.pos;\n      this.stream.pos = this.base + this.type.size(null, this.parent) * index;\n      this._items[index] = this.type.decode(this.stream, this.parent);\n      this.stream.pos = pos;\n    }\n    return this._items[index];\n  };\n  _proto12.inspect = function inspect() {\n    return \"[UnboundedArray \".concat(this.type.constructor.name, \"]\");\n  };\n  return UnboundedArrayAccessor;\n}();\nvar UnboundedArray = /*#__PURE__*/function (_r$Array2) {\n  _inheritsLoose(UnboundedArray, _r$Array2);\n  function UnboundedArray(type) {\n    return _r$Array2.call(this, type, 0) || this;\n  }\n  var _proto13 = UnboundedArray.prototype;\n  _proto13.decode = function decode(stream, parent) {\n    return new UnboundedArrayAccessor(this.type, stream, parent);\n  };\n  return UnboundedArray;\n}(r.Array);\nvar LookupTable = function LookupTable(ValueType) {\n  if (ValueType === void 0) {\n    ValueType = r.uint16;\n  }\n  // Helper class that makes internal structures invisible to pointers\n  var Shadow = /*#__PURE__*/function () {\n    function Shadow(type) {\n      this.type = type;\n    }\n    var _proto14 = Shadow.prototype;\n    _proto14.decode = function decode(stream, ctx) {\n      ctx = ctx.parent.parent;\n      return this.type.decode(stream, ctx);\n    };\n    _proto14.size = function size(val, ctx) {\n      ctx = ctx.parent.parent;\n      return this.type.size(val, ctx);\n    };\n    _proto14.encode = function encode(stream, val, ctx) {\n      ctx = ctx.parent.parent;\n      return this.type.encode(stream, val, ctx);\n    };\n    return Shadow;\n  }();\n  ValueType = new Shadow(ValueType);\n  var BinarySearchHeader = new r.Struct({\n    unitSize: r.uint16,\n    nUnits: r.uint16,\n    searchRange: r.uint16,\n    entrySelector: r.uint16,\n    rangeShift: r.uint16\n  });\n  var LookupSegmentSingle = new r.Struct({\n    lastGlyph: r.uint16,\n    firstGlyph: r.uint16,\n    value: ValueType\n  });\n  var LookupSegmentArray = new r.Struct({\n    lastGlyph: r.uint16,\n    firstGlyph: r.uint16,\n    values: new r.Pointer(r.uint16, new r.Array(ValueType, function (t) {\n      return t.lastGlyph - t.firstGlyph + 1;\n    }), {\n      type: 'parent'\n    })\n  });\n  var LookupSingle = new r.Struct({\n    glyph: r.uint16,\n    value: ValueType\n  });\n  return new r.VersionedStruct(r.uint16, {\n    0: {\n      values: new UnboundedArray(ValueType) // length == number of glyphs maybe?\n    },\n\n    2: {\n      binarySearchHeader: BinarySearchHeader,\n      segments: new r.Array(LookupSegmentSingle, function (t) {\n        return t.binarySearchHeader.nUnits;\n      })\n    },\n    4: {\n      binarySearchHeader: BinarySearchHeader,\n      segments: new r.Array(LookupSegmentArray, function (t) {\n        return t.binarySearchHeader.nUnits;\n      })\n    },\n    6: {\n      binarySearchHeader: BinarySearchHeader,\n      segments: new r.Array(LookupSingle, function (t) {\n        return t.binarySearchHeader.nUnits;\n      })\n    },\n    8: {\n      firstGlyph: r.uint16,\n      count: r.uint16,\n      values: new r.Array(ValueType, 'count')\n    }\n  });\n};\nfunction StateTable(entryData, lookupType) {\n  if (entryData === void 0) {\n    entryData = {};\n  }\n  if (lookupType === void 0) {\n    lookupType = r.uint16;\n  }\n  var entry = Object.assign({\n    newState: r.uint16,\n    flags: r.uint16\n  }, entryData);\n  var Entry = new r.Struct(entry);\n  var StateArray = new UnboundedArray(new r.Array(r.uint16, function (t) {\n    return t.nClasses;\n  }));\n  var StateHeader = new r.Struct({\n    nClasses: r.uint32,\n    classTable: new r.Pointer(r.uint32, new LookupTable(lookupType)),\n    stateArray: new r.Pointer(r.uint32, StateArray),\n    entryTable: new r.Pointer(r.uint32, new UnboundedArray(Entry))\n  });\n  return StateHeader;\n} // This is the old version of the StateTable structure\n\nfunction StateTable1(entryData, lookupType) {\n  if (entryData === void 0) {\n    entryData = {};\n  }\n  if (lookupType === void 0) {\n    lookupType = r.uint16;\n  }\n  var ClassLookupTable = new r.Struct({\n    version: function version() {\n      return 8;\n    },\n    // simulate LookupTable\n    firstGlyph: r.uint16,\n    values: new r.Array(r.uint8, r.uint16)\n  });\n  var entry = Object.assign({\n    newStateOffset: r.uint16,\n    // convert offset to stateArray index\n    newState: function newState(t) {\n      return (t.newStateOffset - (t.parent.stateArray.base - t.parent._startOffset)) / t.parent.nClasses;\n    },\n    flags: r.uint16\n  }, entryData);\n  var Entry = new r.Struct(entry);\n  var StateArray = new UnboundedArray(new r.Array(r.uint8, function (t) {\n    return t.nClasses;\n  }));\n  var StateHeader1 = new r.Struct({\n    nClasses: r.uint16,\n    classTable: new r.Pointer(r.uint16, ClassLookupTable),\n    stateArray: new r.Pointer(r.uint16, StateArray),\n    entryTable: new r.Pointer(r.uint16, new UnboundedArray(Entry))\n  });\n  return StateHeader1;\n}\nvar BslnSubtable = new r.VersionedStruct('format', {\n  0: {\n    // Distance-based, no mapping\n    deltas: new r.Array(r.int16, 32)\n  },\n  1: {\n    // Distance-based, with mapping\n    deltas: new r.Array(r.int16, 32),\n    mappingData: new LookupTable(r.uint16)\n  },\n  2: {\n    // Control point-based, no mapping\n    standardGlyph: r.uint16,\n    controlPoints: new r.Array(r.uint16, 32)\n  },\n  3: {\n    // Control point-based, with mapping\n    standardGlyph: r.uint16,\n    controlPoints: new r.Array(r.uint16, 32),\n    mappingData: new LookupTable(r.uint16)\n  }\n});\nvar bsln = new r.Struct({\n  version: r.fixed32,\n  format: r.uint16,\n  defaultBaseline: r.uint16,\n  subtable: BslnSubtable\n});\nvar Setting = new r.Struct({\n  setting: r.uint16,\n  nameIndex: r.int16,\n  name: function name(t) {\n    return t.parent.parent.parent.name.records.fontFeatures[t.nameIndex];\n  }\n});\nvar FeatureName = new r.Struct({\n  feature: r.uint16,\n  nSettings: r.uint16,\n  settingTable: new r.Pointer(r.uint32, new r.Array(Setting, 'nSettings'), {\n    type: 'parent'\n  }),\n  featureFlags: new r.Bitfield(r.uint8, [null, null, null, null, null, null, 'hasDefault', 'exclusive']),\n  defaultSetting: r.uint8,\n  nameIndex: r.int16,\n  name: function name(t) {\n    return t.parent.parent.name.records.fontFeatures[t.nameIndex];\n  }\n});\nvar feat = new r.Struct({\n  version: r.fixed32,\n  featureNameCount: r.uint16,\n  reserved1: new r.Reserved(r.uint16),\n  reserved2: new r.Reserved(r.uint32),\n  featureNames: new r.Array(FeatureName, 'featureNameCount')\n});\nvar Axis$1 = new r.Struct({\n  axisTag: new r.String(4),\n  minValue: r.fixed32,\n  defaultValue: r.fixed32,\n  maxValue: r.fixed32,\n  flags: r.uint16,\n  nameID: r.uint16,\n  name: function name(t) {\n    return t.parent.parent.name.records.fontFeatures[t.nameID];\n  }\n});\nvar Instance = new r.Struct({\n  nameID: r.uint16,\n  name: function name(t) {\n    return t.parent.parent.name.records.fontFeatures[t.nameID];\n  },\n  flags: r.uint16,\n  coord: new r.Array(r.fixed32, function (t) {\n    return t.parent.axisCount;\n  }),\n  postscriptNameID: new r.Optional(r.uint16, function (t) {\n    return t.parent.instanceSize - t._currentOffset > 0;\n  })\n});\nvar fvar = new r.Struct({\n  version: r.fixed32,\n  offsetToData: r.uint16,\n  countSizePairs: r.uint16,\n  axisCount: r.uint16,\n  axisSize: r.uint16,\n  instanceCount: r.uint16,\n  instanceSize: r.uint16,\n  axis: new r.Array(Axis$1, 'axisCount'),\n  instance: new r.Array(Instance, 'instanceCount')\n});\nvar shortFrac$1 = new r.Fixed(16, 'BE', 14);\nvar Offset = /*#__PURE__*/function () {\n  function Offset() {}\n  Offset.decode = function decode(stream, parent) {\n    // In short format, offsets are multiplied by 2.\n    // This doesn't seem to be documented by Apple, but it\n    // is implemented this way in Freetype.\n    return parent.flags ? stream.readUInt32BE() : stream.readUInt16BE() * 2;\n  };\n  return Offset;\n}();\nvar gvar = new r.Struct({\n  version: r.uint16,\n  reserved: new r.Reserved(r.uint16),\n  axisCount: r.uint16,\n  globalCoordCount: r.uint16,\n  globalCoords: new r.Pointer(r.uint32, new r.Array(new r.Array(shortFrac$1, 'axisCount'), 'globalCoordCount')),\n  glyphCount: r.uint16,\n  flags: r.uint16,\n  offsetToData: r.uint32,\n  offsets: new r.Array(new r.Pointer(Offset, 'void', {\n    relativeTo: function relativeTo(ctx) {\n      return ctx.offsetToData;\n    },\n    allowNull: false\n  }), function (t) {\n    return t.glyphCount + 1;\n  })\n});\nvar ClassTable$1 = new r.Struct({\n  length: r.uint16,\n  coverage: r.uint16,\n  subFeatureFlags: r.uint32,\n  stateTable: new StateTable1()\n});\nvar WidthDeltaRecord = new r.Struct({\n  justClass: r.uint32,\n  beforeGrowLimit: r.fixed32,\n  beforeShrinkLimit: r.fixed32,\n  afterGrowLimit: r.fixed32,\n  afterShrinkLimit: r.fixed32,\n  growFlags: r.uint16,\n  shrinkFlags: r.uint16\n});\nvar WidthDeltaCluster = new r.Array(WidthDeltaRecord, r.uint32);\nvar ActionData = new r.VersionedStruct('actionType', {\n  0: {\n    // Decomposition action\n    lowerLimit: r.fixed32,\n    upperLimit: r.fixed32,\n    order: r.uint16,\n    glyphs: new r.Array(r.uint16, r.uint16)\n  },\n  1: {\n    // Unconditional add glyph action\n    addGlyph: r.uint16\n  },\n  2: {\n    // Conditional add glyph action\n    substThreshold: r.fixed32,\n    addGlyph: r.uint16,\n    substGlyph: r.uint16\n  },\n  3: {},\n  // Stretch glyph action (no data, not supported by CoreText)\n  4: {\n    // Ductile glyph action (not supported by CoreText)\n    variationAxis: r.uint32,\n    minimumLimit: r.fixed32,\n    noStretchValue: r.fixed32,\n    maximumLimit: r.fixed32\n  },\n  5: {\n    // Repeated add glyph action\n    flags: r.uint16,\n    glyph: r.uint16\n  }\n});\nvar Action = new r.Struct({\n  actionClass: r.uint16,\n  actionType: r.uint16,\n  actionLength: r.uint32,\n  actionData: ActionData,\n  padding: new r.Reserved(r.uint8, function (t) {\n    return t.actionLength - t._currentOffset;\n  })\n});\nvar PostcompensationAction = new r.Array(Action, r.uint32);\nvar PostCompensationTable = new r.Struct({\n  lookupTable: new LookupTable(new r.Pointer(r.uint16, PostcompensationAction))\n});\nvar JustificationTable = new r.Struct({\n  classTable: new r.Pointer(r.uint16, ClassTable$1, {\n    type: 'parent'\n  }),\n  wdcOffset: r.uint16,\n  postCompensationTable: new r.Pointer(r.uint16, PostCompensationTable, {\n    type: 'parent'\n  }),\n  widthDeltaClusters: new LookupTable(new r.Pointer(r.uint16, WidthDeltaCluster, {\n    type: 'parent',\n    relativeTo: function relativeTo(ctx) {\n      return ctx.wdcOffset;\n    }\n  }))\n});\nvar just = new r.Struct({\n  version: r.uint32,\n  format: r.uint16,\n  horizontal: new r.Pointer(r.uint16, JustificationTable),\n  vertical: new r.Pointer(r.uint16, JustificationTable)\n});\nvar LigatureData = {\n  action: r.uint16\n};\nvar ContextualData = {\n  markIndex: r.uint16,\n  currentIndex: r.uint16\n};\nvar InsertionData = {\n  currentInsertIndex: r.uint16,\n  markedInsertIndex: r.uint16\n};\nvar SubstitutionTable = new r.Struct({\n  items: new UnboundedArray(new r.Pointer(r.uint32, new LookupTable()))\n});\nvar SubtableData = new r.VersionedStruct('type', {\n  0: {\n    // Indic Rearrangement Subtable\n    stateTable: new StateTable()\n  },\n  1: {\n    // Contextual Glyph Substitution Subtable\n    stateTable: new StateTable(ContextualData),\n    substitutionTable: new r.Pointer(r.uint32, SubstitutionTable)\n  },\n  2: {\n    // Ligature subtable\n    stateTable: new StateTable(LigatureData),\n    ligatureActions: new r.Pointer(r.uint32, new UnboundedArray(r.uint32)),\n    components: new r.Pointer(r.uint32, new UnboundedArray(r.uint16)),\n    ligatureList: new r.Pointer(r.uint32, new UnboundedArray(r.uint16))\n  },\n  4: {\n    // Non-contextual Glyph Substitution Subtable\n    lookupTable: new LookupTable()\n  },\n  5: {\n    // Glyph Insertion Subtable\n    stateTable: new StateTable(InsertionData),\n    insertionActions: new r.Pointer(r.uint32, new UnboundedArray(r.uint16))\n  }\n});\nvar Subtable = new r.Struct({\n  length: r.uint32,\n  coverage: r.uint24,\n  type: r.uint8,\n  subFeatureFlags: r.uint32,\n  table: SubtableData,\n  padding: new r.Reserved(r.uint8, function (t) {\n    return t.length - t._currentOffset;\n  })\n});\nvar FeatureEntry = new r.Struct({\n  featureType: r.uint16,\n  featureSetting: r.uint16,\n  enableFlags: r.uint32,\n  disableFlags: r.uint32\n});\nvar MorxChain = new r.Struct({\n  defaultFlags: r.uint32,\n  chainLength: r.uint32,\n  nFeatureEntries: r.uint32,\n  nSubtables: r.uint32,\n  features: new r.Array(FeatureEntry, 'nFeatureEntries'),\n  subtables: new r.Array(Subtable, 'nSubtables')\n});\nvar morx = new r.Struct({\n  version: r.uint16,\n  unused: new r.Reserved(r.uint16),\n  nChains: r.uint32,\n  chains: new r.Array(MorxChain, 'nChains')\n});\nvar OpticalBounds = new r.Struct({\n  left: r.int16,\n  top: r.int16,\n  right: r.int16,\n  bottom: r.int16\n});\nvar opbd = new r.Struct({\n  version: r.fixed32,\n  format: r.uint16,\n  lookupTable: new LookupTable(OpticalBounds)\n});\nvar tables = {};\ntables.cmap = cmap;\ntables.head = head;\ntables.hhea = hhea;\ntables.hmtx = hmtx;\ntables.maxp = maxp;\ntables.name = NameTable;\ntables['OS/2'] = OS2;\ntables.post = post; // TrueType Outlines\ntables.fpgm = fpgm;\ntables.loca = loca;\ntables.prep = prep;\ntables['cvt '] = cvt;\ntables.glyf = glyf; // PostScript Outlines\ntables['CFF '] = CFFFont;\ntables['CFF2'] = CFFFont;\ntables.VORG = VORG; // Bitmap Glyphs\ntables.EBLC = EBLC;\ntables.CBLC = tables.EBLC;\ntables.sbix = sbix;\ntables.COLR = COLR;\ntables.CPAL = CPAL; // Advanced OpenType Tables\ntables.BASE = BASE;\ntables.GDEF = GDEF;\ntables.GPOS = GPOS;\ntables.GSUB = GSUB;\ntables.JSTF = JSTF; // OpenType variations tables\ntables.HVAR = HVAR; // Other OpenType Tables\ntables.DSIG = DSIG;\ntables.gasp = gasp;\ntables.hdmx = hdmx;\ntables.kern = kern;\ntables.LTSH = LTSH;\ntables.PCLT = PCLT;\ntables.VDMX = VDMX;\ntables.vhea = vhea;\ntables.vmtx = vmtx; // Apple Advanced Typography Tables\ntables.avar = avar;\ntables.bsln = bsln;\ntables.feat = feat;\ntables.fvar = fvar;\ntables.gvar = gvar;\ntables.just = just;\ntables.morx = morx;\ntables.opbd = opbd;\nvar TableEntry = new r.Struct({\n  tag: new r.String(4),\n  checkSum: r.uint32,\n  offset: new r.Pointer(r.uint32, 'void', {\n    type: 'global'\n  }),\n  length: r.uint32\n});\nvar Directory = new r.Struct({\n  tag: new r.String(4),\n  numTables: r.uint16,\n  searchRange: r.uint16,\n  entrySelector: r.uint16,\n  rangeShift: r.uint16,\n  tables: new r.Array(TableEntry, 'numTables')\n});\nDirectory.process = function () {\n  var tables = {};\n  for (var _iterator9 = _createForOfIteratorHelperLoose(this.tables), _step9; !(_step9 = _iterator9()).done;) {\n    var table = _step9.value;\n    tables[table.tag] = table;\n  }\n  this.tables = tables;\n};\nDirectory.preEncode = function (stream) {\n  var tables$1 = [];\n  for (var tag in this.tables) {\n    var table = this.tables[tag];\n    if (table) {\n      tables$1.push({\n        tag: tag,\n        checkSum: 0,\n        offset: new r.VoidPointer(tables[tag], table),\n        length: tables[tag].size(table)\n      });\n    }\n  }\n  this.tag = 'true';\n  this.numTables = tables$1.length;\n  this.tables = tables$1;\n  var maxExponentFor2 = Math.floor(Math.log(this.numTables) / Math.LN2);\n  var maxPowerOf2 = Math.pow(2, maxExponentFor2);\n  this.searchRange = maxPowerOf2 * 16;\n  this.entrySelector = Math.log(maxPowerOf2) / Math.LN2;\n  this.rangeShift = this.numTables * 16 - this.searchRange;\n};\nfunction binarySearch(arr, cmp) {\n  var min = 0;\n  var max = arr.length - 1;\n  while (min <= max) {\n    var mid = min + max >> 1;\n    var res = cmp(arr[mid]);\n    if (res < 0) {\n      max = mid - 1;\n    } else if (res > 0) {\n      min = mid + 1;\n    } else {\n      return mid;\n    }\n  }\n  return -1;\n}\nfunction range(index, end) {\n  var range = [];\n  while (index < end) {\n    range.push(index++);\n  }\n  return range;\n}\nvar _class;\ntry {\n  var iconv = require('iconv-lite');\n} catch (err) {}\nvar CmapProcessor = (_class = /*#__PURE__*/function () {\n  function CmapProcessor(cmapTable) {\n    // Attempt to find a Unicode cmap first\n    this.encoding = null;\n    this.cmap = this.findSubtable(cmapTable, [\n    // 32-bit subtables\n    [3, 10], [0, 6], [0, 4],\n    // 16-bit subtables\n    [3, 1], [0, 3], [0, 2], [0, 1], [0, 0]]); // If not unicode cmap was found, and iconv-lite is installed,\n    // take the first table with a supported encoding.\n\n    if (!this.cmap && iconv) {\n      for (var _iterator10 = _createForOfIteratorHelperLoose(cmapTable.tables), _step10; !(_step10 = _iterator10()).done;) {\n        var cmap = _step10.value;\n        var encoding = getEncoding(cmap.platformID, cmap.encodingID, cmap.table.language - 1);\n        if (iconv.encodingExists(encoding)) {\n          this.cmap = cmap.table;\n          this.encoding = encoding;\n        }\n      }\n    }\n    if (!this.cmap) {\n      throw new Error(\"Could not find a supported cmap table\");\n    }\n    this.uvs = this.findSubtable(cmapTable, [[0, 5]]);\n    if (this.uvs && this.uvs.version !== 14) {\n      this.uvs = null;\n    }\n  }\n  var _proto15 = CmapProcessor.prototype;\n  _proto15.findSubtable = function findSubtable(cmapTable, pairs) {\n    for (var _iterator11 = _createForOfIteratorHelperLoose(pairs), _step11; !(_step11 = _iterator11()).done;) {\n      var _step11$value = _step11.value,\n        platformID = _step11$value[0],\n        encodingID = _step11$value[1];\n      for (var _iterator12 = _createForOfIteratorHelperLoose(cmapTable.tables), _step12; !(_step12 = _iterator12()).done;) {\n        var cmap = _step12.value;\n        if (cmap.platformID === platformID && cmap.encodingID === encodingID) {\n          return cmap.table;\n        }\n      }\n    }\n    return null;\n  };\n  _proto15.lookup = function lookup(codepoint, variationSelector) {\n    // If there is no Unicode cmap in this font, we need to re-encode\n    // the codepoint in the encoding that the cmap supports.\n    if (this.encoding) {\n      var buf = iconv.encode(String.fromCodePoint(codepoint), this.encoding);\n      codepoint = 0;\n      for (var i = 0; i < buf.length; i++) {\n        codepoint = codepoint << 8 | buf[i];\n      } // Otherwise, try to get a Unicode variation selector for this codepoint if one is provided.\n    } else if (variationSelector) {\n      var gid = this.getVariationSelector(codepoint, variationSelector);\n      if (gid) {\n        return gid;\n      }\n    }\n    var cmap = this.cmap;\n    switch (cmap.version) {\n      case 0:\n        return cmap.codeMap.get(codepoint) || 0;\n      case 4:\n        {\n          var min = 0;\n          var max = cmap.segCount - 1;\n          while (min <= max) {\n            var mid = min + max >> 1;\n            if (codepoint < cmap.startCode.get(mid)) {\n              max = mid - 1;\n            } else if (codepoint > cmap.endCode.get(mid)) {\n              min = mid + 1;\n            } else {\n              var rangeOffset = cmap.idRangeOffset.get(mid);\n              var _gid = void 0;\n              if (rangeOffset === 0) {\n                _gid = codepoint + cmap.idDelta.get(mid);\n              } else {\n                var index = rangeOffset / 2 + (codepoint - cmap.startCode.get(mid)) - (cmap.segCount - mid);\n                _gid = cmap.glyphIndexArray.get(index) || 0;\n                if (_gid !== 0) {\n                  _gid += cmap.idDelta.get(mid);\n                }\n              }\n              return _gid & 0xffff;\n            }\n          }\n          return 0;\n        }\n      case 8:\n        throw new Error('TODO: cmap format 8');\n      case 6:\n      case 10:\n        return cmap.glyphIndices.get(codepoint - cmap.firstCode) || 0;\n      case 12:\n      case 13:\n        {\n          var _min = 0;\n          var _max = cmap.nGroups - 1;\n          while (_min <= _max) {\n            var _mid = _min + _max >> 1;\n            var group = cmap.groups.get(_mid);\n            if (codepoint < group.startCharCode) {\n              _max = _mid - 1;\n            } else if (codepoint > group.endCharCode) {\n              _min = _mid + 1;\n            } else {\n              if (cmap.version === 12) {\n                return group.glyphID + (codepoint - group.startCharCode);\n              } else {\n                return group.glyphID;\n              }\n            }\n          }\n          return 0;\n        }\n      case 14:\n        throw new Error('TODO: cmap format 14');\n      default:\n        throw new Error(\"Unknown cmap format \".concat(cmap.version));\n    }\n  };\n  _proto15.getVariationSelector = function getVariationSelector(codepoint, variationSelector) {\n    if (!this.uvs) {\n      return 0;\n    }\n    var selectors = this.uvs.varSelectors.toArray();\n    var i = binarySearch(selectors, function (x) {\n      return variationSelector - x.varSelector;\n    });\n    var sel = selectors[i];\n    if (i !== -1 && sel.defaultUVS) {\n      i = binarySearch(sel.defaultUVS, function (x) {\n        return codepoint < x.startUnicodeValue ? -1 : codepoint > x.startUnicodeValue + x.additionalCount ? +1 : 0;\n      });\n    }\n    if (i !== -1 && sel.nonDefaultUVS) {\n      i = binarySearch(sel.nonDefaultUVS, function (x) {\n        return codepoint - x.unicodeValue;\n      });\n      if (i !== -1) {\n        return sel.nonDefaultUVS[i].glyphID;\n      }\n    }\n    return 0;\n  };\n  _proto15.getCharacterSet = function getCharacterSet() {\n    var cmap = this.cmap;\n    switch (cmap.version) {\n      case 0:\n        return range(0, cmap.codeMap.length);\n      case 4:\n        {\n          var res = [];\n          var endCodes = cmap.endCode.toArray();\n          for (var i = 0; i < endCodes.length; i++) {\n            var tail = endCodes[i] + 1;\n            var start = cmap.startCode.get(i);\n            res.push.apply(res, range(start, tail));\n          }\n          return res;\n        }\n      case 8:\n        throw new Error('TODO: cmap format 8');\n      case 6:\n      case 10:\n        return range(cmap.firstCode, cmap.firstCode + cmap.glyphIndices.length);\n      case 12:\n      case 13:\n        {\n          var _res = [];\n          for (var _iterator13 = _createForOfIteratorHelperLoose(cmap.groups.toArray()), _step13; !(_step13 = _iterator13()).done;) {\n            var group = _step13.value;\n            _res.push.apply(_res, range(group.startCharCode, group.endCharCode + 1));\n          }\n          return _res;\n        }\n      case 14:\n        throw new Error('TODO: cmap format 14');\n      default:\n        throw new Error(\"Unknown cmap format \".concat(cmap.version));\n    }\n  };\n  _proto15.codePointsForGlyph = function codePointsForGlyph(gid) {\n    var cmap = this.cmap;\n    switch (cmap.version) {\n      case 0:\n        {\n          var res = [];\n          for (var i = 0; i < 256; i++) {\n            if (cmap.codeMap.get(i) === gid) {\n              res.push(i);\n            }\n          }\n          return res;\n        }\n      case 4:\n        {\n          var _res2 = [];\n          for (var _i = 0; _i < cmap.segCount; _i++) {\n            var end = cmap.endCode.get(_i);\n            var start = cmap.startCode.get(_i);\n            var rangeOffset = cmap.idRangeOffset.get(_i);\n            var delta = cmap.idDelta.get(_i);\n            for (var c = start; c <= end; c++) {\n              var g = 0;\n              if (rangeOffset === 0) {\n                g = c + delta;\n              } else {\n                var index = rangeOffset / 2 + (c - start) - (cmap.segCount - _i);\n                g = cmap.glyphIndexArray.get(index) || 0;\n                if (g !== 0) {\n                  g += delta;\n                }\n              }\n              if (g === gid) {\n                _res2.push(c);\n              }\n            }\n          }\n          return _res2;\n        }\n      case 12:\n        {\n          var _res3 = [];\n          for (var _iterator14 = _createForOfIteratorHelperLoose(cmap.groups.toArray()), _step14; !(_step14 = _iterator14()).done;) {\n            var group = _step14.value;\n            if (gid >= group.glyphID && gid <= group.glyphID + (group.endCharCode - group.startCharCode)) {\n              _res3.push(group.startCharCode + (gid - group.glyphID));\n            }\n          }\n          return _res3;\n        }\n      case 13:\n        {\n          var _res4 = [];\n          for (var _iterator15 = _createForOfIteratorHelperLoose(cmap.groups.toArray()), _step15; !(_step15 = _iterator15()).done;) {\n            var _group = _step15.value;\n            if (gid === _group.glyphID) {\n              _res4.push.apply(_res4, range(_group.startCharCode, _group.endCharCode + 1));\n            }\n          }\n          return _res4;\n        }\n      default:\n        throw new Error(\"Unknown cmap format \".concat(cmap.version));\n    }\n  };\n  return CmapProcessor;\n}(), (_applyDecoratedDescriptor(_class.prototype, \"getCharacterSet\", [cache], Object.getOwnPropertyDescriptor(_class.prototype, \"getCharacterSet\"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, \"codePointsForGlyph\", [cache], Object.getOwnPropertyDescriptor(_class.prototype, \"codePointsForGlyph\"), _class.prototype)), _class);\nvar KernProcessor = /*#__PURE__*/function () {\n  function KernProcessor(font) {\n    this.kern = font.kern;\n  }\n  var _proto16 = KernProcessor.prototype;\n  _proto16.process = function process(glyphs, positions) {\n    for (var glyphIndex = 0; glyphIndex < glyphs.length - 1; glyphIndex++) {\n      var left = glyphs[glyphIndex].id;\n      var right = glyphs[glyphIndex + 1].id;\n      positions[glyphIndex].xAdvance += this.getKerning(left, right);\n    }\n  };\n  _proto16.getKerning = function getKerning(left, right) {\n    var res = 0;\n    for (var _iterator16 = _createForOfIteratorHelperLoose(this.kern.tables), _step16; !(_step16 = _iterator16()).done;) {\n      var table = _step16.value;\n      if (table.coverage.crossStream) {\n        continue;\n      }\n      switch (table.version) {\n        case 0:\n          if (!table.coverage.horizontal) {\n            continue;\n          }\n          break;\n        case 1:\n          if (table.coverage.vertical || table.coverage.variation) {\n            continue;\n          }\n          break;\n        default:\n          throw new Error(\"Unsupported kerning table version \".concat(table.version));\n      }\n      var val = 0;\n      var s = table.subtable;\n      switch (table.format) {\n        case 0:\n          var pairIdx = binarySearch(s.pairs, function (pair) {\n            return left - pair.left || right - pair.right;\n          });\n          if (pairIdx >= 0) {\n            val = s.pairs[pairIdx].value;\n          }\n          break;\n        case 2:\n          var leftOffset = 0,\n            rightOffset = 0;\n          if (left >= s.leftTable.firstGlyph && left < s.leftTable.firstGlyph + s.leftTable.nGlyphs) {\n            leftOffset = s.leftTable.offsets[left - s.leftTable.firstGlyph];\n          } else {\n            leftOffset = s.array.off;\n          }\n          if (right >= s.rightTable.firstGlyph && right < s.rightTable.firstGlyph + s.rightTable.nGlyphs) {\n            rightOffset = s.rightTable.offsets[right - s.rightTable.firstGlyph];\n          }\n          var index = (leftOffset + rightOffset - s.array.off) / 2;\n          val = s.array.values.get(index);\n          break;\n        case 3:\n          if (left >= s.glyphCount || right >= s.glyphCount) {\n            return 0;\n          }\n          val = s.kernValue[s.kernIndex[s.leftClass[left] * s.rightClassCount + s.rightClass[right]]];\n          break;\n        default:\n          throw new Error(\"Unsupported kerning sub-table format \".concat(table.format));\n      } // Microsoft supports the override flag, which resets the result\n      // Otherwise, the sum of the results from all subtables is returned\n\n      if (table.coverage.override) {\n        res = val;\n      } else {\n        res += val;\n      }\n    }\n    return res;\n  };\n  return KernProcessor;\n}();\n/**\r\n * This class is used when GPOS does not define 'mark' or 'mkmk' features\r\n * for positioning marks relative to base glyphs. It uses the unicode\r\n * combining class property to position marks.\r\n *\r\n * Based on code from Harfbuzz, thanks!\r\n * https://github.com/behdad/harfbuzz/blob/master/src/hb-ot-shape-fallback.cc\r\n */\nvar UnicodeLayoutEngine = /*#__PURE__*/function () {\n  function UnicodeLayoutEngine(font) {\n    this.font = font;\n  }\n  var _proto17 = UnicodeLayoutEngine.prototype;\n  _proto17.positionGlyphs = function positionGlyphs(glyphs, positions) {\n    // find each base + mark cluster, and position the marks relative to the base\n    var clusterStart = 0;\n    var clusterEnd = 0;\n    for (var index = 0; index < glyphs.length; index++) {\n      var glyph = glyphs[index];\n      if (glyph.isMark) {\n        // TODO: handle ligatures\n        clusterEnd = index;\n      } else {\n        if (clusterStart !== clusterEnd) {\n          this.positionCluster(glyphs, positions, clusterStart, clusterEnd);\n        }\n        clusterStart = clusterEnd = index;\n      }\n    }\n    if (clusterStart !== clusterEnd) {\n      this.positionCluster(glyphs, positions, clusterStart, clusterEnd);\n    }\n    return positions;\n  };\n  _proto17.positionCluster = function positionCluster(glyphs, positions, clusterStart, clusterEnd) {\n    var base = glyphs[clusterStart];\n    var baseBox = base.cbox.copy(); // adjust bounding box for ligature glyphs\n\n    if (base.codePoints.length > 1) {\n      // LTR. TODO: RTL support.\n      baseBox.minX += (base.codePoints.length - 1) * baseBox.width / base.codePoints.length;\n    }\n    var xOffset = -positions[clusterStart].xAdvance;\n    var yOffset = 0;\n    var yGap = this.font.unitsPerEm / 16; // position each of the mark glyphs relative to the base glyph\n\n    for (var index = clusterStart + 1; index <= clusterEnd; index++) {\n      var mark = glyphs[index];\n      var markBox = mark.cbox;\n      var position = positions[index];\n      var combiningClass = this.getCombiningClass(mark.codePoints[0]);\n      if (combiningClass !== 'Not_Reordered') {\n        position.xOffset = position.yOffset = 0; // x positioning\n\n        switch (combiningClass) {\n          case 'Double_Above':\n          case 'Double_Below':\n            // LTR. TODO: RTL support.\n            position.xOffset += baseBox.minX - markBox.width / 2 - markBox.minX;\n            break;\n          case 'Attached_Below_Left':\n          case 'Below_Left':\n          case 'Above_Left':\n            // left align\n            position.xOffset += baseBox.minX - markBox.minX;\n            break;\n          case 'Attached_Above_Right':\n          case 'Below_Right':\n          case 'Above_Right':\n            // right align\n            position.xOffset += baseBox.maxX - markBox.width - markBox.minX;\n            break;\n          default:\n            // Attached_Below, Attached_Above, Below, Above, other\n            // center align\n            position.xOffset += baseBox.minX + (baseBox.width - markBox.width) / 2 - markBox.minX;\n        } // y positioning\n\n        switch (combiningClass) {\n          case 'Double_Below':\n          case 'Below_Left':\n          case 'Below':\n          case 'Below_Right':\n          case 'Attached_Below_Left':\n          case 'Attached_Below':\n            // add a small gap between the glyphs if they are not attached\n            if (combiningClass === 'Attached_Below_Left' || combiningClass === 'Attached_Below') {\n              baseBox.minY += yGap;\n            }\n            position.yOffset = -baseBox.minY - markBox.maxY;\n            baseBox.minY += markBox.height;\n            break;\n          case 'Double_Above':\n          case 'Above_Left':\n          case 'Above':\n          case 'Above_Right':\n          case 'Attached_Above':\n          case 'Attached_Above_Right':\n            // add a small gap between the glyphs if they are not attached\n            if (combiningClass === 'Attached_Above' || combiningClass === 'Attached_Above_Right') {\n              baseBox.maxY += yGap;\n            }\n            position.yOffset = baseBox.maxY - markBox.minY;\n            baseBox.maxY += markBox.height;\n            break;\n        }\n        position.xAdvance = position.yAdvance = 0;\n        position.xOffset += xOffset;\n        position.yOffset += yOffset;\n      } else {\n        xOffset -= position.xAdvance;\n        yOffset -= position.yAdvance;\n      }\n    }\n    return;\n  };\n  _proto17.getCombiningClass = function getCombiningClass(codePoint) {\n    var combiningClass = unicode.getCombiningClass(codePoint); // Thai / Lao need some per-character work\n\n    if ((codePoint & ~0xff) === 0x0e00) {\n      if (combiningClass === 'Not_Reordered') {\n        switch (codePoint) {\n          case 0x0e31:\n          case 0x0e34:\n          case 0x0e35:\n          case 0x0e36:\n          case 0x0e37:\n          case 0x0e47:\n          case 0x0e4c:\n          case 0x0e3d:\n          case 0x0e4e:\n            return 'Above_Right';\n          case 0x0eb1:\n          case 0x0eb4:\n          case 0x0eb5:\n          case 0x0eb6:\n          case 0x0eb7:\n          case 0x0ebb:\n          case 0x0ecc:\n          case 0x0ecd:\n            return 'Above';\n          case 0x0ebc:\n            return 'Below';\n        }\n      } else if (codePoint === 0x0e3a) {\n        // virama\n        return 'Below_Right';\n      }\n    }\n    switch (combiningClass) {\n      // Hebrew\n      case 'CCC10': // sheva\n\n      case 'CCC11': // hataf segol\n\n      case 'CCC12': // hataf patah\n\n      case 'CCC13': // hataf qamats\n\n      case 'CCC14': // hiriq\n\n      case 'CCC15': // tsere\n\n      case 'CCC16': // segol\n\n      case 'CCC17': // patah\n\n      case 'CCC18': // qamats\n\n      case 'CCC20': // qubuts\n\n      case 'CCC22':\n        // meteg\n        return 'Below';\n      case 'CCC23':\n        // rafe\n        return 'Attached_Above';\n      case 'CCC24':\n        // shin dot\n        return 'Above_Right';\n      case 'CCC25': // sin dot\n\n      case 'CCC19':\n        // holam\n        return 'Above_Left';\n      case 'CCC26':\n        // point varika\n        return 'Above';\n      case 'CCC21':\n        // dagesh\n        break;\n      // Arabic and Syriac\n\n      case 'CCC27': // fathatan\n\n      case 'CCC28': // dammatan\n\n      case 'CCC30': // fatha\n\n      case 'CCC31': // damma\n\n      case 'CCC33': // shadda\n\n      case 'CCC34': // sukun\n\n      case 'CCC35': // superscript alef\n\n      case 'CCC36':\n        // superscript alaph\n        return 'Above';\n      case 'CCC29': // kasratan\n\n      case 'CCC32':\n        // kasra\n        return 'Below';\n      // Thai\n\n      case 'CCC103':\n        // sara u / sara uu\n        return 'Below_Right';\n      case 'CCC107':\n        // mai\n        return 'Above_Right';\n      // Lao\n\n      case 'CCC118':\n        // sign u / sign uu\n        return 'Below';\n      case 'CCC122':\n        // mai\n        return 'Above';\n      // Tibetan\n\n      case 'CCC129': // sign aa\n\n      case 'CCC132':\n        // sign u\n        return 'Below';\n      case 'CCC130':\n        // sign i\n        return 'Above';\n    }\n    return combiningClass;\n  };\n  return UnicodeLayoutEngine;\n}();\n/**\r\n * Represents a glyph bounding box\r\n */\nvar BBox = /*#__PURE__*/function () {\n  function BBox(minX, minY, maxX, maxY) {\n    if (minX === void 0) {\n      minX = Infinity;\n    }\n    if (minY === void 0) {\n      minY = Infinity;\n    }\n    if (maxX === void 0) {\n      maxX = -Infinity;\n    }\n    if (maxY === void 0) {\n      maxY = -Infinity;\n    }\n    /**\r\n     * The minimum X position in the bounding box\r\n     * @type {number}\r\n     */\n    this.minX = minX;\n    /**\r\n     * The minimum Y position in the bounding box\r\n     * @type {number}\r\n     */\n\n    this.minY = minY;\n    /**\r\n     * The maxmimum X position in the bounding box\r\n     * @type {number}\r\n     */\n\n    this.maxX = maxX;\n    /**\r\n     * The maxmimum Y position in the bounding box\r\n     * @type {number}\r\n     */\n\n    this.maxY = maxY;\n  }\n  /**\r\n   * The width of the bounding box\r\n   * @type {number}\r\n   */\n  var _proto18 = BBox.prototype;\n  _proto18.addPoint = function addPoint(x, y) {\n    if (Math.abs(x) !== Infinity) {\n      if (x < this.minX) {\n        this.minX = x;\n      }\n      if (x > this.maxX) {\n        this.maxX = x;\n      }\n    }\n    if (Math.abs(y) !== Infinity) {\n      if (y < this.minY) {\n        this.minY = y;\n      }\n      if (y > this.maxY) {\n        this.maxY = y;\n      }\n    }\n  };\n  _proto18.copy = function copy() {\n    return new BBox(this.minX, this.minY, this.maxX, this.maxY);\n  };\n  _createClass(BBox, [{\n    key: \"width\",\n    get: function get() {\n      return this.maxX - this.minX;\n    }\n    /**\r\n     * The height of the bounding box\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"height\",\n    get: function get() {\n      return this.maxY - this.minY;\n    }\n  }]);\n  return BBox;\n}(); // Data from http://www.microsoft.com/typography/otspec/scripttags.htm\n// and http://www.unicode.org/Public/UNIDATA/PropertyValueAliases.txt.\nvar UNICODE_SCRIPTS = {\n  Caucasian_Albanian: 'aghb',\n  Arabic: 'arab',\n  Imperial_Aramaic: 'armi',\n  Armenian: 'armn',\n  Avestan: 'avst',\n  Balinese: 'bali',\n  Bamum: 'bamu',\n  Bassa_Vah: 'bass',\n  Batak: 'batk',\n  Bengali: ['bng2', 'beng'],\n  Bopomofo: 'bopo',\n  Brahmi: 'brah',\n  Braille: 'brai',\n  Buginese: 'bugi',\n  Buhid: 'buhd',\n  Chakma: 'cakm',\n  Canadian_Aboriginal: 'cans',\n  Carian: 'cari',\n  Cham: 'cham',\n  Cherokee: 'cher',\n  Coptic: 'copt',\n  Cypriot: 'cprt',\n  Cyrillic: 'cyrl',\n  Devanagari: ['dev2', 'deva'],\n  Deseret: 'dsrt',\n  Duployan: 'dupl',\n  Egyptian_Hieroglyphs: 'egyp',\n  Elbasan: 'elba',\n  Ethiopic: 'ethi',\n  Georgian: 'geor',\n  Glagolitic: 'glag',\n  Gothic: 'goth',\n  Grantha: 'gran',\n  Greek: 'grek',\n  Gujarati: ['gjr2', 'gujr'],\n  Gurmukhi: ['gur2', 'guru'],\n  Hangul: 'hang',\n  Han: 'hani',\n  Hanunoo: 'hano',\n  Hebrew: 'hebr',\n  Hiragana: 'hira',\n  Pahawh_Hmong: 'hmng',\n  Katakana_Or_Hiragana: 'hrkt',\n  Old_Italic: 'ital',\n  Javanese: 'java',\n  Kayah_Li: 'kali',\n  Katakana: 'kana',\n  Kharoshthi: 'khar',\n  Khmer: 'khmr',\n  Khojki: 'khoj',\n  Kannada: ['knd2', 'knda'],\n  Kaithi: 'kthi',\n  Tai_Tham: 'lana',\n  Lao: 'lao ',\n  Latin: 'latn',\n  Lepcha: 'lepc',\n  Limbu: 'limb',\n  Linear_A: 'lina',\n  Linear_B: 'linb',\n  Lisu: 'lisu',\n  Lycian: 'lyci',\n  Lydian: 'lydi',\n  Mahajani: 'mahj',\n  Mandaic: 'mand',\n  Manichaean: 'mani',\n  Mende_Kikakui: 'mend',\n  Meroitic_Cursive: 'merc',\n  Meroitic_Hieroglyphs: 'mero',\n  Malayalam: ['mlm2', 'mlym'],\n  Modi: 'modi',\n  Mongolian: 'mong',\n  Mro: 'mroo',\n  Meetei_Mayek: 'mtei',\n  Myanmar: ['mym2', 'mymr'],\n  Old_North_Arabian: 'narb',\n  Nabataean: 'nbat',\n  Nko: 'nko ',\n  Ogham: 'ogam',\n  Ol_Chiki: 'olck',\n  Old_Turkic: 'orkh',\n  Oriya: ['ory2', 'orya'],\n  Osmanya: 'osma',\n  Palmyrene: 'palm',\n  Pau_Cin_Hau: 'pauc',\n  Old_Permic: 'perm',\n  Phags_Pa: 'phag',\n  Inscriptional_Pahlavi: 'phli',\n  Psalter_Pahlavi: 'phlp',\n  Phoenician: 'phnx',\n  Miao: 'plrd',\n  Inscriptional_Parthian: 'prti',\n  Rejang: 'rjng',\n  Runic: 'runr',\n  Samaritan: 'samr',\n  Old_South_Arabian: 'sarb',\n  Saurashtra: 'saur',\n  Shavian: 'shaw',\n  Sharada: 'shrd',\n  Siddham: 'sidd',\n  Khudawadi: 'sind',\n  Sinhala: 'sinh',\n  Sora_Sompeng: 'sora',\n  Sundanese: 'sund',\n  Syloti_Nagri: 'sylo',\n  Syriac: 'syrc',\n  Tagbanwa: 'tagb',\n  Takri: 'takr',\n  Tai_Le: 'tale',\n  New_Tai_Lue: 'talu',\n  Tamil: ['tml2', 'taml'],\n  Tai_Viet: 'tavt',\n  Telugu: ['tel2', 'telu'],\n  Tifinagh: 'tfng',\n  Tagalog: 'tglg',\n  Thaana: 'thaa',\n  Thai: 'thai',\n  Tibetan: 'tibt',\n  Tirhuta: 'tirh',\n  Ugaritic: 'ugar',\n  Vai: 'vai ',\n  Warang_Citi: 'wara',\n  Old_Persian: 'xpeo',\n  Cuneiform: 'xsux',\n  Yi: 'yi  ',\n  Inherited: 'zinh',\n  Common: 'zyyy',\n  Unknown: 'zzzz'\n};\nvar OPENTYPE_SCRIPTS = {};\nfor (var script in UNICODE_SCRIPTS) {\n  var tag = UNICODE_SCRIPTS[script];\n  if (Array.isArray(tag)) {\n    for (var _iterator17 = _createForOfIteratorHelperLoose(tag), _step17; !(_step17 = _iterator17()).done;) {\n      var t = _step17.value;\n      OPENTYPE_SCRIPTS[t] = script;\n    }\n  } else {\n    OPENTYPE_SCRIPTS[tag] = script;\n  }\n}\nfunction fromOpenType(tag) {\n  return OPENTYPE_SCRIPTS[tag];\n}\nfunction forString(string) {\n  var len = string.length;\n  var idx = 0;\n  while (idx < len) {\n    var code = string.charCodeAt(idx++); // Check if this is a high surrogate\n\n    if (0xd800 <= code && code <= 0xdbff && idx < len) {\n      var next = string.charCodeAt(idx); // Check if this is a low surrogate\n\n      if (0xdc00 <= next && next <= 0xdfff) {\n        idx++;\n        code = ((code & 0x3FF) << 10) + (next & 0x3FF) + 0x10000;\n      }\n    }\n    var _script = unicode.getScript(code);\n    if (_script !== 'Common' && _script !== 'Inherited' && _script !== 'Unknown') {\n      return UNICODE_SCRIPTS[_script];\n    }\n  }\n  return UNICODE_SCRIPTS.Unknown;\n}\nfunction forCodePoints(codePoints) {\n  for (var i = 0; i < codePoints.length; i++) {\n    var codePoint = codePoints[i];\n    var _script2 = unicode.getScript(codePoint);\n    if (_script2 !== 'Common' && _script2 !== 'Inherited' && _script2 !== 'Unknown') {\n      return UNICODE_SCRIPTS[_script2];\n    }\n  }\n  return UNICODE_SCRIPTS.Unknown;\n} // The scripts in this map are written from right to left\n\nvar RTL = {\n  arab: true,\n  // Arabic\n  hebr: true,\n  // Hebrew\n  syrc: true,\n  // Syriac\n  thaa: true,\n  // Thaana\n  cprt: true,\n  // Cypriot Syllabary\n  khar: true,\n  // Kharosthi\n  phnx: true,\n  // Phoenician\n  'nko ': true,\n  // N'Ko\n  lydi: true,\n  // Lydian\n  avst: true,\n  // Avestan\n  armi: true,\n  // Imperial Aramaic\n  phli: true,\n  // Inscriptional Pahlavi\n  prti: true,\n  // Inscriptional Parthian\n  sarb: true,\n  // Old South Arabian\n  orkh: true,\n  // Old Turkic, Orkhon Runic\n  samr: true,\n  // Samaritan\n  mand: true,\n  // Mandaic, Mandaean\n  merc: true,\n  // Meroitic Cursive\n  mero: true,\n  // Meroitic Hieroglyphs\n  // Unicode 7.0 (not listed on http://www.microsoft.com/typography/otspec/scripttags.htm)\n  mani: true,\n  // Manichaean\n  mend: true,\n  // Mende Kikakui\n  nbat: true,\n  // Nabataean\n  narb: true,\n  // Old North Arabian\n  palm: true,\n  // Palmyrene\n  phlp: true // Psalter Pahlavi\n};\n\nfunction direction(script) {\n  if (RTL[script]) {\n    return 'rtl';\n  }\n  return 'ltr';\n}\n\n/**\r\n * Represents a run of Glyph and GlyphPosition objects.\r\n * Returned by the font layout method.\r\n */\nvar GlyphRun = /*#__PURE__*/function () {\n  function GlyphRun(glyphs, features, script, language, direction$1) {\n    /**\r\n     * An array of Glyph objects in the run\r\n     * @type {Glyph[]}\r\n     */\n    this.glyphs = glyphs;\n    /**\r\n     * An array of GlyphPosition objects for each glyph in the run\r\n     * @type {GlyphPosition[]}\r\n     */\n\n    this.positions = null;\n    /**\r\n     * The script that was requested for shaping. This was either passed in or detected automatically.\r\n     * @type {string}\r\n     */\n\n    this.script = script;\n    /**\r\n     * The language requested for shaping, as passed in. If `null`, the default language for the\r\n     * script was used.\r\n     * @type {string}\r\n     */\n\n    this.language = language || null;\n    /**\r\n     * The direction requested for shaping, as passed in (either ltr or rtl).\r\n     * If `null`, the default direction of the script is used.\r\n     * @type {string}\r\n     */\n\n    this.direction = direction$1 || direction(script);\n    /**\r\n     * The features requested during shaping. This is a combination of user\r\n     * specified features and features chosen by the shaper.\r\n     * @type {object}\r\n     */\n\n    this.features = {}; // Convert features to an object\n\n    if (Array.isArray(features)) {\n      for (var _iterator18 = _createForOfIteratorHelperLoose(features), _step18; !(_step18 = _iterator18()).done;) {\n        var tag = _step18.value;\n        this.features[tag] = true;\n      }\n    } else if (typeof features === 'object') {\n      this.features = features;\n    }\n  }\n  /**\r\n   * The total advance width of the run.\r\n   * @type {number}\r\n   */\n  _createClass(GlyphRun, [{\n    key: \"advanceWidth\",\n    get: function get() {\n      var width = 0;\n      for (var _iterator19 = _createForOfIteratorHelperLoose(this.positions), _step19; !(_step19 = _iterator19()).done;) {\n        var position = _step19.value;\n        width += position.xAdvance;\n      }\n      return width;\n    }\n    /**\r\n     * The total advance height of the run.\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"advanceHeight\",\n    get: function get() {\n      var height = 0;\n      for (var _iterator20 = _createForOfIteratorHelperLoose(this.positions), _step20; !(_step20 = _iterator20()).done;) {\n        var position = _step20.value;\n        height += position.yAdvance;\n      }\n      return height;\n    }\n    /**\r\n     * The bounding box containing all glyphs in the run.\r\n     * @type {BBox}\r\n     */\n  }, {\n    key: \"bbox\",\n    get: function get() {\n      var bbox = new BBox();\n      var x = 0;\n      var y = 0;\n      for (var index = 0; index < this.glyphs.length; index++) {\n        var glyph = this.glyphs[index];\n        var p = this.positions[index];\n        var b = glyph.bbox;\n        bbox.addPoint(b.minX + x + p.xOffset, b.minY + y + p.yOffset);\n        bbox.addPoint(b.maxX + x + p.xOffset, b.maxY + y + p.yOffset);\n        x += p.xAdvance;\n        y += p.yAdvance;\n      }\n      return bbox;\n    }\n  }]);\n  return GlyphRun;\n}();\n/**\r\n * Represents positioning information for a glyph in a GlyphRun.\r\n */\nvar GlyphPosition = function GlyphPosition(xAdvance, yAdvance, xOffset, yOffset) {\n  if (xAdvance === void 0) {\n    xAdvance = 0;\n  }\n  if (yAdvance === void 0) {\n    yAdvance = 0;\n  }\n  if (xOffset === void 0) {\n    xOffset = 0;\n  }\n  if (yOffset === void 0) {\n    yOffset = 0;\n  }\n  /**\r\n   * The amount to move the virtual pen in the X direction after rendering this glyph.\r\n   * @type {number}\r\n   */\n  this.xAdvance = xAdvance;\n  /**\r\n   * The amount to move the virtual pen in the Y direction after rendering this glyph.\r\n   * @type {number}\r\n   */\n\n  this.yAdvance = yAdvance;\n  /**\r\n   * The offset from the pen position in the X direction at which to render this glyph.\r\n   * @type {number}\r\n   */\n\n  this.xOffset = xOffset;\n  /**\r\n   * The offset from the pen position in the Y direction at which to render this glyph.\r\n   * @type {number}\r\n   */\n\n  this.yOffset = yOffset;\n}; // see https://developer.apple.com/fonts/TrueType-Reference-Manual/RM09/AppendixF.html\n// and /System/Library/Frameworks/CoreText.framework/Versions/A/Headers/SFNTLayoutTypes.h on a Mac\nvar features = {\n  allTypographicFeatures: {\n    code: 0,\n    exclusive: false,\n    allTypeFeatures: 0\n  },\n  ligatures: {\n    code: 1,\n    exclusive: false,\n    requiredLigatures: 0,\n    commonLigatures: 2,\n    rareLigatures: 4,\n    // logos: 6\n    rebusPictures: 8,\n    diphthongLigatures: 10,\n    squaredLigatures: 12,\n    abbrevSquaredLigatures: 14,\n    symbolLigatures: 16,\n    contextualLigatures: 18,\n    historicalLigatures: 20\n  },\n  cursiveConnection: {\n    code: 2,\n    exclusive: true,\n    unconnected: 0,\n    partiallyConnected: 1,\n    cursive: 2\n  },\n  letterCase: {\n    code: 3,\n    exclusive: true\n  },\n  // upperAndLowerCase: 0          # deprecated\n  // allCaps: 1                    # deprecated\n  // allLowerCase: 2               # deprecated\n  // smallCaps: 3                  # deprecated\n  // initialCaps: 4                # deprecated\n  // initialCapsAndSmallCaps: 5    # deprecated\n  verticalSubstitution: {\n    code: 4,\n    exclusive: false,\n    substituteVerticalForms: 0\n  },\n  linguisticRearrangement: {\n    code: 5,\n    exclusive: false,\n    linguisticRearrangement: 0\n  },\n  numberSpacing: {\n    code: 6,\n    exclusive: true,\n    monospacedNumbers: 0,\n    proportionalNumbers: 1,\n    thirdWidthNumbers: 2,\n    quarterWidthNumbers: 3\n  },\n  smartSwash: {\n    code: 8,\n    exclusive: false,\n    wordInitialSwashes: 0,\n    wordFinalSwashes: 2,\n    // lineInitialSwashes: 4\n    // lineFinalSwashes: 6\n    nonFinalSwashes: 8\n  },\n  diacritics: {\n    code: 9,\n    exclusive: true,\n    showDiacritics: 0,\n    hideDiacritics: 1,\n    decomposeDiacritics: 2\n  },\n  verticalPosition: {\n    code: 10,\n    exclusive: true,\n    normalPosition: 0,\n    superiors: 1,\n    inferiors: 2,\n    ordinals: 3,\n    scientificInferiors: 4\n  },\n  fractions: {\n    code: 11,\n    exclusive: true,\n    noFractions: 0,\n    verticalFractions: 1,\n    diagonalFractions: 2\n  },\n  overlappingCharacters: {\n    code: 13,\n    exclusive: false,\n    preventOverlap: 0\n  },\n  typographicExtras: {\n    code: 14,\n    exclusive: false,\n    // hyphensToEmDash: 0\n    // hyphenToEnDash: 2\n    slashedZero: 4\n  },\n  // formInterrobang: 6\n  // smartQuotes: 8\n  // periodsToEllipsis: 10\n  mathematicalExtras: {\n    code: 15,\n    exclusive: false,\n    // hyphenToMinus: 0\n    // asteristoMultiply: 2\n    // slashToDivide: 4\n    // inequalityLigatures: 6\n    // exponents: 8\n    mathematicalGreek: 10\n  },\n  ornamentSets: {\n    code: 16,\n    exclusive: true,\n    noOrnaments: 0,\n    dingbats: 1,\n    piCharacters: 2,\n    fleurons: 3,\n    decorativeBorders: 4,\n    internationalSymbols: 5,\n    mathSymbols: 6\n  },\n  characterAlternatives: {\n    code: 17,\n    exclusive: true,\n    noAlternates: 0\n  },\n  // user defined options\n  designComplexity: {\n    code: 18,\n    exclusive: true,\n    designLevel1: 0,\n    designLevel2: 1,\n    designLevel3: 2,\n    designLevel4: 3,\n    designLevel5: 4\n  },\n  styleOptions: {\n    code: 19,\n    exclusive: true,\n    noStyleOptions: 0,\n    displayText: 1,\n    engravedText: 2,\n    illuminatedCaps: 3,\n    titlingCaps: 4,\n    tallCaps: 5\n  },\n  characterShape: {\n    code: 20,\n    exclusive: true,\n    traditionalCharacters: 0,\n    simplifiedCharacters: 1,\n    JIS1978Characters: 2,\n    JIS1983Characters: 3,\n    JIS1990Characters: 4,\n    traditionalAltOne: 5,\n    traditionalAltTwo: 6,\n    traditionalAltThree: 7,\n    traditionalAltFour: 8,\n    traditionalAltFive: 9,\n    expertCharacters: 10,\n    JIS2004Characters: 11,\n    hojoCharacters: 12,\n    NLCCharacters: 13,\n    traditionalNamesCharacters: 14\n  },\n  numberCase: {\n    code: 21,\n    exclusive: true,\n    lowerCaseNumbers: 0,\n    upperCaseNumbers: 1\n  },\n  textSpacing: {\n    code: 22,\n    exclusive: true,\n    proportionalText: 0,\n    monospacedText: 1,\n    halfWidthText: 2,\n    thirdWidthText: 3,\n    quarterWidthText: 4,\n    altProportionalText: 5,\n    altHalfWidthText: 6\n  },\n  transliteration: {\n    code: 23,\n    exclusive: true,\n    noTransliteration: 0\n  },\n  // hanjaToHangul: 1\n  // hiraganaToKatakana: 2\n  // katakanaToHiragana: 3\n  // kanaToRomanization: 4\n  // romanizationToHiragana: 5\n  // romanizationToKatakana: 6\n  // hanjaToHangulAltOne: 7\n  // hanjaToHangulAltTwo: 8\n  // hanjaToHangulAltThree: 9\n  annotation: {\n    code: 24,\n    exclusive: true,\n    noAnnotation: 0,\n    boxAnnotation: 1,\n    roundedBoxAnnotation: 2,\n    circleAnnotation: 3,\n    invertedCircleAnnotation: 4,\n    parenthesisAnnotation: 5,\n    periodAnnotation: 6,\n    romanNumeralAnnotation: 7,\n    diamondAnnotation: 8,\n    invertedBoxAnnotation: 9,\n    invertedRoundedBoxAnnotation: 10\n  },\n  kanaSpacing: {\n    code: 25,\n    exclusive: true,\n    fullWidthKana: 0,\n    proportionalKana: 1\n  },\n  ideographicSpacing: {\n    code: 26,\n    exclusive: true,\n    fullWidthIdeographs: 0,\n    proportionalIdeographs: 1,\n    halfWidthIdeographs: 2\n  },\n  unicodeDecomposition: {\n    code: 27,\n    exclusive: false,\n    canonicalComposition: 0,\n    compatibilityComposition: 2,\n    transcodingComposition: 4\n  },\n  rubyKana: {\n    code: 28,\n    exclusive: false,\n    // noRubyKana: 0     # deprecated - use rubyKanaOff instead\n    // rubyKana: 1     # deprecated - use rubyKanaOn instead\n    rubyKana: 2\n  },\n  CJKSymbolAlternatives: {\n    code: 29,\n    exclusive: true,\n    noCJKSymbolAlternatives: 0,\n    CJKSymbolAltOne: 1,\n    CJKSymbolAltTwo: 2,\n    CJKSymbolAltThree: 3,\n    CJKSymbolAltFour: 4,\n    CJKSymbolAltFive: 5\n  },\n  ideographicAlternatives: {\n    code: 30,\n    exclusive: true,\n    noIdeographicAlternatives: 0,\n    ideographicAltOne: 1,\n    ideographicAltTwo: 2,\n    ideographicAltThree: 3,\n    ideographicAltFour: 4,\n    ideographicAltFive: 5\n  },\n  CJKVerticalRomanPlacement: {\n    code: 31,\n    exclusive: true,\n    CJKVerticalRomanCentered: 0,\n    CJKVerticalRomanHBaseline: 1\n  },\n  italicCJKRoman: {\n    code: 32,\n    exclusive: false,\n    // noCJKItalicRoman: 0     # deprecated - use CJKItalicRomanOff instead\n    // CJKItalicRoman: 1     # deprecated - use CJKItalicRomanOn instead\n    CJKItalicRoman: 2\n  },\n  caseSensitiveLayout: {\n    code: 33,\n    exclusive: false,\n    caseSensitiveLayout: 0,\n    caseSensitiveSpacing: 2\n  },\n  alternateKana: {\n    code: 34,\n    exclusive: false,\n    alternateHorizKana: 0,\n    alternateVertKana: 2\n  },\n  stylisticAlternatives: {\n    code: 35,\n    exclusive: false,\n    noStylisticAlternates: 0,\n    stylisticAltOne: 2,\n    stylisticAltTwo: 4,\n    stylisticAltThree: 6,\n    stylisticAltFour: 8,\n    stylisticAltFive: 10,\n    stylisticAltSix: 12,\n    stylisticAltSeven: 14,\n    stylisticAltEight: 16,\n    stylisticAltNine: 18,\n    stylisticAltTen: 20,\n    stylisticAltEleven: 22,\n    stylisticAltTwelve: 24,\n    stylisticAltThirteen: 26,\n    stylisticAltFourteen: 28,\n    stylisticAltFifteen: 30,\n    stylisticAltSixteen: 32,\n    stylisticAltSeventeen: 34,\n    stylisticAltEighteen: 36,\n    stylisticAltNineteen: 38,\n    stylisticAltTwenty: 40\n  },\n  contextualAlternates: {\n    code: 36,\n    exclusive: false,\n    contextualAlternates: 0,\n    swashAlternates: 2,\n    contextualSwashAlternates: 4\n  },\n  lowerCase: {\n    code: 37,\n    exclusive: true,\n    defaultLowerCase: 0,\n    lowerCaseSmallCaps: 1,\n    lowerCasePetiteCaps: 2\n  },\n  upperCase: {\n    code: 38,\n    exclusive: true,\n    defaultUpperCase: 0,\n    upperCaseSmallCaps: 1,\n    upperCasePetiteCaps: 2\n  },\n  languageTag: {\n    // indices into ltag table\n    code: 39,\n    exclusive: true\n  },\n  CJKRomanSpacing: {\n    code: 103,\n    exclusive: true,\n    halfWidthCJKRoman: 0,\n    proportionalCJKRoman: 1,\n    defaultCJKRoman: 2,\n    fullWidthCJKRoman: 3\n  }\n};\nvar feature = function feature(name, selector) {\n  return [features[name].code, features[name][selector]];\n};\nvar OTMapping = {\n  rlig: feature('ligatures', 'requiredLigatures'),\n  clig: feature('ligatures', 'contextualLigatures'),\n  dlig: feature('ligatures', 'rareLigatures'),\n  hlig: feature('ligatures', 'historicalLigatures'),\n  liga: feature('ligatures', 'commonLigatures'),\n  hist: feature('ligatures', 'historicalLigatures'),\n  // ??\n  smcp: feature('lowerCase', 'lowerCaseSmallCaps'),\n  pcap: feature('lowerCase', 'lowerCasePetiteCaps'),\n  frac: feature('fractions', 'diagonalFractions'),\n  dnom: feature('fractions', 'diagonalFractions'),\n  // ??\n  numr: feature('fractions', 'diagonalFractions'),\n  // ??\n  afrc: feature('fractions', 'verticalFractions'),\n  // aalt\n  // abvf, abvm, abvs, akhn, blwf, blwm, blws, cfar, cjct, cpsp, falt, isol, jalt, ljmo, mset?\n  // ltra, ltrm, nukt, pref, pres, pstf, psts, rand, rkrf, rphf, rtla, rtlm, size, tjmo, tnum?\n  // unic, vatu, vhal, vjmo, vpal, vrt2\n  // dist -> trak table?\n  // kern, vkrn -> kern table\n  // lfbd + opbd + rtbd -> opbd table?\n  // mark, mkmk -> acnt table?\n  // locl -> languageTag + ltag table\n  case: feature('caseSensitiveLayout', 'caseSensitiveLayout'),\n  // also caseSensitiveSpacing\n  ccmp: feature('unicodeDecomposition', 'canonicalComposition'),\n  // compatibilityComposition?\n  cpct: feature('CJKVerticalRomanPlacement', 'CJKVerticalRomanCentered'),\n  // guess..., probably not given below\n  valt: feature('CJKVerticalRomanPlacement', 'CJKVerticalRomanCentered'),\n  swsh: feature('contextualAlternates', 'swashAlternates'),\n  cswh: feature('contextualAlternates', 'contextualSwashAlternates'),\n  curs: feature('cursiveConnection', 'cursive'),\n  // ??\n  c2pc: feature('upperCase', 'upperCasePetiteCaps'),\n  c2sc: feature('upperCase', 'upperCaseSmallCaps'),\n  init: feature('smartSwash', 'wordInitialSwashes'),\n  // ??\n  fin2: feature('smartSwash', 'wordFinalSwashes'),\n  // ??\n  medi: feature('smartSwash', 'nonFinalSwashes'),\n  // ??\n  med2: feature('smartSwash', 'nonFinalSwashes'),\n  // ??\n  fin3: feature('smartSwash', 'wordFinalSwashes'),\n  // ??\n  fina: feature('smartSwash', 'wordFinalSwashes'),\n  // ??\n  pkna: feature('kanaSpacing', 'proportionalKana'),\n  half: feature('textSpacing', 'halfWidthText'),\n  // also HalfWidthCJKRoman, HalfWidthIdeographs?\n  halt: feature('textSpacing', 'altHalfWidthText'),\n  hkna: feature('alternateKana', 'alternateHorizKana'),\n  vkna: feature('alternateKana', 'alternateVertKana'),\n  // hngl: feature 'transliteration', 'hanjaToHangulSelector' # deprecated\n  ital: feature('italicCJKRoman', 'CJKItalicRoman'),\n  lnum: feature('numberCase', 'upperCaseNumbers'),\n  onum: feature('numberCase', 'lowerCaseNumbers'),\n  mgrk: feature('mathematicalExtras', 'mathematicalGreek'),\n  // nalt: not enough info. what type of annotation?\n  // ornm: ditto, which ornament style?\n  calt: feature('contextualAlternates', 'contextualAlternates'),\n  // or more?\n  vrt2: feature('verticalSubstitution', 'substituteVerticalForms'),\n  // oh... below?\n  vert: feature('verticalSubstitution', 'substituteVerticalForms'),\n  tnum: feature('numberSpacing', 'monospacedNumbers'),\n  pnum: feature('numberSpacing', 'proportionalNumbers'),\n  sups: feature('verticalPosition', 'superiors'),\n  subs: feature('verticalPosition', 'inferiors'),\n  ordn: feature('verticalPosition', 'ordinals'),\n  pwid: feature('textSpacing', 'proportionalText'),\n  hwid: feature('textSpacing', 'halfWidthText'),\n  qwid: feature('textSpacing', 'quarterWidthText'),\n  // also QuarterWidthNumbers?\n  twid: feature('textSpacing', 'thirdWidthText'),\n  // also ThirdWidthNumbers?\n  fwid: feature('textSpacing', 'proportionalText'),\n  //??\n  palt: feature('textSpacing', 'altProportionalText'),\n  trad: feature('characterShape', 'traditionalCharacters'),\n  smpl: feature('characterShape', 'simplifiedCharacters'),\n  jp78: feature('characterShape', 'JIS1978Characters'),\n  jp83: feature('characterShape', 'JIS1983Characters'),\n  jp90: feature('characterShape', 'JIS1990Characters'),\n  jp04: feature('characterShape', 'JIS2004Characters'),\n  expt: feature('characterShape', 'expertCharacters'),\n  hojo: feature('characterShape', 'hojoCharacters'),\n  nlck: feature('characterShape', 'NLCCharacters'),\n  tnam: feature('characterShape', 'traditionalNamesCharacters'),\n  ruby: feature('rubyKana', 'rubyKana'),\n  titl: feature('styleOptions', 'titlingCaps'),\n  zero: feature('typographicExtras', 'slashedZero'),\n  ss01: feature('stylisticAlternatives', 'stylisticAltOne'),\n  ss02: feature('stylisticAlternatives', 'stylisticAltTwo'),\n  ss03: feature('stylisticAlternatives', 'stylisticAltThree'),\n  ss04: feature('stylisticAlternatives', 'stylisticAltFour'),\n  ss05: feature('stylisticAlternatives', 'stylisticAltFive'),\n  ss06: feature('stylisticAlternatives', 'stylisticAltSix'),\n  ss07: feature('stylisticAlternatives', 'stylisticAltSeven'),\n  ss08: feature('stylisticAlternatives', 'stylisticAltEight'),\n  ss09: feature('stylisticAlternatives', 'stylisticAltNine'),\n  ss10: feature('stylisticAlternatives', 'stylisticAltTen'),\n  ss11: feature('stylisticAlternatives', 'stylisticAltEleven'),\n  ss12: feature('stylisticAlternatives', 'stylisticAltTwelve'),\n  ss13: feature('stylisticAlternatives', 'stylisticAltThirteen'),\n  ss14: feature('stylisticAlternatives', 'stylisticAltFourteen'),\n  ss15: feature('stylisticAlternatives', 'stylisticAltFifteen'),\n  ss16: feature('stylisticAlternatives', 'stylisticAltSixteen'),\n  ss17: feature('stylisticAlternatives', 'stylisticAltSeventeen'),\n  ss18: feature('stylisticAlternatives', 'stylisticAltEighteen'),\n  ss19: feature('stylisticAlternatives', 'stylisticAltNineteen'),\n  ss20: feature('stylisticAlternatives', 'stylisticAltTwenty')\n}; // salt: feature 'stylisticAlternatives', 'stylisticAltOne' # hmm, which one to choose\n// Add cv01-cv99 features\n\nfor (var i = 1; i <= 99; i++) {\n  OTMapping[\"cv\".concat(\"00\".concat(i).slice(-2))] = [features.characterAlternatives.code, i];\n} // create inverse mapping\n\nvar AATMapping = {};\nfor (var ot in OTMapping) {\n  var aat = OTMapping[ot];\n  if (AATMapping[aat[0]] == null) {\n    AATMapping[aat[0]] = {};\n  }\n  AATMapping[aat[0]][aat[1]] = ot;\n} // Maps an array of OpenType features to AAT features\n// in the form of {featureType:{featureSetting:true}}\n\nfunction mapOTToAAT(features) {\n  var res = {};\n  for (var k in features) {\n    var r = void 0;\n    if (r = OTMapping[k]) {\n      if (res[r[0]] == null) {\n        res[r[0]] = {};\n      }\n      res[r[0]][r[1]] = features[k];\n    }\n  }\n  return res;\n} // Maps strings in a [featureType, featureSetting]\n// to their equivalent number codes\n\nfunction mapFeatureStrings(f) {\n  var type = f[0],\n    setting = f[1];\n  if (isNaN(type)) {\n    var typeCode = features[type] && features[type].code;\n  } else {\n    var typeCode = type;\n  }\n  if (isNaN(setting)) {\n    var settingCode = features[type] && features[type][setting];\n  } else {\n    var settingCode = setting;\n  }\n  return [typeCode, settingCode];\n} // Maps AAT features to an array of OpenType features\n// Supports both arrays in the form of [[featureType, featureSetting]]\n// and objects in the form of {featureType:{featureSetting:true}}\n// featureTypes and featureSettings can be either strings or number codes\n\nfunction mapAATToOT(features) {\n  var res = {};\n  if (Array.isArray(features)) {\n    for (var k = 0; k < features.length; k++) {\n      var r = void 0;\n      var f = mapFeatureStrings(features[k]);\n      if (r = AATMapping[f[0]] && AATMapping[f[0]][f[1]]) {\n        res[r] = true;\n      }\n    }\n  } else if (typeof features === 'object') {\n    for (var type in features) {\n      var _feature = features[type];\n      for (var setting in _feature) {\n        var _r = void 0;\n        var _f = mapFeatureStrings([type, setting]);\n        if (_feature[setting] && (_r = AATMapping[_f[0]] && AATMapping[_f[0]][_f[1]])) {\n          res[_r] = true;\n        }\n      }\n    }\n  }\n  return Object.keys(res);\n}\nvar _class$1;\nvar AATLookupTable = (_class$1 = /*#__PURE__*/function () {\n  function AATLookupTable(table) {\n    this.table = table;\n  }\n  var _proto19 = AATLookupTable.prototype;\n  _proto19.lookup = function lookup(glyph) {\n    switch (this.table.version) {\n      case 0:\n        // simple array format\n        return this.table.values.getItem(glyph);\n      case 2: // segment format\n\n      case 4:\n        {\n          var min = 0;\n          var max = this.table.binarySearchHeader.nUnits - 1;\n          while (min <= max) {\n            var mid = min + max >> 1;\n            var seg = this.table.segments[mid]; // special end of search value\n\n            if (seg.firstGlyph === 0xffff) {\n              return null;\n            }\n            if (glyph < seg.firstGlyph) {\n              max = mid - 1;\n            } else if (glyph > seg.lastGlyph) {\n              min = mid + 1;\n            } else {\n              if (this.table.version === 2) {\n                return seg.value;\n              } else {\n                return seg.values[glyph - seg.firstGlyph];\n              }\n            }\n          }\n          return null;\n        }\n      case 6:\n        {\n          // lookup single\n          var _min = 0;\n          var _max = this.table.binarySearchHeader.nUnits - 1;\n          while (_min <= _max) {\n            var mid = _min + _max >> 1;\n            var seg = this.table.segments[mid]; // special end of search value\n\n            if (seg.glyph === 0xffff) {\n              return null;\n            }\n            if (glyph < seg.glyph) {\n              _max = mid - 1;\n            } else if (glyph > seg.glyph) {\n              _min = mid + 1;\n            } else {\n              return seg.value;\n            }\n          }\n          return null;\n        }\n      case 8:\n        // lookup trimmed\n        return this.table.values[glyph - this.table.firstGlyph];\n      default:\n        throw new Error(\"Unknown lookup table format: \".concat(this.table.version));\n    }\n  };\n  _proto19.glyphsForValue = function glyphsForValue(classValue) {\n    var res = [];\n    switch (this.table.version) {\n      case 2: // segment format\n\n      case 4:\n        {\n          for (var _iterator21 = _createForOfIteratorHelperLoose(this.table.segments), _step21; !(_step21 = _iterator21()).done;) {\n            var segment = _step21.value;\n            if (this.table.version === 2 && segment.value === classValue) {\n              res.push.apply(res, range(segment.firstGlyph, segment.lastGlyph + 1));\n            } else {\n              for (var index = 0; index < segment.values.length; index++) {\n                if (segment.values[index] === classValue) {\n                  res.push(segment.firstGlyph + index);\n                }\n              }\n            }\n          }\n          break;\n        }\n      case 6:\n        {\n          // lookup single\n          for (var _iterator22 = _createForOfIteratorHelperLoose(this.table.segments), _step22; !(_step22 = _iterator22()).done;) {\n            var _segment = _step22.value;\n            if (_segment.value === classValue) {\n              res.push(_segment.glyph);\n            }\n          }\n          break;\n        }\n      case 8:\n        {\n          // lookup trimmed\n          for (var i = 0; i < this.table.values.length; i++) {\n            if (this.table.values[i] === classValue) {\n              res.push(this.table.firstGlyph + i);\n            }\n          }\n          break;\n        }\n      default:\n        throw new Error(\"Unknown lookup table format: \".concat(this.table.version));\n    }\n    return res;\n  };\n  return AATLookupTable;\n}(), _applyDecoratedDescriptor(_class$1.prototype, \"glyphsForValue\", [cache], Object.getOwnPropertyDescriptor(_class$1.prototype, \"glyphsForValue\"), _class$1.prototype), _class$1);\nvar START_OF_TEXT_STATE = 0;\nvar END_OF_TEXT_CLASS = 0;\nvar OUT_OF_BOUNDS_CLASS = 1;\nvar DELETED_GLYPH_CLASS = 2;\nvar DONT_ADVANCE = 0x4000;\nvar AATStateMachine = /*#__PURE__*/function () {\n  function AATStateMachine(stateTable) {\n    this.stateTable = stateTable;\n    this.lookupTable = new AATLookupTable(stateTable.classTable);\n  }\n  var _proto20 = AATStateMachine.prototype;\n  _proto20.process = function process(glyphs, reverse, processEntry) {\n    var currentState = START_OF_TEXT_STATE; // START_OF_LINE_STATE is used for kashida glyph insertions sometimes I think?\n\n    var index = reverse ? glyphs.length - 1 : 0;\n    var dir = reverse ? -1 : 1;\n    while (dir === 1 && index <= glyphs.length || dir === -1 && index >= -1) {\n      var glyph = null;\n      var classCode = OUT_OF_BOUNDS_CLASS;\n      var shouldAdvance = true;\n      if (index === glyphs.length || index === -1) {\n        classCode = END_OF_TEXT_CLASS;\n      } else {\n        glyph = glyphs[index];\n        if (glyph.id === 0xffff) {\n          // deleted glyph\n          classCode = DELETED_GLYPH_CLASS;\n        } else {\n          classCode = this.lookupTable.lookup(glyph.id);\n          if (classCode == null) {\n            classCode = OUT_OF_BOUNDS_CLASS;\n          }\n        }\n      }\n      var row = this.stateTable.stateArray.getItem(currentState);\n      var entryIndex = row[classCode];\n      var entry = this.stateTable.entryTable.getItem(entryIndex);\n      if (classCode !== END_OF_TEXT_CLASS && classCode !== DELETED_GLYPH_CLASS) {\n        processEntry(glyph, entry, index);\n        shouldAdvance = !(entry.flags & DONT_ADVANCE);\n      }\n      currentState = entry.newState;\n      if (shouldAdvance) {\n        index += dir;\n      }\n    }\n    return glyphs;\n  }\n  /**\r\n   * Performs a depth-first traversal of the glyph strings\r\n   * represented by the state machine.\r\n   */;\n  _proto20.traverse = function traverse(opts, state, visited) {\n    if (state === void 0) {\n      state = 0;\n    }\n    if (visited === void 0) {\n      visited = new Set();\n    }\n    if (visited.has(state)) {\n      return;\n    }\n    visited.add(state);\n    var _this$stateTable = this.stateTable,\n      nClasses = _this$stateTable.nClasses,\n      stateArray = _this$stateTable.stateArray,\n      entryTable = _this$stateTable.entryTable;\n    var row = stateArray.getItem(state); // Skip predefined classes\n\n    for (var classCode = 4; classCode < nClasses; classCode++) {\n      var entryIndex = row[classCode];\n      var entry = entryTable.getItem(entryIndex); // Try all glyphs in the class\n\n      for (var _iterator23 = _createForOfIteratorHelperLoose(this.lookupTable.glyphsForValue(classCode)), _step23; !(_step23 = _iterator23()).done;) {\n        var glyph = _step23.value;\n        if (opts.enter) {\n          opts.enter(glyph, entry);\n        }\n        if (entry.newState !== 0) {\n          this.traverse(opts, entry.newState, visited);\n        }\n        if (opts.exit) {\n          opts.exit(glyph, entry);\n        }\n      }\n    }\n  };\n  return AATStateMachine;\n}();\nvar _class$2;\nvar MARK_FIRST = 0x8000;\nvar MARK_LAST = 0x2000;\nvar VERB = 0x000F; // contextual substitution and glyph insertion flag\n\nvar SET_MARK = 0x8000; // ligature entry flags\n\nvar SET_COMPONENT = 0x8000;\nvar PERFORM_ACTION = 0x2000; // ligature action masks\n\nvar LAST_MASK = 0x80000000;\nvar STORE_MASK = 0x40000000;\nvar OFFSET_MASK = 0x3FFFFFFF;\nvar REVERSE_DIRECTION = 0x400000;\nvar CURRENT_INSERT_BEFORE = 0x0800;\nvar MARKED_INSERT_BEFORE = 0x0400;\nvar CURRENT_INSERT_COUNT = 0x03E0;\nvar MARKED_INSERT_COUNT = 0x001F;\nvar AATMorxProcessor = (_class$2 = /*#__PURE__*/function () {\n  function AATMorxProcessor(font) {\n    this.processIndicRearragement = this.processIndicRearragement.bind(this);\n    this.processContextualSubstitution = this.processContextualSubstitution.bind(this);\n    this.processLigature = this.processLigature.bind(this);\n    this.processNoncontextualSubstitutions = this.processNoncontextualSubstitutions.bind(this);\n    this.processGlyphInsertion = this.processGlyphInsertion.bind(this);\n    this.font = font;\n    this.morx = font.morx;\n    this.inputCache = null;\n  } // Processes an array of glyphs and applies the specified features\n  // Features should be in the form of {featureType:{featureSetting:boolean}}\n  var _proto21 = AATMorxProcessor.prototype;\n  _proto21.process = function process(glyphs, features) {\n    if (features === void 0) {\n      features = {};\n    }\n    for (var _iterator24 = _createForOfIteratorHelperLoose(this.morx.chains), _step24; !(_step24 = _iterator24()).done;) {\n      var chain = _step24.value;\n      var flags = chain.defaultFlags; // enable/disable the requested features\n\n      for (var _iterator25 = _createForOfIteratorHelperLoose(chain.features), _step25; !(_step25 = _iterator25()).done;) {\n        var feature = _step25.value;\n        var f = void 0;\n        if (f = features[feature.featureType]) {\n          if (f[feature.featureSetting]) {\n            flags &= feature.disableFlags;\n            flags |= feature.enableFlags;\n          } else if (f[feature.featureSetting] === false) {\n            flags |= ~feature.disableFlags;\n            flags &= ~feature.enableFlags;\n          }\n        }\n      }\n      for (var _iterator26 = _createForOfIteratorHelperLoose(chain.subtables), _step26; !(_step26 = _iterator26()).done;) {\n        var subtable = _step26.value;\n        if (subtable.subFeatureFlags & flags) {\n          this.processSubtable(subtable, glyphs);\n        }\n      }\n    } // remove deleted glyphs\n\n    var index = glyphs.length - 1;\n    while (index >= 0) {\n      if (glyphs[index].id === 0xffff) {\n        glyphs.splice(index, 1);\n      }\n      index--;\n    }\n    return glyphs;\n  };\n  _proto21.processSubtable = function processSubtable(subtable, glyphs) {\n    this.subtable = subtable;\n    this.glyphs = glyphs;\n    if (this.subtable.type === 4) {\n      this.processNoncontextualSubstitutions(this.subtable, this.glyphs);\n      return;\n    }\n    this.ligatureStack = [];\n    this.markedGlyph = null;\n    this.firstGlyph = null;\n    this.lastGlyph = null;\n    this.markedIndex = null;\n    var stateMachine = this.getStateMachine(subtable);\n    var process = this.getProcessor();\n    var reverse = !!(this.subtable.coverage & REVERSE_DIRECTION);\n    return stateMachine.process(this.glyphs, reverse, process);\n  };\n  _proto21.getStateMachine = function getStateMachine(subtable) {\n    return new AATStateMachine(subtable.table.stateTable);\n  };\n  _proto21.getProcessor = function getProcessor() {\n    switch (this.subtable.type) {\n      case 0:\n        return this.processIndicRearragement;\n      case 1:\n        return this.processContextualSubstitution;\n      case 2:\n        return this.processLigature;\n      case 4:\n        return this.processNoncontextualSubstitutions;\n      case 5:\n        return this.processGlyphInsertion;\n      default:\n        throw new Error(\"Invalid morx subtable type: \".concat(this.subtable.type));\n    }\n  };\n  _proto21.processIndicRearragement = function processIndicRearragement(glyph, entry, index) {\n    if (entry.flags & MARK_FIRST) {\n      this.firstGlyph = index;\n    }\n    if (entry.flags & MARK_LAST) {\n      this.lastGlyph = index;\n    }\n    reorderGlyphs(this.glyphs, entry.flags & VERB, this.firstGlyph, this.lastGlyph);\n  };\n  _proto21.processContextualSubstitution = function processContextualSubstitution(glyph, entry, index) {\n    var subsitutions = this.subtable.table.substitutionTable.items;\n    if (entry.markIndex !== 0xffff) {\n      var lookup = subsitutions.getItem(entry.markIndex);\n      var lookupTable = new AATLookupTable(lookup);\n      glyph = this.glyphs[this.markedGlyph];\n      var gid = lookupTable.lookup(glyph.id);\n      if (gid) {\n        this.glyphs[this.markedGlyph] = this.font.getGlyph(gid, glyph.codePoints);\n      }\n    }\n    if (entry.currentIndex !== 0xffff) {\n      var _lookup = subsitutions.getItem(entry.currentIndex);\n      var _lookupTable = new AATLookupTable(_lookup);\n      glyph = this.glyphs[index];\n      var gid = _lookupTable.lookup(glyph.id);\n      if (gid) {\n        this.glyphs[index] = this.font.getGlyph(gid, glyph.codePoints);\n      }\n    }\n    if (entry.flags & SET_MARK) {\n      this.markedGlyph = index;\n    }\n  };\n  _proto21.processLigature = function processLigature(glyph, entry, index) {\n    if (entry.flags & SET_COMPONENT) {\n      this.ligatureStack.push(index);\n    }\n    if (entry.flags & PERFORM_ACTION) {\n      var _this$ligatureStack;\n      var actions = this.subtable.table.ligatureActions;\n      var components = this.subtable.table.components;\n      var ligatureList = this.subtable.table.ligatureList;\n      var actionIndex = entry.action;\n      var last = false;\n      var ligatureIndex = 0;\n      var codePoints = [];\n      var ligatureGlyphs = [];\n      while (!last) {\n        var _codePoints;\n        var componentGlyph = this.ligatureStack.pop();\n        (_codePoints = codePoints).unshift.apply(_codePoints, this.glyphs[componentGlyph].codePoints);\n        var action = actions.getItem(actionIndex++);\n        last = !!(action & LAST_MASK);\n        var store = !!(action & STORE_MASK);\n        var offset = (action & OFFSET_MASK) << 2 >> 2; // sign extend 30 to 32 bits\n\n        offset += this.glyphs[componentGlyph].id;\n        var component = components.getItem(offset);\n        ligatureIndex += component;\n        if (last || store) {\n          var ligatureEntry = ligatureList.getItem(ligatureIndex);\n          this.glyphs[componentGlyph] = this.font.getGlyph(ligatureEntry, codePoints);\n          ligatureGlyphs.push(componentGlyph);\n          ligatureIndex = 0;\n          codePoints = [];\n        } else {\n          this.glyphs[componentGlyph] = this.font.getGlyph(0xffff);\n        }\n      } // Put ligature glyph indexes back on the stack\n\n      (_this$ligatureStack = this.ligatureStack).push.apply(_this$ligatureStack, ligatureGlyphs);\n    }\n  };\n  _proto21.processNoncontextualSubstitutions = function processNoncontextualSubstitutions(subtable, glyphs, index) {\n    var lookupTable = new AATLookupTable(subtable.table.lookupTable);\n    for (index = 0; index < glyphs.length; index++) {\n      var glyph = glyphs[index];\n      if (glyph.id !== 0xffff) {\n        var gid = lookupTable.lookup(glyph.id);\n        if (gid) {\n          // 0 means do nothing\n          glyphs[index] = this.font.getGlyph(gid, glyph.codePoints);\n        }\n      }\n    }\n  };\n  _proto21._insertGlyphs = function _insertGlyphs(glyphIndex, insertionActionIndex, count, isBefore) {\n    var _this$glyphs;\n    var insertions = [];\n    while (count--) {\n      var gid = this.subtable.table.insertionActions.getItem(insertionActionIndex++);\n      insertions.push(this.font.getGlyph(gid));\n    }\n    if (!isBefore) {\n      glyphIndex++;\n    }\n    (_this$glyphs = this.glyphs).splice.apply(_this$glyphs, [glyphIndex, 0].concat(insertions));\n  };\n  _proto21.processGlyphInsertion = function processGlyphInsertion(glyph, entry, index) {\n    if (entry.flags & SET_MARK) {\n      this.markedIndex = index;\n    }\n    if (entry.markedInsertIndex !== 0xffff) {\n      var count = (entry.flags & MARKED_INSERT_COUNT) >>> 5;\n      var isBefore = !!(entry.flags & MARKED_INSERT_BEFORE);\n      this._insertGlyphs(this.markedIndex, entry.markedInsertIndex, count, isBefore);\n    }\n    if (entry.currentInsertIndex !== 0xffff) {\n      var _count = (entry.flags & CURRENT_INSERT_COUNT) >>> 5;\n      var _isBefore = !!(entry.flags & CURRENT_INSERT_BEFORE);\n      this._insertGlyphs(index, entry.currentInsertIndex, _count, _isBefore);\n    }\n  };\n  _proto21.getSupportedFeatures = function getSupportedFeatures() {\n    var features = [];\n    for (var _iterator27 = _createForOfIteratorHelperLoose(this.morx.chains), _step27; !(_step27 = _iterator27()).done;) {\n      var chain = _step27.value;\n      for (var _iterator28 = _createForOfIteratorHelperLoose(chain.features), _step28; !(_step28 = _iterator28()).done;) {\n        var feature = _step28.value;\n        features.push([feature.featureType, feature.featureSetting]);\n      }\n    }\n    return features;\n  };\n  _proto21.generateInputs = function generateInputs(gid) {\n    if (!this.inputCache) {\n      this.generateInputCache();\n    }\n    return this.inputCache[gid] || [];\n  };\n  _proto21.generateInputCache = function generateInputCache() {\n    this.inputCache = {};\n    for (var _iterator29 = _createForOfIteratorHelperLoose(this.morx.chains), _step29; !(_step29 = _iterator29()).done;) {\n      var chain = _step29.value;\n      var flags = chain.defaultFlags;\n      for (var _iterator30 = _createForOfIteratorHelperLoose(chain.subtables), _step30; !(_step30 = _iterator30()).done;) {\n        var subtable = _step30.value;\n        if (subtable.subFeatureFlags & flags) {\n          this.generateInputsForSubtable(subtable);\n        }\n      }\n    }\n  };\n  _proto21.generateInputsForSubtable = function generateInputsForSubtable(subtable) {\n    var _this3 = this;\n    // Currently, only supporting ligature subtables.\n    if (subtable.type !== 2) {\n      return;\n    }\n    var reverse = !!(subtable.coverage & REVERSE_DIRECTION);\n    if (reverse) {\n      throw new Error('Reverse subtable, not supported.');\n    }\n    this.subtable = subtable;\n    this.ligatureStack = [];\n    var stateMachine = this.getStateMachine(subtable);\n    var process = this.getProcessor();\n    var input = [];\n    var stack = [];\n    this.glyphs = [];\n    stateMachine.traverse({\n      enter: function enter(glyph, entry) {\n        var glyphs = _this3.glyphs;\n        stack.push({\n          glyphs: glyphs.slice(),\n          ligatureStack: _this3.ligatureStack.slice()\n        }); // Add glyph to input and glyphs to process.\n\n        var g = _this3.font.getGlyph(glyph);\n        input.push(g);\n        glyphs.push(input[input.length - 1]); // Process ligature substitution\n\n        process(glyphs[glyphs.length - 1], entry, glyphs.length - 1); // Add input to result if only one matching (non-deleted) glyph remains.\n\n        var count = 0;\n        var found = 0;\n        for (var i = 0; i < glyphs.length && count <= 1; i++) {\n          if (glyphs[i].id !== 0xffff) {\n            count++;\n            found = glyphs[i].id;\n          }\n        }\n        if (count === 1) {\n          var result = input.map(function (g) {\n            return g.id;\n          });\n          var _cache = _this3.inputCache[found];\n          if (_cache) {\n            _cache.push(result);\n          } else {\n            _this3.inputCache[found] = [result];\n          }\n        }\n      },\n      exit: function exit() {\n        var _stack$pop = stack.pop();\n        _this3.glyphs = _stack$pop.glyphs;\n        _this3.ligatureStack = _stack$pop.ligatureStack;\n        input.pop();\n      }\n    });\n  };\n  return AATMorxProcessor;\n}(), _applyDecoratedDescriptor(_class$2.prototype, \"getStateMachine\", [cache], Object.getOwnPropertyDescriptor(_class$2.prototype, \"getStateMachine\"), _class$2.prototype), _class$2);\n// reverse the glyphs inside those ranges if specified\n// ranges are in [offset, length] format\n\nfunction swap(glyphs, rangeA, rangeB, reverseA, reverseB) {\n  if (reverseA === void 0) {\n    reverseA = false;\n  }\n  if (reverseB === void 0) {\n    reverseB = false;\n  }\n  var end = glyphs.splice(rangeB[0] - (rangeB[1] - 1), rangeB[1]);\n  if (reverseB) {\n    end.reverse();\n  }\n  var start = glyphs.splice.apply(glyphs, [rangeA[0], rangeA[1]].concat(end));\n  if (reverseA) {\n    start.reverse();\n  }\n  glyphs.splice.apply(glyphs, [rangeB[0] - (rangeA[1] - 1), 0].concat(start));\n  return glyphs;\n}\nfunction reorderGlyphs(glyphs, verb, firstGlyph, lastGlyph) {\n  switch (verb) {\n    case 0:\n      // no change\n      return glyphs;\n    case 1:\n      // Ax => xA\n      return swap(glyphs, [firstGlyph, 1], [lastGlyph, 0]);\n    case 2:\n      // xD => Dx\n      return swap(glyphs, [firstGlyph, 0], [lastGlyph, 1]);\n    case 3:\n      // AxD => DxA\n      return swap(glyphs, [firstGlyph, 1], [lastGlyph, 1]);\n    case 4:\n      // ABx => xAB\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 0]);\n    case 5:\n      // ABx => xBA\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 0], true, false);\n    case 6:\n      // xCD => CDx\n      return swap(glyphs, [firstGlyph, 0], [lastGlyph, 2]);\n    case 7:\n      // xCD => DCx\n      return swap(glyphs, [firstGlyph, 0], [lastGlyph, 2], false, true);\n    case 8:\n      // AxCD => CDxA\n      return swap(glyphs, [firstGlyph, 1], [lastGlyph, 2]);\n    case 9:\n      // AxCD => DCxA\n      return swap(glyphs, [firstGlyph, 1], [lastGlyph, 2], false, true);\n    case 10:\n      // ABxD => DxAB\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 1]);\n    case 11:\n      // ABxD => DxBA\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 1], true, false);\n    case 12:\n      // ABxCD => CDxAB\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 2]);\n    case 13:\n      // ABxCD => CDxBA\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 2], true, false);\n    case 14:\n      // ABxCD => DCxAB\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 2], false, true);\n    case 15:\n      // ABxCD => DCxBA\n      return swap(glyphs, [firstGlyph, 2], [lastGlyph, 2], true, true);\n    default:\n      throw new Error(\"Unknown verb: \".concat(verb));\n  }\n}\nvar AATLayoutEngine = /*#__PURE__*/function () {\n  function AATLayoutEngine(font) {\n    this.font = font;\n    this.morxProcessor = new AATMorxProcessor(font);\n    this.fallbackPosition = false;\n  }\n  var _proto22 = AATLayoutEngine.prototype;\n  _proto22.substitute = function substitute(glyphRun) {\n    // AAT expects the glyphs to be in visual order prior to morx processing,\n    // so reverse the glyphs if the script is right-to-left.\n    if (glyphRun.direction === 'rtl') {\n      glyphRun.glyphs.reverse();\n    }\n    this.morxProcessor.process(glyphRun.glyphs, mapOTToAAT(glyphRun.features));\n  };\n  _proto22.getAvailableFeatures = function getAvailableFeatures(script, language) {\n    return mapAATToOT(this.morxProcessor.getSupportedFeatures());\n  };\n  _proto22.stringsForGlyph = function stringsForGlyph(gid) {\n    var glyphStrings = this.morxProcessor.generateInputs(gid);\n    var result = new Set();\n    for (var _iterator31 = _createForOfIteratorHelperLoose(glyphStrings), _step31; !(_step31 = _iterator31()).done;) {\n      var glyphs = _step31.value;\n      this._addStrings(glyphs, 0, result, '');\n    }\n    return result;\n  };\n  _proto22._addStrings = function _addStrings(glyphs, index, strings, string) {\n    var codePoints = this.font._cmapProcessor.codePointsForGlyph(glyphs[index]);\n    for (var _iterator32 = _createForOfIteratorHelperLoose(codePoints), _step32; !(_step32 = _iterator32()).done;) {\n      var codePoint = _step32.value;\n      var s = string + String.fromCodePoint(codePoint);\n      if (index < glyphs.length - 1) {\n        this._addStrings(glyphs, index + 1, strings, s);\n      } else {\n        strings.add(s);\n      }\n    }\n  };\n  return AATLayoutEngine;\n}();\n/**\r\n * ShapingPlans are used by the OpenType shapers to store which\r\n * features should by applied, and in what order to apply them.\r\n * The features are applied in groups called stages. A feature\r\n * can be applied globally to all glyphs, or locally to only\r\n * specific glyphs.\r\n *\r\n * @private\r\n */\nvar ShapingPlan = /*#__PURE__*/function () {\n  function ShapingPlan(font, script, direction) {\n    this.font = font;\n    this.script = script;\n    this.direction = direction;\n    this.stages = [];\n    this.globalFeatures = {};\n    this.allFeatures = {};\n  }\n  /**\r\n   * Adds the given features to the last stage.\r\n   * Ignores features that have already been applied.\r\n   */\n  var _proto23 = ShapingPlan.prototype;\n  _proto23._addFeatures = function _addFeatures(features, global) {\n    var stageIndex = this.stages.length - 1;\n    var stage = this.stages[stageIndex];\n    for (var _iterator33 = _createForOfIteratorHelperLoose(features), _step33; !(_step33 = _iterator33()).done;) {\n      var feature = _step33.value;\n      if (this.allFeatures[feature] == null) {\n        stage.push(feature);\n        this.allFeatures[feature] = stageIndex;\n        if (global) {\n          this.globalFeatures[feature] = true;\n        }\n      }\n    }\n  }\n  /**\r\n   * Add features to the last stage\r\n   */;\n  _proto23.add = function add(arg, global) {\n    if (global === void 0) {\n      global = true;\n    }\n    if (this.stages.length === 0) {\n      this.stages.push([]);\n    }\n    if (typeof arg === 'string') {\n      arg = [arg];\n    }\n    if (Array.isArray(arg)) {\n      this._addFeatures(arg, global);\n    } else if (typeof arg === 'object') {\n      this._addFeatures(arg.global || [], true);\n      this._addFeatures(arg.local || [], false);\n    } else {\n      throw new Error(\"Unsupported argument to ShapingPlan#add\");\n    }\n  }\n  /**\r\n   * Add a new stage\r\n   */;\n  _proto23.addStage = function addStage(arg, global) {\n    if (typeof arg === 'function') {\n      this.stages.push(arg, []);\n    } else {\n      this.stages.push([]);\n      this.add(arg, global);\n    }\n  };\n  _proto23.setFeatureOverrides = function setFeatureOverrides(features) {\n    if (Array.isArray(features)) {\n      this.add(features);\n    } else if (typeof features === 'object') {\n      for (var tag in features) {\n        if (features[tag]) {\n          this.add(tag);\n        } else if (this.allFeatures[tag] != null) {\n          var stage = this.stages[this.allFeatures[tag]];\n          stage.splice(stage.indexOf(tag), 1);\n          delete this.allFeatures[tag];\n          delete this.globalFeatures[tag];\n        }\n      }\n    }\n  }\n  /**\r\n   * Assigns the global features to the given glyphs\r\n   */;\n  _proto23.assignGlobalFeatures = function assignGlobalFeatures(glyphs) {\n    for (var _iterator34 = _createForOfIteratorHelperLoose(glyphs), _step34; !(_step34 = _iterator34()).done;) {\n      var glyph = _step34.value;\n      for (var feature in this.globalFeatures) {\n        glyph.features[feature] = true;\n      }\n    }\n  }\n  /**\r\n   * Executes the planned stages using the given OTProcessor\r\n   */;\n  _proto23.process = function process(processor, glyphs, positions) {\n    for (var _iterator35 = _createForOfIteratorHelperLoose(this.stages), _step35; !(_step35 = _iterator35()).done;) {\n      var stage = _step35.value;\n      if (typeof stage === 'function') {\n        if (!positions) {\n          stage(this.font, glyphs, this);\n        }\n      } else if (stage.length > 0) {\n        processor.applyFeatures(stage, glyphs, positions);\n      }\n    }\n  };\n  return ShapingPlan;\n}();\nvar VARIATION_FEATURES = ['rvrn'];\nvar COMMON_FEATURES = ['ccmp', 'locl', 'rlig', 'mark', 'mkmk'];\nvar FRACTIONAL_FEATURES = ['frac', 'numr', 'dnom'];\nvar HORIZONTAL_FEATURES = ['calt', 'clig', 'liga', 'rclt', 'curs', 'kern'];\nvar DIRECTIONAL_FEATURES = {\n  ltr: ['ltra', 'ltrm'],\n  rtl: ['rtla', 'rtlm']\n};\nvar DefaultShaper = /*#__PURE__*/function () {\n  function DefaultShaper() {}\n  DefaultShaper.plan = function plan(_plan, glyphs, features) {\n    // Plan the features we want to apply\n    this.planPreprocessing(_plan);\n    this.planFeatures(_plan);\n    this.planPostprocessing(_plan, features); // Assign the global features to all the glyphs\n\n    _plan.assignGlobalFeatures(glyphs); // Assign local features to glyphs\n\n    this.assignFeatures(_plan, glyphs);\n  };\n  DefaultShaper.planPreprocessing = function planPreprocessing(plan) {\n    plan.add({\n      global: [].concat(VARIATION_FEATURES, DIRECTIONAL_FEATURES[plan.direction]),\n      local: FRACTIONAL_FEATURES\n    });\n  };\n  DefaultShaper.planFeatures = function planFeatures(plan) {// Do nothing by default. Let subclasses override this.\n  };\n  DefaultShaper.planPostprocessing = function planPostprocessing(plan, userFeatures) {\n    plan.add([].concat(COMMON_FEATURES, HORIZONTAL_FEATURES));\n    plan.setFeatureOverrides(userFeatures);\n  };\n  DefaultShaper.assignFeatures = function assignFeatures(plan, glyphs) {\n    // Enable contextual fractions\n    for (var i = 0; i < glyphs.length; i++) {\n      var glyph = glyphs[i];\n      if (glyph.codePoints[0] === 0x2044) {\n        // fraction slash\n        var start = i;\n        var end = i + 1; // Apply numerator\n\n        while (start > 0 && unicode.isDigit(glyphs[start - 1].codePoints[0])) {\n          glyphs[start - 1].features.numr = true;\n          glyphs[start - 1].features.frac = true;\n          start--;\n        } // Apply denominator\n\n        while (end < glyphs.length && unicode.isDigit(glyphs[end].codePoints[0])) {\n          glyphs[end].features.dnom = true;\n          glyphs[end].features.frac = true;\n          end++;\n        } // Apply fraction slash\n\n        glyph.features.frac = true;\n        i = end - 1;\n      }\n    }\n  };\n  return DefaultShaper;\n}();\n_defineProperty(DefaultShaper, \"zeroMarkWidths\", 'AFTER_GPOS');\nvar trie = new UnicodeTrie(Buffer(\"APABAAAAAAAAOAAAAf0BAv7tmi1MxDAUx7vtvjhAgcDgkEgEAnmXEBIMCYaEcygEiqBQ4FAkCE4ikUgMiiBJSAgSiUQSDMn9L9eSl6bddddug9t7yS/trevre+3r27pcNxZiG+yCfdCVv/9LeQxOwRm4AJegD27ALbgD9+ABPJF+z+BN/h7yDj5k/VOWX6SdmU5+wLWknggxDxaS8u0qiiX4uiz9XamQ3wzDMAzDMAzDMAzDVI/h959V/v7BMAzDMAzDMLlyNTNiMSdewVxbiA44B4/guz1qW58VYlMI0WsJ0W+N6kXw0spvPtdwhtkwnGM6uLaV4Xyzg3v3PM9DPfQ/sOg4xPWjipy31P8LTqbU304c/cLCUmWJLNB2Uz2U1KTeRKNmKHVMfbJC+/0loTZRH/W5cvEvBJPMbREkWt3FD1NcqXZBSpuE2Ad0PBehPtNrPtIEdYP+hiRt/V1jIiE69X4NT/uVZI3PUHE9bm5M7ePGdZWy951v7Nn6j8v1WWKP3mt6ttnsigx6VN7Vc0VomSSGqW2mGNP1muZPl7LfjNUaKNFtDGVf2fvE9O7VlBS5j333c5p/eeoOqcs1R/hIqDWLJ7TTlksirVT1SI7l8k4Yp+g3jafGcrU1RM6l9th80XOpnlN97bDNY4i4s61B0Si/ipa0uHMl6zqEjlFfCZm/TM8KmzQDjmuTAQ==\",\"base64\"));\nvar FEATURES = ['isol', 'fina', 'fin2', 'fin3', 'medi', 'med2', 'init'];\nvar ShapingClasses = {\n  Non_Joining: 0,\n  Left_Joining: 1,\n  Right_Joining: 2,\n  Dual_Joining: 3,\n  Join_Causing: 3,\n  ALAPH: 4,\n  'DALATH RISH': 5,\n  Transparent: 6\n};\nvar ISOL = 'isol';\nvar FINA = 'fina';\nvar FIN2 = 'fin2';\nvar FIN3 = 'fin3';\nvar MEDI = 'medi';\nvar MED2 = 'med2';\nvar INIT = 'init';\nvar NONE = null; // Each entry is [prevAction, curAction, nextState]\n\nvar STATE_TABLE = [\n//   Non_Joining,        Left_Joining,       Right_Joining,     Dual_Joining,           ALAPH,            DALATH RISH\n// State 0: prev was U,  not willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [NONE, ISOL, 1], [NONE, ISOL, 2], [NONE, ISOL, 1], [NONE, ISOL, 6]],\n// State 1: prev was R or ISOL/ALAPH,  not willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [NONE, ISOL, 1], [NONE, ISOL, 2], [NONE, FIN2, 5], [NONE, ISOL, 6]],\n// State 2: prev was D/L in ISOL form,  willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [INIT, FINA, 1], [INIT, FINA, 3], [INIT, FINA, 4], [INIT, FINA, 6]],\n// State 3: prev was D in FINA form,  willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [MEDI, FINA, 1], [MEDI, FINA, 3], [MEDI, FINA, 4], [MEDI, FINA, 6]],\n// State 4: prev was FINA ALAPH,  not willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [MED2, ISOL, 1], [MED2, ISOL, 2], [MED2, FIN2, 5], [MED2, ISOL, 6]],\n// State 5: prev was FIN2/FIN3 ALAPH,  not willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [ISOL, ISOL, 1], [ISOL, ISOL, 2], [ISOL, FIN2, 5], [ISOL, ISOL, 6]],\n// State 6: prev was DALATH/RISH,  not willing to join.\n[[NONE, NONE, 0], [NONE, ISOL, 2], [NONE, ISOL, 1], [NONE, ISOL, 2], [NONE, FIN3, 5], [NONE, ISOL, 6]]];\n/**\r\n * This is a shaper for Arabic, and other cursive scripts.\r\n * It uses data from ArabicShaping.txt in the Unicode database,\r\n * compiled to a UnicodeTrie by generate-data.coffee.\r\n *\r\n * The shaping state machine was ported from Harfbuzz.\r\n * https://github.com/behdad/harfbuzz/blob/master/src/hb-ot-shape-complex-arabic.cc\r\n */\nvar ArabicShaper = /*#__PURE__*/function (_DefaultShaper) {\n  _inheritsLoose(ArabicShaper, _DefaultShaper);\n  function ArabicShaper() {\n    return _DefaultShaper.apply(this, arguments) || this;\n  }\n  ArabicShaper.planFeatures = function planFeatures(plan) {\n    plan.add(['ccmp', 'locl']);\n    for (var i = 0; i < FEATURES.length; i++) {\n      var feature = FEATURES[i];\n      plan.addStage(feature, false);\n    }\n    plan.addStage('mset');\n  };\n  ArabicShaper.assignFeatures = function assignFeatures(plan, glyphs) {\n    _DefaultShaper.assignFeatures.call(this, plan, glyphs);\n    var prev = -1;\n    var state = 0;\n    var actions = []; // Apply the state machine to map glyphs to features\n\n    for (var i = 0; i < glyphs.length; i++) {\n      var curAction = void 0,\n        prevAction = void 0;\n      var glyph = glyphs[i];\n      var type = getShapingClass(glyph.codePoints[0]);\n      if (type === ShapingClasses.Transparent) {\n        actions[i] = NONE;\n        continue;\n      }\n      var _STATE_TABLE$state$ty = STATE_TABLE[state][type];\n      prevAction = _STATE_TABLE$state$ty[0];\n      curAction = _STATE_TABLE$state$ty[1];\n      state = _STATE_TABLE$state$ty[2];\n      if (prevAction !== NONE && prev !== -1) {\n        actions[prev] = prevAction;\n      }\n      actions[i] = curAction;\n      prev = i;\n    } // Apply the chosen features to their respective glyphs\n\n    for (var index = 0; index < glyphs.length; index++) {\n      var feature = void 0;\n      var glyph = glyphs[index];\n      if (feature = actions[index]) {\n        glyph.features[feature] = true;\n      }\n    }\n  };\n  return ArabicShaper;\n}(DefaultShaper);\nfunction getShapingClass(codePoint) {\n  var res = trie.get(codePoint);\n  if (res) {\n    return res - 1;\n  }\n  var category = unicode.getCategory(codePoint);\n  if (category === 'Mn' || category === 'Me' || category === 'Cf') {\n    return ShapingClasses.Transparent;\n  }\n  return ShapingClasses.Non_Joining;\n}\nvar GlyphIterator = /*#__PURE__*/function () {\n  function GlyphIterator(glyphs, options) {\n    this.glyphs = glyphs;\n    this.reset(options);\n  }\n  var _proto24 = GlyphIterator.prototype;\n  _proto24.reset = function reset(options, index) {\n    if (options === void 0) {\n      options = {};\n    }\n    if (index === void 0) {\n      index = 0;\n    }\n    this.options = options;\n    this.flags = options.flags || {};\n    this.markAttachmentType = options.markAttachmentType || 0;\n    this.index = index;\n  };\n  _proto24.shouldIgnore = function shouldIgnore(glyph) {\n    return this.flags.ignoreMarks && glyph.isMark || this.flags.ignoreBaseGlyphs && glyph.isBase || this.flags.ignoreLigatures && glyph.isLigature || this.markAttachmentType && glyph.isMark && glyph.markAttachmentType !== this.markAttachmentType;\n  };\n  _proto24.move = function move(dir) {\n    this.index += dir;\n    while (0 <= this.index && this.index < this.glyphs.length && this.shouldIgnore(this.glyphs[this.index])) {\n      this.index += dir;\n    }\n    if (0 > this.index || this.index >= this.glyphs.length) {\n      return null;\n    }\n    return this.glyphs[this.index];\n  };\n  _proto24.next = function next() {\n    return this.move(+1);\n  };\n  _proto24.prev = function prev() {\n    return this.move(-1);\n  };\n  _proto24.peek = function peek(count) {\n    if (count === void 0) {\n      count = 1;\n    }\n    var idx = this.index;\n    var res = this.increment(count);\n    this.index = idx;\n    return res;\n  };\n  _proto24.peekIndex = function peekIndex(count) {\n    if (count === void 0) {\n      count = 1;\n    }\n    var idx = this.index;\n    this.increment(count);\n    var res = this.index;\n    this.index = idx;\n    return res;\n  };\n  _proto24.increment = function increment(count) {\n    if (count === void 0) {\n      count = 1;\n    }\n    var dir = count < 0 ? -1 : 1;\n    count = Math.abs(count);\n    while (count--) {\n      this.move(dir);\n    }\n    return this.glyphs[this.index];\n  };\n  _createClass(GlyphIterator, [{\n    key: \"cur\",\n    get: function get() {\n      return this.glyphs[this.index] || null;\n    }\n  }]);\n  return GlyphIterator;\n}();\nvar DEFAULT_SCRIPTS = ['DFLT', 'dflt', 'latn'];\nvar OTProcessor = /*#__PURE__*/function () {\n  function OTProcessor(font, table) {\n    this.font = font;\n    this.table = table;\n    this.script = null;\n    this.scriptTag = null;\n    this.language = null;\n    this.languageTag = null;\n    this.features = {};\n    this.lookups = {}; // Setup variation substitutions\n\n    this.variationsIndex = font._variationProcessor ? this.findVariationsIndex(font._variationProcessor.normalizedCoords) : -1; // initialize to default script + language\n\n    this.selectScript(); // current context (set by applyFeatures)\n\n    this.glyphs = [];\n    this.positions = []; // only used by GPOS\n\n    this.ligatureID = 1;\n    this.currentFeature = null;\n  }\n  var _proto25 = OTProcessor.prototype;\n  _proto25.findScript = function findScript(script) {\n    if (this.table.scriptList == null) {\n      return null;\n    }\n    if (!Array.isArray(script)) {\n      script = [script];\n    }\n    for (var _iterator36 = _createForOfIteratorHelperLoose(script), _step36; !(_step36 = _iterator36()).done;) {\n      var s = _step36.value;\n      for (var _iterator37 = _createForOfIteratorHelperLoose(this.table.scriptList), _step37; !(_step37 = _iterator37()).done;) {\n        var entry = _step37.value;\n        if (entry.tag === s) {\n          return entry;\n        }\n      }\n    }\n    return null;\n  };\n  _proto25.selectScript = function selectScript(script, language, direction$1) {\n    var changed = false;\n    var entry;\n    if (!this.script || script !== this.scriptTag) {\n      entry = this.findScript(script);\n      if (!entry) {\n        entry = this.findScript(DEFAULT_SCRIPTS);\n      }\n      if (!entry) {\n        return this.scriptTag;\n      }\n      this.scriptTag = entry.tag;\n      this.script = entry.script;\n      this.language = null;\n      this.languageTag = null;\n      changed = true;\n    }\n    if (!direction$1 || direction$1 !== this.direction) {\n      this.direction = direction$1 || direction(script);\n    }\n    if (language && language.length < 4) {\n      language += ' '.repeat(4 - language.length);\n    }\n    if (!language || language !== this.languageTag) {\n      this.language = null;\n      for (var _iterator38 = _createForOfIteratorHelperLoose(this.script.langSysRecords), _step38; !(_step38 = _iterator38()).done;) {\n        var lang = _step38.value;\n        if (lang.tag === language) {\n          this.language = lang.langSys;\n          this.languageTag = lang.tag;\n          break;\n        }\n      }\n      if (!this.language) {\n        this.language = this.script.defaultLangSys;\n        this.languageTag = null;\n      }\n      changed = true;\n    } // Build a feature lookup table\n\n    if (changed) {\n      this.features = {};\n      if (this.language) {\n        for (var _iterator39 = _createForOfIteratorHelperLoose(this.language.featureIndexes), _step39; !(_step39 = _iterator39()).done;) {\n          var featureIndex = _step39.value;\n          var record = this.table.featureList[featureIndex];\n          var substituteFeature = this.substituteFeatureForVariations(featureIndex);\n          this.features[record.tag] = substituteFeature || record.feature;\n        }\n      }\n    }\n    return this.scriptTag;\n  };\n  _proto25.lookupsForFeatures = function lookupsForFeatures(userFeatures, exclude) {\n    if (userFeatures === void 0) {\n      userFeatures = [];\n    }\n    var lookups = [];\n    for (var _iterator40 = _createForOfIteratorHelperLoose(userFeatures), _step40; !(_step40 = _iterator40()).done;) {\n      var tag = _step40.value;\n      var feature = this.features[tag];\n      if (!feature) {\n        continue;\n      }\n      for (var _iterator41 = _createForOfIteratorHelperLoose(feature.lookupListIndexes), _step41; !(_step41 = _iterator41()).done;) {\n        var lookupIndex = _step41.value;\n        if (exclude && exclude.indexOf(lookupIndex) !== -1) {\n          continue;\n        }\n        lookups.push({\n          feature: tag,\n          index: lookupIndex,\n          lookup: this.table.lookupList.get(lookupIndex)\n        });\n      }\n    }\n    lookups.sort(function (a, b) {\n      return a.index - b.index;\n    });\n    return lookups;\n  };\n  _proto25.substituteFeatureForVariations = function substituteFeatureForVariations(featureIndex) {\n    if (this.variationsIndex === -1) {\n      return null;\n    }\n    var record = this.table.featureVariations.featureVariationRecords[this.variationsIndex];\n    var substitutions = record.featureTableSubstitution.substitutions;\n    for (var _iterator42 = _createForOfIteratorHelperLoose(substitutions), _step42; !(_step42 = _iterator42()).done;) {\n      var substitution = _step42.value;\n      if (substitution.featureIndex === featureIndex) {\n        return substitution.alternateFeatureTable;\n      }\n    }\n    return null;\n  };\n  _proto25.findVariationsIndex = function findVariationsIndex(coords) {\n    var variations = this.table.featureVariations;\n    if (!variations) {\n      return -1;\n    }\n    var records = variations.featureVariationRecords;\n    for (var i = 0; i < records.length; i++) {\n      var conditions = records[i].conditionSet.conditionTable;\n      if (this.variationConditionsMatch(conditions, coords)) {\n        return i;\n      }\n    }\n    return -1;\n  };\n  _proto25.variationConditionsMatch = function variationConditionsMatch(conditions, coords) {\n    return conditions.every(function (condition) {\n      var coord = condition.axisIndex < coords.length ? coords[condition.axisIndex] : 0;\n      return condition.filterRangeMinValue <= coord && coord <= condition.filterRangeMaxValue;\n    });\n  };\n  _proto25.applyFeatures = function applyFeatures(userFeatures, glyphs, advances) {\n    var lookups = this.lookupsForFeatures(userFeatures);\n    this.applyLookups(lookups, glyphs, advances);\n  };\n  _proto25.applyLookups = function applyLookups(lookups, glyphs, positions) {\n    this.glyphs = glyphs;\n    this.positions = positions;\n    this.glyphIterator = new GlyphIterator(glyphs);\n    for (var _iterator43 = _createForOfIteratorHelperLoose(lookups), _step43; !(_step43 = _iterator43()).done;) {\n      var _step43$value = _step43.value,\n        feature = _step43$value.feature,\n        lookup = _step43$value.lookup;\n      this.currentFeature = feature;\n      this.glyphIterator.reset(lookup.flags);\n      while (this.glyphIterator.index < glyphs.length) {\n        if (!(feature in this.glyphIterator.cur.features)) {\n          this.glyphIterator.next();\n          continue;\n        }\n        for (var _iterator44 = _createForOfIteratorHelperLoose(lookup.subTables), _step44; !(_step44 = _iterator44()).done;) {\n          var table = _step44.value;\n          var res = this.applyLookup(lookup.lookupType, table);\n          if (res) {\n            break;\n          }\n        }\n        this.glyphIterator.next();\n      }\n    }\n  };\n  _proto25.applyLookup = function applyLookup(lookup, table) {\n    throw new Error(\"applyLookup must be implemented by subclasses\");\n  };\n  _proto25.applyLookupList = function applyLookupList(lookupRecords) {\n    var options = this.glyphIterator.options;\n    var glyphIndex = this.glyphIterator.index;\n    for (var _iterator45 = _createForOfIteratorHelperLoose(lookupRecords), _step45; !(_step45 = _iterator45()).done;) {\n      var lookupRecord = _step45.value;\n      // Reset flags and find glyph index for this lookup record\n      this.glyphIterator.reset(options, glyphIndex);\n      this.glyphIterator.increment(lookupRecord.sequenceIndex); // Get the lookup and setup flags for subtables\n\n      var lookup = this.table.lookupList.get(lookupRecord.lookupListIndex);\n      this.glyphIterator.reset(lookup.flags, this.glyphIterator.index); // Apply lookup subtables until one matches\n\n      for (var _iterator46 = _createForOfIteratorHelperLoose(lookup.subTables), _step46; !(_step46 = _iterator46()).done;) {\n        var table = _step46.value;\n        if (this.applyLookup(lookup.lookupType, table)) {\n          break;\n        }\n      }\n    }\n    this.glyphIterator.reset(options, glyphIndex);\n    return true;\n  };\n  _proto25.coverageIndex = function coverageIndex(coverage, glyph) {\n    if (glyph == null) {\n      glyph = this.glyphIterator.cur.id;\n    }\n    switch (coverage.version) {\n      case 1:\n        return coverage.glyphs.indexOf(glyph);\n      case 2:\n        for (var _iterator47 = _createForOfIteratorHelperLoose(coverage.rangeRecords), _step47; !(_step47 = _iterator47()).done;) {\n          var range = _step47.value;\n          if (range.start <= glyph && glyph <= range.end) {\n            return range.startCoverageIndex + glyph - range.start;\n          }\n        }\n        break;\n    }\n    return -1;\n  };\n  _proto25.match = function match(sequenceIndex, sequence, fn, matched) {\n    var pos = this.glyphIterator.index;\n    var glyph = this.glyphIterator.increment(sequenceIndex);\n    var idx = 0;\n    while (idx < sequence.length && glyph && fn(sequence[idx], glyph)) {\n      if (matched) {\n        matched.push(this.glyphIterator.index);\n      }\n      idx++;\n      glyph = this.glyphIterator.next();\n    }\n    this.glyphIterator.index = pos;\n    if (idx < sequence.length) {\n      return false;\n    }\n    return matched || true;\n  };\n  _proto25.sequenceMatches = function sequenceMatches(sequenceIndex, sequence) {\n    return this.match(sequenceIndex, sequence, function (component, glyph) {\n      return component === glyph.id;\n    });\n  };\n  _proto25.sequenceMatchIndices = function sequenceMatchIndices(sequenceIndex, sequence) {\n    var _this4 = this;\n    return this.match(sequenceIndex, sequence, function (component, glyph) {\n      // If the current feature doesn't apply to this glyph,\n      if (!(_this4.currentFeature in glyph.features)) {\n        return false;\n      }\n      return component === glyph.id;\n    }, []);\n  };\n  _proto25.coverageSequenceMatches = function coverageSequenceMatches(sequenceIndex, sequence) {\n    var _this5 = this;\n    return this.match(sequenceIndex, sequence, function (coverage, glyph) {\n      return _this5.coverageIndex(coverage, glyph.id) >= 0;\n    });\n  };\n  _proto25.getClassID = function getClassID(glyph, classDef) {\n    switch (classDef.version) {\n      case 1:\n        // Class array\n        var i = glyph - classDef.startGlyph;\n        if (i >= 0 && i < classDef.classValueArray.length) {\n          return classDef.classValueArray[i];\n        }\n        break;\n      case 2:\n        for (var _iterator48 = _createForOfIteratorHelperLoose(classDef.classRangeRecord), _step48; !(_step48 = _iterator48()).done;) {\n          var range = _step48.value;\n          if (range.start <= glyph && glyph <= range.end) {\n            return range.class;\n          }\n        }\n        break;\n    }\n    return 0;\n  };\n  _proto25.classSequenceMatches = function classSequenceMatches(sequenceIndex, sequence, classDef) {\n    var _this6 = this;\n    return this.match(sequenceIndex, sequence, function (classID, glyph) {\n      return classID === _this6.getClassID(glyph.id, classDef);\n    });\n  };\n  _proto25.applyContext = function applyContext(table) {\n    switch (table.version) {\n      case 1:\n        var index = this.coverageIndex(table.coverage);\n        if (index === -1) {\n          return false;\n        }\n        var set = table.ruleSets[index];\n        for (var _iterator49 = _createForOfIteratorHelperLoose(set), _step49; !(_step49 = _iterator49()).done;) {\n          var rule = _step49.value;\n          if (this.sequenceMatches(1, rule.input)) {\n            return this.applyLookupList(rule.lookupRecords);\n          }\n        }\n        break;\n      case 2:\n        if (this.coverageIndex(table.coverage) === -1) {\n          return false;\n        }\n        index = this.getClassID(this.glyphIterator.cur.id, table.classDef);\n        if (index === -1) {\n          return false;\n        }\n        set = table.classSet[index];\n        for (var _iterator50 = _createForOfIteratorHelperLoose(set), _step50; !(_step50 = _iterator50()).done;) {\n          var _rule = _step50.value;\n          if (this.classSequenceMatches(1, _rule.classes, table.classDef)) {\n            return this.applyLookupList(_rule.lookupRecords);\n          }\n        }\n        break;\n      case 3:\n        if (this.coverageSequenceMatches(0, table.coverages)) {\n          return this.applyLookupList(table.lookupRecords);\n        }\n        break;\n    }\n    return false;\n  };\n  _proto25.applyChainingContext = function applyChainingContext(table) {\n    switch (table.version) {\n      case 1:\n        var index = this.coverageIndex(table.coverage);\n        if (index === -1) {\n          return false;\n        }\n        var set = table.chainRuleSets[index];\n        for (var _iterator51 = _createForOfIteratorHelperLoose(set), _step51; !(_step51 = _iterator51()).done;) {\n          var rule = _step51.value;\n          if (this.sequenceMatches(-rule.backtrack.length, rule.backtrack) && this.sequenceMatches(1, rule.input) && this.sequenceMatches(1 + rule.input.length, rule.lookahead)) {\n            return this.applyLookupList(rule.lookupRecords);\n          }\n        }\n        break;\n      case 2:\n        if (this.coverageIndex(table.coverage) === -1) {\n          return false;\n        }\n        index = this.getClassID(this.glyphIterator.cur.id, table.inputClassDef);\n        var rules = table.chainClassSet[index];\n        if (!rules) {\n          return false;\n        }\n        for (var _iterator52 = _createForOfIteratorHelperLoose(rules), _step52; !(_step52 = _iterator52()).done;) {\n          var _rule2 = _step52.value;\n          if (this.classSequenceMatches(-_rule2.backtrack.length, _rule2.backtrack, table.backtrackClassDef) && this.classSequenceMatches(1, _rule2.input, table.inputClassDef) && this.classSequenceMatches(1 + _rule2.input.length, _rule2.lookahead, table.lookaheadClassDef)) {\n            return this.applyLookupList(_rule2.lookupRecords);\n          }\n        }\n        break;\n      case 3:\n        if (this.coverageSequenceMatches(-table.backtrackGlyphCount, table.backtrackCoverage) && this.coverageSequenceMatches(0, table.inputCoverage) && this.coverageSequenceMatches(table.inputGlyphCount, table.lookaheadCoverage)) {\n          return this.applyLookupList(table.lookupRecords);\n        }\n        break;\n    }\n    return false;\n  };\n  return OTProcessor;\n}();\nvar GlyphInfo = /*#__PURE__*/function () {\n  function GlyphInfo(font, id, codePoints, features) {\n    if (codePoints === void 0) {\n      codePoints = [];\n    }\n    this._font = font;\n    this.codePoints = codePoints;\n    this.id = id;\n    this.features = {};\n    if (Array.isArray(features)) {\n      for (var i = 0; i < features.length; i++) {\n        var feature = features[i];\n        this.features[feature] = true;\n      }\n    } else if (typeof features === 'object') {\n      Object.assign(this.features, features);\n    }\n    this.ligatureID = null;\n    this.ligatureComponent = null;\n    this.isLigated = false;\n    this.cursiveAttachment = null;\n    this.markAttachment = null;\n    this.shaperInfo = null;\n    this.substituted = false;\n    this.isMultiplied = false;\n  }\n  var _proto26 = GlyphInfo.prototype;\n  _proto26.copy = function copy() {\n    return new GlyphInfo(this._font, this.id, this.codePoints, this.features);\n  };\n  _createClass(GlyphInfo, [{\n    key: \"id\",\n    get: function get() {\n      return this._id;\n    },\n    set: function set(id) {\n      this._id = id;\n      this.substituted = true;\n      var GDEF = this._font.GDEF;\n      if (GDEF && GDEF.glyphClassDef) {\n        // TODO: clean this up\n        var classID = OTProcessor.prototype.getClassID(id, GDEF.glyphClassDef);\n        this.isBase = classID === 1;\n        this.isLigature = classID === 2;\n        this.isMark = classID === 3;\n        this.markAttachmentType = GDEF.markAttachClassDef ? OTProcessor.prototype.getClassID(id, GDEF.markAttachClassDef) : 0;\n      } else {\n        this.isMark = this.codePoints.length > 0 && this.codePoints.every(unicode.isMark);\n        this.isBase = !this.isMark;\n        this.isLigature = this.codePoints.length > 1;\n        this.markAttachmentType = 0;\n      }\n    }\n  }]);\n  return GlyphInfo;\n}();\n/**\r\n * This is a shaper for the Hangul script, used by the Korean language.\r\n * It does the following:\r\n *   - decompose if unsupported by the font:\r\n *     <LV>   -> <L,V>\r\n *     <LVT>  -> <L,V,T>\r\n *     <LV,T> -> <L,V,T>\r\n *\r\n *   - compose if supported by the font:\r\n *     <L,V>   -> <LV>\r\n *     <L,V,T> -> <LVT>\r\n *     <LV,T>  -> <LVT>\r\n *\r\n *   - reorder tone marks (S is any valid syllable):\r\n *     <S, M> -> <M, S>\r\n *\r\n *   - apply ljmo, vjmo, and tjmo OpenType features to decomposed Jamo sequences.\r\n *\r\n * This logic is based on the following documents:\r\n *   - http://www.microsoft.com/typography/OpenTypeDev/hangul/intro.htm\r\n *   - http://ktug.org/~nomos/harfbuzz-hangul/hangulshaper.pdf\r\n */\nvar HangulShaper = /*#__PURE__*/function (_DefaultShaper2) {\n  _inheritsLoose(HangulShaper, _DefaultShaper2);\n  function HangulShaper() {\n    return _DefaultShaper2.apply(this, arguments) || this;\n  }\n  HangulShaper.planFeatures = function planFeatures(plan) {\n    plan.add(['ljmo', 'vjmo', 'tjmo'], false);\n  };\n  HangulShaper.assignFeatures = function assignFeatures(plan, glyphs) {\n    var state = 0;\n    var i = 0;\n    while (i < glyphs.length) {\n      var action = void 0;\n      var glyph = glyphs[i];\n      var code = glyph.codePoints[0];\n      var type = getType(code);\n      var _STATE_TABLE$1$state$ = STATE_TABLE$1[state][type];\n      action = _STATE_TABLE$1$state$[0];\n      state = _STATE_TABLE$1$state$[1];\n      switch (action) {\n        case DECOMPOSE:\n          // Decompose the composed syllable if it is not supported by the font.\n          if (!plan.font.hasGlyphForCodePoint(code)) {\n            i = decompose(glyphs, i, plan.font);\n          }\n          break;\n        case COMPOSE:\n          // Found a decomposed syllable. Try to compose if supported by the font.\n          i = compose(glyphs, i, plan.font);\n          break;\n        case TONE_MARK:\n          // Got a valid syllable, followed by a tone mark. Move the tone mark to the beginning of the syllable.\n          reorderToneMark(glyphs, i, plan.font);\n          break;\n        case INVALID:\n          // Tone mark has no valid syllable to attach to, so insert a dotted circle\n          i = insertDottedCircle(glyphs, i, plan.font);\n          break;\n      }\n      i++;\n    }\n  };\n  return HangulShaper;\n}(DefaultShaper);\n_defineProperty(HangulShaper, \"zeroMarkWidths\", 'NONE');\nvar HANGUL_BASE = 0xac00;\nvar HANGUL_END = 0xd7a4;\nvar HANGUL_COUNT = HANGUL_END - HANGUL_BASE + 1;\nvar L_BASE = 0x1100; // lead\n\nvar V_BASE = 0x1161; // vowel\n\nvar T_BASE = 0x11a7; // trail\n\nvar L_COUNT = 19;\nvar V_COUNT = 21;\nvar T_COUNT = 28;\nvar L_END = L_BASE + L_COUNT - 1;\nvar V_END = V_BASE + V_COUNT - 1;\nvar T_END = T_BASE + T_COUNT - 1;\nvar DOTTED_CIRCLE = 0x25cc;\nvar isL = function isL(code) {\n  return 0x1100 <= code && code <= 0x115f || 0xa960 <= code && code <= 0xa97c;\n};\nvar isV = function isV(code) {\n  return 0x1160 <= code && code <= 0x11a7 || 0xd7b0 <= code && code <= 0xd7c6;\n};\nvar isT = function isT(code) {\n  return 0x11a8 <= code && code <= 0x11ff || 0xd7cb <= code && code <= 0xd7fb;\n};\nvar isTone = function isTone(code) {\n  return 0x302e <= code && code <= 0x302f;\n};\nvar isLVT = function isLVT(code) {\n  return HANGUL_BASE <= code && code <= HANGUL_END;\n};\nvar isLV = function isLV(code) {\n  return code - HANGUL_BASE < HANGUL_COUNT && (code - HANGUL_BASE) % T_COUNT === 0;\n};\nvar isCombiningL = function isCombiningL(code) {\n  return L_BASE <= code && code <= L_END;\n};\nvar isCombiningV = function isCombiningV(code) {\n  return V_BASE <= code && code <= V_END;\n};\nvar isCombiningT = function isCombiningT(code) {\n  return 1 <= code && code <= T_END;\n}; // Character categories\n\nvar X = 0; // Other character\n\nvar L = 1; // Leading consonant\n\nvar V = 2; // Medial vowel\n\nvar T = 3; // Trailing consonant\n\nvar LV = 4; // Composed <LV> syllable\n\nvar LVT = 5; // Composed <LVT> syllable\n\nvar M = 6; // Tone mark\n// This function classifies a character using the above categories.\n\nfunction getType(code) {\n  if (isL(code)) {\n    return L;\n  }\n  if (isV(code)) {\n    return V;\n  }\n  if (isT(code)) {\n    return T;\n  }\n  if (isLV(code)) {\n    return LV;\n  }\n  if (isLVT(code)) {\n    return LVT;\n  }\n  if (isTone(code)) {\n    return M;\n  }\n  return X;\n} // State machine actions\n\nvar NO_ACTION = 0;\nvar DECOMPOSE = 1;\nvar COMPOSE = 2;\nvar TONE_MARK = 4;\nvar INVALID = 5; // Build a state machine that accepts valid syllables, and applies actions along the way.\n// The logic this is implementing is documented at the top of the file.\n\nvar STATE_TABLE$1 = [\n//       X                 L                 V                T                  LV                LVT               M\n// State 0: start state\n[[NO_ACTION, 0], [NO_ACTION, 1], [NO_ACTION, 0], [NO_ACTION, 0], [DECOMPOSE, 2], [DECOMPOSE, 3], [INVALID, 0]],\n// State 1: <L>\n[[NO_ACTION, 0], [NO_ACTION, 1], [COMPOSE, 2], [NO_ACTION, 0], [DECOMPOSE, 2], [DECOMPOSE, 3], [INVALID, 0]],\n// State 2: <L,V> or <LV>\n[[NO_ACTION, 0], [NO_ACTION, 1], [NO_ACTION, 0], [COMPOSE, 3], [DECOMPOSE, 2], [DECOMPOSE, 3], [TONE_MARK, 0]],\n// State 3: <L,V,T> or <LVT>\n[[NO_ACTION, 0], [NO_ACTION, 1], [NO_ACTION, 0], [NO_ACTION, 0], [DECOMPOSE, 2], [DECOMPOSE, 3], [TONE_MARK, 0]]];\nfunction getGlyph(font, code, features) {\n  return new GlyphInfo(font, font.glyphForCodePoint(code).id, [code], features);\n}\nfunction decompose(glyphs, i, font) {\n  var glyph = glyphs[i];\n  var code = glyph.codePoints[0];\n  var s = code - HANGUL_BASE;\n  var t = T_BASE + s % T_COUNT;\n  s = s / T_COUNT | 0;\n  var l = L_BASE + s / V_COUNT | 0;\n  var v = V_BASE + s % V_COUNT; // Don't decompose if all of the components are not available\n\n  if (!font.hasGlyphForCodePoint(l) || !font.hasGlyphForCodePoint(v) || t !== T_BASE && !font.hasGlyphForCodePoint(t)) {\n    return i;\n  } // Replace the current glyph with decomposed L, V, and T glyphs,\n  // and apply the proper OpenType features to each component.\n\n  var ljmo = getGlyph(font, l, glyph.features);\n  ljmo.features.ljmo = true;\n  var vjmo = getGlyph(font, v, glyph.features);\n  vjmo.features.vjmo = true;\n  var insert = [ljmo, vjmo];\n  if (t > T_BASE) {\n    var tjmo = getGlyph(font, t, glyph.features);\n    tjmo.features.tjmo = true;\n    insert.push(tjmo);\n  }\n  glyphs.splice.apply(glyphs, [i, 1].concat(insert));\n  return i + insert.length - 1;\n}\nfunction compose(glyphs, i, font) {\n  var glyph = glyphs[i];\n  var code = glyphs[i].codePoints[0];\n  var type = getType(code);\n  var prev = glyphs[i - 1].codePoints[0];\n  var prevType = getType(prev); // Figure out what type of syllable we're dealing with\n\n  var lv, ljmo, vjmo, tjmo;\n  if (prevType === LV && type === T) {\n    // <LV,T>\n    lv = prev;\n    tjmo = glyph;\n  } else {\n    if (type === V) {\n      // <L,V>\n      ljmo = glyphs[i - 1];\n      vjmo = glyph;\n    } else {\n      // <L,V,T>\n      ljmo = glyphs[i - 2];\n      vjmo = glyphs[i - 1];\n      tjmo = glyph;\n    }\n    var l = ljmo.codePoints[0];\n    var v = vjmo.codePoints[0]; // Make sure L and V are combining characters\n\n    if (isCombiningL(l) && isCombiningV(v)) {\n      lv = HANGUL_BASE + ((l - L_BASE) * V_COUNT + (v - V_BASE)) * T_COUNT;\n    }\n  }\n  var t = tjmo && tjmo.codePoints[0] || T_BASE;\n  if (lv != null && (t === T_BASE || isCombiningT(t))) {\n    var s = lv + (t - T_BASE); // Replace with a composed glyph if supported by the font,\n    // otherwise apply the proper OpenType features to each component.\n\n    if (font.hasGlyphForCodePoint(s)) {\n      var del = prevType === V ? 3 : 2;\n      glyphs.splice(i - del + 1, del, getGlyph(font, s, glyph.features));\n      return i - del + 1;\n    }\n  } // Didn't compose (either a non-combining component or unsupported by font).\n\n  if (ljmo) {\n    ljmo.features.ljmo = true;\n  }\n  if (vjmo) {\n    vjmo.features.vjmo = true;\n  }\n  if (tjmo) {\n    tjmo.features.tjmo = true;\n  }\n  if (prevType === LV) {\n    // Sequence was originally <L,V>, which got combined earlier.\n    // Either the T was non-combining, or the LVT glyph wasn't supported.\n    // Decompose the glyph again and apply OT features.\n    decompose(glyphs, i - 1, font);\n    return i + 1;\n  }\n  return i;\n}\nfunction getLength(code) {\n  switch (getType(code)) {\n    case LV:\n    case LVT:\n      return 1;\n    case V:\n      return 2;\n    case T:\n      return 3;\n  }\n}\nfunction reorderToneMark(glyphs, i, font) {\n  var glyph = glyphs[i];\n  var code = glyphs[i].codePoints[0]; // Move tone mark to the beginning of the previous syllable, unless it is zero width\n\n  if (font.glyphForCodePoint(code).advanceWidth === 0) {\n    return;\n  }\n  var prev = glyphs[i - 1].codePoints[0];\n  var len = getLength(prev);\n  glyphs.splice(i, 1);\n  return glyphs.splice(i - len, 0, glyph);\n}\nfunction insertDottedCircle(glyphs, i, font) {\n  var glyph = glyphs[i];\n  var code = glyphs[i].codePoints[0];\n  if (font.hasGlyphForCodePoint(DOTTED_CIRCLE)) {\n    var dottedCircle = getGlyph(font, DOTTED_CIRCLE, glyph.features); // If the tone mark is zero width, insert the dotted circle before, otherwise after\n\n    var idx = font.glyphForCodePoint(code).advanceWidth === 0 ? i : i + 1;\n    glyphs.splice(idx, 0, dottedCircle);\n    i++;\n  }\n  return i;\n}\nvar stateTable = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 2, 3, 4, 5, 6, 7, 8, 9, 0, 10, 11, 11, 12, 13, 14, 15, 16, 17], [0, 0, 0, 18, 19, 20, 21, 22, 23, 0, 24, 0, 0, 25, 26, 0, 0, 27, 0], [0, 0, 0, 28, 29, 30, 31, 32, 33, 0, 34, 0, 0, 35, 36, 0, 0, 37, 0], [0, 0, 0, 38, 5, 7, 7, 8, 9, 0, 10, 0, 0, 0, 13, 0, 0, 16, 0], [0, 39, 0, 0, 0, 40, 41, 0, 9, 0, 10, 0, 0, 0, 42, 0, 39, 0, 0], [0, 0, 0, 0, 43, 44, 44, 8, 9, 0, 0, 0, 0, 12, 43, 0, 0, 0, 0], [0, 0, 0, 0, 43, 44, 44, 8, 9, 0, 0, 0, 0, 0, 43, 0, 0, 0, 0], [0, 0, 0, 45, 46, 47, 48, 49, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 50, 0, 0, 51, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 53, 54, 55, 56, 57, 58, 0, 59, 0, 0, 60, 61, 0, 0, 62, 0], [0, 0, 0, 4, 5, 7, 7, 8, 9, 0, 10, 0, 0, 0, 13, 0, 0, 16, 0], [0, 63, 64, 0, 0, 40, 41, 0, 9, 0, 10, 0, 0, 0, 42, 0, 63, 0, 0], [0, 2, 3, 4, 5, 6, 7, 8, 9, 0, 10, 11, 11, 12, 13, 0, 2, 16, 0], [0, 0, 0, 18, 65, 20, 21, 22, 23, 0, 24, 0, 0, 25, 26, 0, 0, 27, 0], [0, 0, 0, 0, 66, 67, 67, 8, 9, 0, 10, 0, 0, 0, 68, 0, 0, 0, 0], [0, 0, 0, 69, 0, 70, 70, 0, 71, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 73, 19, 74, 74, 22, 23, 0, 24, 0, 0, 0, 26, 0, 0, 27, 0], [0, 75, 0, 0, 0, 76, 77, 0, 23, 0, 24, 0, 0, 0, 78, 0, 75, 0, 0], [0, 0, 0, 0, 79, 80, 80, 22, 23, 0, 0, 0, 0, 25, 79, 0, 0, 0, 0], [0, 0, 0, 18, 19, 20, 74, 22, 23, 0, 24, 0, 0, 25, 26, 0, 0, 27, 0], [0, 0, 0, 81, 82, 83, 84, 85, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 86, 0, 0, 87, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 18, 19, 74, 74, 22, 23, 0, 24, 0, 0, 0, 26, 0, 0, 27, 0], [0, 89, 90, 0, 0, 76, 77, 0, 23, 0, 24, 0, 0, 0, 78, 0, 89, 0, 0], [0, 0, 0, 0, 91, 92, 92, 22, 23, 0, 24, 0, 0, 0, 93, 0, 0, 0, 0], [0, 0, 0, 94, 29, 95, 31, 32, 33, 0, 34, 0, 0, 0, 36, 0, 0, 37, 0], [0, 96, 0, 0, 0, 97, 98, 0, 33, 0, 34, 0, 0, 0, 99, 0, 96, 0, 0], [0, 0, 0, 0, 100, 101, 101, 32, 33, 0, 0, 0, 0, 35, 100, 0, 0, 0, 0], [0, 0, 0, 0, 100, 101, 101, 32, 33, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0], [0, 0, 0, 102, 103, 104, 105, 106, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 107, 0, 0, 108, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 28, 29, 95, 31, 32, 33, 0, 34, 0, 0, 0, 36, 0, 0, 37, 0], [0, 110, 111, 0, 0, 97, 98, 0, 33, 0, 34, 0, 0, 0, 99, 0, 110, 0, 0], [0, 0, 0, 0, 112, 113, 113, 32, 33, 0, 34, 0, 0, 0, 114, 0, 0, 0, 0], [0, 0, 0, 0, 5, 7, 7, 8, 9, 0, 10, 0, 0, 0, 13, 0, 0, 16, 0], [0, 0, 0, 115, 116, 117, 118, 8, 9, 0, 10, 0, 0, 119, 120, 0, 0, 16, 0], [0, 0, 0, 0, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 39, 0, 122, 0, 123, 123, 8, 9, 0, 10, 0, 0, 0, 42, 0, 39, 0, 0], [0, 124, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 124, 0, 0], [0, 39, 0, 0, 0, 121, 125, 0, 9, 0, 10, 0, 0, 0, 42, 0, 39, 0, 0], [0, 0, 0, 0, 0, 126, 126, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 46, 47, 48, 49, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 47, 47, 49, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 127, 127, 49, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 128, 127, 127, 49, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 129, 130, 131, 132, 133, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 50, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 135, 54, 56, 56, 57, 58, 0, 59, 0, 0, 0, 61, 0, 0, 62, 0], [0, 136, 0, 0, 0, 137, 138, 0, 58, 0, 59, 0, 0, 0, 139, 0, 136, 0, 0], [0, 0, 0, 0, 140, 141, 141, 57, 58, 0, 0, 0, 0, 60, 140, 0, 0, 0, 0], [0, 0, 0, 0, 140, 141, 141, 57, 58, 0, 0, 0, 0, 0, 140, 0, 0, 0, 0], [0, 0, 0, 142, 143, 144, 145, 146, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 147, 0, 0, 148, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 149, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 53, 54, 56, 56, 57, 58, 0, 59, 0, 0, 0, 61, 0, 0, 62, 0], [0, 150, 151, 0, 0, 137, 138, 0, 58, 0, 59, 0, 0, 0, 139, 0, 150, 0, 0], [0, 0, 0, 0, 152, 153, 153, 57, 58, 0, 59, 0, 0, 0, 154, 0, 0, 0, 0], [0, 0, 0, 155, 116, 156, 157, 8, 9, 0, 10, 0, 0, 158, 120, 0, 0, 16, 0], [0, 0, 0, 0, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], [0, 75, 3, 4, 5, 159, 160, 8, 161, 0, 162, 0, 11, 12, 163, 0, 75, 16, 0], [0, 0, 0, 0, 0, 40, 164, 0, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 165, 44, 44, 8, 9, 0, 0, 0, 0, 0, 165, 0, 0, 0, 0], [0, 124, 64, 0, 0, 40, 164, 0, 9, 0, 10, 0, 0, 0, 42, 0, 124, 0, 0], [0, 0, 0, 0, 0, 70, 70, 0, 71, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 166, 0, 0, 167, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 168, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 19, 74, 74, 22, 23, 0, 24, 0, 0, 0, 26, 0, 0, 27, 0], [0, 0, 0, 0, 79, 80, 80, 22, 23, 0, 0, 0, 0, 0, 79, 0, 0, 0, 0], [0, 0, 0, 169, 170, 171, 172, 22, 23, 0, 24, 0, 0, 173, 174, 0, 0, 27, 0], [0, 0, 0, 0, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 75, 0, 176, 0, 177, 177, 22, 23, 0, 24, 0, 0, 0, 78, 0, 75, 0, 0], [0, 178, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 178, 0, 0], [0, 75, 0, 0, 0, 175, 179, 0, 23, 0, 24, 0, 0, 0, 78, 0, 75, 0, 0], [0, 0, 0, 0, 0, 180, 180, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 82, 83, 84, 85, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 83, 83, 85, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 181, 181, 85, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 182, 181, 181, 85, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 183, 184, 185, 186, 187, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 86, 0, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 189, 170, 190, 191, 22, 23, 0, 24, 0, 0, 192, 174, 0, 0, 27, 0], [0, 0, 0, 0, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 76, 193, 0, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 194, 80, 80, 22, 23, 0, 0, 0, 0, 0, 194, 0, 0, 0, 0], [0, 178, 90, 0, 0, 76, 193, 0, 23, 0, 24, 0, 0, 0, 78, 0, 178, 0, 0], [0, 0, 0, 0, 29, 95, 31, 32, 33, 0, 34, 0, 0, 0, 36, 0, 0, 37, 0], [0, 0, 0, 0, 100, 101, 101, 32, 33, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0], [0, 0, 0, 195, 196, 197, 198, 32, 33, 0, 34, 0, 0, 199, 200, 0, 0, 37, 0], [0, 0, 0, 0, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 96, 0, 202, 0, 203, 203, 32, 33, 0, 34, 0, 0, 0, 99, 0, 96, 0, 0], [0, 204, 111, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 0, 0], [0, 96, 0, 0, 0, 201, 205, 0, 33, 0, 34, 0, 0, 0, 99, 0, 96, 0, 0], [0, 0, 0, 0, 0, 206, 206, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 103, 104, 105, 106, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 104, 104, 106, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 207, 207, 106, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 208, 207, 207, 106, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 209, 210, 211, 212, 213, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 107, 0, 0, 0, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 215, 196, 216, 217, 32, 33, 0, 34, 0, 0, 218, 200, 0, 0, 37, 0], [0, 0, 0, 0, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 97, 219, 0, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 220, 101, 101, 32, 33, 0, 0, 0, 0, 0, 220, 0, 0, 0, 0], [0, 204, 111, 0, 0, 97, 219, 0, 33, 0, 34, 0, 0, 0, 99, 0, 204, 0, 0], [0, 0, 0, 221, 116, 222, 222, 8, 9, 0, 10, 0, 0, 0, 120, 0, 0, 16, 0], [0, 223, 0, 0, 0, 40, 224, 0, 9, 0, 10, 0, 0, 0, 42, 0, 223, 0, 0], [0, 0, 0, 0, 225, 44, 44, 8, 9, 0, 0, 0, 0, 119, 225, 0, 0, 0, 0], [0, 0, 0, 115, 116, 117, 222, 8, 9, 0, 10, 0, 0, 119, 120, 0, 0, 16, 0], [0, 0, 0, 115, 116, 222, 222, 8, 9, 0, 10, 0, 0, 0, 120, 0, 0, 16, 0], [0, 226, 64, 0, 0, 40, 224, 0, 9, 0, 10, 0, 0, 0, 42, 0, 226, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 39, 0, 0, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 39, 0, 0], [0, 0, 0, 0, 0, 44, 44, 8, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 227, 0, 228, 229, 0, 9, 0, 10, 0, 0, 230, 0, 0, 0, 0, 0], [0, 39, 0, 122, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 39, 0, 0], [0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 231, 231, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 130, 131, 132, 133, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 131, 131, 133, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 233, 233, 133, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 234, 233, 233, 133, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 235, 236, 237, 238, 239, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 54, 56, 56, 57, 58, 0, 59, 0, 0, 0, 61, 0, 0, 62, 0], [0, 0, 0, 240, 241, 242, 243, 57, 58, 0, 59, 0, 0, 244, 245, 0, 0, 62, 0], [0, 0, 0, 0, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 136, 0, 247, 0, 248, 248, 57, 58, 0, 59, 0, 0, 0, 139, 0, 136, 0, 0], [0, 249, 151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 249, 0, 0], [0, 136, 0, 0, 0, 246, 250, 0, 58, 0, 59, 0, 0, 0, 139, 0, 136, 0, 0], [0, 0, 0, 0, 0, 251, 251, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 143, 144, 145, 146, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 144, 144, 146, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 252, 252, 146, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 253, 252, 252, 146, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 254, 255, 256, 257, 258, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 147, 0, 0, 0, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 260, 241, 261, 262, 57, 58, 0, 59, 0, 0, 263, 245, 0, 0, 62, 0], [0, 0, 0, 0, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 137, 264, 0, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 265, 141, 141, 57, 58, 0, 0, 0, 0, 0, 265, 0, 0, 0, 0], [0, 249, 151, 0, 0, 137, 264, 0, 58, 0, 59, 0, 0, 0, 139, 0, 249, 0, 0], [0, 0, 0, 221, 116, 222, 222, 8, 9, 0, 10, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 225, 44, 44, 8, 9, 0, 0, 0, 0, 158, 225, 0, 0, 0, 0], [0, 0, 0, 155, 116, 156, 222, 8, 9, 0, 10, 0, 0, 158, 120, 0, 0, 16, 0], [0, 0, 0, 155, 116, 222, 222, 8, 9, 0, 10, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 43, 266, 266, 8, 161, 0, 24, 0, 0, 12, 267, 0, 0, 0, 0], [0, 75, 0, 176, 43, 268, 268, 269, 161, 0, 24, 0, 0, 0, 267, 0, 75, 0, 0], [0, 0, 0, 0, 0, 270, 0, 0, 271, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 272, 0, 0, 0, 0, 0, 0, 0, 0], [0, 273, 274, 0, 0, 40, 41, 0, 9, 0, 10, 0, 0, 0, 42, 0, 273, 0, 0], [0, 0, 0, 40, 0, 123, 123, 8, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 121, 275, 0, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 166, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 277, 170, 278, 278, 22, 23, 0, 24, 0, 0, 0, 174, 0, 0, 27, 0], [0, 279, 0, 0, 0, 76, 280, 0, 23, 0, 24, 0, 0, 0, 78, 0, 279, 0, 0], [0, 0, 0, 0, 281, 80, 80, 22, 23, 0, 0, 0, 0, 173, 281, 0, 0, 0, 0], [0, 0, 0, 169, 170, 171, 278, 22, 23, 0, 24, 0, 0, 173, 174, 0, 0, 27, 0], [0, 0, 0, 169, 170, 278, 278, 22, 23, 0, 24, 0, 0, 0, 174, 0, 0, 27, 0], [0, 282, 90, 0, 0, 76, 280, 0, 23, 0, 24, 0, 0, 0, 78, 0, 282, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 75, 0, 0, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 75, 0, 0], [0, 0, 0, 0, 0, 80, 80, 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 283, 0, 284, 285, 0, 23, 0, 24, 0, 0, 286, 0, 0, 0, 0, 0], [0, 75, 0, 176, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 75, 0, 0], [0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 287, 287, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 184, 185, 186, 187, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 185, 185, 187, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 289, 289, 187, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 290, 289, 289, 187, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 291, 292, 293, 294, 295, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 277, 170, 278, 278, 22, 23, 0, 24, 0, 0, 0, 174, 0, 0, 27, 0], [0, 0, 0, 0, 281, 80, 80, 22, 23, 0, 0, 0, 0, 192, 281, 0, 0, 0, 0], [0, 0, 0, 189, 170, 190, 278, 22, 23, 0, 24, 0, 0, 192, 174, 0, 0, 27, 0], [0, 0, 0, 189, 170, 278, 278, 22, 23, 0, 24, 0, 0, 0, 174, 0, 0, 27, 0], [0, 0, 0, 76, 0, 177, 177, 22, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 175, 296, 0, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 297, 196, 298, 298, 32, 33, 0, 34, 0, 0, 0, 200, 0, 0, 37, 0], [0, 299, 0, 0, 0, 97, 300, 0, 33, 0, 34, 0, 0, 0, 99, 0, 299, 0, 0], [0, 0, 0, 0, 301, 101, 101, 32, 33, 0, 0, 0, 0, 199, 301, 0, 0, 0, 0], [0, 0, 0, 195, 196, 197, 298, 32, 33, 0, 34, 0, 0, 199, 200, 0, 0, 37, 0], [0, 0, 0, 195, 196, 298, 298, 32, 33, 0, 34, 0, 0, 0, 200, 0, 0, 37, 0], [0, 302, 111, 0, 0, 97, 300, 0, 33, 0, 34, 0, 0, 0, 99, 0, 302, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 96, 0, 0, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 96, 0, 0], [0, 0, 0, 0, 0, 101, 101, 32, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 303, 0, 304, 305, 0, 33, 0, 34, 0, 0, 306, 0, 0, 0, 0, 0], [0, 96, 0, 202, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 96, 0, 0], [0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 307, 307, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 210, 211, 212, 213, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 211, 211, 213, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 309, 309, 213, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 310, 309, 309, 213, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 311, 312, 313, 314, 315, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 297, 196, 298, 298, 32, 33, 0, 34, 0, 0, 0, 200, 0, 0, 37, 0], [0, 0, 0, 0, 301, 101, 101, 32, 33, 0, 0, 0, 0, 218, 301, 0, 0, 0, 0], [0, 0, 0, 215, 196, 216, 298, 32, 33, 0, 34, 0, 0, 218, 200, 0, 0, 37, 0], [0, 0, 0, 215, 196, 298, 298, 32, 33, 0, 34, 0, 0, 0, 200, 0, 0, 37, 0], [0, 0, 0, 97, 0, 203, 203, 32, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 201, 316, 0, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 116, 222, 222, 8, 9, 0, 10, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 225, 44, 44, 8, 9, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0], [0, 0, 0, 317, 318, 319, 320, 8, 9, 0, 10, 0, 0, 321, 322, 0, 0, 16, 0], [0, 223, 0, 323, 0, 123, 123, 8, 9, 0, 10, 0, 0, 0, 42, 0, 223, 0, 0], [0, 223, 0, 0, 0, 121, 324, 0, 9, 0, 10, 0, 0, 0, 42, 0, 223, 0, 0], [0, 0, 0, 325, 318, 326, 327, 8, 9, 0, 10, 0, 0, 328, 322, 0, 0, 16, 0], [0, 0, 0, 64, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 230, 0, 0, 0, 0, 0], [0, 0, 0, 227, 0, 228, 121, 0, 9, 0, 10, 0, 0, 230, 0, 0, 0, 0, 0], [0, 0, 0, 227, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0], [0, 0, 0, 0, 0, 329, 329, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 330, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 236, 237, 238, 239, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 237, 237, 239, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 331, 331, 239, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 332, 331, 331, 239, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 333, 40, 121, 334, 0, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 335, 241, 336, 336, 57, 58, 0, 59, 0, 0, 0, 245, 0, 0, 62, 0], [0, 337, 0, 0, 0, 137, 338, 0, 58, 0, 59, 0, 0, 0, 139, 0, 337, 0, 0], [0, 0, 0, 0, 339, 141, 141, 57, 58, 0, 0, 0, 0, 244, 339, 0, 0, 0, 0], [0, 0, 0, 240, 241, 242, 336, 57, 58, 0, 59, 0, 0, 244, 245, 0, 0, 62, 0], [0, 0, 0, 240, 241, 336, 336, 57, 58, 0, 59, 0, 0, 0, 245, 0, 0, 62, 0], [0, 340, 151, 0, 0, 137, 338, 0, 58, 0, 59, 0, 0, 0, 139, 0, 340, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 136, 0, 0, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 136, 0, 0], [0, 0, 0, 0, 0, 141, 141, 57, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 341, 0, 342, 343, 0, 58, 0, 59, 0, 0, 344, 0, 0, 0, 0, 0], [0, 136, 0, 247, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 136, 0, 0], [0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 345, 345, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 255, 256, 257, 258, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 256, 256, 258, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 347, 347, 258, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 348, 347, 347, 258, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 349, 350, 351, 352, 353, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 335, 241, 336, 336, 57, 58, 0, 59, 0, 0, 0, 245, 0, 0, 62, 0], [0, 0, 0, 0, 339, 141, 141, 57, 58, 0, 0, 0, 0, 263, 339, 0, 0, 0, 0], [0, 0, 0, 260, 241, 261, 336, 57, 58, 0, 59, 0, 0, 263, 245, 0, 0, 62, 0], [0, 0, 0, 260, 241, 336, 336, 57, 58, 0, 59, 0, 0, 0, 245, 0, 0, 62, 0], [0, 0, 0, 137, 0, 248, 248, 57, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 246, 354, 0, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 126, 126, 8, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 355, 90, 0, 0, 121, 125, 0, 9, 0, 10, 0, 0, 0, 42, 0, 355, 0, 0], [0, 0, 0, 0, 0, 356, 356, 269, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 357, 358, 359, 360, 361, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 270, 0, 0, 0, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 364, 116, 365, 366, 8, 161, 0, 162, 0, 0, 367, 120, 0, 0, 16, 0], [0, 0, 0, 0, 0, 368, 368, 0, 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 40, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 170, 278, 278, 22, 23, 0, 24, 0, 0, 0, 174, 0, 0, 27, 0], [0, 0, 0, 0, 281, 80, 80, 22, 23, 0, 0, 0, 0, 0, 281, 0, 0, 0, 0], [0, 0, 0, 369, 370, 371, 372, 22, 23, 0, 24, 0, 0, 373, 374, 0, 0, 27, 0], [0, 279, 0, 375, 0, 177, 177, 22, 23, 0, 24, 0, 0, 0, 78, 0, 279, 0, 0], [0, 279, 0, 0, 0, 175, 376, 0, 23, 0, 24, 0, 0, 0, 78, 0, 279, 0, 0], [0, 0, 0, 377, 370, 378, 379, 22, 23, 0, 24, 0, 0, 380, 374, 0, 0, 27, 0], [0, 0, 0, 90, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 0, 286, 0, 0, 0, 0, 0], [0, 0, 0, 283, 0, 284, 175, 0, 23, 0, 24, 0, 0, 286, 0, 0, 0, 0, 0], [0, 0, 0, 283, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 0, 0], [0, 0, 0, 0, 0, 381, 381, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 292, 293, 294, 295, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 293, 293, 295, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 0, 383, 383, 295, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 384, 383, 383, 295, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 385, 76, 175, 386, 0, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 76, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 196, 298, 298, 32, 33, 0, 34, 0, 0, 0, 200, 0, 0, 37, 0], [0, 0, 0, 0, 301, 101, 101, 32, 33, 0, 0, 0, 0, 0, 301, 0, 0, 0, 0], [0, 0, 0, 387, 388, 389, 390, 32, 33, 0, 34, 0, 0, 391, 392, 0, 0, 37, 0], [0, 299, 0, 393, 0, 203, 203, 32, 33, 0, 34, 0, 0, 0, 99, 0, 299, 0, 0], [0, 299, 0, 0, 0, 201, 394, 0, 33, 0, 34, 0, 0, 0, 99, 0, 299, 0, 0], [0, 0, 0, 395, 388, 396, 397, 32, 33, 0, 34, 0, 0, 398, 392, 0, 0, 37, 0], [0, 0, 0, 111, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 306, 0, 0, 0, 0, 0], [0, 0, 0, 303, 0, 304, 201, 0, 33, 0, 34, 0, 0, 306, 0, 0, 0, 0, 0], [0, 0, 0, 303, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0], [0, 0, 0, 0, 0, 399, 399, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 312, 313, 314, 315, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 313, 313, 315, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 0, 401, 401, 315, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 402, 401, 401, 315, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 403, 97, 201, 404, 0, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 97, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 405, 318, 406, 406, 8, 9, 0, 10, 0, 0, 0, 322, 0, 0, 16, 0], [0, 407, 0, 0, 0, 40, 408, 0, 9, 0, 10, 0, 0, 0, 42, 0, 407, 0, 0], [0, 0, 0, 0, 409, 44, 44, 8, 9, 0, 0, 0, 0, 321, 409, 0, 0, 0, 0], [0, 0, 0, 317, 318, 319, 406, 8, 9, 0, 10, 0, 0, 321, 322, 0, 0, 16, 0], [0, 0, 0, 317, 318, 406, 406, 8, 9, 0, 10, 0, 0, 0, 322, 0, 0, 16, 0], [0, 410, 64, 0, 0, 40, 408, 0, 9, 0, 10, 0, 0, 0, 42, 0, 410, 0, 0], [0, 223, 0, 0, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 223, 0, 0], [0, 223, 0, 323, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 223, 0, 0], [0, 0, 0, 405, 318, 406, 406, 8, 9, 0, 10, 0, 0, 0, 322, 0, 0, 16, 0], [0, 0, 0, 0, 409, 44, 44, 8, 9, 0, 0, 0, 0, 328, 409, 0, 0, 0, 0], [0, 0, 0, 325, 318, 326, 406, 8, 9, 0, 10, 0, 0, 328, 322, 0, 0, 16, 0], [0, 0, 0, 325, 318, 406, 406, 8, 9, 0, 10, 0, 0, 0, 322, 0, 0, 16, 0], [0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130, 0, 0], [0, 0, 0, 0, 0, 411, 411, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 412, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 40, 121, 334, 0, 9, 0, 10, 0, 0, 0, 42, 0, 0, 0, 0], [0, 0, 0, 0, 413, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 241, 336, 336, 57, 58, 0, 59, 0, 0, 0, 245, 0, 0, 62, 0], [0, 0, 0, 0, 339, 141, 141, 57, 58, 0, 0, 0, 0, 0, 339, 0, 0, 0, 0], [0, 0, 0, 414, 415, 416, 417, 57, 58, 0, 59, 0, 0, 418, 419, 0, 0, 62, 0], [0, 337, 0, 420, 0, 248, 248, 57, 58, 0, 59, 0, 0, 0, 139, 0, 337, 0, 0], [0, 337, 0, 0, 0, 246, 421, 0, 58, 0, 59, 0, 0, 0, 139, 0, 337, 0, 0], [0, 0, 0, 422, 415, 423, 424, 57, 58, 0, 59, 0, 0, 425, 419, 0, 0, 62, 0], [0, 0, 0, 151, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 0, 344, 0, 0, 0, 0, 0], [0, 0, 0, 341, 0, 342, 246, 0, 58, 0, 59, 0, 0, 344, 0, 0, 0, 0, 0], [0, 0, 0, 341, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 146, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 143, 0, 0], [0, 0, 0, 0, 0, 426, 426, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 350, 351, 352, 353, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 351, 351, 353, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 0, 428, 428, 353, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 429, 428, 428, 353, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 430, 137, 246, 431, 0, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 137, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 432, 116, 433, 434, 8, 161, 0, 162, 0, 0, 435, 120, 0, 0, 16, 0], [0, 0, 0, 0, 0, 180, 180, 269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 358, 359, 360, 361, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 359, 359, 361, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 436, 436, 361, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 437, 436, 436, 361, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 438, 439, 440, 441, 442, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 443, 274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 443, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 444, 116, 445, 445, 8, 161, 0, 162, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 225, 44, 44, 8, 161, 0, 0, 0, 0, 367, 225, 0, 0, 0, 0], [0, 0, 0, 364, 116, 365, 445, 8, 161, 0, 162, 0, 0, 367, 120, 0, 0, 16, 0], [0, 0, 0, 364, 116, 445, 445, 8, 161, 0, 162, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 446, 370, 447, 447, 22, 23, 0, 24, 0, 0, 0, 374, 0, 0, 27, 0], [0, 448, 0, 0, 0, 76, 449, 0, 23, 0, 24, 0, 0, 0, 78, 0, 448, 0, 0], [0, 0, 0, 0, 450, 80, 80, 22, 23, 0, 0, 0, 0, 373, 450, 0, 0, 0, 0], [0, 0, 0, 369, 370, 371, 447, 22, 23, 0, 24, 0, 0, 373, 374, 0, 0, 27, 0], [0, 0, 0, 369, 370, 447, 447, 22, 23, 0, 24, 0, 0, 0, 374, 0, 0, 27, 0], [0, 451, 90, 0, 0, 76, 449, 0, 23, 0, 24, 0, 0, 0, 78, 0, 451, 0, 0], [0, 279, 0, 0, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 279, 0, 0], [0, 279, 0, 375, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 279, 0, 0], [0, 0, 0, 446, 370, 447, 447, 22, 23, 0, 24, 0, 0, 0, 374, 0, 0, 27, 0], [0, 0, 0, 0, 450, 80, 80, 22, 23, 0, 0, 0, 0, 380, 450, 0, 0, 0, 0], [0, 0, 0, 377, 370, 378, 447, 22, 23, 0, 24, 0, 0, 380, 374, 0, 0, 27, 0], [0, 0, 0, 377, 370, 447, 447, 22, 23, 0, 24, 0, 0, 0, 374, 0, 0, 27, 0], [0, 0, 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 184, 0, 0], [0, 0, 0, 0, 0, 452, 452, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 76, 175, 386, 0, 23, 0, 24, 0, 0, 0, 78, 0, 0, 0, 0], [0, 0, 0, 0, 454, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 455, 388, 456, 456, 32, 33, 0, 34, 0, 0, 0, 392, 0, 0, 37, 0], [0, 457, 0, 0, 0, 97, 458, 0, 33, 0, 34, 0, 0, 0, 99, 0, 457, 0, 0], [0, 0, 0, 0, 459, 101, 101, 32, 33, 0, 0, 0, 0, 391, 459, 0, 0, 0, 0], [0, 0, 0, 387, 388, 389, 456, 32, 33, 0, 34, 0, 0, 391, 392, 0, 0, 37, 0], [0, 0, 0, 387, 388, 456, 456, 32, 33, 0, 34, 0, 0, 0, 392, 0, 0, 37, 0], [0, 460, 111, 0, 0, 97, 458, 0, 33, 0, 34, 0, 0, 0, 99, 0, 460, 0, 0], [0, 299, 0, 0, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 299, 0, 0], [0, 299, 0, 393, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 299, 0, 0], [0, 0, 0, 455, 388, 456, 456, 32, 33, 0, 34, 0, 0, 0, 392, 0, 0, 37, 0], [0, 0, 0, 0, 459, 101, 101, 32, 33, 0, 0, 0, 0, 398, 459, 0, 0, 0, 0], [0, 0, 0, 395, 388, 396, 456, 32, 33, 0, 34, 0, 0, 398, 392, 0, 0, 37, 0], [0, 0, 0, 395, 388, 456, 456, 32, 33, 0, 34, 0, 0, 0, 392, 0, 0, 37, 0], [0, 0, 0, 0, 0, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 0, 0], [0, 0, 0, 0, 0, 461, 461, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 97, 201, 404, 0, 33, 0, 34, 0, 0, 0, 99, 0, 0, 0, 0], [0, 0, 0, 0, 463, 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 318, 406, 406, 8, 9, 0, 10, 0, 0, 0, 322, 0, 0, 16, 0], [0, 0, 0, 0, 409, 44, 44, 8, 9, 0, 0, 0, 0, 0, 409, 0, 0, 0, 0], [0, 0, 0, 464, 465, 466, 467, 8, 9, 0, 10, 0, 0, 468, 469, 0, 0, 16, 0], [0, 407, 0, 470, 0, 123, 123, 8, 9, 0, 10, 0, 0, 0, 42, 0, 407, 0, 0], [0, 407, 0, 0, 0, 121, 471, 0, 9, 0, 10, 0, 0, 0, 42, 0, 407, 0, 0], [0, 0, 0, 472, 465, 473, 474, 8, 9, 0, 10, 0, 0, 475, 469, 0, 0, 16, 0], [0, 0, 0, 0, 0, 0, 0, 239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 236, 0, 0], [0, 0, 0, 0, 0, 0, 476, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 477, 415, 478, 478, 57, 58, 0, 59, 0, 0, 0, 419, 0, 0, 62, 0], [0, 479, 0, 0, 0, 137, 480, 0, 58, 0, 59, 0, 0, 0, 139, 0, 479, 0, 0], [0, 0, 0, 0, 481, 141, 141, 57, 58, 0, 0, 0, 0, 418, 481, 0, 0, 0, 0], [0, 0, 0, 414, 415, 416, 478, 57, 58, 0, 59, 0, 0, 418, 419, 0, 0, 62, 0], [0, 0, 0, 414, 415, 478, 478, 57, 58, 0, 59, 0, 0, 0, 419, 0, 0, 62, 0], [0, 482, 151, 0, 0, 137, 480, 0, 58, 0, 59, 0, 0, 0, 139, 0, 482, 0, 0], [0, 337, 0, 0, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 337, 0, 0], [0, 337, 0, 420, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 337, 0, 0], [0, 0, 0, 477, 415, 478, 478, 57, 58, 0, 59, 0, 0, 0, 419, 0, 0, 62, 0], [0, 0, 0, 0, 481, 141, 141, 57, 58, 0, 0, 0, 0, 425, 481, 0, 0, 0, 0], [0, 0, 0, 422, 415, 423, 478, 57, 58, 0, 59, 0, 0, 425, 419, 0, 0, 62, 0], [0, 0, 0, 422, 415, 478, 478, 57, 58, 0, 59, 0, 0, 0, 419, 0, 0, 62, 0], [0, 0, 0, 0, 0, 0, 0, 258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0], [0, 0, 0, 0, 0, 483, 483, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 137, 246, 431, 0, 58, 0, 59, 0, 0, 0, 139, 0, 0, 0, 0], [0, 0, 0, 0, 485, 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 444, 116, 445, 445, 8, 161, 0, 162, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 225, 44, 44, 8, 161, 0, 0, 0, 0, 435, 225, 0, 0, 0, 0], [0, 0, 0, 432, 116, 433, 445, 8, 161, 0, 162, 0, 0, 435, 120, 0, 0, 16, 0], [0, 0, 0, 432, 116, 445, 445, 8, 161, 0, 162, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 0, 486, 486, 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 439, 440, 441, 442, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 440, 440, 442, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 488, 488, 442, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 489, 488, 488, 442, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 490, 491, 492, 493, 494, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 495, 0, 496, 497, 0, 161, 0, 162, 0, 0, 498, 0, 0, 0, 0, 0], [0, 0, 0, 0, 116, 445, 445, 8, 161, 0, 162, 0, 0, 0, 120, 0, 0, 16, 0], [0, 0, 0, 0, 225, 44, 44, 8, 161, 0, 0, 0, 0, 0, 225, 0, 0, 0, 0], [0, 0, 0, 0, 370, 447, 447, 22, 23, 0, 24, 0, 0, 0, 374, 0, 0, 27, 0], [0, 0, 0, 0, 450, 80, 80, 22, 23, 0, 0, 0, 0, 0, 450, 0, 0, 0, 0], [0, 0, 0, 499, 500, 501, 502, 22, 23, 0, 24, 0, 0, 503, 504, 0, 0, 27, 0], [0, 448, 0, 505, 0, 177, 177, 22, 23, 0, 24, 0, 0, 0, 78, 0, 448, 0, 0], [0, 448, 0, 0, 0, 175, 506, 0, 23, 0, 24, 0, 0, 0, 78, 0, 448, 0, 0], [0, 0, 0, 507, 500, 508, 509, 22, 23, 0, 24, 0, 0, 510, 504, 0, 0, 27, 0], [0, 0, 0, 0, 0, 0, 0, 295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 292, 0, 0], [0, 0, 0, 0, 0, 0, 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 388, 456, 456, 32, 33, 0, 34, 0, 0, 0, 392, 0, 0, 37, 0], [0, 0, 0, 0, 459, 101, 101, 32, 33, 0, 0, 0, 0, 0, 459, 0, 0, 0, 0], [0, 0, 0, 512, 513, 514, 515, 32, 33, 0, 34, 0, 0, 516, 517, 0, 0, 37, 0], [0, 457, 0, 518, 0, 203, 203, 32, 33, 0, 34, 0, 0, 0, 99, 0, 457, 0, 0], [0, 457, 0, 0, 0, 201, 519, 0, 33, 0, 34, 0, 0, 0, 99, 0, 457, 0, 0], [0, 0, 0, 520, 513, 521, 522, 32, 33, 0, 34, 0, 0, 523, 517, 0, 0, 37, 0], [0, 0, 0, 0, 0, 0, 0, 315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 312, 0, 0], [0, 0, 0, 0, 0, 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 525, 465, 526, 526, 8, 9, 0, 10, 0, 0, 0, 469, 0, 0, 16, 0], [0, 527, 0, 0, 0, 40, 528, 0, 9, 0, 10, 0, 0, 0, 42, 0, 527, 0, 0], [0, 0, 0, 0, 529, 44, 44, 8, 9, 0, 0, 0, 0, 468, 529, 0, 0, 0, 0], [0, 0, 0, 464, 465, 466, 526, 8, 9, 0, 10, 0, 0, 468, 469, 0, 0, 16, 0], [0, 0, 0, 464, 465, 526, 526, 8, 9, 0, 10, 0, 0, 0, 469, 0, 0, 16, 0], [0, 530, 64, 0, 0, 40, 528, 0, 9, 0, 10, 0, 0, 0, 42, 0, 530, 0, 0], [0, 407, 0, 0, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 407, 0, 0], [0, 407, 0, 470, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 407, 0, 0], [0, 0, 0, 525, 465, 526, 526, 8, 9, 0, 10, 0, 0, 0, 469, 0, 0, 16, 0], [0, 0, 0, 0, 529, 44, 44, 8, 9, 0, 0, 0, 0, 475, 529, 0, 0, 0, 0], [0, 0, 0, 472, 465, 473, 526, 8, 9, 0, 10, 0, 0, 475, 469, 0, 0, 16, 0], [0, 0, 0, 472, 465, 526, 526, 8, 9, 0, 10, 0, 0, 0, 469, 0, 0, 16, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0], [0, 0, 0, 0, 415, 478, 478, 57, 58, 0, 59, 0, 0, 0, 419, 0, 0, 62, 0], [0, 0, 0, 0, 481, 141, 141, 57, 58, 0, 0, 0, 0, 0, 481, 0, 0, 0, 0], [0, 0, 0, 531, 532, 533, 534, 57, 58, 0, 59, 0, 0, 535, 536, 0, 0, 62, 0], [0, 479, 0, 537, 0, 248, 248, 57, 58, 0, 59, 0, 0, 0, 139, 0, 479, 0, 0], [0, 479, 0, 0, 0, 246, 538, 0, 58, 0, 59, 0, 0, 0, 139, 0, 479, 0, 0], [0, 0, 0, 539, 532, 540, 541, 57, 58, 0, 59, 0, 0, 542, 536, 0, 0, 62, 0], [0, 0, 0, 0, 0, 0, 0, 353, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 350, 0, 0], [0, 0, 0, 0, 0, 0, 543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, 0], [0, 0, 0, 0, 0, 544, 544, 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 491, 492, 493, 494, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 492, 492, 494, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 546, 546, 494, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 547, 546, 546, 494, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 548, 549, 368, 550, 0, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 274, 0, 368, 368, 0, 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 161, 0, 0, 0, 0, 498, 0, 0, 0, 0, 0], [0, 0, 0, 495, 0, 496, 368, 0, 161, 0, 162, 0, 0, 498, 0, 0, 0, 0, 0], [0, 0, 0, 495, 0, 368, 368, 0, 161, 0, 162, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 551, 500, 552, 552, 22, 23, 0, 24, 0, 0, 0, 504, 0, 0, 27, 0], [0, 553, 0, 0, 0, 76, 554, 0, 23, 0, 24, 0, 0, 0, 78, 0, 553, 0, 0], [0, 0, 0, 0, 555, 80, 80, 22, 23, 0, 0, 0, 0, 503, 555, 0, 0, 0, 0], [0, 0, 0, 499, 500, 501, 552, 22, 23, 0, 24, 0, 0, 503, 504, 0, 0, 27, 0], [0, 0, 0, 499, 500, 552, 552, 22, 23, 0, 24, 0, 0, 0, 504, 0, 0, 27, 0], [0, 556, 90, 0, 0, 76, 554, 0, 23, 0, 24, 0, 0, 0, 78, 0, 556, 0, 0], [0, 448, 0, 0, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 448, 0, 0], [0, 448, 0, 505, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 448, 0, 0], [0, 0, 0, 551, 500, 552, 552, 22, 23, 0, 24, 0, 0, 0, 504, 0, 0, 27, 0], [0, 0, 0, 0, 555, 80, 80, 22, 23, 0, 0, 0, 0, 510, 555, 0, 0, 0, 0], [0, 0, 0, 507, 500, 508, 552, 22, 23, 0, 24, 0, 0, 510, 504, 0, 0, 27, 0], [0, 0, 0, 507, 500, 552, 552, 22, 23, 0, 24, 0, 0, 0, 504, 0, 0, 27, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 76, 0, 0], [0, 0, 0, 557, 513, 558, 558, 32, 33, 0, 34, 0, 0, 0, 517, 0, 0, 37, 0], [0, 559, 0, 0, 0, 97, 560, 0, 33, 0, 34, 0, 0, 0, 99, 0, 559, 0, 0], [0, 0, 0, 0, 561, 101, 101, 32, 33, 0, 0, 0, 0, 516, 561, 0, 0, 0, 0], [0, 0, 0, 512, 513, 514, 558, 32, 33, 0, 34, 0, 0, 516, 517, 0, 0, 37, 0], [0, 0, 0, 512, 513, 558, 558, 32, 33, 0, 34, 0, 0, 0, 517, 0, 0, 37, 0], [0, 562, 111, 0, 0, 97, 560, 0, 33, 0, 34, 0, 0, 0, 99, 0, 562, 0, 0], [0, 457, 0, 0, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 457, 0, 0], [0, 457, 0, 518, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 457, 0, 0], [0, 0, 0, 557, 513, 558, 558, 32, 33, 0, 34, 0, 0, 0, 517, 0, 0, 37, 0], [0, 0, 0, 0, 561, 101, 101, 32, 33, 0, 0, 0, 0, 523, 561, 0, 0, 0, 0], [0, 0, 0, 520, 513, 521, 558, 32, 33, 0, 34, 0, 0, 523, 517, 0, 0, 37, 0], [0, 0, 0, 520, 513, 558, 558, 32, 33, 0, 34, 0, 0, 0, 517, 0, 0, 37, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 97, 0, 0], [0, 0, 0, 0, 465, 526, 526, 8, 9, 0, 10, 0, 0, 0, 469, 0, 0, 16, 0], [0, 0, 0, 0, 529, 44, 44, 8, 9, 0, 0, 0, 0, 0, 529, 0, 0, 0, 0], [0, 0, 0, 563, 66, 564, 565, 8, 9, 0, 10, 0, 0, 566, 68, 0, 0, 16, 0], [0, 527, 0, 567, 0, 123, 123, 8, 9, 0, 10, 0, 0, 0, 42, 0, 527, 0, 0], [0, 527, 0, 0, 0, 121, 568, 0, 9, 0, 10, 0, 0, 0, 42, 0, 527, 0, 0], [0, 0, 0, 569, 66, 570, 571, 8, 9, 0, 10, 0, 0, 572, 68, 0, 0, 16, 0], [0, 0, 0, 573, 532, 574, 574, 57, 58, 0, 59, 0, 0, 0, 536, 0, 0, 62, 0], [0, 575, 0, 0, 0, 137, 576, 0, 58, 0, 59, 0, 0, 0, 139, 0, 575, 0, 0], [0, 0, 0, 0, 577, 141, 141, 57, 58, 0, 0, 0, 0, 535, 577, 0, 0, 0, 0], [0, 0, 0, 531, 532, 533, 574, 57, 58, 0, 59, 0, 0, 535, 536, 0, 0, 62, 0], [0, 0, 0, 531, 532, 574, 574, 57, 58, 0, 59, 0, 0, 0, 536, 0, 0, 62, 0], [0, 578, 151, 0, 0, 137, 576, 0, 58, 0, 59, 0, 0, 0, 139, 0, 578, 0, 0], [0, 479, 0, 0, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 479, 0, 0], [0, 479, 0, 537, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 479, 0, 0], [0, 0, 0, 573, 532, 574, 574, 57, 58, 0, 59, 0, 0, 0, 536, 0, 0, 62, 0], [0, 0, 0, 0, 577, 141, 141, 57, 58, 0, 0, 0, 0, 542, 577, 0, 0, 0, 0], [0, 0, 0, 539, 532, 540, 574, 57, 58, 0, 59, 0, 0, 542, 536, 0, 0, 62, 0], [0, 0, 0, 539, 532, 574, 574, 57, 58, 0, 59, 0, 0, 0, 536, 0, 0, 62, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 0, 0], [0, 0, 0, 0, 0, 0, 0, 442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 439, 0, 0], [0, 0, 0, 0, 0, 579, 579, 494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 549, 368, 550, 0, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 0, 368, 368, 0, 161, 0, 162, 0, 0, 0, 362, 0, 0, 0, 0], [0, 0, 0, 0, 581, 0, 0, 0, 161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 500, 552, 552, 22, 23, 0, 24, 0, 0, 0, 504, 0, 0, 27, 0], [0, 0, 0, 0, 555, 80, 80, 22, 23, 0, 0, 0, 0, 0, 555, 0, 0, 0, 0], [0, 0, 0, 582, 91, 583, 584, 22, 23, 0, 24, 0, 0, 585, 93, 0, 0, 27, 0], [0, 553, 0, 586, 0, 177, 177, 22, 23, 0, 24, 0, 0, 0, 78, 0, 553, 0, 0], [0, 553, 0, 0, 0, 175, 587, 0, 23, 0, 24, 0, 0, 0, 78, 0, 553, 0, 0], [0, 0, 0, 588, 91, 589, 590, 22, 23, 0, 24, 0, 0, 591, 93, 0, 0, 27, 0], [0, 0, 0, 0, 513, 558, 558, 32, 33, 0, 34, 0, 0, 0, 517, 0, 0, 37, 0], [0, 0, 0, 0, 561, 101, 101, 32, 33, 0, 0, 0, 0, 0, 561, 0, 0, 0, 0], [0, 0, 0, 592, 112, 593, 594, 32, 33, 0, 34, 0, 0, 595, 114, 0, 0, 37, 0], [0, 559, 0, 596, 0, 203, 203, 32, 33, 0, 34, 0, 0, 0, 99, 0, 559, 0, 0], [0, 559, 0, 0, 0, 201, 597, 0, 33, 0, 34, 0, 0, 0, 99, 0, 559, 0, 0], [0, 0, 0, 598, 112, 599, 600, 32, 33, 0, 34, 0, 0, 601, 114, 0, 0, 37, 0], [0, 0, 0, 602, 66, 67, 67, 8, 9, 0, 10, 0, 0, 0, 68, 0, 0, 16, 0], [0, 0, 0, 0, 165, 44, 44, 8, 9, 0, 0, 0, 0, 566, 165, 0, 0, 0, 0], [0, 0, 0, 563, 66, 564, 67, 8, 9, 0, 10, 0, 0, 566, 68, 0, 0, 16, 0], [0, 0, 0, 563, 66, 67, 67, 8, 9, 0, 10, 0, 0, 0, 68, 0, 0, 16, 0], [0, 527, 0, 0, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 527, 0, 0], [0, 527, 0, 567, 0, 121, 121, 0, 9, 0, 10, 0, 0, 0, 42, 0, 527, 0, 0], [0, 0, 0, 602, 66, 67, 67, 8, 9, 0, 10, 0, 0, 0, 68, 0, 0, 16, 0], [0, 0, 0, 0, 165, 44, 44, 8, 9, 0, 0, 0, 0, 572, 165, 0, 0, 0, 0], [0, 0, 0, 569, 66, 570, 67, 8, 9, 0, 10, 0, 0, 572, 68, 0, 0, 16, 0], [0, 0, 0, 569, 66, 67, 67, 8, 9, 0, 10, 0, 0, 0, 68, 0, 0, 16, 0], [0, 0, 0, 0, 532, 574, 574, 57, 58, 0, 59, 0, 0, 0, 536, 0, 0, 62, 0], [0, 0, 0, 0, 577, 141, 141, 57, 58, 0, 0, 0, 0, 0, 577, 0, 0, 0, 0], [0, 0, 0, 603, 152, 604, 605, 57, 58, 0, 59, 0, 0, 606, 154, 0, 0, 62, 0], [0, 575, 0, 607, 0, 248, 248, 57, 58, 0, 59, 0, 0, 0, 139, 0, 575, 0, 0], [0, 575, 0, 0, 0, 246, 608, 0, 58, 0, 59, 0, 0, 0, 139, 0, 575, 0, 0], [0, 0, 0, 609, 152, 610, 611, 57, 58, 0, 59, 0, 0, 612, 154, 0, 0, 62, 0], [0, 0, 0, 0, 0, 0, 0, 494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 491, 0, 0], [0, 0, 0, 0, 0, 0, 613, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 614, 91, 92, 92, 22, 23, 0, 24, 0, 0, 0, 93, 0, 0, 27, 0], [0, 0, 0, 0, 194, 80, 80, 22, 23, 0, 0, 0, 0, 585, 194, 0, 0, 0, 0], [0, 0, 0, 582, 91, 583, 92, 22, 23, 0, 24, 0, 0, 585, 93, 0, 0, 27, 0], [0, 0, 0, 582, 91, 92, 92, 22, 23, 0, 24, 0, 0, 0, 93, 0, 0, 27, 0], [0, 553, 0, 0, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 553, 0, 0], [0, 553, 0, 586, 0, 175, 175, 0, 23, 0, 24, 0, 0, 0, 78, 0, 553, 0, 0], [0, 0, 0, 614, 91, 92, 92, 22, 23, 0, 24, 0, 0, 0, 93, 0, 0, 27, 0], [0, 0, 0, 0, 194, 80, 80, 22, 23, 0, 0, 0, 0, 591, 194, 0, 0, 0, 0], [0, 0, 0, 588, 91, 589, 92, 22, 23, 0, 24, 0, 0, 591, 93, 0, 0, 27, 0], [0, 0, 0, 588, 91, 92, 92, 22, 23, 0, 24, 0, 0, 0, 93, 0, 0, 27, 0], [0, 0, 0, 615, 112, 113, 113, 32, 33, 0, 34, 0, 0, 0, 114, 0, 0, 37, 0], [0, 0, 0, 0, 220, 101, 101, 32, 33, 0, 0, 0, 0, 595, 220, 0, 0, 0, 0], [0, 0, 0, 592, 112, 593, 113, 32, 33, 0, 34, 0, 0, 595, 114, 0, 0, 37, 0], [0, 0, 0, 592, 112, 113, 113, 32, 33, 0, 34, 0, 0, 0, 114, 0, 0, 37, 0], [0, 559, 0, 0, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 559, 0, 0], [0, 559, 0, 596, 0, 201, 201, 0, 33, 0, 34, 0, 0, 0, 99, 0, 559, 0, 0], [0, 0, 0, 615, 112, 113, 113, 32, 33, 0, 34, 0, 0, 0, 114, 0, 0, 37, 0], [0, 0, 0, 0, 220, 101, 101, 32, 33, 0, 0, 0, 0, 601, 220, 0, 0, 0, 0], [0, 0, 0, 598, 112, 599, 113, 32, 33, 0, 34, 0, 0, 601, 114, 0, 0, 37, 0], [0, 0, 0, 598, 112, 113, 113, 32, 33, 0, 34, 0, 0, 0, 114, 0, 0, 37, 0], [0, 0, 0, 0, 66, 67, 67, 8, 9, 0, 10, 0, 0, 0, 68, 0, 0, 16, 0], [0, 0, 0, 616, 152, 153, 153, 57, 58, 0, 59, 0, 0, 0, 154, 0, 0, 62, 0], [0, 0, 0, 0, 265, 141, 141, 57, 58, 0, 0, 0, 0, 606, 265, 0, 0, 0, 0], [0, 0, 0, 603, 152, 604, 153, 57, 58, 0, 59, 0, 0, 606, 154, 0, 0, 62, 0], [0, 0, 0, 603, 152, 153, 153, 57, 58, 0, 59, 0, 0, 0, 154, 0, 0, 62, 0], [0, 575, 0, 0, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 575, 0, 0], [0, 575, 0, 607, 0, 246, 246, 0, 58, 0, 59, 0, 0, 0, 139, 0, 575, 0, 0], [0, 0, 0, 616, 152, 153, 153, 57, 58, 0, 59, 0, 0, 0, 154, 0, 0, 62, 0], [0, 0, 0, 0, 265, 141, 141, 57, 58, 0, 0, 0, 0, 612, 265, 0, 0, 0, 0], [0, 0, 0, 609, 152, 610, 153, 57, 58, 0, 59, 0, 0, 612, 154, 0, 0, 62, 0], [0, 0, 0, 609, 152, 153, 153, 57, 58, 0, 59, 0, 0, 0, 154, 0, 0, 62, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 549, 0, 0], [0, 0, 0, 0, 91, 92, 92, 22, 23, 0, 24, 0, 0, 0, 93, 0, 0, 27, 0], [0, 0, 0, 0, 112, 113, 113, 32, 33, 0, 34, 0, 0, 0, 114, 0, 0, 37, 0], [0, 0, 0, 0, 152, 153, 153, 57, 58, 0, 59, 0, 0, 0, 154, 0, 0, 62, 0]];\nvar accepting = [false, true, true, true, true, true, false, false, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, false, true, false, true, true, false, false, true, true, true, true, true, true, false, false, true, true, true, true, true, true, true, true, true, true, false, true, true, false, true, true, true, false, true, true, true, false, true, false, true, true, false, false, true, true, true, true, true, true, true, false, true, true, false, true, true, true, false, true, false, true, true, false, false, true, true, true, true, true, true, true, false, true, true, true, false, true, true, true, false, true, false, true, true, false, false, false, true, true, false, false, true, true, true, true, true, true, false, true, false, true, true, false, false, true, true, true, true, true, true, true, false, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, false, true, false, true, true, false, false, false, true, true, false, false, true, true, true, false, true, true, true, true, true, true, false, true, true, true, false, true, false, true, true, false, false, false, true, true, false, false, true, true, true, false, true, true, true, true, true, false, true, true, true, true, true, false, true, true, false, false, false, false, true, true, false, false, true, true, true, false, true, true, true, false, true, false, true, true, false, false, false, true, true, false, false, true, true, true, false, true, true, true, true, false, true, false, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, false, true, true, false, false, false, false, true, true, false, false, true, true, true, false, true, true, true, true, true, false, true, true, false, false, false, false, true, true, false, false, true, true, true, true, false, true, true, true, true, true, true, false, true, true, false, false, false, false, true, false, true, false, true, true, true, true, true, false, true, true, false, false, false, false, true, true, false, false, true, true, true, false, true, true, false, false, true, false, true, true, false, true, true, false, true, true, false, true, true, true, true, true, true, false, true, true, false, false, false, false, true, false, true, true, false, true, true, true, true, true, true, false, true, true, false, false, false, false, true, false, true, false, true, true, true, true, false, false, false, true, true, false, true, true, true, true, true, true, false, true, true, false, false, false, false, true, false, true, false, true, true, false, false, true, true, false, false, true, true, true, false, true, false, true, true, true, true, false, false, false, true, false, true, true, true, true, false, false, false, true, true, false, true, true, true, true, true, true, false, true, true, false, true, false, true, true, true, true, false, false, false, false, false, false, false, true, true, false, false, true, true, false, true, true, true, true, false, true, true, true, true, true, true, false, true, true, false, true, true, false, true, true, true, true, true, true, false, true, true, false, true, false, true, true, true, true, true, true, false, true, true, true, true, true, true, false, true, true, false, false, false, false, false, true, true, false, true, false, true, true, true, true, true, false, true, true, true, true, true, false, true, true, true, true, true, false, true, true, true, false, true, true, true, true, false, false, false, true, false, true, true, true, true, true, false, true, true, true, false, true, true, true, true, true, false, true, true, true, true, false, true, true, true, true, true, false, true, true, false, true, true, true];\nvar tags = [[], [\"broken_cluster\"], [\"consonant_syllable\"], [\"vowel_syllable\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"standalone_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"consonant_syllable\"], [\"broken_cluster\"], [\"symbol_cluster\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"symbol_cluster\"], [], [\"symbol_cluster\"], [\"symbol_cluster\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"symbol_cluster\"], [\"symbol_cluster\"], [\"symbol_cluster\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [\"broken_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"broken_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"broken_cluster\"], [\"symbol_cluster\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [], [], [\"broken_cluster\"], [], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [], [], [\"consonant_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [], [], [\"vowel_syllable\"], [], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [], [], [\"standalone_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [], [], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [], [], [], [], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [], [], [], [\"consonant_syllable\", \"broken_cluster\"], [\"consonant_syllable\", \"broken_cluster\"], [], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [], [], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"consonant_syllable\"], [], [\"consonant_syllable\"], [\"consonant_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"vowel_syllable\"], [], [\"vowel_syllable\"], [\"vowel_syllable\"], [\"broken_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"standalone_cluster\"], [\"standalone_cluster\"], [], [\"consonant_syllable\"], [\"vowel_syllable\"], [\"standalone_cluster\"]];\nvar indicMachine = {\n  stateTable: stateTable,\n  accepting: accepting,\n  tags: tags\n};\nvar categories = [\"O\", \"IND\", \"S\", \"GB\", \"B\", \"FM\", \"CGJ\", \"VMAbv\", \"VMPst\", \"VAbv\", \"VPst\", \"CMBlw\", \"VPre\", \"VBlw\", \"H\", \"VMBlw\", \"CMAbv\", \"MBlw\", \"CS\", \"R\", \"SUB\", \"MPst\", \"MPre\", \"FAbv\", \"FPst\", \"FBlw\", \"null\", \"SMAbv\", \"SMBlw\", \"VMPre\", \"ZWNJ\", \"ZWJ\", \"WJ\", \"M\", \"VS\", \"N\", \"HN\", \"MAbv\"];\nvar decompositions = {\n  \"2507\": [2503, 2494],\n  \"2508\": [2503, 2519],\n  \"2888\": [2887, 2902],\n  \"2891\": [2887, 2878],\n  \"2892\": [2887, 2903],\n  \"3018\": [3014, 3006],\n  \"3019\": [3015, 3006],\n  \"3020\": [3014, 3031],\n  \"3144\": [3142, 3158],\n  \"3264\": [3263, 3285],\n  \"3271\": [3270, 3285],\n  \"3272\": [3270, 3286],\n  \"3274\": [3270, 3266],\n  \"3275\": [3270, 3266, 3285],\n  \"3402\": [3398, 3390],\n  \"3403\": [3399, 3390],\n  \"3404\": [3398, 3415],\n  \"3546\": [3545, 3530],\n  \"3548\": [3545, 3535],\n  \"3549\": [3545, 3535, 3530],\n  \"3550\": [3545, 3551],\n  \"3635\": [3661, 3634],\n  \"3763\": [3789, 3762],\n  \"3955\": [3953, 3954],\n  \"3957\": [3953, 3956],\n  \"3958\": [4018, 3968],\n  \"3959\": [4018, 3953, 3968],\n  \"3960\": [4019, 3968],\n  \"3961\": [4019, 3953, 3968],\n  \"3969\": [3953, 3968],\n  \"6971\": [6970, 6965],\n  \"6973\": [6972, 6965],\n  \"6976\": [6974, 6965],\n  \"6977\": [6975, 6965],\n  \"6979\": [6978, 6965],\n  \"69934\": [69937, 69927],\n  \"69935\": [69938, 69927],\n  \"70475\": [70471, 70462],\n  \"70476\": [70471, 70487],\n  \"70843\": [70841, 70842],\n  \"70844\": [70841, 70832],\n  \"70846\": [70841, 70845],\n  \"71098\": [71096, 71087],\n  \"71099\": [71097, 71087]\n};\nvar stateTable$1 = [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 2, 3, 4, 4, 5, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 17, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 2, 0, 0, 24, 0, 25], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 27, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 41, 35, 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 39, 0, 0, 47], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 0, 0, 12, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 0, 9, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 0, 16, 0, 0, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 25], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 0, 11, 12, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 0, 9, 0, 0, 12, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 0, 7, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 0, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 25], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 0, 11, 12, 0, 14, 0, 0, 0, 0, 0, 11, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 4, 4, 5, 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 0, 0, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 25], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 48, 11, 12, 13, 14, 48, 16, 0, 0, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 49, 0, 0, 25], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 0, 11, 12, 0, 14, 0, 16, 0, 0, 0, 11, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 25], [0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 51, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 0, 11, 12, 0, 14, 0, 16, 0, 0, 0, 11, 0, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 0, 0, 36, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 0, 33, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 40, 0, 0, 41, 35, 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 47], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 0, 35, 36, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 0, 33, 0, 0, 36, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 0, 31, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 0, 0, 41, 35, 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 47], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 0, 35, 36, 0, 38, 0, 0, 0, 0, 0, 35, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 52, 35, 36, 37, 38, 52, 40, 0, 0, 41, 35, 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 53, 0, 0, 47], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 0, 35, 36, 0, 38, 0, 40, 0, 0, 0, 35, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 47], [0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 0, 35, 36, 0, 38, 0, 40, 0, 0, 0, 35, 0, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 48, 11, 12, 13, 14, 0, 16, 0, 0, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 25], [0, 0, 0, 0, 0, 5, 0, 6, 7, 8, 9, 48, 11, 12, 13, 14, 48, 16, 0, 0, 18, 11, 19, 20, 21, 22, 0, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 25], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 51, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 52, 35, 36, 37, 38, 0, 40, 0, 0, 41, 35, 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 47], [0, 0, 0, 0, 0, 29, 0, 30, 31, 32, 33, 52, 35, 36, 37, 38, 52, 40, 0, 0, 41, 35, 42, 43, 44, 45, 0, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 47], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, 51, 0]];\nvar accepting$1 = [false, true, true, true, true, true, true, true, true, true, true, true, true, false, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true];\nvar tags$1 = [[], [\"broken_cluster\"], [\"independent_cluster\"], [\"symbol_cluster\"], [\"standard_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"numeral_cluster\"], [\"broken_cluster\"], [\"independent_cluster\"], [\"symbol_cluster\"], [\"symbol_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"virama_terminated_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"broken_cluster\"], [\"broken_cluster\"], [\"numeral_cluster\"], [\"number_joiner_terminated_cluster\"], [\"standard_cluster\"], [\"standard_cluster\"], [\"numeral_cluster\"]];\nvar useData = {\n  categories: categories,\n  decompositions: decompositions,\n  stateTable: stateTable$1,\n  accepting: accepting$1,\n  tags: tags$1\n};\n\n// Cateories used in the OpenType spec:\n// https://www.microsoft.com/typography/otfntdev/devanot/shaping.aspx\nvar CATEGORIES = {\n  X: 1 << 0,\n  C: 1 << 1,\n  V: 1 << 2,\n  N: 1 << 3,\n  H: 1 << 4,\n  ZWNJ: 1 << 5,\n  ZWJ: 1 << 6,\n  M: 1 << 7,\n  SM: 1 << 8,\n  VD: 1 << 9,\n  A: 1 << 10,\n  Placeholder: 1 << 11,\n  Dotted_Circle: 1 << 12,\n  RS: 1 << 13,\n  // Register Shifter, used in Khmer OT spec.\n  Coeng: 1 << 14,\n  // Khmer-style Virama.\n  Repha: 1 << 15,\n  // Atomically-encoded logical or visual repha.\n  Ra: 1 << 16,\n  CM: 1 << 17,\n  // Consonant-Medial.\n  Symbol: 1 << 18 // Avagraha, etc that take marks (SM,A,VD).\n}; // Visual positions in a syllable from left to right.\n\nvar POSITIONS = {\n  Start: 1 << 0,\n  Ra_To_Become_Reph: 1 << 1,\n  Pre_M: 1 << 2,\n  Pre_C: 1 << 3,\n  Base_C: 1 << 4,\n  After_Main: 1 << 5,\n  Above_C: 1 << 6,\n  Before_Sub: 1 << 7,\n  Below_C: 1 << 8,\n  After_Sub: 1 << 9,\n  Before_Post: 1 << 10,\n  Post_C: 1 << 11,\n  After_Post: 1 << 12,\n  Final_C: 1 << 13,\n  SMVD: 1 << 14,\n  End: 1 << 15\n};\nvar CONSONANT_FLAGS = CATEGORIES.C | CATEGORIES.Ra | CATEGORIES.CM | CATEGORIES.V | CATEGORIES.Placeholder | CATEGORIES.Dotted_Circle;\nvar JOINER_FLAGS = CATEGORIES.ZWJ | CATEGORIES.ZWNJ;\nvar HALANT_OR_COENG_FLAGS = CATEGORIES.H | CATEGORIES.Coeng;\nvar INDIC_CONFIGS = {\n  Default: {\n    hasOldSpec: false,\n    virama: 0,\n    basePos: 'Last',\n    rephPos: POSITIONS.Before_Post,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Devanagari: {\n    hasOldSpec: true,\n    virama: 0x094D,\n    basePos: 'Last',\n    rephPos: POSITIONS.Before_Post,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Bengali: {\n    hasOldSpec: true,\n    virama: 0x09CD,\n    basePos: 'Last',\n    rephPos: POSITIONS.After_Sub,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Gurmukhi: {\n    hasOldSpec: true,\n    virama: 0x0A4D,\n    basePos: 'Last',\n    rephPos: POSITIONS.Before_Sub,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Gujarati: {\n    hasOldSpec: true,\n    virama: 0x0ACD,\n    basePos: 'Last',\n    rephPos: POSITIONS.Before_Post,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Oriya: {\n    hasOldSpec: true,\n    virama: 0x0B4D,\n    basePos: 'Last',\n    rephPos: POSITIONS.After_Main,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Tamil: {\n    hasOldSpec: true,\n    virama: 0x0BCD,\n    basePos: 'Last',\n    rephPos: POSITIONS.After_Post,\n    rephMode: 'Implicit',\n    blwfMode: 'Pre_And_Post'\n  },\n  Telugu: {\n    hasOldSpec: true,\n    virama: 0x0C4D,\n    basePos: 'Last',\n    rephPos: POSITIONS.After_Post,\n    rephMode: 'Explicit',\n    blwfMode: 'Post_Only'\n  },\n  Kannada: {\n    hasOldSpec: true,\n    virama: 0x0CCD,\n    basePos: 'Last',\n    rephPos: POSITIONS.After_Post,\n    rephMode: 'Implicit',\n    blwfMode: 'Post_Only'\n  },\n  Malayalam: {\n    hasOldSpec: true,\n    virama: 0x0D4D,\n    basePos: 'Last',\n    rephPos: POSITIONS.After_Main,\n    rephMode: 'Log_Repha',\n    blwfMode: 'Pre_And_Post'\n  },\n  // Handled by UniversalShaper\n  // Sinhala: {\n  //   hasOldSpec: false,\n  //   virama: 0x0DCA,\n  //   basePos: 'Last_Sinhala',\n  //   rephPos: POSITIONS.After_Main,\n  //   rephMode: 'Explicit',\n  //   blwfMode: 'Pre_And_Post'\n  // },\n  Khmer: {\n    hasOldSpec: false,\n    virama: 0x17D2,\n    basePos: 'First',\n    rephPos: POSITIONS.Ra_To_Become_Reph,\n    rephMode: 'Vis_Repha',\n    blwfMode: 'Pre_And_Post'\n  }\n}; // Additional decompositions that aren't in Unicode\n\nvar INDIC_DECOMPOSITIONS = {\n  // Khmer\n  0x17BE: [0x17C1, 0x17BE],\n  0x17BF: [0x17C1, 0x17BF],\n  0x17C0: [0x17C1, 0x17C0],\n  0x17C4: [0x17C1, 0x17C4],\n  0x17C5: [0x17C1, 0x17C5]\n};\nvar decompositions$1 = useData.decompositions;\nvar trie$1 = new UnicodeTrie(Buffer(\"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\",\"base64\"));\nvar stateMachine = new StateMachine(indicMachine);\n/**\r\n * The IndicShaper supports indic scripts e.g. Devanagari, Kannada, etc.\r\n * Based on code from Harfbuzz: https://github.com/behdad/harfbuzz/blob/master/src/hb-ot-shape-complex-indic.cc\r\n */\nvar IndicShaper = /*#__PURE__*/function (_DefaultShaper3) {\n  _inheritsLoose(IndicShaper, _DefaultShaper3);\n  function IndicShaper() {\n    return _DefaultShaper3.apply(this, arguments) || this;\n  }\n  IndicShaper.planFeatures = function planFeatures(plan) {\n    plan.addStage(setupSyllables);\n    plan.addStage(['locl', 'ccmp']);\n    plan.addStage(initialReordering);\n    plan.addStage('nukt');\n    plan.addStage('akhn');\n    plan.addStage('rphf', false);\n    plan.addStage('rkrf');\n    plan.addStage('pref', false);\n    plan.addStage('blwf', false);\n    plan.addStage('abvf', false);\n    plan.addStage('half', false);\n    plan.addStage('pstf', false);\n    plan.addStage('vatu');\n    plan.addStage('cjct');\n    plan.addStage('cfar', false);\n    plan.addStage(finalReordering);\n    plan.addStage({\n      local: ['init'],\n      global: ['pres', 'abvs', 'blws', 'psts', 'haln', 'dist', 'abvm', 'blwm', 'calt', 'clig']\n    }); // Setup the indic config for the selected script\n\n    plan.unicodeScript = fromOpenType(plan.script);\n    plan.indicConfig = INDIC_CONFIGS[plan.unicodeScript] || INDIC_CONFIGS.Default;\n    plan.isOldSpec = plan.indicConfig.hasOldSpec && plan.script[plan.script.length - 1] !== '2'; // TODO: turn off kern (Khmer) and liga features.\n  };\n  IndicShaper.assignFeatures = function assignFeatures(plan, glyphs) {\n    var _loop = function _loop(i) {\n      var codepoint = glyphs[i].codePoints[0];\n      var d = INDIC_DECOMPOSITIONS[codepoint] || decompositions$1[codepoint];\n      if (d) {\n        var decomposed = d.map(function (c) {\n          var g = plan.font.glyphForCodePoint(c);\n          return new GlyphInfo(plan.font, g.id, [c], glyphs[i].features);\n        });\n        glyphs.splice.apply(glyphs, [i, 1].concat(decomposed));\n      }\n    };\n\n    // Decompose split matras\n    // TODO: do this in a more general unicode normalizer\n    for (var i = glyphs.length - 1; i >= 0; i--) {\n      _loop(i);\n    }\n  };\n  return IndicShaper;\n}(DefaultShaper);\n_defineProperty(IndicShaper, \"zeroMarkWidths\", 'NONE');\nfunction indicCategory(glyph) {\n  return trie$1.get(glyph.codePoints[0]) >> 8;\n}\nfunction indicPosition(glyph) {\n  return 1 << (trie$1.get(glyph.codePoints[0]) & 0xff);\n}\nvar IndicInfo = function IndicInfo(category, position, syllableType, syllable) {\n  this.category = category;\n  this.position = position;\n  this.syllableType = syllableType;\n  this.syllable = syllable;\n};\nfunction setupSyllables(font, glyphs) {\n  var syllable = 0;\n  var last = 0;\n  for (var _iterator53 = _createForOfIteratorHelperLoose(stateMachine.match(glyphs.map(indicCategory))), _step53; !(_step53 = _iterator53()).done;) {\n    var _step53$value = _step53.value,\n      start = _step53$value[0],\n      end = _step53$value[1],\n      tags = _step53$value[2];\n    if (start > last) {\n      ++syllable;\n      for (var i = last; i < start; i++) {\n        glyphs[i].shaperInfo = new IndicInfo(CATEGORIES.X, POSITIONS.End, 'non_indic_cluster', syllable);\n      }\n    }\n    ++syllable; // Create shaper info\n\n    for (var _i = start; _i <= end; _i++) {\n      glyphs[_i].shaperInfo = new IndicInfo(1 << indicCategory(glyphs[_i]), indicPosition(glyphs[_i]), tags[0], syllable);\n    }\n    last = end + 1;\n  }\n  if (last < glyphs.length) {\n    ++syllable;\n    for (var _i2 = last; _i2 < glyphs.length; _i2++) {\n      glyphs[_i2].shaperInfo = new IndicInfo(CATEGORIES.X, POSITIONS.End, 'non_indic_cluster', syllable);\n    }\n  }\n}\nfunction isConsonant(glyph) {\n  return glyph.shaperInfo.category & CONSONANT_FLAGS;\n}\nfunction isJoiner(glyph) {\n  return glyph.shaperInfo.category & JOINER_FLAGS;\n}\nfunction isHalantOrCoeng(glyph) {\n  return glyph.shaperInfo.category & HALANT_OR_COENG_FLAGS;\n}\nfunction wouldSubstitute(glyphs, feature) {\n  for (var _iterator54 = _createForOfIteratorHelperLoose(glyphs), _step54; !(_step54 = _iterator54()).done;) {\n    var _glyph$features;\n    var glyph = _step54.value;\n    glyph.features = (_glyph$features = {}, _glyph$features[feature] = true, _glyph$features);\n  }\n  var GSUB = glyphs[0]._font._layoutEngine.engine.GSUBProcessor;\n  GSUB.applyFeatures([feature], glyphs);\n  return glyphs.length === 1;\n}\nfunction consonantPosition(font, consonant, virama) {\n  var glyphs = [virama, consonant, virama];\n  if (wouldSubstitute(glyphs.slice(0, 2), 'blwf') || wouldSubstitute(glyphs.slice(1, 3), 'blwf')) {\n    return POSITIONS.Below_C;\n  } else if (wouldSubstitute(glyphs.slice(0, 2), 'pstf') || wouldSubstitute(glyphs.slice(1, 3), 'pstf')) {\n    return POSITIONS.Post_C;\n  } else if (wouldSubstitute(glyphs.slice(0, 2), 'pref') || wouldSubstitute(glyphs.slice(1, 3), 'pref')) {\n    return POSITIONS.Post_C;\n  }\n  return POSITIONS.Base_C;\n}\nfunction initialReordering(font, glyphs, plan) {\n  var indicConfig = plan.indicConfig;\n  var features = font._layoutEngine.engine.GSUBProcessor.features;\n  var dottedCircle = font.glyphForCodePoint(0x25cc).id;\n  var virama = font.glyphForCodePoint(indicConfig.virama).id;\n  if (virama) {\n    var info = new GlyphInfo(font, virama, [indicConfig.virama]);\n    for (var i = 0; i < glyphs.length; i++) {\n      if (glyphs[i].shaperInfo.position === POSITIONS.Base_C) {\n        glyphs[i].shaperInfo.position = consonantPosition(font, glyphs[i].copy(), info);\n      }\n    }\n  }\n  for (var start = 0, end = nextSyllable(glyphs, 0); start < glyphs.length; start = end, end = nextSyllable(glyphs, start)) {\n    var _glyphs$start$shaperI = glyphs[start].shaperInfo,\n      category = _glyphs$start$shaperI.category,\n      syllableType = _glyphs$start$shaperI.syllableType;\n    if (syllableType === 'symbol_cluster' || syllableType === 'non_indic_cluster') {\n      continue;\n    }\n    if (syllableType === 'broken_cluster' && dottedCircle) {\n      var g = new GlyphInfo(font, dottedCircle, [0x25cc]);\n      g.shaperInfo = new IndicInfo(1 << indicCategory(g), indicPosition(g), glyphs[start].shaperInfo.syllableType, glyphs[start].shaperInfo.syllable); // Insert after possible Repha.\n\n      var _i3 = start;\n      while (_i3 < end && glyphs[_i3].shaperInfo.category === CATEGORIES.Repha) {\n        _i3++;\n      }\n      glyphs.splice(_i3++, 0, g);\n      end++;\n    } // 1. Find base consonant:\n    //\n    // The shaping engine finds the base consonant of the syllable, using the\n    // following algorithm: starting from the end of the syllable, move backwards\n    // until a consonant is found that does not have a below-base or post-base\n    // form (post-base forms have to follow below-base forms), or that is not a\n    // pre-base reordering Ra, or arrive at the first consonant. The consonant\n    // stopped at will be the base.\n\n    var base = end;\n    var limit = start;\n    var hasReph = false; // If the syllable starts with Ra + Halant (in a script that has Reph)\n    // and has more than one consonant, Ra is excluded from candidates for\n    // base consonants.\n\n    if (indicConfig.rephPos !== POSITIONS.Ra_To_Become_Reph && features.rphf && start + 3 <= end && (indicConfig.rephMode === 'Implicit' && !isJoiner(glyphs[start + 2]) || indicConfig.rephMode === 'Explicit' && glyphs[start + 2].shaperInfo.category === CATEGORIES.ZWJ)) {\n      // See if it matches the 'rphf' feature.\n      var _g = [glyphs[start].copy(), glyphs[start + 1].copy(), glyphs[start + 2].copy()];\n      if (wouldSubstitute(_g.slice(0, 2), 'rphf') || indicConfig.rephMode === 'Explicit' && wouldSubstitute(_g, 'rphf')) {\n        limit += 2;\n        while (limit < end && isJoiner(glyphs[limit])) {\n          limit++;\n        }\n        base = start;\n        hasReph = true;\n      }\n    } else if (indicConfig.rephMode === 'Log_Repha' && glyphs[start].shaperInfo.category === CATEGORIES.Repha) {\n      limit++;\n      while (limit < end && isJoiner(glyphs[limit])) {\n        limit++;\n      }\n      base = start;\n      hasReph = true;\n    }\n    switch (indicConfig.basePos) {\n      case 'Last':\n        {\n          // starting from the end of the syllable, move backwards\n          var _i4 = end;\n          var seenBelow = false;\n          do {\n            var _info = glyphs[--_i4].shaperInfo; // until a consonant is found\n\n            if (isConsonant(glyphs[_i4])) {\n              // that does not have a below-base or post-base form\n              // (post-base forms have to follow below-base forms),\n              if (_info.position !== POSITIONS.Below_C && (_info.position !== POSITIONS.Post_C || seenBelow)) {\n                base = _i4;\n                break;\n              } // or that is not a pre-base reordering Ra,\n              //\n              // IMPLEMENTATION NOTES:\n              //\n              // Our pre-base reordering Ra's are marked POS_POST_C, so will be skipped\n              // by the logic above already.\n              //\n              // or arrive at the first consonant. The consonant stopped at will\n              // be the base.\n\n              if (_info.position === POSITIONS.Below_C) {\n                seenBelow = true;\n              }\n              base = _i4;\n            } else if (start < _i4 && _info.category === CATEGORIES.ZWJ && glyphs[_i4 - 1].shaperInfo.category === CATEGORIES.H) {\n              // A ZWJ after a Halant stops the base search, and requests an explicit\n              // half form.\n              // A ZWJ before a Halant, requests a subjoined form instead, and hence\n              // search continues.  This is particularly important for Bengali\n              // sequence Ra,H,Ya that should form Ya-Phalaa by subjoining Ya.\n              break;\n            }\n          } while (_i4 > limit);\n          break;\n        }\n      case 'First':\n        {\n          // The first consonant is always the base.\n          base = start; // Mark all subsequent consonants as below.\n\n          for (var _i5 = base + 1; _i5 < end; _i5++) {\n            if (isConsonant(glyphs[_i5])) {\n              glyphs[_i5].shaperInfo.position = POSITIONS.Below_C;\n            }\n          }\n        }\n    } // If the syllable starts with Ra + Halant (in a script that has Reph)\n    // and has more than one consonant, Ra is excluded from candidates for\n    // base consonants.\n    //\n    //  Only do this for unforced Reph. (ie. not for Ra,H,ZWJ)\n\n    if (hasReph && base === start && limit - base <= 2) {\n      hasReph = false;\n    } // 2. Decompose and reorder Matras:\n    //\n    // Each matra and any syllable modifier sign in the cluster are moved to the\n    // appropriate position relative to the consonant(s) in the cluster. The\n    // shaping engine decomposes two- or three-part matras into their constituent\n    // parts before any repositioning. Matra characters are classified by which\n    // consonant in a conjunct they have affinity for and are reordered to the\n    // following positions:\n    //\n    //   o Before first half form in the syllable\n    //   o After subjoined consonants\n    //   o After post-form consonant\n    //   o After main consonant (for above marks)\n    //\n    // IMPLEMENTATION NOTES:\n    //\n    // The normalize() routine has already decomposed matras for us, so we don't\n    // need to worry about that.\n    // 3.  Reorder marks to canonical order:\n    //\n    // Adjacent nukta and halant or nukta and vedic sign are always repositioned\n    // if necessary, so that the nukta is first.\n    //\n    // IMPLEMENTATION NOTES:\n    //\n    // We don't need to do this: the normalize() routine already did this for us.\n    // Reorder characters\n\n    for (var _i6 = start; _i6 < base; _i6++) {\n      var _info2 = glyphs[_i6].shaperInfo;\n      _info2.position = Math.min(POSITIONS.Pre_C, _info2.position);\n    }\n    if (base < end) {\n      glyphs[base].shaperInfo.position = POSITIONS.Base_C;\n    } // Mark final consonants.  A final consonant is one appearing after a matra,\n    // like in Khmer.\n\n    for (var _i7 = base + 1; _i7 < end; _i7++) {\n      if (glyphs[_i7].shaperInfo.category === CATEGORIES.M) {\n        for (var j = _i7 + 1; j < end; j++) {\n          if (isConsonant(glyphs[j])) {\n            glyphs[j].shaperInfo.position = POSITIONS.Final_C;\n            break;\n          }\n        }\n        break;\n      }\n    } // Handle beginning Ra\n\n    if (hasReph) {\n      glyphs[start].shaperInfo.position = POSITIONS.Ra_To_Become_Reph;\n    } // For old-style Indic script tags, move the first post-base Halant after\n    // last consonant.\n    //\n    // Reports suggest that in some scripts Uniscribe does this only if there\n    // is *not* a Halant after last consonant already (eg. Kannada), while it\n    // does it unconditionally in other scripts (eg. Malayalam).  We don't\n    // currently know about other scripts, so we single out Malayalam for now.\n    //\n    // Kannada test case:\n    // U+0C9A,U+0CCD,U+0C9A,U+0CCD\n    // With some versions of Lohit Kannada.\n    // https://bugs.freedesktop.org/show_bug.cgi?id=59118\n    //\n    // Malayalam test case:\n    // U+0D38,U+0D4D,U+0D31,U+0D4D,U+0D31,U+0D4D\n    // With lohit-ttf-20121122/Lohit-Malayalam.ttf\n\n    if (plan.isOldSpec) {\n      var disallowDoubleHalants = plan.unicodeScript !== 'Malayalam';\n      for (var _i8 = base + 1; _i8 < end; _i8++) {\n        if (glyphs[_i8].shaperInfo.category === CATEGORIES.H) {\n          var _j = void 0;\n          for (_j = end - 1; _j > _i8; _j--) {\n            if (isConsonant(glyphs[_j]) || disallowDoubleHalants && glyphs[_j].shaperInfo.category === CATEGORIES.H) {\n              break;\n            }\n          }\n          if (glyphs[_j].shaperInfo.category !== CATEGORIES.H && _j > _i8) {\n            // Move Halant to after last consonant.\n            var t = glyphs[_i8];\n            glyphs.splice.apply(glyphs, [_i8, 0].concat(glyphs.splice(_i8 + 1, _j - _i8)));\n            glyphs[_j] = t;\n          }\n          break;\n        }\n      }\n    } // Attach misc marks to previous char to move with them.\n\n    var lastPos = POSITIONS.Start;\n    for (var _i9 = start; _i9 < end; _i9++) {\n      var _info3 = glyphs[_i9].shaperInfo;\n      if (_info3.category & (JOINER_FLAGS | CATEGORIES.N | CATEGORIES.RS | CATEGORIES.CM | HALANT_OR_COENG_FLAGS & _info3.category)) {\n        _info3.position = lastPos;\n        if (_info3.category === CATEGORIES.H && _info3.position === POSITIONS.Pre_M) {\n          // Uniscribe doesn't move the Halant with Left Matra.\n          // TEST: U+092B,U+093F,U+094DE\n          // We follow.  This is important for the Sinhala\n          // U+0DDA split matra since it decomposes to U+0DD9,U+0DCA\n          // where U+0DD9 is a left matra and U+0DCA is the virama.\n          // We don't want to move the virama with the left matra.\n          // TEST: U+0D9A,U+0DDA\n          for (var _j2 = _i9; _j2 > start; _j2--) {\n            if (glyphs[_j2 - 1].shaperInfo.position !== POSITIONS.Pre_M) {\n              _info3.position = glyphs[_j2 - 1].shaperInfo.position;\n              break;\n            }\n          }\n        }\n      } else if (_info3.position !== POSITIONS.SMVD) {\n        lastPos = _info3.position;\n      }\n    } // For post-base consonants let them own anything before them\n    // since the last consonant or matra.\n\n    var last = base;\n    for (var _i10 = base + 1; _i10 < end; _i10++) {\n      if (isConsonant(glyphs[_i10])) {\n        for (var _j3 = last + 1; _j3 < _i10; _j3++) {\n          if (glyphs[_j3].shaperInfo.position < POSITIONS.SMVD) {\n            glyphs[_j3].shaperInfo.position = glyphs[_i10].shaperInfo.position;\n          }\n        }\n        last = _i10;\n      } else if (glyphs[_i10].shaperInfo.category === CATEGORIES.M) {\n        last = _i10;\n      }\n    }\n    var arr = glyphs.slice(start, end);\n    arr.sort(function (a, b) {\n      return a.shaperInfo.position - b.shaperInfo.position;\n    });\n    glyphs.splice.apply(glyphs, [start, arr.length].concat(arr)); // Find base again\n\n    for (var _i11 = start; _i11 < end; _i11++) {\n      if (glyphs[_i11].shaperInfo.position === POSITIONS.Base_C) {\n        base = _i11;\n        break;\n      }\n    } // Setup features now\n    // Reph\n\n    for (var _i12 = start; _i12 < end && glyphs[_i12].shaperInfo.position === POSITIONS.Ra_To_Become_Reph; _i12++) {\n      glyphs[_i12].features.rphf = true;\n    } // Pre-base\n\n    var blwf = !plan.isOldSpec && indicConfig.blwfMode === 'Pre_And_Post';\n    for (var _i13 = start; _i13 < base; _i13++) {\n      glyphs[_i13].features.half = true;\n      if (blwf) {\n        glyphs[_i13].features.blwf = true;\n      }\n    } // Post-base\n\n    for (var _i14 = base + 1; _i14 < end; _i14++) {\n      glyphs[_i14].features.abvf = true;\n      glyphs[_i14].features.pstf = true;\n      glyphs[_i14].features.blwf = true;\n    }\n    if (plan.isOldSpec && plan.unicodeScript === 'Devanagari') {\n      // Old-spec eye-lash Ra needs special handling.  From the\n      // spec:\n      //\n      // \"The feature 'below-base form' is applied to consonants\n      // having below-base forms and following the base consonant.\n      // The exception is vattu, which may appear below half forms\n      // as well as below the base glyph. The feature 'below-base\n      // form' will be applied to all such occurrences of Ra as well.\"\n      //\n      // Test case: U+0924,U+094D,U+0930,U+094d,U+0915\n      // with Sanskrit 2003 font.\n      //\n      // However, note that Ra,Halant,ZWJ is the correct way to\n      // request eyelash form of Ra, so we wouldbn't inhibit it\n      // in that sequence.\n      //\n      // Test case: U+0924,U+094D,U+0930,U+094d,U+200D,U+0915\n      for (var _i15 = start; _i15 + 1 < base; _i15++) {\n        if (glyphs[_i15].shaperInfo.category === CATEGORIES.Ra && glyphs[_i15 + 1].shaperInfo.category === CATEGORIES.H && (_i15 + 1 === base || glyphs[_i15 + 2].shaperInfo.category === CATEGORIES.ZWJ)) {\n          glyphs[_i15].features.blwf = true;\n          glyphs[_i15 + 1].features.blwf = true;\n        }\n      }\n    }\n    var prefLen = 2;\n    if (features.pref && base + prefLen < end) {\n      // Find a Halant,Ra sequence and mark it for pre-base reordering processing.\n      for (var _i16 = base + 1; _i16 + prefLen - 1 < end; _i16++) {\n        var _g2 = [glyphs[_i16].copy(), glyphs[_i16 + 1].copy()];\n        if (wouldSubstitute(_g2, 'pref')) {\n          for (var _j4 = 0; _j4 < prefLen; _j4++) {\n            glyphs[_i16++].features.pref = true;\n          } // Mark the subsequent stuff with 'cfar'.  Used in Khmer.\n          // Read the feature spec.\n          // This allows distinguishing the following cases with MS Khmer fonts:\n          // U+1784,U+17D2,U+179A,U+17D2,U+1782\n          // U+1784,U+17D2,U+1782,U+17D2,U+179A\n\n          if (features.cfar) {\n            for (; _i16 < end; _i16++) {\n              glyphs[_i16].features.cfar = true;\n            }\n          }\n          break;\n        }\n      }\n    } // Apply ZWJ/ZWNJ effects\n\n    for (var _i17 = start + 1; _i17 < end; _i17++) {\n      if (isJoiner(glyphs[_i17])) {\n        var nonJoiner = glyphs[_i17].shaperInfo.category === CATEGORIES.ZWNJ;\n        var _j5 = _i17;\n        do {\n          _j5--; // ZWJ/ZWNJ should disable CJCT.  They do that by simply\n          // being there, since we don't skip them for the CJCT\n          // feature (ie. F_MANUAL_ZWJ)\n          // A ZWNJ disables HALF.\n\n          if (nonJoiner) {\n            delete glyphs[_j5].features.half;\n          }\n        } while (_j5 > start && !isConsonant(glyphs[_j5]));\n      }\n    }\n  }\n}\nfunction finalReordering(font, glyphs, plan) {\n  var indicConfig = plan.indicConfig;\n  var features = font._layoutEngine.engine.GSUBProcessor.features;\n  for (var start = 0, end = nextSyllable(glyphs, 0); start < glyphs.length; start = end, end = nextSyllable(glyphs, start)) {\n    // 4. Final reordering:\n    //\n    // After the localized forms and basic shaping forms GSUB features have been\n    // applied (see below), the shaping engine performs some final glyph\n    // reordering before applying all the remaining font features to the entire\n    // cluster.\n    var tryPref = !!features.pref; // Find base again\n\n    var base = start;\n    for (; base < end; base++) {\n      if (glyphs[base].shaperInfo.position >= POSITIONS.Base_C) {\n        if (tryPref && base + 1 < end) {\n          for (var i = base + 1; i < end; i++) {\n            if (glyphs[i].features.pref) {\n              if (!(glyphs[i].substituted && glyphs[i].isLigated && !glyphs[i].isMultiplied)) {\n                // Ok, this was a 'pref' candidate but didn't form any.\n                // Base is around here...\n                base = i;\n                while (base < end && isHalantOrCoeng(glyphs[base])) {\n                  base++;\n                }\n                glyphs[base].shaperInfo.position = POSITIONS.BASE_C;\n                tryPref = false;\n              }\n              break;\n            }\n          }\n        } // For Malayalam, skip over unformed below- (but NOT post-) forms.\n\n        if (plan.unicodeScript === 'Malayalam') {\n          for (var _i18 = base + 1; _i18 < end; _i18++) {\n            while (_i18 < end && isJoiner(glyphs[_i18])) {\n              _i18++;\n            }\n            if (_i18 === end || !isHalantOrCoeng(glyphs[_i18])) {\n              break;\n            }\n            _i18++; // Skip halant.\n\n            while (_i18 < end && isJoiner(glyphs[_i18])) {\n              _i18++;\n            }\n            if (_i18 < end && isConsonant(glyphs[_i18]) && glyphs[_i18].shaperInfo.position === POSITIONS.Below_C) {\n              base = _i18;\n              glyphs[base].shaperInfo.position = POSITIONS.Base_C;\n            }\n          }\n        }\n        if (start < base && glyphs[base].shaperInfo.position > POSITIONS.Base_C) {\n          base--;\n        }\n        break;\n      }\n    }\n    if (base === end && start < base && glyphs[base - 1].shaperInfo.category === CATEGORIES.ZWJ) {\n      base--;\n    }\n    if (base < end) {\n      while (start < base && glyphs[base].shaperInfo.category & (CATEGORIES.N | HALANT_OR_COENG_FLAGS)) {\n        base--;\n      }\n    } // o Reorder matras:\n    //\n    // If a pre-base matra character had been reordered before applying basic\n    // features, the glyph can be moved closer to the main consonant based on\n    // whether half-forms had been formed. Actual position for the matra is\n    // defined as “after last standalone halant glyph, after initial matra\n    // position and before the main consonant”. If ZWJ or ZWNJ follow this\n    // halant, position is moved after it.\n    //\n\n    if (start + 1 < end && start < base) {\n      // Otherwise there can't be any pre-base matra characters.\n      // If we lost track of base, alas, position before last thingy.\n      var newPos = base === end ? base - 2 : base - 1; // Malayalam / Tamil do not have \"half\" forms or explicit virama forms.\n      // The glyphs formed by 'half' are Chillus or ligated explicit viramas.\n      // We want to position matra after them.\n\n      if (plan.unicodeScript !== 'Malayalam' && plan.unicodeScript !== 'Tamil') {\n        while (newPos > start && !(glyphs[newPos].shaperInfo.category & (CATEGORIES.M | HALANT_OR_COENG_FLAGS))) {\n          newPos--;\n        } // If we found no Halant we are done.\n        // Otherwise only proceed if the Halant does\n        // not belong to the Matra itself!\n\n        if (isHalantOrCoeng(glyphs[newPos]) && glyphs[newPos].shaperInfo.position !== POSITIONS.Pre_M) {\n          // If ZWJ or ZWNJ follow this halant, position is moved after it.\n          if (newPos + 1 < end && isJoiner(glyphs[newPos + 1])) {\n            newPos++;\n          }\n        } else {\n          newPos = start; // No move.\n        }\n      }\n\n      if (start < newPos && glyphs[newPos].shaperInfo.position !== POSITIONS.Pre_M) {\n        // Now go see if there's actually any matras...\n        for (var _i19 = newPos; _i19 > start; _i19--) {\n          if (glyphs[_i19 - 1].shaperInfo.position === POSITIONS.Pre_M) {\n            var oldPos = _i19 - 1;\n            if (oldPos < base && base <= newPos) {\n              // Shouldn't actually happen.\n              base--;\n            }\n            var tmp = glyphs[oldPos];\n            glyphs.splice.apply(glyphs, [oldPos, 0].concat(glyphs.splice(oldPos + 1, newPos - oldPos)));\n            glyphs[newPos] = tmp;\n            newPos--;\n          }\n        }\n      }\n    } // o Reorder reph:\n    //\n    // Reph’s original position is always at the beginning of the syllable,\n    // (i.e. it is not reordered at the character reordering stage). However,\n    // it will be reordered according to the basic-forms shaping results.\n    // Possible positions for reph, depending on the script, are; after main,\n    // before post-base consonant forms, and after post-base consonant forms.\n    // Two cases:\n    //\n    // - If repha is encoded as a sequence of characters (Ra,H or Ra,H,ZWJ), then\n    //   we should only move it if the sequence ligated to the repha form.\n    //\n    // - If repha is encoded separately and in the logical position, we should only\n    //   move it if it did NOT ligate.  If it ligated, it's probably the font trying\n    //   to make it work without the reordering.\n\n    if (start + 1 < end && glyphs[start].shaperInfo.position === POSITIONS.Ra_To_Become_Reph && glyphs[start].shaperInfo.category === CATEGORIES.Repha !== (glyphs[start].isLigated && !glyphs[start].isMultiplied)) {\n      var newRephPos = void 0;\n      var rephPos = indicConfig.rephPos;\n      var found = false; // 1. If reph should be positioned after post-base consonant forms,\n      //    proceed to step 5.\n\n      if (rephPos !== POSITIONS.After_Post) {\n        //  2. If the reph repositioning class is not after post-base: target\n        //     position is after the first explicit halant glyph between the\n        //     first post-reph consonant and last main consonant. If ZWJ or ZWNJ\n        //     are following this halant, position is moved after it. If such\n        //     position is found, this is the target position. Otherwise,\n        //     proceed to the next step.\n        //\n        //     Note: in old-implementation fonts, where classifications were\n        //     fixed in shaping engine, there was no case where reph position\n        //     will be found on this step.\n        newRephPos = start + 1;\n        while (newRephPos < base && !isHalantOrCoeng(glyphs[newRephPos])) {\n          newRephPos++;\n        }\n        if (newRephPos < base && isHalantOrCoeng(glyphs[newRephPos])) {\n          // ->If ZWJ or ZWNJ are following this halant, position is moved after it.\n          if (newRephPos + 1 < base && isJoiner(glyphs[newRephPos + 1])) {\n            newRephPos++;\n          }\n          found = true;\n        } // 3. If reph should be repositioned after the main consonant: find the\n        //    first consonant not ligated with main, or find the first\n        //    consonant that is not a potential pre-base reordering Ra.\n\n        if (!found && rephPos === POSITIONS.After_Main) {\n          newRephPos = base;\n          while (newRephPos + 1 < end && glyphs[newRephPos + 1].shaperInfo.position <= POSITIONS.After_Main) {\n            newRephPos++;\n          }\n          found = newRephPos < end;\n        } // 4. If reph should be positioned before post-base consonant, find\n        //    first post-base classified consonant not ligated with main. If no\n        //    consonant is found, the target position should be before the\n        //    first matra, syllable modifier sign or vedic sign.\n        //\n        // This is our take on what step 4 is trying to say (and failing, BADLY).\n\n        if (!found && rephPos === POSITIONS.After_Sub) {\n          newRephPos = base;\n          while (newRephPos + 1 < end && !(glyphs[newRephPos + 1].shaperInfo.position & (POSITIONS.Post_C | POSITIONS.After_Post | POSITIONS.SMVD))) {\n            newRephPos++;\n          }\n          found = newRephPos < end;\n        }\n      } //  5. If no consonant is found in steps 3 or 4, move reph to a position\n      //     immediately before the first post-base matra, syllable modifier\n      //     sign or vedic sign that has a reordering class after the intended\n      //     reph position. For example, if the reordering position for reph\n      //     is post-main, it will skip above-base matras that also have a\n      //     post-main position.\n\n      if (!found) {\n        // Copied from step 2.\n        newRephPos = start + 1;\n        while (newRephPos < base && !isHalantOrCoeng(glyphs[newRephPos])) {\n          newRephPos++;\n        }\n        if (newRephPos < base && isHalantOrCoeng(glyphs[newRephPos])) {\n          // ->If ZWJ or ZWNJ are following this halant, position is moved after it.\n          if (newRephPos + 1 < base && isJoiner(glyphs[newRephPos + 1])) {\n            newRephPos++;\n          }\n          found = true;\n        }\n      } // 6. Otherwise, reorder reph to the end of the syllable.\n\n      if (!found) {\n        newRephPos = end - 1;\n        while (newRephPos > start && glyphs[newRephPos].shaperInfo.position === POSITIONS.SMVD) {\n          newRephPos--;\n        } // If the Reph is to be ending up after a Matra,Halant sequence,\n        // position it before that Halant so it can interact with the Matra.\n        // However, if it's a plain Consonant,Halant we shouldn't do that.\n        // Uniscribe doesn't do this.\n        // TEST: U+0930,U+094D,U+0915,U+094B,U+094D\n\n        if (isHalantOrCoeng(glyphs[newRephPos])) {\n          for (var _i20 = base + 1; _i20 < newRephPos; _i20++) {\n            if (glyphs[_i20].shaperInfo.category === CATEGORIES.M) {\n              newRephPos--;\n            }\n          }\n        }\n      }\n      var reph = glyphs[start];\n      glyphs.splice.apply(glyphs, [start, 0].concat(glyphs.splice(start + 1, newRephPos - start)));\n      glyphs[newRephPos] = reph;\n      if (start < base && base <= newRephPos) {\n        base--;\n      }\n    } // o Reorder pre-base reordering consonants:\n    //\n    // If a pre-base reordering consonant is found, reorder it according to\n    // the following rules:\n\n    if (tryPref && base + 1 < end) {\n      for (var _i21 = base + 1; _i21 < end; _i21++) {\n        if (glyphs[_i21].features.pref) {\n          // 1. Only reorder a glyph produced by substitution during application\n          //    of the <pref> feature. (Note that a font may shape a Ra consonant with\n          //    the feature generally but block it in certain contexts.)\n          // Note: We just check that something got substituted.  We don't check that\n          // the <pref> feature actually did it...\n          //\n          // Reorder pref only if it ligated.\n          if (glyphs[_i21].isLigated && !glyphs[_i21].isMultiplied) {\n            // 2. Try to find a target position the same way as for pre-base matra.\n            //    If it is found, reorder pre-base consonant glyph.\n            //\n            // 3. If position is not found, reorder immediately before main\n            //    consonant.\n            var _newPos = base; // Malayalam / Tamil do not have \"half\" forms or explicit virama forms.\n            // The glyphs formed by 'half' are Chillus or ligated explicit viramas.\n            // We want to position matra after them.\n\n            if (plan.unicodeScript !== 'Malayalam' && plan.unicodeScript !== 'Tamil') {\n              while (_newPos > start && !(glyphs[_newPos - 1].shaperInfo.category & (CATEGORIES.M | HALANT_OR_COENG_FLAGS))) {\n                _newPos--;\n              } // In Khmer coeng model, a H,Ra can go *after* matras.  If it goes after a\n              // split matra, it should be reordered to *before* the left part of such matra.\n\n              if (_newPos > start && glyphs[_newPos - 1].shaperInfo.category === CATEGORIES.M) {\n                var _oldPos2 = _i21;\n                for (var j = base + 1; j < _oldPos2; j++) {\n                  if (glyphs[j].shaperInfo.category === CATEGORIES.M) {\n                    _newPos--;\n                    break;\n                  }\n                }\n              }\n            }\n            if (_newPos > start && isHalantOrCoeng(glyphs[_newPos - 1])) {\n              // -> If ZWJ or ZWNJ follow this halant, position is moved after it.\n              if (_newPos < end && isJoiner(glyphs[_newPos])) {\n                _newPos++;\n              }\n            }\n            var _oldPos = _i21;\n            var _tmp = glyphs[_oldPos];\n            glyphs.splice.apply(glyphs, [_newPos + 1, 0].concat(glyphs.splice(_newPos, _oldPos - _newPos)));\n            glyphs[_newPos] = _tmp;\n            if (_newPos <= base && base < _oldPos) {\n              base++;\n            }\n          }\n          break;\n        }\n      }\n    } // Apply 'init' to the Left Matra if it's a word start.\n\n    if (glyphs[start].shaperInfo.position === POSITIONS.Pre_M && (!start || !/Cf|Mn/.test(unicode.getCategory(glyphs[start - 1].codePoints[0])))) {\n      glyphs[start].features.init = true;\n    }\n  }\n}\nfunction nextSyllable(glyphs, start) {\n  if (start >= glyphs.length) return start;\n  var syllable = glyphs[start].shaperInfo.syllable;\n  while (++start < glyphs.length && glyphs[start].shaperInfo.syllable === syllable) {}\n  return start;\n}\nvar categories$1 = useData.categories,\n  decompositions$2 = useData.decompositions;\nvar trie$2 = new UnicodeTrie(Buffer(\"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\",\"base64\"));\nvar stateMachine$1 = new StateMachine(useData);\n/**\r\n * This shaper is an implementation of the Universal Shaping Engine, which\r\n * uses Unicode data to shape a number of scripts without a dedicated shaping engine.\r\n * See https://www.microsoft.com/typography/OpenTypeDev/USE/intro.htm.\r\n */\nvar UniversalShaper = /*#__PURE__*/function (_DefaultShaper4) {\n  _inheritsLoose(UniversalShaper, _DefaultShaper4);\n  function UniversalShaper() {\n    return _DefaultShaper4.apply(this, arguments) || this;\n  }\n  UniversalShaper.planFeatures = function planFeatures(plan) {\n    plan.addStage(setupSyllables$1); // Default glyph pre-processing group\n\n    plan.addStage(['locl', 'ccmp', 'nukt', 'akhn']); // Reordering group\n\n    plan.addStage(clearSubstitutionFlags);\n    plan.addStage(['rphf'], false);\n    plan.addStage(recordRphf);\n    plan.addStage(clearSubstitutionFlags);\n    plan.addStage(['pref']);\n    plan.addStage(recordPref); // Orthographic unit shaping group\n\n    plan.addStage(['rkrf', 'abvf', 'blwf', 'half', 'pstf', 'vatu', 'cjct']);\n    plan.addStage(reorder); // Topographical features\n    // Scripts that need this are handled by the Arabic shaper, not implemented here for now.\n    // plan.addStage(['isol', 'init', 'medi', 'fina', 'med2', 'fin2', 'fin3'], false);\n    // Standard topographic presentation and positional feature application\n\n    plan.addStage(['abvs', 'blws', 'pres', 'psts', 'dist', 'abvm', 'blwm']);\n  };\n  UniversalShaper.assignFeatures = function assignFeatures(plan, glyphs) {\n    var _loop = function _loop(i) {\n      var codepoint = glyphs[i].codePoints[0];\n      if (decompositions$2[codepoint]) {\n        var decomposed = decompositions$2[codepoint].map(function (c) {\n          var g = plan.font.glyphForCodePoint(c);\n          return new GlyphInfo(plan.font, g.id, [c], glyphs[i].features);\n        });\n        glyphs.splice.apply(glyphs, [i, 1].concat(decomposed));\n      }\n    };\n\n    // Decompose split vowels\n    // TODO: do this in a more general unicode normalizer\n    for (var i = glyphs.length - 1; i >= 0; i--) {\n      _loop(i);\n    }\n  };\n  return UniversalShaper;\n}(DefaultShaper);\n_defineProperty(UniversalShaper, \"zeroMarkWidths\", 'BEFORE_GPOS');\nfunction useCategory(glyph) {\n  return trie$2.get(glyph.codePoints[0]);\n}\nvar USEInfo = function USEInfo(category, syllableType, syllable) {\n  this.category = category;\n  this.syllableType = syllableType;\n  this.syllable = syllable;\n};\nfunction setupSyllables$1(font, glyphs) {\n  var syllable = 0;\n  for (var _iterator55 = _createForOfIteratorHelperLoose(stateMachine$1.match(glyphs.map(useCategory))), _step55; !(_step55 = _iterator55()).done;) {\n    var _step55$value = _step55.value,\n      start = _step55$value[0],\n      end = _step55$value[1],\n      tags = _step55$value[2];\n    ++syllable; // Create shaper info\n\n    for (var i = start; i <= end; i++) {\n      glyphs[i].shaperInfo = new USEInfo(categories$1[useCategory(glyphs[i])], tags[0], syllable);\n    } // Assign rphf feature\n\n    var limit = glyphs[start].shaperInfo.category === 'R' ? 1 : Math.min(3, end - start);\n    for (var _i = start; _i < start + limit; _i++) {\n      glyphs[_i].features.rphf = true;\n    }\n  }\n}\nfunction clearSubstitutionFlags(font, glyphs) {\n  for (var _iterator56 = _createForOfIteratorHelperLoose(glyphs), _step56; !(_step56 = _iterator56()).done;) {\n    var glyph = _step56.value;\n    glyph.substituted = false;\n  }\n}\nfunction recordRphf(font, glyphs) {\n  for (var _iterator57 = _createForOfIteratorHelperLoose(glyphs), _step57; !(_step57 = _iterator57()).done;) {\n    var glyph = _step57.value;\n    if (glyph.substituted && glyph.features.rphf) {\n      // Mark a substituted repha.\n      glyph.shaperInfo.category = 'R';\n    }\n  }\n}\nfunction recordPref(font, glyphs) {\n  for (var _iterator58 = _createForOfIteratorHelperLoose(glyphs), _step58; !(_step58 = _iterator58()).done;) {\n    var glyph = _step58.value;\n    if (glyph.substituted) {\n      // Mark a substituted pref as VPre, as they behave the same way.\n      glyph.shaperInfo.category = 'VPre';\n    }\n  }\n}\nfunction reorder(font, glyphs) {\n  var dottedCircle = font.glyphForCodePoint(0x25cc).id;\n  for (var start = 0, end = nextSyllable$1(glyphs, 0); start < glyphs.length; start = end, end = nextSyllable$1(glyphs, start)) {\n    var i = void 0,\n      j = void 0;\n    var info = glyphs[start].shaperInfo;\n    var type = info.syllableType; // Only a few syllable types need reordering.\n\n    if (type !== 'virama_terminated_cluster' && type !== 'standard_cluster' && type !== 'broken_cluster') {\n      continue;\n    } // Insert a dotted circle glyph in broken clusters.\n\n    if (type === 'broken_cluster' && dottedCircle) {\n      var g = new GlyphInfo(font, dottedCircle, [0x25cc]);\n      g.shaperInfo = info; // Insert after possible Repha.\n\n      for (i = start; i < end && glyphs[i].shaperInfo.category === 'R'; i++) {}\n      glyphs.splice(++i, 0, g);\n      end++;\n    } // Move things forward.\n\n    if (info.category === 'R' && end - start > 1) {\n      // Got a repha. Reorder it to after first base, before first halant.\n      for (i = start + 1; i < end; i++) {\n        info = glyphs[i].shaperInfo;\n        if (isBase(info) || isHalant(glyphs[i])) {\n          // If we hit a halant, move before it; otherwise it's a base: move to it's\n          // place, and shift things in between backward.\n          if (isHalant(glyphs[i])) {\n            i--;\n          }\n          glyphs.splice.apply(glyphs, [start, 0].concat(glyphs.splice(start + 1, i - start), [glyphs[i]]));\n          break;\n        }\n      }\n    } // Move things back.\n\n    for (i = start, j = end; i < end; i++) {\n      info = glyphs[i].shaperInfo;\n      if (isBase(info) || isHalant(glyphs[i])) {\n        // If we hit a halant, move after it; otherwise it's a base: move to it's\n        // place, and shift things in between backward.\n        j = isHalant(glyphs[i]) ? i + 1 : i;\n      } else if ((info.category === 'VPre' || info.category === 'VMPre') && j < i) {\n        glyphs.splice.apply(glyphs, [j, 1, glyphs[i]].concat(glyphs.splice(j, i - j)));\n      }\n    }\n  }\n}\nfunction nextSyllable$1(glyphs, start) {\n  if (start >= glyphs.length) return start;\n  var syllable = glyphs[start].shaperInfo.syllable;\n  while (++start < glyphs.length && glyphs[start].shaperInfo.syllable === syllable) {}\n  return start;\n}\nfunction isHalant(glyph) {\n  return glyph.shaperInfo.category === 'H' && !glyph.isLigated;\n}\nfunction isBase(info) {\n  return info.category === 'B' || info.category === 'GB';\n}\nvar SHAPERS = {\n  arab: ArabicShaper,\n  // Arabic\n  mong: ArabicShaper,\n  // Mongolian\n  syrc: ArabicShaper,\n  // Syriac\n  'nko ': ArabicShaper,\n  // N'Ko\n  phag: ArabicShaper,\n  // Phags Pa\n  mand: ArabicShaper,\n  // Mandaic\n  mani: ArabicShaper,\n  // Manichaean\n  phlp: ArabicShaper,\n  // Psalter Pahlavi\n  hang: HangulShaper,\n  // Hangul\n  bng2: IndicShaper,\n  // Bengali\n  beng: IndicShaper,\n  // Bengali\n  dev2: IndicShaper,\n  // Devanagari\n  deva: IndicShaper,\n  // Devanagari\n  gjr2: IndicShaper,\n  // Gujarati\n  gujr: IndicShaper,\n  // Gujarati\n  guru: IndicShaper,\n  // Gurmukhi\n  gur2: IndicShaper,\n  // Gurmukhi\n  knda: IndicShaper,\n  // Kannada\n  knd2: IndicShaper,\n  // Kannada\n  mlm2: IndicShaper,\n  // Malayalam\n  mlym: IndicShaper,\n  // Malayalam\n  ory2: IndicShaper,\n  // Oriya\n  orya: IndicShaper,\n  // Oriya\n  taml: IndicShaper,\n  // Tamil\n  tml2: IndicShaper,\n  // Tamil\n  telu: IndicShaper,\n  // Telugu\n  tel2: IndicShaper,\n  // Telugu\n  khmr: IndicShaper,\n  // Khmer\n  bali: UniversalShaper,\n  // Balinese\n  batk: UniversalShaper,\n  // Batak\n  brah: UniversalShaper,\n  // Brahmi\n  bugi: UniversalShaper,\n  // Buginese\n  buhd: UniversalShaper,\n  // Buhid\n  cakm: UniversalShaper,\n  // Chakma\n  cham: UniversalShaper,\n  // Cham\n  dupl: UniversalShaper,\n  // Duployan\n  egyp: UniversalShaper,\n  // Egyptian Hieroglyphs\n  gran: UniversalShaper,\n  // Grantha\n  hano: UniversalShaper,\n  // Hanunoo\n  java: UniversalShaper,\n  // Javanese\n  kthi: UniversalShaper,\n  // Kaithi\n  kali: UniversalShaper,\n  // Kayah Li\n  khar: UniversalShaper,\n  // Kharoshthi\n  khoj: UniversalShaper,\n  // Khojki\n  sind: UniversalShaper,\n  // Khudawadi\n  lepc: UniversalShaper,\n  // Lepcha\n  limb: UniversalShaper,\n  // Limbu\n  mahj: UniversalShaper,\n  // Mahajani\n  // mand: UniversalShaper, // Mandaic\n  // mani: UniversalShaper, // Manichaean\n  mtei: UniversalShaper,\n  // Meitei Mayek\n  modi: UniversalShaper,\n  // Modi\n  // mong: UniversalShaper, // Mongolian\n  // 'nko ': UniversalShaper, // N’Ko\n  hmng: UniversalShaper,\n  // Pahawh Hmong\n  // phag: UniversalShaper, // Phags-pa\n  // phlp: UniversalShaper, // Psalter Pahlavi\n  rjng: UniversalShaper,\n  // Rejang\n  saur: UniversalShaper,\n  // Saurashtra\n  shrd: UniversalShaper,\n  // Sharada\n  sidd: UniversalShaper,\n  // Siddham\n  sinh: UniversalShaper,\n  // Sinhala\n  sund: UniversalShaper,\n  // Sundanese\n  sylo: UniversalShaper,\n  // Syloti Nagri\n  tglg: UniversalShaper,\n  // Tagalog\n  tagb: UniversalShaper,\n  // Tagbanwa\n  tale: UniversalShaper,\n  // Tai Le\n  lana: UniversalShaper,\n  // Tai Tham\n  tavt: UniversalShaper,\n  // Tai Viet\n  takr: UniversalShaper,\n  // Takri\n  tibt: UniversalShaper,\n  // Tibetan\n  tfng: UniversalShaper,\n  // Tifinagh\n  tirh: UniversalShaper,\n  // Tirhuta\n  latn: DefaultShaper,\n  // Latin\n  DFLT: DefaultShaper // Default\n};\n\nfunction choose(script) {\n  if (!Array.isArray(script)) {\n    script = [script];\n  }\n  for (var _iterator59 = _createForOfIteratorHelperLoose(script), _step59; !(_step59 = _iterator59()).done;) {\n    var s = _step59.value;\n    var shaper = SHAPERS[s];\n    if (shaper) {\n      return shaper;\n    }\n  }\n  return DefaultShaper;\n}\nvar GSUBProcessor = /*#__PURE__*/function (_OTProcessor) {\n  _inheritsLoose(GSUBProcessor, _OTProcessor);\n  function GSUBProcessor() {\n    return _OTProcessor.apply(this, arguments) || this;\n  }\n  var _proto27 = GSUBProcessor.prototype;\n  _proto27.applyLookup = function applyLookup(lookupType, table) {\n    var _this7 = this;\n    switch (lookupType) {\n      case 1:\n        {\n          // Single Substitution\n          var index = this.coverageIndex(table.coverage);\n          if (index === -1) {\n            return false;\n          }\n          var glyph = this.glyphIterator.cur;\n          switch (table.version) {\n            case 1:\n              glyph.id = glyph.id + table.deltaGlyphID & 0xffff;\n              break;\n            case 2:\n              glyph.id = table.substitute.get(index);\n              break;\n          }\n          return true;\n        }\n      case 2:\n        {\n          // Multiple Substitution\n          var _index = this.coverageIndex(table.coverage);\n          if (_index !== -1) {\n            var _this$glyphs2;\n            var sequence = table.sequences.get(_index);\n            if (sequence.length === 0) {\n              // If the sequence length is zero, delete the glyph.\n              // The OpenType spec disallows this, but seems like Harfbuzz and Uniscribe allow it.\n              this.glyphs.splice(this.glyphIterator.index, 1);\n              return true;\n            }\n            this.glyphIterator.cur.id = sequence[0];\n            this.glyphIterator.cur.ligatureComponent = 0;\n            var features = this.glyphIterator.cur.features;\n            var curGlyph = this.glyphIterator.cur;\n            var replacement = sequence.slice(1).map(function (gid, i) {\n              var glyph = new GlyphInfo(_this7.font, gid, undefined, features);\n              glyph.shaperInfo = curGlyph.shaperInfo;\n              glyph.isLigated = curGlyph.isLigated;\n              glyph.ligatureComponent = i + 1;\n              glyph.substituted = true;\n              glyph.isMultiplied = true;\n              return glyph;\n            });\n            (_this$glyphs2 = this.glyphs).splice.apply(_this$glyphs2, [this.glyphIterator.index + 1, 0].concat(replacement));\n            return true;\n          }\n          return false;\n        }\n      case 3:\n        {\n          // Alternate Substitution\n          var _index2 = this.coverageIndex(table.coverage);\n          if (_index2 !== -1) {\n            var USER_INDEX = 0; // TODO\n\n            this.glyphIterator.cur.id = table.alternateSet.get(_index2)[USER_INDEX];\n            return true;\n          }\n          return false;\n        }\n      case 4:\n        {\n          // Ligature Substitution\n          var _index3 = this.coverageIndex(table.coverage);\n          if (_index3 === -1) {\n            return false;\n          }\n          for (var _iterator60 = _createForOfIteratorHelperLoose(table.ligatureSets.get(_index3)), _step60; !(_step60 = _iterator60()).done;) {\n            var ligature = _step60.value;\n            var matched = this.sequenceMatchIndices(1, ligature.components);\n            if (!matched) {\n              continue;\n            }\n            var _curGlyph = this.glyphIterator.cur; // Concatenate all of the characters the new ligature will represent\n\n            var characters = _curGlyph.codePoints.slice();\n            for (var _iterator61 = _createForOfIteratorHelperLoose(matched), _step61; !(_step61 = _iterator61()).done;) {\n              var _characters;\n              var _index4 = _step61.value;\n              (_characters = characters).push.apply(_characters, this.glyphs[_index4].codePoints);\n            } // Create the replacement ligature glyph\n\n            var ligatureGlyph = new GlyphInfo(this.font, ligature.glyph, characters, _curGlyph.features);\n            ligatureGlyph.shaperInfo = _curGlyph.shaperInfo;\n            ligatureGlyph.isLigated = true;\n            ligatureGlyph.substituted = true; // From Harfbuzz:\n            // - If it *is* a mark ligature, we don't allocate a new ligature id, and leave\n            //   the ligature to keep its old ligature id.  This will allow it to attach to\n            //   a base ligature in GPOS.  Eg. if the sequence is: LAM,LAM,SHADDA,FATHA,HEH,\n            //   and LAM,LAM,HEH for a ligature, they will leave SHADDA and FATHA with a\n            //   ligature id and component value of 2.  Then if SHADDA,FATHA form a ligature\n            //   later, we don't want them to lose their ligature id/component, otherwise\n            //   GPOS will fail to correctly position the mark ligature on top of the\n            //   LAM,LAM,HEH ligature. See https://bugzilla.gnome.org/show_bug.cgi?id=676343\n            //\n            // - If a ligature is formed of components that some of which are also ligatures\n            //   themselves, and those ligature components had marks attached to *their*\n            //   components, we have to attach the marks to the new ligature component\n            //   positions!  Now *that*'s tricky!  And these marks may be following the\n            //   last component of the whole sequence, so we should loop forward looking\n            //   for them and update them.\n            //\n            //   Eg. the sequence is LAM,LAM,SHADDA,FATHA,HEH, and the font first forms a\n            //   'calt' ligature of LAM,HEH, leaving the SHADDA and FATHA with a ligature\n            //   id and component == 1.  Now, during 'liga', the LAM and the LAM-HEH ligature\n            //   form a LAM-LAM-HEH ligature.  We need to reassign the SHADDA and FATHA to\n            //   the new ligature with a component value of 2.\n            //\n            //   This in fact happened to a font...  See https://bugzilla.gnome.org/show_bug.cgi?id=437633\n\n            var isMarkLigature = _curGlyph.isMark;\n            for (var i = 0; i < matched.length && isMarkLigature; i++) {\n              isMarkLigature = this.glyphs[matched[i]].isMark;\n            }\n            ligatureGlyph.ligatureID = isMarkLigature ? null : this.ligatureID++;\n            var lastLigID = _curGlyph.ligatureID;\n            var lastNumComps = _curGlyph.codePoints.length;\n            var curComps = lastNumComps;\n            var idx = this.glyphIterator.index + 1; // Set ligatureID and ligatureComponent on glyphs that were skipped in the matched sequence.\n            // This allows GPOS to attach marks to the correct ligature components.\n\n            for (var _iterator62 = _createForOfIteratorHelperLoose(matched), _step62; !(_step62 = _iterator62()).done;) {\n              var matchIndex = _step62.value;\n              // Don't assign new ligature components for mark ligatures (see above)\n              if (isMarkLigature) {\n                idx = matchIndex;\n              } else {\n                while (idx < matchIndex) {\n                  var ligatureComponent = curComps - lastNumComps + Math.min(this.glyphs[idx].ligatureComponent || 1, lastNumComps);\n                  this.glyphs[idx].ligatureID = ligatureGlyph.ligatureID;\n                  this.glyphs[idx].ligatureComponent = ligatureComponent;\n                  idx++;\n                }\n              }\n              lastLigID = this.glyphs[idx].ligatureID;\n              lastNumComps = this.glyphs[idx].codePoints.length;\n              curComps += lastNumComps;\n              idx++; // skip base glyph\n            } // Adjust ligature components for any marks following\n\n            if (lastLigID && !isMarkLigature) {\n              for (var _i = idx; _i < this.glyphs.length; _i++) {\n                if (this.glyphs[_i].ligatureID === lastLigID) {\n                  var ligatureComponent = curComps - lastNumComps + Math.min(this.glyphs[_i].ligatureComponent || 1, lastNumComps);\n                  this.glyphs[_i].ligatureComponent = ligatureComponent;\n                } else {\n                  break;\n                }\n              }\n            } // Delete the matched glyphs, and replace the current glyph with the ligature glyph\n\n            for (var _i2 = matched.length - 1; _i2 >= 0; _i2--) {\n              this.glyphs.splice(matched[_i2], 1);\n            }\n            this.glyphs[this.glyphIterator.index] = ligatureGlyph;\n            return true;\n          }\n          return false;\n        }\n      case 5:\n        // Contextual Substitution\n        return this.applyContext(table);\n      case 6:\n        // Chaining Contextual Substitution\n        return this.applyChainingContext(table);\n      case 7:\n        // Extension Substitution\n        return this.applyLookup(table.lookupType, table.extension);\n      default:\n        throw new Error(\"GSUB lookupType \".concat(lookupType, \" is not supported\"));\n    }\n  };\n  return GSUBProcessor;\n}(OTProcessor);\nvar GPOSProcessor = /*#__PURE__*/function (_OTProcessor2) {\n  _inheritsLoose(GPOSProcessor, _OTProcessor2);\n  function GPOSProcessor() {\n    return _OTProcessor2.apply(this, arguments) || this;\n  }\n  var _proto28 = GPOSProcessor.prototype;\n  _proto28.applyPositionValue = function applyPositionValue(sequenceIndex, value) {\n    var position = this.positions[this.glyphIterator.peekIndex(sequenceIndex)];\n    if (value.xAdvance != null) {\n      position.xAdvance += value.xAdvance;\n    }\n    if (value.yAdvance != null) {\n      position.yAdvance += value.yAdvance;\n    }\n    if (value.xPlacement != null) {\n      position.xOffset += value.xPlacement;\n    }\n    if (value.yPlacement != null) {\n      position.yOffset += value.yPlacement;\n    } // Adjustments for font variations\n\n    var variationProcessor = this.font._variationProcessor;\n    var variationStore = this.font.GDEF && this.font.GDEF.itemVariationStore;\n    if (variationProcessor && variationStore) {\n      if (value.xPlaDevice) {\n        position.xOffset += variationProcessor.getDelta(variationStore, value.xPlaDevice.a, value.xPlaDevice.b);\n      }\n      if (value.yPlaDevice) {\n        position.yOffset += variationProcessor.getDelta(variationStore, value.yPlaDevice.a, value.yPlaDevice.b);\n      }\n      if (value.xAdvDevice) {\n        position.xAdvance += variationProcessor.getDelta(variationStore, value.xAdvDevice.a, value.xAdvDevice.b);\n      }\n      if (value.yAdvDevice) {\n        position.yAdvance += variationProcessor.getDelta(variationStore, value.yAdvDevice.a, value.yAdvDevice.b);\n      }\n    } // TODO: device tables\n  };\n  _proto28.applyLookup = function applyLookup(lookupType, table) {\n    switch (lookupType) {\n      case 1:\n        {\n          // Single positioning value\n          var index = this.coverageIndex(table.coverage);\n          if (index === -1) {\n            return false;\n          }\n          switch (table.version) {\n            case 1:\n              this.applyPositionValue(0, table.value);\n              break;\n            case 2:\n              this.applyPositionValue(0, table.values.get(index));\n              break;\n          }\n          return true;\n        }\n      case 2:\n        {\n          // Pair Adjustment Positioning\n          var nextGlyph = this.glyphIterator.peek();\n          if (!nextGlyph) {\n            return false;\n          }\n          var _index = this.coverageIndex(table.coverage);\n          if (_index === -1) {\n            return false;\n          }\n          switch (table.version) {\n            case 1:\n              // Adjustments for glyph pairs\n              var set = table.pairSets.get(_index);\n              for (var _iterator63 = _createForOfIteratorHelperLoose(set), _step63; !(_step63 = _iterator63()).done;) {\n                var _pair = _step63.value;\n                if (_pair.secondGlyph === nextGlyph.id) {\n                  this.applyPositionValue(0, _pair.value1);\n                  this.applyPositionValue(1, _pair.value2);\n                  return true;\n                }\n              }\n              return false;\n            case 2:\n              // Class pair adjustment\n              var class1 = this.getClassID(this.glyphIterator.cur.id, table.classDef1);\n              var class2 = this.getClassID(nextGlyph.id, table.classDef2);\n              if (class1 === -1 || class2 === -1) {\n                return false;\n              }\n              var pair = table.classRecords.get(class1).get(class2);\n              this.applyPositionValue(0, pair.value1);\n              this.applyPositionValue(1, pair.value2);\n              return true;\n          }\n        }\n      case 3:\n        {\n          // Cursive Attachment Positioning\n          var nextIndex = this.glyphIterator.peekIndex();\n          var _nextGlyph = this.glyphs[nextIndex];\n          if (!_nextGlyph) {\n            return false;\n          }\n          var curRecord = table.entryExitRecords[this.coverageIndex(table.coverage)];\n          if (!curRecord || !curRecord.exitAnchor) {\n            return false;\n          }\n          var nextRecord = table.entryExitRecords[this.coverageIndex(table.coverage, _nextGlyph.id)];\n          if (!nextRecord || !nextRecord.entryAnchor) {\n            return false;\n          }\n          var entry = this.getAnchor(nextRecord.entryAnchor);\n          var exit = this.getAnchor(curRecord.exitAnchor);\n          var cur = this.positions[this.glyphIterator.index];\n          var next = this.positions[nextIndex];\n          switch (this.direction) {\n            case 'ltr':\n              cur.xAdvance = exit.x + cur.xOffset;\n              var d = entry.x + next.xOffset;\n              next.xAdvance -= d;\n              next.xOffset -= d;\n              break;\n            case 'rtl':\n              d = exit.x + cur.xOffset;\n              cur.xAdvance -= d;\n              cur.xOffset -= d;\n              next.xAdvance = entry.x + next.xOffset;\n              break;\n          }\n          if (this.glyphIterator.flags.rightToLeft) {\n            this.glyphIterator.cur.cursiveAttachment = nextIndex;\n            cur.yOffset = entry.y - exit.y;\n          } else {\n            _nextGlyph.cursiveAttachment = this.glyphIterator.index;\n            cur.yOffset = exit.y - entry.y;\n          }\n          return true;\n        }\n      case 4:\n        {\n          // Mark to base positioning\n          var markIndex = this.coverageIndex(table.markCoverage);\n          if (markIndex === -1) {\n            return false;\n          } // search backward for a base glyph\n\n          var baseGlyphIndex = this.glyphIterator.index;\n          while (--baseGlyphIndex >= 0 && (this.glyphs[baseGlyphIndex].isMark || this.glyphs[baseGlyphIndex].ligatureComponent > 0)) {}\n          if (baseGlyphIndex < 0) {\n            return false;\n          }\n          var baseIndex = this.coverageIndex(table.baseCoverage, this.glyphs[baseGlyphIndex].id);\n          if (baseIndex === -1) {\n            return false;\n          }\n          var markRecord = table.markArray[markIndex];\n          var baseAnchor = table.baseArray[baseIndex][markRecord.class];\n          this.applyAnchor(markRecord, baseAnchor, baseGlyphIndex);\n          return true;\n        }\n      case 5:\n        {\n          // Mark to ligature positioning\n          var _markIndex = this.coverageIndex(table.markCoverage);\n          if (_markIndex === -1) {\n            return false;\n          } // search backward for a base glyph\n\n          var _baseGlyphIndex = this.glyphIterator.index;\n          while (--_baseGlyphIndex >= 0 && this.glyphs[_baseGlyphIndex].isMark) {}\n          if (_baseGlyphIndex < 0) {\n            return false;\n          }\n          var ligIndex = this.coverageIndex(table.ligatureCoverage, this.glyphs[_baseGlyphIndex].id);\n          if (ligIndex === -1) {\n            return false;\n          }\n          var ligAttach = table.ligatureArray[ligIndex];\n          var markGlyph = this.glyphIterator.cur;\n          var ligGlyph = this.glyphs[_baseGlyphIndex];\n          var compIndex = ligGlyph.ligatureID && ligGlyph.ligatureID === markGlyph.ligatureID && markGlyph.ligatureComponent > 0 ? Math.min(markGlyph.ligatureComponent, ligGlyph.codePoints.length) - 1 : ligGlyph.codePoints.length - 1;\n          var _markRecord = table.markArray[_markIndex];\n          var _baseAnchor = ligAttach[compIndex][_markRecord.class];\n          this.applyAnchor(_markRecord, _baseAnchor, _baseGlyphIndex);\n          return true;\n        }\n      case 6:\n        {\n          // Mark to mark positioning\n          var mark1Index = this.coverageIndex(table.mark1Coverage);\n          if (mark1Index === -1) {\n            return false;\n          } // get the previous mark to attach to\n\n          var prevIndex = this.glyphIterator.peekIndex(-1);\n          var prev = this.glyphs[prevIndex];\n          if (!prev || !prev.isMark) {\n            return false;\n          }\n          var _cur = this.glyphIterator.cur; // The following logic was borrowed from Harfbuzz\n\n          var good = false;\n          if (_cur.ligatureID === prev.ligatureID) {\n            if (!_cur.ligatureID) {\n              // Marks belonging to the same base\n              good = true;\n            } else if (_cur.ligatureComponent === prev.ligatureComponent) {\n              // Marks belonging to the same ligature component\n              good = true;\n            }\n          } else {\n            // If ligature ids don't match, it may be the case that one of the marks\n            // itself is a ligature, in which case match.\n            if (_cur.ligatureID && !_cur.ligatureComponent || prev.ligatureID && !prev.ligatureComponent) {\n              good = true;\n            }\n          }\n          if (!good) {\n            return false;\n          }\n          var mark2Index = this.coverageIndex(table.mark2Coverage, prev.id);\n          if (mark2Index === -1) {\n            return false;\n          }\n          var _markRecord2 = table.mark1Array[mark1Index];\n          var _baseAnchor2 = table.mark2Array[mark2Index][_markRecord2.class];\n          this.applyAnchor(_markRecord2, _baseAnchor2, prevIndex);\n          return true;\n        }\n      case 7:\n        // Contextual positioning\n        return this.applyContext(table);\n      case 8:\n        // Chaining contextual positioning\n        return this.applyChainingContext(table);\n      case 9:\n        // Extension positioning\n        return this.applyLookup(table.lookupType, table.extension);\n      default:\n        throw new Error(\"Unsupported GPOS table: \".concat(lookupType));\n    }\n  };\n  _proto28.applyAnchor = function applyAnchor(markRecord, baseAnchor, baseGlyphIndex) {\n    var baseCoords = this.getAnchor(baseAnchor);\n    var markCoords = this.getAnchor(markRecord.markAnchor);\n    var basePos = this.positions[baseGlyphIndex];\n    var markPos = this.positions[this.glyphIterator.index];\n    markPos.xOffset = baseCoords.x - markCoords.x;\n    markPos.yOffset = baseCoords.y - markCoords.y;\n    this.glyphIterator.cur.markAttachment = baseGlyphIndex;\n  };\n  _proto28.getAnchor = function getAnchor(anchor) {\n    // TODO: contour point, device tables\n    var x = anchor.xCoordinate;\n    var y = anchor.yCoordinate; // Adjustments for font variations\n\n    var variationProcessor = this.font._variationProcessor;\n    var variationStore = this.font.GDEF && this.font.GDEF.itemVariationStore;\n    if (variationProcessor && variationStore) {\n      if (anchor.xDeviceTable) {\n        x += variationProcessor.getDelta(variationStore, anchor.xDeviceTable.a, anchor.xDeviceTable.b);\n      }\n      if (anchor.yDeviceTable) {\n        y += variationProcessor.getDelta(variationStore, anchor.yDeviceTable.a, anchor.yDeviceTable.b);\n      }\n    }\n    return {\n      x: x,\n      y: y\n    };\n  };\n  _proto28.applyFeatures = function applyFeatures(userFeatures, glyphs, advances) {\n    _OTProcessor2.prototype.applyFeatures.call(this, userFeatures, glyphs, advances);\n    for (var i = 0; i < this.glyphs.length; i++) {\n      this.fixCursiveAttachment(i);\n    }\n    this.fixMarkAttachment();\n  };\n  _proto28.fixCursiveAttachment = function fixCursiveAttachment(i) {\n    var glyph = this.glyphs[i];\n    if (glyph.cursiveAttachment != null) {\n      var j = glyph.cursiveAttachment;\n      glyph.cursiveAttachment = null;\n      this.fixCursiveAttachment(j);\n      this.positions[i].yOffset += this.positions[j].yOffset;\n    }\n  };\n  _proto28.fixMarkAttachment = function fixMarkAttachment() {\n    for (var i = 0; i < this.glyphs.length; i++) {\n      var glyph = this.glyphs[i];\n      if (glyph.markAttachment != null) {\n        var j = glyph.markAttachment;\n        this.positions[i].xOffset += this.positions[j].xOffset;\n        this.positions[i].yOffset += this.positions[j].yOffset;\n        if (this.direction === 'ltr') {\n          for (var k = j; k < i; k++) {\n            this.positions[i].xOffset -= this.positions[k].xAdvance;\n            this.positions[i].yOffset -= this.positions[k].yAdvance;\n          }\n        } else {\n          for (var _k = j + 1; _k < i + 1; _k++) {\n            this.positions[i].xOffset += this.positions[_k].xAdvance;\n            this.positions[i].yOffset += this.positions[_k].yAdvance;\n          }\n        }\n      }\n    }\n  };\n  return GPOSProcessor;\n}(OTProcessor);\nvar OTLayoutEngine = /*#__PURE__*/function () {\n  function OTLayoutEngine(font) {\n    this.font = font;\n    this.glyphInfos = null;\n    this.plan = null;\n    this.GSUBProcessor = null;\n    this.GPOSProcessor = null;\n    this.fallbackPosition = true;\n    if (font.GSUB) {\n      this.GSUBProcessor = new GSUBProcessor(font, font.GSUB);\n    }\n    if (font.GPOS) {\n      this.GPOSProcessor = new GPOSProcessor(font, font.GPOS);\n    }\n  }\n  var _proto29 = OTLayoutEngine.prototype;\n  _proto29.setup = function setup(glyphRun) {\n    var _this8 = this;\n    // Map glyphs to GlyphInfo objects so data can be passed between\n    // GSUB and GPOS without mutating the real (shared) Glyph objects.\n    this.glyphInfos = glyphRun.glyphs.map(function (glyph) {\n      return new GlyphInfo(_this8.font, glyph.id, [].concat(glyph.codePoints));\n    }); // Select a script based on what is available in GSUB/GPOS.\n\n    var script = null;\n    if (this.GPOSProcessor) {\n      script = this.GPOSProcessor.selectScript(glyphRun.script, glyphRun.language, glyphRun.direction);\n    }\n    if (this.GSUBProcessor) {\n      script = this.GSUBProcessor.selectScript(glyphRun.script, glyphRun.language, glyphRun.direction);\n    } // Choose a shaper based on the script, and setup a shaping plan.\n    // This determines which features to apply to which glyphs.\n\n    this.shaper = choose(script);\n    this.plan = new ShapingPlan(this.font, script, glyphRun.direction);\n    this.shaper.plan(this.plan, this.glyphInfos, glyphRun.features); // Assign chosen features to output glyph run\n\n    for (var key in this.plan.allFeatures) {\n      glyphRun.features[key] = true;\n    }\n  };\n  _proto29.substitute = function substitute(glyphRun) {\n    var _this9 = this;\n    if (this.GSUBProcessor) {\n      this.plan.process(this.GSUBProcessor, this.glyphInfos); // Map glyph infos back to normal Glyph objects\n\n      glyphRun.glyphs = this.glyphInfos.map(function (glyphInfo) {\n        return _this9.font.getGlyph(glyphInfo.id, glyphInfo.codePoints);\n      });\n    }\n  };\n  _proto29.position = function position(glyphRun) {\n    if (this.shaper.zeroMarkWidths === 'BEFORE_GPOS') {\n      this.zeroMarkAdvances(glyphRun.positions);\n    }\n    if (this.GPOSProcessor) {\n      this.plan.process(this.GPOSProcessor, this.glyphInfos, glyphRun.positions);\n    }\n    if (this.shaper.zeroMarkWidths === 'AFTER_GPOS') {\n      this.zeroMarkAdvances(glyphRun.positions);\n    } // Reverse the glyphs and positions if the script is right-to-left\n\n    if (glyphRun.direction === 'rtl') {\n      glyphRun.glyphs.reverse();\n      glyphRun.positions.reverse();\n    }\n    return this.GPOSProcessor && this.GPOSProcessor.features;\n  };\n  _proto29.zeroMarkAdvances = function zeroMarkAdvances(positions) {\n    for (var i = 0; i < this.glyphInfos.length; i++) {\n      if (this.glyphInfos[i].isMark) {\n        positions[i].xAdvance = 0;\n        positions[i].yAdvance = 0;\n      }\n    }\n  };\n  _proto29.cleanup = function cleanup() {\n    this.glyphInfos = null;\n    this.plan = null;\n    this.shaper = null;\n  };\n  _proto29.getAvailableFeatures = function getAvailableFeatures(script, language) {\n    var features = [];\n    if (this.GSUBProcessor) {\n      this.GSUBProcessor.selectScript(script, language);\n      features.push.apply(features, Object.keys(this.GSUBProcessor.features));\n    }\n    if (this.GPOSProcessor) {\n      this.GPOSProcessor.selectScript(script, language);\n      features.push.apply(features, Object.keys(this.GPOSProcessor.features));\n    }\n    return features;\n  };\n  return OTLayoutEngine;\n}();\nvar LayoutEngine = /*#__PURE__*/function () {\n  function LayoutEngine(font) {\n    this.font = font;\n    this.unicodeLayoutEngine = null;\n    this.kernProcessor = null; // Choose an advanced layout engine. We try the AAT morx table first since more\n    // scripts are currently supported because the shaping logic is built into the font.\n\n    if (this.font.morx) {\n      this.engine = new AATLayoutEngine(this.font);\n    } else if (this.font.GSUB || this.font.GPOS) {\n      this.engine = new OTLayoutEngine(this.font);\n    }\n  }\n  var _proto30 = LayoutEngine.prototype;\n  _proto30.layout = function layout(string, features, script, language, direction) {\n    // Make the features parameter optional\n    if (typeof features === 'string') {\n      direction = language;\n      language = script;\n      script = features;\n      features = [];\n    } // Map string to glyphs if needed\n\n    if (typeof string === 'string') {\n      // Attempt to detect the script from the string if not provided.\n      if (script == null) {\n        script = forString(string);\n      }\n      var glyphs = this.font.glyphsForString(string);\n    } else {\n      // Attempt to detect the script from the glyph code points if not provided.\n      if (script == null) {\n        var codePoints = [];\n        for (var _iterator64 = _createForOfIteratorHelperLoose(string), _step64; !(_step64 = _iterator64()).done;) {\n          var glyph = _step64.value;\n          codePoints.push.apply(codePoints, glyph.codePoints);\n        }\n        script = forCodePoints(codePoints);\n      }\n      var glyphs = string;\n    }\n    var glyphRun = new GlyphRun(glyphs, features, script, language, direction); // Return early if there are no glyphs\n\n    if (glyphs.length === 0) {\n      glyphRun.positions = [];\n      return glyphRun;\n    } // Setup the advanced layout engine\n\n    if (this.engine && this.engine.setup) {\n      this.engine.setup(glyphRun);\n    } // Substitute and position the glyphs\n\n    this.substitute(glyphRun);\n    this.position(glyphRun);\n    this.hideDefaultIgnorables(glyphRun.glyphs, glyphRun.positions); // Let the layout engine clean up any state it might have\n\n    if (this.engine && this.engine.cleanup) {\n      this.engine.cleanup();\n    }\n    return glyphRun;\n  };\n  _proto30.substitute = function substitute(glyphRun) {\n    // Call the advanced layout engine to make substitutions\n    if (this.engine && this.engine.substitute) {\n      this.engine.substitute(glyphRun);\n    }\n  };\n  _proto30.position = function position(glyphRun) {\n    // Get initial glyph positions\n    glyphRun.positions = glyphRun.glyphs.map(function (glyph) {\n      return new GlyphPosition(glyph.advanceWidth);\n    });\n    var positioned = null; // Call the advanced layout engine. Returns the features applied.\n\n    if (this.engine && this.engine.position) {\n      positioned = this.engine.position(glyphRun);\n    } // if there is no GPOS table, use unicode properties to position marks.\n\n    if (!positioned && (!this.engine || this.engine.fallbackPosition)) {\n      if (!this.unicodeLayoutEngine) {\n        this.unicodeLayoutEngine = new UnicodeLayoutEngine(this.font);\n      }\n      this.unicodeLayoutEngine.positionGlyphs(glyphRun.glyphs, glyphRun.positions);\n    } // if kerning is not supported by GPOS, do kerning with the TrueType/AAT kern table\n\n    if ((!positioned || !positioned.kern) && glyphRun.features.kern !== false && this.font.kern) {\n      if (!this.kernProcessor) {\n        this.kernProcessor = new KernProcessor(this.font);\n      }\n      this.kernProcessor.process(glyphRun.glyphs, glyphRun.positions);\n      glyphRun.features.kern = true;\n    }\n  };\n  _proto30.hideDefaultIgnorables = function hideDefaultIgnorables(glyphs, positions) {\n    var space = this.font.glyphForCodePoint(0x20);\n    for (var i = 0; i < glyphs.length; i++) {\n      if (this.isDefaultIgnorable(glyphs[i].codePoints[0])) {\n        glyphs[i] = space;\n        positions[i].xAdvance = 0;\n        positions[i].yAdvance = 0;\n      }\n    }\n  };\n  _proto30.isDefaultIgnorable = function isDefaultIgnorable(ch) {\n    // From DerivedCoreProperties.txt in the Unicode database,\n    // minus U+115F, U+1160, U+3164 and U+FFA0, which is what\n    // Harfbuzz and Uniscribe do.\n    var plane = ch >> 16;\n    if (plane === 0) {\n      // BMP\n      switch (ch >> 8) {\n        case 0x00:\n          return ch === 0x00AD;\n        case 0x03:\n          return ch === 0x034F;\n        case 0x06:\n          return ch === 0x061C;\n        case 0x17:\n          return 0x17B4 <= ch && ch <= 0x17B5;\n        case 0x18:\n          return 0x180B <= ch && ch <= 0x180E;\n        case 0x20:\n          return 0x200B <= ch && ch <= 0x200F || 0x202A <= ch && ch <= 0x202E || 0x2060 <= ch && ch <= 0x206F;\n        case 0xFE:\n          return 0xFE00 <= ch && ch <= 0xFE0F || ch === 0xFEFF;\n        case 0xFF:\n          return 0xFFF0 <= ch && ch <= 0xFFF8;\n        default:\n          return false;\n      }\n    } else {\n      // Other planes\n      switch (plane) {\n        case 0x01:\n          return 0x1BCA0 <= ch && ch <= 0x1BCA3 || 0x1D173 <= ch && ch <= 0x1D17A;\n        case 0x0E:\n          return 0xE0000 <= ch && ch <= 0xE0FFF;\n        default:\n          return false;\n      }\n    }\n  };\n  _proto30.getAvailableFeatures = function getAvailableFeatures(script, language) {\n    var features = [];\n    if (this.engine) {\n      features.push.apply(features, this.engine.getAvailableFeatures(script, language));\n    }\n    if (this.font.kern && features.indexOf('kern') === -1) {\n      features.push('kern');\n    }\n    return features;\n  };\n  _proto30.stringsForGlyph = function stringsForGlyph(gid) {\n    var result = new Set();\n    var codePoints = this.font._cmapProcessor.codePointsForGlyph(gid);\n    for (var _iterator65 = _createForOfIteratorHelperLoose(codePoints), _step65; !(_step65 = _iterator65()).done;) {\n      var codePoint = _step65.value;\n      result.add(String.fromCodePoint(codePoint));\n    }\n    if (this.engine && this.engine.stringsForGlyph) {\n      for (var _iterator66 = _createForOfIteratorHelperLoose(this.engine.stringsForGlyph(gid)), _step66; !(_step66 = _iterator66()).done;) {\n        var string = _step66.value;\n        result.add(string);\n      }\n    }\n    return Array.from(result);\n  };\n  return LayoutEngine;\n}();\nvar SVG_COMMANDS = {\n  moveTo: 'M',\n  lineTo: 'L',\n  quadraticCurveTo: 'Q',\n  bezierCurveTo: 'C',\n  closePath: 'Z'\n};\n/**\r\n * Path objects are returned by glyphs and represent the actual\r\n * vector outlines for each glyph in the font. Paths can be converted\r\n * to SVG path data strings, or to functions that can be applied to\r\n * render the path to a graphics context.\r\n */\nvar Path = /*#__PURE__*/function () {\n  function Path() {\n    this.commands = [];\n    this._bbox = null;\n    this._cbox = null;\n  }\n  /**\r\n   * Compiles the path to a JavaScript function that can be applied with\r\n   * a graphics context in order to render the path.\r\n   * @return {string}\r\n   */\n  var _proto31 = Path.prototype;\n  _proto31.toFunction = function toFunction() {\n    var _this10 = this;\n    return function (ctx) {\n      _this10.commands.forEach(function (c) {\n        return ctx[c.command].apply(ctx, c.args);\n      });\n    };\n  }\n  /**\r\n   * Converts the path to an SVG path data string\r\n   * @return {string}\r\n   */;\n  _proto31.toSVG = function toSVG() {\n    var cmds = this.commands.map(function (c) {\n      var args = c.args.map(function (arg) {\n        return Math.round(arg * 100) / 100;\n      });\n      return \"\".concat(SVG_COMMANDS[c.command]).concat(args.join(' '));\n    });\n    return cmds.join('');\n  }\n  /**\r\n   * Gets the \"control box\" of a path.\r\n   * This is like the bounding box, but it includes all points including\r\n   * control points of bezier segments and is much faster to compute than\r\n   * the real bounding box.\r\n   * @type {BBox}\r\n   */;\n  /**\r\n   * Applies a mapping function to each point in the path.\r\n   * @param {function} fn\r\n   * @return {Path}\r\n   */\n  _proto31.mapPoints = function mapPoints(fn) {\n    var path = new Path();\n    for (var _iterator67 = _createForOfIteratorHelperLoose(this.commands), _step67; !(_step67 = _iterator67()).done;) {\n      var c = _step67.value;\n      var args = [];\n      for (var i = 0; i < c.args.length; i += 2) {\n        var _fn = fn(c.args[i], c.args[i + 1]),\n          x = _fn[0],\n          y = _fn[1];\n        args.push(x, y);\n      }\n      path[c.command].apply(path, args);\n    }\n    return path;\n  }\n  /**\r\n   * Transforms the path by the given matrix.\r\n   */;\n  _proto31.transform = function transform(m0, m1, m2, m3, m4, m5) {\n    return this.mapPoints(function (x, y) {\n      x = m0 * x + m2 * y + m4;\n      y = m1 * x + m3 * y + m5;\n      return [x, y];\n    });\n  }\n  /**\r\n   * Translates the path by the given offset.\r\n   */;\n  _proto31.translate = function translate(x, y) {\n    return this.transform(1, 0, 0, 1, x, y);\n  }\n  /**\r\n   * Rotates the path by the given angle (in radians).\r\n   */;\n  _proto31.rotate = function rotate(angle) {\n    var cos = Math.cos(angle);\n    var sin = Math.sin(angle);\n    return this.transform(cos, sin, -sin, cos, 0, 0);\n  }\n  /**\r\n   * Scales the path.\r\n   */;\n  _proto31.scale = function scale(scaleX, scaleY) {\n    if (scaleY === void 0) {\n      scaleY = scaleX;\n    }\n    return this.transform(scaleX, 0, 0, scaleY, 0, 0);\n  };\n  _createClass(Path, [{\n    key: \"cbox\",\n    get: function get() {\n      if (!this._cbox) {\n        var cbox = new BBox();\n        for (var _iterator68 = _createForOfIteratorHelperLoose(this.commands), _step68; !(_step68 = _iterator68()).done;) {\n          var command = _step68.value;\n          for (var i = 0; i < command.args.length; i += 2) {\n            cbox.addPoint(command.args[i], command.args[i + 1]);\n          }\n        }\n        this._cbox = Object.freeze(cbox);\n      }\n      return this._cbox;\n    }\n    /**\r\n     * Gets the exact bounding box of the path by evaluating curve segments.\r\n     * Slower to compute than the control box, but more accurate.\r\n     * @type {BBox}\r\n     */\n  }, {\n    key: \"bbox\",\n    get: function get() {\n      if (this._bbox) {\n        return this._bbox;\n      }\n      var bbox = new BBox();\n      var cx = 0,\n        cy = 0;\n      var f = function f(t) {\n        return Math.pow(1 - t, 3) * p0[i] + 3 * Math.pow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * Math.pow(t, 2) * p2[i] + Math.pow(t, 3) * p3[i];\n      };\n      for (var _iterator69 = _createForOfIteratorHelperLoose(this.commands), _step69; !(_step69 = _iterator69()).done;) {\n        var c = _step69.value;\n        switch (c.command) {\n          case 'moveTo':\n          case 'lineTo':\n            var _c$args = c.args,\n              x = _c$args[0],\n              y = _c$args[1];\n            bbox.addPoint(x, y);\n            cx = x;\n            cy = y;\n            break;\n          case 'quadraticCurveTo':\n          case 'bezierCurveTo':\n            if (c.command === 'quadraticCurveTo') {\n              // http://fontforge.org/bezier.html\n              var _c$args2 = c.args,\n                qp1x = _c$args2[0],\n                qp1y = _c$args2[1],\n                p3x = _c$args2[2],\n                p3y = _c$args2[3];\n              var cp1x = cx + 2 / 3 * (qp1x - cx); // CP1 = QP0 + 2/3 * (QP1-QP0)\n\n              var cp1y = cy + 2 / 3 * (qp1y - cy);\n              var cp2x = p3x + 2 / 3 * (qp1x - p3x); // CP2 = QP2 + 2/3 * (QP1-QP2)\n\n              var cp2y = p3y + 2 / 3 * (qp1y - p3y);\n            } else {\n              var _c$args3 = c.args,\n                cp1x = _c$args3[0],\n                cp1y = _c$args3[1],\n                cp2x = _c$args3[2],\n                cp2y = _c$args3[3],\n                p3x = _c$args3[4],\n                p3y = _c$args3[5];\n            } // http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n\n            bbox.addPoint(p3x, p3y);\n            var p0 = [cx, cy];\n            var p1 = [cp1x, cp1y];\n            var p2 = [cp2x, cp2y];\n            var p3 = [p3x, p3y];\n            for (var i = 0; i <= 1; i++) {\n              var b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n              var a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n              c = 3 * p1[i] - 3 * p0[i];\n              if (a === 0) {\n                if (b === 0) {\n                  continue;\n                }\n                var t = -c / b;\n                if (0 < t && t < 1) {\n                  if (i === 0) {\n                    bbox.addPoint(f(t), bbox.maxY);\n                  } else if (i === 1) {\n                    bbox.addPoint(bbox.maxX, f(t));\n                  }\n                }\n                continue;\n              }\n              var b2ac = Math.pow(b, 2) - 4 * c * a;\n              if (b2ac < 0) {\n                continue;\n              }\n              var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n              if (0 < t1 && t1 < 1) {\n                if (i === 0) {\n                  bbox.addPoint(f(t1), bbox.maxY);\n                } else if (i === 1) {\n                  bbox.addPoint(bbox.maxX, f(t1));\n                }\n              }\n              var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n              if (0 < t2 && t2 < 1) {\n                if (i === 0) {\n                  bbox.addPoint(f(t2), bbox.maxY);\n                } else if (i === 1) {\n                  bbox.addPoint(bbox.maxX, f(t2));\n                }\n              }\n            }\n            cx = p3x;\n            cy = p3y;\n            break;\n        }\n      }\n      return this._bbox = Object.freeze(bbox);\n    }\n  }]);\n  return Path;\n}();\nvar _loop = function _loop(command) {\n  Path.prototype[command] = function () {\n    this._bbox = this._cbox = null;\n    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n      args[_key2] = arguments[_key2];\n    }\n    this.commands.push({\n      command: command,\n      args: args\n    });\n    return this;\n  };\n};\nfor (var _i23 = 0, _arr = ['moveTo', 'lineTo', 'quadraticCurveTo', 'bezierCurveTo', 'closePath']; _i23 < _arr.length; _i23++) {\n  var command = _arr[_i23];\n  _loop(command);\n}\nvar StandardNames = ['.notdef', '.null', 'nonmarkingreturn', 'space', 'exclam', 'quotedbl', 'numbersign', 'dollar', 'percent', 'ampersand', 'quotesingle', 'parenleft', 'parenright', 'asterisk', 'plus', 'comma', 'hyphen', 'period', 'slash', 'zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'colon', 'semicolon', 'less', 'equal', 'greater', 'question', 'at', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'bracketleft', 'backslash', 'bracketright', 'asciicircum', 'underscore', 'grave', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'braceleft', 'bar', 'braceright', 'asciitilde', 'Adieresis', 'Aring', 'Ccedilla', 'Eacute', 'Ntilde', 'Odieresis', 'Udieresis', 'aacute', 'agrave', 'acircumflex', 'adieresis', 'atilde', 'aring', 'ccedilla', 'eacute', 'egrave', 'ecircumflex', 'edieresis', 'iacute', 'igrave', 'icircumflex', 'idieresis', 'ntilde', 'oacute', 'ograve', 'ocircumflex', 'odieresis', 'otilde', 'uacute', 'ugrave', 'ucircumflex', 'udieresis', 'dagger', 'degree', 'cent', 'sterling', 'section', 'bullet', 'paragraph', 'germandbls', 'registered', 'copyright', 'trademark', 'acute', 'dieresis', 'notequal', 'AE', 'Oslash', 'infinity', 'plusminus', 'lessequal', 'greaterequal', 'yen', 'mu', 'partialdiff', 'summation', 'product', 'pi', 'integral', 'ordfeminine', 'ordmasculine', 'Omega', 'ae', 'oslash', 'questiondown', 'exclamdown', 'logicalnot', 'radical', 'florin', 'approxequal', 'Delta', 'guillemotleft', 'guillemotright', 'ellipsis', 'nonbreakingspace', 'Agrave', 'Atilde', 'Otilde', 'OE', 'oe', 'endash', 'emdash', 'quotedblleft', 'quotedblright', 'quoteleft', 'quoteright', 'divide', 'lozenge', 'ydieresis', 'Ydieresis', 'fraction', 'currency', 'guilsinglleft', 'guilsinglright', 'fi', 'fl', 'daggerdbl', 'periodcentered', 'quotesinglbase', 'quotedblbase', 'perthousand', 'Acircumflex', 'Ecircumflex', 'Aacute', 'Edieresis', 'Egrave', 'Iacute', 'Icircumflex', 'Idieresis', 'Igrave', 'Oacute', 'Ocircumflex', 'apple', 'Ograve', 'Uacute', 'Ucircumflex', 'Ugrave', 'dotlessi', 'circumflex', 'tilde', 'macron', 'breve', 'dotaccent', 'ring', 'cedilla', 'hungarumlaut', 'ogonek', 'caron', 'Lslash', 'lslash', 'Scaron', 'scaron', 'Zcaron', 'zcaron', 'brokenbar', 'Eth', 'eth', 'Yacute', 'yacute', 'Thorn', 'thorn', 'minus', 'multiply', 'onesuperior', 'twosuperior', 'threesuperior', 'onehalf', 'onequarter', 'threequarters', 'franc', 'Gbreve', 'gbreve', 'Idotaccent', 'Scedilla', 'scedilla', 'Cacute', 'cacute', 'Ccaron', 'ccaron', 'dcroat'];\nvar _class$3;\n/**\r\n * Glyph objects represent a glyph in the font. They have various properties for accessing metrics and\r\n * the actual vector path the glyph represents, and methods for rendering the glyph to a graphics context.\r\n *\r\n * You do not create glyph objects directly. They are created by various methods on the font object.\r\n * There are several subclasses of the base Glyph class internally that may be returned depending\r\n * on the font format, but they all inherit from this class.\r\n */\n\nvar Glyph = (_class$3 = /*#__PURE__*/function () {\n  function Glyph(id, codePoints, font) {\n    /**\r\n     * The glyph id in the font\r\n     * @type {number}\r\n     */\n    this.id = id;\n    /**\r\n     * An array of unicode code points that are represented by this glyph.\r\n     * There can be multiple code points in the case of ligatures and other glyphs\r\n     * that represent multiple visual characters.\r\n     * @type {number[]}\r\n     */\n\n    this.codePoints = codePoints;\n    this._font = font; // TODO: get this info from GDEF if available\n\n    this.isMark = this.codePoints.length > 0 && this.codePoints.every(unicode.isMark);\n    this.isLigature = this.codePoints.length > 1;\n  }\n  var _proto32 = Glyph.prototype;\n  _proto32._getPath = function _getPath() {\n    return new Path();\n  };\n  _proto32._getCBox = function _getCBox() {\n    return this.path.cbox;\n  };\n  _proto32._getBBox = function _getBBox() {\n    return this.path.bbox;\n  };\n  _proto32._getTableMetrics = function _getTableMetrics(table) {\n    if (this.id < table.metrics.length) {\n      return table.metrics.get(this.id);\n    }\n    var metric = table.metrics.get(table.metrics.length - 1);\n    var res = {\n      advance: metric ? metric.advance : 0,\n      bearing: table.bearings.get(this.id - table.metrics.length) || 0\n    };\n    return res;\n  };\n  _proto32._getMetrics = function _getMetrics(cbox) {\n    if (this._metrics) {\n      return this._metrics;\n    }\n    var _this$_getTableMetric = this._getTableMetrics(this._font.hmtx),\n      advanceWidth = _this$_getTableMetric.advance,\n      leftBearing = _this$_getTableMetric.bearing; // For vertical metrics, use vmtx if available, or fall back to global data from OS/2 or hhea\n\n    if (this._font.vmtx) {\n      var _this$_getTableMetric2 = this._getTableMetrics(this._font.vmtx),\n        advanceHeight = _this$_getTableMetric2.advance,\n        topBearing = _this$_getTableMetric2.bearing;\n    } else {\n      var os2;\n      if (typeof cbox === 'undefined' || cbox === null) {\n        cbox = this.cbox;\n      }\n      if ((os2 = this._font['OS/2']) && os2.version > 0) {\n        var advanceHeight = Math.abs(os2.typoAscender - os2.typoDescender);\n        var topBearing = os2.typoAscender - cbox.maxY;\n      } else {\n        var hhea = this._font.hhea;\n        var advanceHeight = Math.abs(hhea.ascent - hhea.descent);\n        var topBearing = hhea.ascent - cbox.maxY;\n      }\n    }\n    if (this._font._variationProcessor && this._font.HVAR) {\n      advanceWidth += this._font._variationProcessor.getAdvanceAdjustment(this.id, this._font.HVAR);\n    }\n    return this._metrics = {\n      advanceWidth: advanceWidth,\n      advanceHeight: advanceHeight,\n      leftBearing: leftBearing,\n      topBearing: topBearing\n    };\n  }\n  /**\r\n   * The glyph’s control box.\r\n   * This is often the same as the bounding box, but is faster to compute.\r\n   * Because of the way bezier curves are defined, some of the control points\r\n   * can be outside of the bounding box. Where `bbox` takes this into account,\r\n   * `cbox` does not. Thus, cbox is less accurate, but faster to compute.\r\n   * See [here](http://www.freetype.org/freetype2/docs/glyphs/glyphs-6.html#section-2)\r\n   * for a more detailed description.\r\n   *\r\n   * @type {BBox}\r\n   */;\n  /**\r\n   * Returns a path scaled to the given font size.\r\n   * @param {number} size\r\n   * @return {Path}\r\n   */\n  _proto32.getScaledPath = function getScaledPath(size) {\n    var scale = 1 / this._font.unitsPerEm * size;\n    return this.path.scale(scale);\n  }\n  /**\r\n   * The glyph's advance width.\r\n   * @type {number}\r\n   */;\n  _proto32._getName = function _getName() {\n    var post = this._font.post;\n    if (!post) {\n      return null;\n    }\n    switch (post.version) {\n      case 1:\n        return StandardNames[this.id];\n      case 2:\n        var id = post.glyphNameIndex[this.id];\n        if (id < StandardNames.length) {\n          return StandardNames[id];\n        }\n        return post.names[id - StandardNames.length];\n      case 2.5:\n        return StandardNames[this.id + post.offsets[this.id]];\n      case 4:\n        return String.fromCharCode(post.map[this.id]);\n    }\n  }\n  /**\r\n   * The glyph's name\r\n   * @type {string}\r\n   */;\n  /**\r\n   * Renders the glyph to the given graphics context, at the specified font size.\r\n   * @param {CanvasRenderingContext2d} ctx\r\n   * @param {number} size\r\n   */\n  _proto32.render = function render(ctx, size) {\n    ctx.save();\n    var scale = 1 / this._font.head.unitsPerEm * size;\n    ctx.scale(scale, scale);\n    var fn = this.path.toFunction();\n    fn(ctx);\n    ctx.fill();\n    ctx.restore();\n  };\n  _createClass(Glyph, [{\n    key: \"cbox\",\n    get: function get() {\n      return this._getCBox();\n    }\n    /**\r\n     * The glyph’s bounding box, i.e. the rectangle that encloses the\r\n     * glyph outline as tightly as possible.\r\n     * @type {BBox}\r\n     */\n  }, {\n    key: \"bbox\",\n    get: function get() {\n      return this._getBBox();\n    }\n    /**\r\n     * A vector Path object representing the glyph outline.\r\n     * @type {Path}\r\n     */\n  }, {\n    key: \"path\",\n    get: function get() {\n      // Cache the path so we only decode it once\n      // Decoding is actually performed by subclasses\n      return this._getPath();\n    }\n  }, {\n    key: \"advanceWidth\",\n    get: function get() {\n      return this._getMetrics().advanceWidth;\n    }\n    /**\r\n     * The glyph's advance height.\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"advanceHeight\",\n    get: function get() {\n      return this._getMetrics().advanceHeight;\n    }\n  }, {\n    key: \"ligatureCaretPositions\",\n    get: function get() {}\n  }, {\n    key: \"name\",\n    get: function get() {\n      return this._getName();\n    }\n  }]);\n  return Glyph;\n}(), (_applyDecoratedDescriptor(_class$3.prototype, \"cbox\", [cache], Object.getOwnPropertyDescriptor(_class$3.prototype, \"cbox\"), _class$3.prototype), _applyDecoratedDescriptor(_class$3.prototype, \"bbox\", [cache], Object.getOwnPropertyDescriptor(_class$3.prototype, \"bbox\"), _class$3.prototype), _applyDecoratedDescriptor(_class$3.prototype, \"path\", [cache], Object.getOwnPropertyDescriptor(_class$3.prototype, \"path\"), _class$3.prototype), _applyDecoratedDescriptor(_class$3.prototype, \"advanceWidth\", [cache], Object.getOwnPropertyDescriptor(_class$3.prototype, \"advanceWidth\"), _class$3.prototype), _applyDecoratedDescriptor(_class$3.prototype, \"advanceHeight\", [cache], Object.getOwnPropertyDescriptor(_class$3.prototype, \"advanceHeight\"), _class$3.prototype), _applyDecoratedDescriptor(_class$3.prototype, \"name\", [cache], Object.getOwnPropertyDescriptor(_class$3.prototype, \"name\"), _class$3.prototype)), _class$3);\nvar GlyfHeader = new r.Struct({\n  numberOfContours: r.int16,\n  // if negative, this is a composite glyph\n  xMin: r.int16,\n  yMin: r.int16,\n  xMax: r.int16,\n  yMax: r.int16\n}); // Flags for simple glyphs\n\nvar ON_CURVE = 1 << 0;\nvar X_SHORT_VECTOR = 1 << 1;\nvar Y_SHORT_VECTOR = 1 << 2;\nvar REPEAT = 1 << 3;\nvar SAME_X = 1 << 4;\nvar SAME_Y = 1 << 5; // Flags for composite glyphs\n\nvar ARG_1_AND_2_ARE_WORDS = 1 << 0;\nvar WE_HAVE_A_SCALE = 1 << 3;\nvar MORE_COMPONENTS = 1 << 5;\nvar WE_HAVE_AN_X_AND_Y_SCALE = 1 << 6;\nvar WE_HAVE_A_TWO_BY_TWO = 1 << 7;\nvar WE_HAVE_INSTRUCTIONS = 1 << 8;\nvar Point = /*#__PURE__*/function () {\n  function Point(onCurve, endContour, x, y) {\n    if (x === void 0) {\n      x = 0;\n    }\n    if (y === void 0) {\n      y = 0;\n    }\n    this.onCurve = onCurve;\n    this.endContour = endContour;\n    this.x = x;\n    this.y = y;\n  }\n  var _proto33 = Point.prototype;\n  _proto33.copy = function copy() {\n    return new Point(this.onCurve, this.endContour, this.x, this.y);\n  };\n  return Point;\n}(); // Represents a component in a composite glyph\nvar Component = function Component(glyphID, dx, dy) {\n  this.glyphID = glyphID;\n  this.dx = dx;\n  this.dy = dy;\n  this.pos = 0;\n  this.scaleX = this.scaleY = 1;\n  this.scale01 = this.scale10 = 0;\n};\n/**\r\n * Represents a TrueType glyph.\r\n */\nvar TTFGlyph = /*#__PURE__*/function (_Glyph) {\n  _inheritsLoose(TTFGlyph, _Glyph);\n  function TTFGlyph() {\n    return _Glyph.apply(this, arguments) || this;\n  }\n  var _proto34 = TTFGlyph.prototype;\n  // Parses just the glyph header and returns the bounding box\n  _proto34._getCBox = function _getCBox(internal) {\n    // We need to decode the glyph if variation processing is requested,\n    // so it's easier just to recompute the path's cbox after decoding.\n    if (this._font._variationProcessor && !internal) {\n      return this.path.cbox;\n    }\n    var stream = this._font._getTableStream('glyf');\n    stream.pos += this._font.loca.offsets[this.id];\n    var glyph = GlyfHeader.decode(stream);\n    var cbox = new BBox(glyph.xMin, glyph.yMin, glyph.xMax, glyph.yMax);\n    return Object.freeze(cbox);\n  } // Parses a single glyph coordinate\n  ;\n  _proto34._parseGlyphCoord = function _parseGlyphCoord(stream, prev, short, same) {\n    if (short) {\n      var val = stream.readUInt8();\n      if (!same) {\n        val = -val;\n      }\n      val += prev;\n    } else {\n      if (same) {\n        var val = prev;\n      } else {\n        var val = prev + stream.readInt16BE();\n      }\n    }\n    return val;\n  } // Decodes the glyph data into points for simple glyphs,\n  // or components for composite glyphs\n  ;\n  _proto34._decode = function _decode() {\n    var glyfPos = this._font.loca.offsets[this.id];\n    var nextPos = this._font.loca.offsets[this.id + 1]; // Nothing to do if there is no data for this glyph\n\n    if (glyfPos === nextPos) {\n      return null;\n    }\n    var stream = this._font._getTableStream('glyf');\n    stream.pos += glyfPos;\n    var startPos = stream.pos;\n    var glyph = GlyfHeader.decode(stream);\n    if (glyph.numberOfContours > 0) {\n      this._decodeSimple(glyph, stream);\n    } else if (glyph.numberOfContours < 0) {\n      this._decodeComposite(glyph, stream, startPos);\n    }\n    return glyph;\n  };\n  _proto34._decodeSimple = function _decodeSimple(glyph, stream) {\n    // this is a simple glyph\n    glyph.points = [];\n    var endPtsOfContours = new r.Array(r.uint16, glyph.numberOfContours).decode(stream);\n    glyph.instructions = new r.Array(r.uint8, r.uint16).decode(stream);\n    var flags = [];\n    var numCoords = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n    while (flags.length < numCoords) {\n      var flag = stream.readUInt8();\n      flags.push(flag); // check for repeat flag\n\n      if (flag & REPEAT) {\n        var count = stream.readUInt8();\n        for (var j = 0; j < count; j++) {\n          flags.push(flag);\n        }\n      }\n    }\n    for (var i = 0; i < flags.length; i++) {\n      var flag = flags[i];\n      var point = new Point(!!(flag & ON_CURVE), endPtsOfContours.indexOf(i) >= 0, 0, 0);\n      glyph.points.push(point);\n    }\n    var px = 0;\n    for (var i = 0; i < flags.length; i++) {\n      var flag = flags[i];\n      glyph.points[i].x = px = this._parseGlyphCoord(stream, px, flag & X_SHORT_VECTOR, flag & SAME_X);\n    }\n    var py = 0;\n    for (var i = 0; i < flags.length; i++) {\n      var flag = flags[i];\n      glyph.points[i].y = py = this._parseGlyphCoord(stream, py, flag & Y_SHORT_VECTOR, flag & SAME_Y);\n    }\n    if (this._font._variationProcessor) {\n      var points = glyph.points.slice();\n      points.push.apply(points, this._getPhantomPoints(glyph));\n      this._font._variationProcessor.transformPoints(this.id, points);\n      glyph.phantomPoints = points.slice(-4);\n    }\n    return;\n  };\n  _proto34._decodeComposite = function _decodeComposite(glyph, stream, offset) {\n    if (offset === void 0) {\n      offset = 0;\n    }\n    // this is a composite glyph\n    glyph.components = [];\n    var haveInstructions = false;\n    var flags = MORE_COMPONENTS;\n    while (flags & MORE_COMPONENTS) {\n      flags = stream.readUInt16BE();\n      var gPos = stream.pos - offset;\n      var glyphID = stream.readUInt16BE();\n      if (!haveInstructions) {\n        haveInstructions = (flags & WE_HAVE_INSTRUCTIONS) !== 0;\n      }\n      if (flags & ARG_1_AND_2_ARE_WORDS) {\n        var dx = stream.readInt16BE();\n        var dy = stream.readInt16BE();\n      } else {\n        var dx = stream.readInt8();\n        var dy = stream.readInt8();\n      }\n      var component = new Component(glyphID, dx, dy);\n      component.pos = gPos;\n      if (flags & WE_HAVE_A_SCALE) {\n        // fixed number with 14 bits of fraction\n        component.scaleX = component.scaleY = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n      } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n        component.scaleX = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n        component.scaleY = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n      } else if (flags & WE_HAVE_A_TWO_BY_TWO) {\n        component.scaleX = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n        component.scale01 = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n        component.scale10 = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n        component.scaleY = (stream.readUInt8() << 24 | stream.readUInt8() << 16) / 1073741824;\n      }\n      glyph.components.push(component);\n    }\n    if (this._font._variationProcessor) {\n      var points = [];\n      for (var j = 0; j < glyph.components.length; j++) {\n        var component = glyph.components[j];\n        points.push(new Point(true, true, component.dx, component.dy));\n      }\n      points.push.apply(points, this._getPhantomPoints(glyph));\n      this._font._variationProcessor.transformPoints(this.id, points);\n      glyph.phantomPoints = points.splice(-4, 4);\n      for (var i = 0; i < points.length; i++) {\n        var point = points[i];\n        glyph.components[i].dx = point.x;\n        glyph.components[i].dy = point.y;\n      }\n    }\n    return haveInstructions;\n  };\n  _proto34._getPhantomPoints = function _getPhantomPoints(glyph) {\n    var cbox = this._getCBox(true);\n    if (this._metrics == null) {\n      this._metrics = Glyph.prototype._getMetrics.call(this, cbox);\n    }\n    var _this$_metrics = this._metrics,\n      advanceWidth = _this$_metrics.advanceWidth,\n      advanceHeight = _this$_metrics.advanceHeight,\n      leftBearing = _this$_metrics.leftBearing,\n      topBearing = _this$_metrics.topBearing;\n    return [new Point(false, true, glyph.xMin - leftBearing, 0), new Point(false, true, glyph.xMin - leftBearing + advanceWidth, 0), new Point(false, true, 0, glyph.yMax + topBearing), new Point(false, true, 0, glyph.yMax + topBearing + advanceHeight)];\n  } // Decodes font data, resolves composite glyphs, and returns an array of contours\n  ;\n  _proto34._getContours = function _getContours() {\n    var glyph = this._decode();\n    if (!glyph) {\n      return [];\n    }\n    var points = [];\n    if (glyph.numberOfContours < 0) {\n      // resolve composite glyphs\n      for (var _iterator70 = _createForOfIteratorHelperLoose(glyph.components), _step70; !(_step70 = _iterator70()).done;) {\n        var component = _step70.value;\n        var _contours = this._font.getGlyph(component.glyphID)._getContours();\n        for (var i = 0; i < _contours.length; i++) {\n          var contour = _contours[i];\n          for (var j = 0; j < contour.length; j++) {\n            var _point = contour[j];\n            var x = _point.x * component.scaleX + _point.y * component.scale01 + component.dx;\n            var y = _point.y * component.scaleY + _point.x * component.scale10 + component.dy;\n            points.push(new Point(_point.onCurve, _point.endContour, x, y));\n          }\n        }\n      }\n    } else {\n      points = glyph.points || [];\n    } // Recompute and cache metrics if we performed variation processing, and don't have an HVAR table\n\n    if (glyph.phantomPoints && !this._font.directory.tables.HVAR) {\n      this._metrics.advanceWidth = glyph.phantomPoints[1].x - glyph.phantomPoints[0].x;\n      this._metrics.advanceHeight = glyph.phantomPoints[3].y - glyph.phantomPoints[2].y;\n      this._metrics.leftBearing = glyph.xMin - glyph.phantomPoints[0].x;\n      this._metrics.topBearing = glyph.phantomPoints[2].y - glyph.yMax;\n    }\n    var contours = [];\n    var cur = [];\n    for (var k = 0; k < points.length; k++) {\n      var point = points[k];\n      cur.push(point);\n      if (point.endContour) {\n        contours.push(cur);\n        cur = [];\n      }\n    }\n    return contours;\n  };\n  _proto34._getMetrics = function _getMetrics() {\n    if (this._metrics) {\n      return this._metrics;\n    }\n    var cbox = this._getCBox(true);\n    _Glyph.prototype._getMetrics.call(this, cbox);\n    if (this._font._variationProcessor && !this._font.HVAR) {\n      // No HVAR table, decode the glyph. This triggers recomputation of metrics.\n      this.path;\n    }\n    return this._metrics;\n  } // Converts contours to a Path object that can be rendered\n  ;\n  _proto34._getPath = function _getPath() {\n    var contours = this._getContours();\n    var path = new Path();\n    for (var i = 0; i < contours.length; i++) {\n      var contour = contours[i];\n      var firstPt = contour[0];\n      var lastPt = contour[contour.length - 1];\n      var start = 0;\n      if (firstPt.onCurve) {\n        // The first point will be consumed by the moveTo command, so skip in the loop\n        var curvePt = null;\n        start = 1;\n      } else {\n        if (lastPt.onCurve) {\n          // Start at the last point if the first point is off curve and the last point is on curve\n          firstPt = lastPt;\n        } else {\n          // Start at the middle if both the first and last points are off curve\n          firstPt = new Point(false, false, (firstPt.x + lastPt.x) / 2, (firstPt.y + lastPt.y) / 2);\n        }\n        var curvePt = firstPt;\n      }\n      path.moveTo(firstPt.x, firstPt.y);\n      for (var j = start; j < contour.length; j++) {\n        var pt = contour[j];\n        var prevPt = j === 0 ? firstPt : contour[j - 1];\n        if (prevPt.onCurve && pt.onCurve) {\n          path.lineTo(pt.x, pt.y);\n        } else if (prevPt.onCurve && !pt.onCurve) {\n          var curvePt = pt;\n        } else if (!prevPt.onCurve && !pt.onCurve) {\n          var midX = (prevPt.x + pt.x) / 2;\n          var midY = (prevPt.y + pt.y) / 2;\n          path.quadraticCurveTo(prevPt.x, prevPt.y, midX, midY);\n          var curvePt = pt;\n        } else if (!prevPt.onCurve && pt.onCurve) {\n          path.quadraticCurveTo(curvePt.x, curvePt.y, pt.x, pt.y);\n          var curvePt = null;\n        } else {\n          throw new Error(\"Unknown TTF path state\");\n        }\n      } // Connect the first and last points\n\n      if (curvePt) {\n        path.quadraticCurveTo(curvePt.x, curvePt.y, firstPt.x, firstPt.y);\n      }\n      path.closePath();\n    }\n    return path;\n  };\n  return TTFGlyph;\n}(Glyph);\n/**\r\n * Represents an OpenType PostScript glyph, in the Compact Font Format.\r\n */\nvar CFFGlyph = /*#__PURE__*/function (_Glyph2) {\n  _inheritsLoose(CFFGlyph, _Glyph2);\n  function CFFGlyph() {\n    return _Glyph2.apply(this, arguments) || this;\n  }\n  var _proto35 = CFFGlyph.prototype;\n  _proto35._getName = function _getName() {\n    if (this._font.CFF2) {\n      return _Glyph2.prototype._getName.call(this);\n    }\n    return this._font['CFF '].getGlyphName(this.id);\n  };\n  _proto35.bias = function bias(s) {\n    if (s.length < 1240) {\n      return 107;\n    } else if (s.length < 33900) {\n      return 1131;\n    } else {\n      return 32768;\n    }\n  };\n  _proto35._getPath = function _getPath() {\n    var cff = this._font.CFF2 || this._font['CFF '];\n    var stream = cff.stream;\n    var str = cff.topDict.CharStrings[this.id];\n    var end = str.offset + str.length;\n    stream.pos = str.offset;\n    var path = new Path();\n    var stack = [];\n    var trans = [];\n    var width = null;\n    var nStems = 0;\n    var x = 0,\n      y = 0;\n    var usedGsubrs;\n    var usedSubrs;\n    var open = false;\n    this._usedGsubrs = usedGsubrs = {};\n    this._usedSubrs = usedSubrs = {};\n    var gsubrs = cff.globalSubrIndex || [];\n    var gsubrsBias = this.bias(gsubrs);\n    var privateDict = cff.privateDictForGlyph(this.id) || {};\n    var subrs = privateDict.Subrs || [];\n    var subrsBias = this.bias(subrs);\n    var vstore = cff.topDict.vstore && cff.topDict.vstore.itemVariationStore;\n    var vsindex = privateDict.vsindex;\n    var variationProcessor = this._font._variationProcessor;\n    function checkWidth() {\n      if (width == null) {\n        width = stack.shift() + privateDict.nominalWidthX;\n      }\n    }\n    function parseStems() {\n      if (stack.length % 2 !== 0) {\n        checkWidth();\n      }\n      nStems += stack.length >> 1;\n      return stack.length = 0;\n    }\n    function moveTo(x, y) {\n      if (open) {\n        path.closePath();\n      }\n      path.moveTo(x, y);\n      open = true;\n    }\n    var parse = function parse() {\n      while (stream.pos < end) {\n        var op = stream.readUInt8();\n        if (op < 32) {\n          switch (op) {\n            case 1: // hstem\n\n            case 3: // vstem\n\n            case 18: // hstemhm\n\n            case 23:\n              // vstemhm\n              parseStems();\n              break;\n            case 4:\n              // vmoveto\n              if (stack.length > 1) {\n                checkWidth();\n              }\n              y += stack.shift();\n              moveTo(x, y);\n              break;\n            case 5:\n              // rlineto\n              while (stack.length >= 2) {\n                x += stack.shift();\n                y += stack.shift();\n                path.lineTo(x, y);\n              }\n              break;\n            case 6: // hlineto\n\n            case 7:\n              // vlineto\n              var phase = op === 6;\n              while (stack.length >= 1) {\n                if (phase) {\n                  x += stack.shift();\n                } else {\n                  y += stack.shift();\n                }\n                path.lineTo(x, y);\n                phase = !phase;\n              }\n              break;\n            case 8:\n              // rrcurveto\n              while (stack.length > 0) {\n                var c1x = x + stack.shift();\n                var c1y = y + stack.shift();\n                var c2x = c1x + stack.shift();\n                var c2y = c1y + stack.shift();\n                x = c2x + stack.shift();\n                y = c2y + stack.shift();\n                path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n              }\n              break;\n            case 10:\n              // callsubr\n              var index = stack.pop() + subrsBias;\n              var subr = subrs[index];\n              if (subr) {\n                usedSubrs[index] = true;\n                var p = stream.pos;\n                var e = end;\n                stream.pos = subr.offset;\n                end = subr.offset + subr.length;\n                parse();\n                stream.pos = p;\n                end = e;\n              }\n              break;\n            case 11:\n              // return\n              if (cff.version >= 2) {\n                break;\n              }\n              return;\n            case 14:\n              // endchar\n              if (cff.version >= 2) {\n                break;\n              }\n              if (stack.length > 0) {\n                checkWidth();\n              }\n              if (open) {\n                path.closePath();\n                open = false;\n              }\n              break;\n            case 15:\n              {\n                // vsindex\n                if (cff.version < 2) {\n                  throw new Error('vsindex operator not supported in CFF v1');\n                }\n                vsindex = stack.pop();\n                break;\n              }\n            case 16:\n              {\n                // blend\n                if (cff.version < 2) {\n                  throw new Error('blend operator not supported in CFF v1');\n                }\n                if (!variationProcessor) {\n                  throw new Error('blend operator in non-variation font');\n                }\n                var blendVector = variationProcessor.getBlendVector(vstore, vsindex);\n                var numBlends = stack.pop();\n                var numOperands = numBlends * blendVector.length;\n                var delta = stack.length - numOperands;\n                var base = delta - numBlends;\n                for (var i = 0; i < numBlends; i++) {\n                  var sum = stack[base + i];\n                  for (var j = 0; j < blendVector.length; j++) {\n                    sum += blendVector[j] * stack[delta++];\n                  }\n                  stack[base + i] = sum;\n                }\n                while (numOperands--) {\n                  stack.pop();\n                }\n                break;\n              }\n            case 19: // hintmask\n\n            case 20:\n              // cntrmask\n              parseStems();\n              stream.pos += nStems + 7 >> 3;\n              break;\n            case 21:\n              // rmoveto\n              if (stack.length > 2) {\n                checkWidth();\n              }\n              x += stack.shift();\n              y += stack.shift();\n              moveTo(x, y);\n              break;\n            case 22:\n              // hmoveto\n              if (stack.length > 1) {\n                checkWidth();\n              }\n              x += stack.shift();\n              moveTo(x, y);\n              break;\n            case 24:\n              // rcurveline\n              while (stack.length >= 8) {\n                var c1x = x + stack.shift();\n                var c1y = y + stack.shift();\n                var c2x = c1x + stack.shift();\n                var c2y = c1y + stack.shift();\n                x = c2x + stack.shift();\n                y = c2y + stack.shift();\n                path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n              }\n              x += stack.shift();\n              y += stack.shift();\n              path.lineTo(x, y);\n              break;\n            case 25:\n              // rlinecurve\n              while (stack.length >= 8) {\n                x += stack.shift();\n                y += stack.shift();\n                path.lineTo(x, y);\n              }\n              var c1x = x + stack.shift();\n              var c1y = y + stack.shift();\n              var c2x = c1x + stack.shift();\n              var c2y = c1y + stack.shift();\n              x = c2x + stack.shift();\n              y = c2y + stack.shift();\n              path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n              break;\n            case 26:\n              // vvcurveto\n              if (stack.length % 2) {\n                x += stack.shift();\n              }\n              while (stack.length >= 4) {\n                c1x = x;\n                c1y = y + stack.shift();\n                c2x = c1x + stack.shift();\n                c2y = c1y + stack.shift();\n                x = c2x;\n                y = c2y + stack.shift();\n                path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n              }\n              break;\n            case 27:\n              // hhcurveto\n              if (stack.length % 2) {\n                y += stack.shift();\n              }\n              while (stack.length >= 4) {\n                c1x = x + stack.shift();\n                c1y = y;\n                c2x = c1x + stack.shift();\n                c2y = c1y + stack.shift();\n                x = c2x + stack.shift();\n                y = c2y;\n                path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n              }\n              break;\n            case 28:\n              // shortint\n              stack.push(stream.readInt16BE());\n              break;\n            case 29:\n              // callgsubr\n              index = stack.pop() + gsubrsBias;\n              subr = gsubrs[index];\n              if (subr) {\n                usedGsubrs[index] = true;\n                var p = stream.pos;\n                var e = end;\n                stream.pos = subr.offset;\n                end = subr.offset + subr.length;\n                parse();\n                stream.pos = p;\n                end = e;\n              }\n              break;\n            case 30: // vhcurveto\n\n            case 31:\n              // hvcurveto\n              phase = op === 31;\n              while (stack.length >= 4) {\n                if (phase) {\n                  c1x = x + stack.shift();\n                  c1y = y;\n                  c2x = c1x + stack.shift();\n                  c2y = c1y + stack.shift();\n                  y = c2y + stack.shift();\n                  x = c2x + (stack.length === 1 ? stack.shift() : 0);\n                } else {\n                  c1x = x;\n                  c1y = y + stack.shift();\n                  c2x = c1x + stack.shift();\n                  c2y = c1y + stack.shift();\n                  x = c2x + stack.shift();\n                  y = c2y + (stack.length === 1 ? stack.shift() : 0);\n                }\n                path.bezierCurveTo(c1x, c1y, c2x, c2y, x, y);\n                phase = !phase;\n              }\n              break;\n            case 12:\n              op = stream.readUInt8();\n              switch (op) {\n                case 3:\n                  // and\n                  var a = stack.pop();\n                  var b = stack.pop();\n                  stack.push(a && b ? 1 : 0);\n                  break;\n                case 4:\n                  // or\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(a || b ? 1 : 0);\n                  break;\n                case 5:\n                  // not\n                  a = stack.pop();\n                  stack.push(a ? 0 : 1);\n                  break;\n                case 9:\n                  // abs\n                  a = stack.pop();\n                  stack.push(Math.abs(a));\n                  break;\n                case 10:\n                  // add\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(a + b);\n                  break;\n                case 11:\n                  // sub\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(a - b);\n                  break;\n                case 12:\n                  // div\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(a / b);\n                  break;\n                case 14:\n                  // neg\n                  a = stack.pop();\n                  stack.push(-a);\n                  break;\n                case 15:\n                  // eq\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(a === b ? 1 : 0);\n                  break;\n                case 18:\n                  // drop\n                  stack.pop();\n                  break;\n                case 20:\n                  // put\n                  var val = stack.pop();\n                  var idx = stack.pop();\n                  trans[idx] = val;\n                  break;\n                case 21:\n                  // get\n                  idx = stack.pop();\n                  stack.push(trans[idx] || 0);\n                  break;\n                case 22:\n                  // ifelse\n                  var s1 = stack.pop();\n                  var s2 = stack.pop();\n                  var v1 = stack.pop();\n                  var v2 = stack.pop();\n                  stack.push(v1 <= v2 ? s1 : s2);\n                  break;\n                case 23:\n                  // random\n                  stack.push(Math.random());\n                  break;\n                case 24:\n                  // mul\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(a * b);\n                  break;\n                case 26:\n                  // sqrt\n                  a = stack.pop();\n                  stack.push(Math.sqrt(a));\n                  break;\n                case 27:\n                  // dup\n                  a = stack.pop();\n                  stack.push(a, a);\n                  break;\n                case 28:\n                  // exch\n                  a = stack.pop();\n                  b = stack.pop();\n                  stack.push(b, a);\n                  break;\n                case 29:\n                  // index\n                  idx = stack.pop();\n                  if (idx < 0) {\n                    idx = 0;\n                  } else if (idx > stack.length - 1) {\n                    idx = stack.length - 1;\n                  }\n                  stack.push(stack[idx]);\n                  break;\n                case 30:\n                  // roll\n                  var n = stack.pop();\n                  var _j = stack.pop();\n                  if (_j >= 0) {\n                    while (_j > 0) {\n                      var t = stack[n - 1];\n                      for (var _i = n - 2; _i >= 0; _i--) {\n                        stack[_i + 1] = stack[_i];\n                      }\n                      stack[0] = t;\n                      _j--;\n                    }\n                  } else {\n                    while (_j < 0) {\n                      var t = stack[0];\n                      for (var _i2 = 0; _i2 <= n; _i2++) {\n                        stack[_i2] = stack[_i2 + 1];\n                      }\n                      stack[n - 1] = t;\n                      _j++;\n                    }\n                  }\n                  break;\n                case 34:\n                  // hflex\n                  c1x = x + stack.shift();\n                  c1y = y;\n                  c2x = c1x + stack.shift();\n                  c2y = c1y + stack.shift();\n                  var c3x = c2x + stack.shift();\n                  var c3y = c2y;\n                  var c4x = c3x + stack.shift();\n                  var c4y = c3y;\n                  var c5x = c4x + stack.shift();\n                  var c5y = c4y;\n                  var c6x = c5x + stack.shift();\n                  var c6y = c5y;\n                  x = c6x;\n                  y = c6y;\n                  path.bezierCurveTo(c1x, c1y, c2x, c2y, c3x, c3y);\n                  path.bezierCurveTo(c4x, c4y, c5x, c5y, c6x, c6y);\n                  break;\n                case 35:\n                  // flex\n                  var pts = [];\n                  for (var _i3 = 0; _i3 <= 5; _i3++) {\n                    x += stack.shift();\n                    y += stack.shift();\n                    pts.push(x, y);\n                  }\n                  path.bezierCurveTo.apply(path, pts.slice(0, 6));\n                  path.bezierCurveTo.apply(path, pts.slice(6));\n                  stack.shift(); // fd\n\n                  break;\n                case 36:\n                  // hflex1\n                  c1x = x + stack.shift();\n                  c1y = y + stack.shift();\n                  c2x = c1x + stack.shift();\n                  c2y = c1y + stack.shift();\n                  c3x = c2x + stack.shift();\n                  c3y = c2y;\n                  c4x = c3x + stack.shift();\n                  c4y = c3y;\n                  c5x = c4x + stack.shift();\n                  c5y = c4y + stack.shift();\n                  c6x = c5x + stack.shift();\n                  c6y = c5y;\n                  x = c6x;\n                  y = c6y;\n                  path.bezierCurveTo(c1x, c1y, c2x, c2y, c3x, c3y);\n                  path.bezierCurveTo(c4x, c4y, c5x, c5y, c6x, c6y);\n                  break;\n                case 37:\n                  // flex1\n                  var startx = x;\n                  var starty = y;\n                  pts = [];\n                  for (var _i4 = 0; _i4 <= 4; _i4++) {\n                    x += stack.shift();\n                    y += stack.shift();\n                    pts.push(x, y);\n                  }\n                  if (Math.abs(x - startx) > Math.abs(y - starty)) {\n                    // horizontal\n                    x += stack.shift();\n                    y = starty;\n                  } else {\n                    x = startx;\n                    y += stack.shift();\n                  }\n                  pts.push(x, y);\n                  path.bezierCurveTo.apply(path, pts.slice(0, 6));\n                  path.bezierCurveTo.apply(path, pts.slice(6));\n                  break;\n                default:\n                  throw new Error(\"Unknown op: 12 \".concat(op));\n              }\n              break;\n            default:\n              throw new Error(\"Unknown op: \".concat(op));\n          }\n        } else if (op < 247) {\n          stack.push(op - 139);\n        } else if (op < 251) {\n          var b1 = stream.readUInt8();\n          stack.push((op - 247) * 256 + b1 + 108);\n        } else if (op < 255) {\n          var b1 = stream.readUInt8();\n          stack.push(-(op - 251) * 256 - b1 - 108);\n        } else {\n          stack.push(stream.readInt32BE() / 65536);\n        }\n      }\n    };\n    parse();\n    if (open) {\n      path.closePath();\n    }\n    return path;\n  };\n  return CFFGlyph;\n}(Glyph);\nvar SBIXImage = new r.Struct({\n  originX: r.uint16,\n  originY: r.uint16,\n  type: new r.String(4),\n  data: new r.Buffer(function (t) {\n    return t.parent.buflen - t._currentOffset;\n  })\n});\n/**\r\n * Represents a color (e.g. emoji) glyph in Apple's SBIX format.\r\n */\nvar SBIXGlyph = /*#__PURE__*/function (_TTFGlyph) {\n  _inheritsLoose(SBIXGlyph, _TTFGlyph);\n  function SBIXGlyph() {\n    return _TTFGlyph.apply(this, arguments) || this;\n  }\n  var _proto36 = SBIXGlyph.prototype;\n  /**\r\n   * Returns an object representing a glyph image at the given point size.\r\n   * The object has a data property with a Buffer containing the actual image data,\r\n   * along with the image type, and origin.\r\n   *\r\n   * @param {number} size\r\n   * @return {object}\r\n   */\n  _proto36.getImageForSize = function getImageForSize(size) {\n    for (var i = 0; i < this._font.sbix.imageTables.length; i++) {\n      var table = this._font.sbix.imageTables[i];\n      if (table.ppem >= size) {\n        break;\n      }\n    }\n    var offsets = table.imageOffsets;\n    var start = offsets[this.id];\n    var end = offsets[this.id + 1];\n    if (start === end) {\n      return null;\n    }\n    this._font.stream.pos = start;\n    return SBIXImage.decode(this._font.stream, {\n      buflen: end - start\n    });\n  };\n  _proto36.render = function render(ctx, size) {\n    var img = this.getImageForSize(size);\n    if (img != null) {\n      var scale = size / this._font.unitsPerEm;\n      ctx.image(img.data, {\n        height: size,\n        x: img.originX,\n        y: (this.bbox.minY - img.originY) * scale\n      });\n    }\n    if (this._font.sbix.flags.renderOutlines) {\n      _TTFGlyph.prototype.render.call(this, ctx, size);\n    }\n  };\n  return SBIXGlyph;\n}(TTFGlyph);\nvar COLRLayer = function COLRLayer(glyph, color) {\n  this.glyph = glyph;\n  this.color = color;\n};\n/**\r\n * Represents a color (e.g. emoji) glyph in Microsoft's COLR format.\r\n * Each glyph in this format contain a list of colored layers, each\r\n * of which  is another vector glyph.\r\n */\nvar COLRGlyph = /*#__PURE__*/function (_Glyph3) {\n  _inheritsLoose(COLRGlyph, _Glyph3);\n  function COLRGlyph() {\n    return _Glyph3.apply(this, arguments) || this;\n  }\n  var _proto37 = COLRGlyph.prototype;\n  _proto37._getBBox = function _getBBox() {\n    var bbox = new BBox();\n    for (var i = 0; i < this.layers.length; i++) {\n      var layer = this.layers[i];\n      var b = layer.glyph.bbox;\n      bbox.addPoint(b.minX, b.minY);\n      bbox.addPoint(b.maxX, b.maxY);\n    }\n    return bbox;\n  }\n  /**\r\n   * Returns an array of objects containing the glyph and color for\r\n   * each layer in the composite color glyph.\r\n   * @type {object[]}\r\n   */;\n  _proto37.render = function render(ctx, size) {\n    for (var _iterator71 = _createForOfIteratorHelperLoose(this.layers), _step71; !(_step71 = _iterator71()).done;) {\n      var _step71$value = _step71.value,\n        glyph = _step71$value.glyph,\n        color = _step71$value.color;\n      ctx.fillColor([color.red, color.green, color.blue], color.alpha / 255 * 100);\n      glyph.render(ctx, size);\n    }\n    return;\n  };\n  _createClass(COLRGlyph, [{\n    key: \"layers\",\n    get: function get() {\n      var cpal = this._font.CPAL;\n      var colr = this._font.COLR;\n      var low = 0;\n      var high = colr.baseGlyphRecord.length - 1;\n      while (low <= high) {\n        var mid = low + high >> 1;\n        var rec = colr.baseGlyphRecord[mid];\n        if (this.id < rec.gid) {\n          high = mid - 1;\n        } else if (this.id > rec.gid) {\n          low = mid + 1;\n        } else {\n          var baseLayer = rec;\n          break;\n        }\n      } // if base glyph not found in COLR table,\n      // default to normal glyph from glyf or CFF\n\n      if (baseLayer == null) {\n        var g = this._font._getBaseGlyph(this.id);\n        var color = {\n          red: 0,\n          green: 0,\n          blue: 0,\n          alpha: 255\n        };\n        return [new COLRLayer(g, color)];\n      } // otherwise, return an array of all the layers\n\n      var layers = [];\n      for (var i = baseLayer.firstLayerIndex; i < baseLayer.firstLayerIndex + baseLayer.numLayers; i++) {\n        var rec = colr.layerRecords[i];\n        var color = cpal.colorRecords[rec.paletteIndex];\n        var g = this._font._getBaseGlyph(rec.gid);\n        layers.push(new COLRLayer(g, color));\n      }\n      return layers;\n    }\n  }]);\n  return COLRGlyph;\n}(Glyph);\nvar TUPLES_SHARE_POINT_NUMBERS = 0x8000;\nvar TUPLE_COUNT_MASK = 0x0fff;\nvar EMBEDDED_TUPLE_COORD = 0x8000;\nvar INTERMEDIATE_TUPLE = 0x4000;\nvar PRIVATE_POINT_NUMBERS = 0x2000;\nvar TUPLE_INDEX_MASK = 0x0fff;\nvar POINTS_ARE_WORDS = 0x80;\nvar POINT_RUN_COUNT_MASK = 0x7f;\nvar DELTAS_ARE_ZERO = 0x80;\nvar DELTAS_ARE_WORDS = 0x40;\nvar DELTA_RUN_COUNT_MASK = 0x3f;\n/**\r\n * This class is transforms TrueType glyphs according to the data from\r\n * the Apple Advanced Typography variation tables (fvar, gvar, and avar).\r\n * These tables allow infinite adjustments to glyph weight, width, slant,\r\n * and optical size without the designer needing to specify every exact style.\r\n *\r\n * Apple's documentation for these tables is not great, so thanks to the\r\n * Freetype project for figuring much of this out.\r\n *\r\n * @private\r\n */\nvar GlyphVariationProcessor = /*#__PURE__*/function () {\n  function GlyphVariationProcessor(font, coords) {\n    this.font = font;\n    this.normalizedCoords = this.normalizeCoords(coords);\n    this.blendVectors = new Map();\n  }\n  var _proto38 = GlyphVariationProcessor.prototype;\n  _proto38.normalizeCoords = function normalizeCoords(coords) {\n    // the default mapping is linear along each axis, in two segments:\n    // from the minValue to defaultValue, and from defaultValue to maxValue.\n    var normalized = [];\n    for (var i = 0; i < this.font.fvar.axis.length; i++) {\n      var axis = this.font.fvar.axis[i];\n      if (coords[i] < axis.defaultValue) {\n        normalized.push((coords[i] - axis.defaultValue + Number.EPSILON) / (axis.defaultValue - axis.minValue + Number.EPSILON));\n      } else {\n        normalized.push((coords[i] - axis.defaultValue + Number.EPSILON) / (axis.maxValue - axis.defaultValue + Number.EPSILON));\n      }\n    } // if there is an avar table, the normalized value is calculated\n    // by interpolating between the two nearest mapped values.\n\n    if (this.font.avar) {\n      for (var i = 0; i < this.font.avar.segment.length; i++) {\n        var segment = this.font.avar.segment[i];\n        for (var j = 0; j < segment.correspondence.length; j++) {\n          var pair = segment.correspondence[j];\n          if (j >= 1 && normalized[i] < pair.fromCoord) {\n            var prev = segment.correspondence[j - 1];\n            normalized[i] = ((normalized[i] - prev.fromCoord) * (pair.toCoord - prev.toCoord) + Number.EPSILON) / (pair.fromCoord - prev.fromCoord + Number.EPSILON) + prev.toCoord;\n            break;\n          }\n        }\n      }\n    }\n    return normalized;\n  };\n  _proto38.transformPoints = function transformPoints(gid, glyphPoints) {\n    if (!this.font.fvar || !this.font.gvar) {\n      return;\n    }\n    var gvar = this.font.gvar;\n    if (gid >= gvar.glyphCount) {\n      return;\n    }\n    var offset = gvar.offsets[gid];\n    if (offset === gvar.offsets[gid + 1]) {\n      return;\n    } // Read the gvar data for this glyph\n\n    var stream = this.font.stream;\n    stream.pos = offset;\n    if (stream.pos >= stream.length) {\n      return;\n    }\n    var tupleCount = stream.readUInt16BE();\n    var offsetToData = offset + stream.readUInt16BE();\n    if (tupleCount & TUPLES_SHARE_POINT_NUMBERS) {\n      var here = stream.pos;\n      stream.pos = offsetToData;\n      var sharedPoints = this.decodePoints();\n      offsetToData = stream.pos;\n      stream.pos = here;\n    }\n    var origPoints = glyphPoints.map(function (pt) {\n      return pt.copy();\n    });\n    tupleCount &= TUPLE_COUNT_MASK;\n    for (var i = 0; i < tupleCount; i++) {\n      var tupleDataSize = stream.readUInt16BE();\n      var tupleIndex = stream.readUInt16BE();\n      if (tupleIndex & EMBEDDED_TUPLE_COORD) {\n        var tupleCoords = [];\n        for (var a = 0; a < gvar.axisCount; a++) {\n          tupleCoords.push(stream.readInt16BE() / 16384);\n        }\n      } else {\n        if ((tupleIndex & TUPLE_INDEX_MASK) >= gvar.globalCoordCount) {\n          throw new Error('Invalid gvar table');\n        }\n        var tupleCoords = gvar.globalCoords[tupleIndex & TUPLE_INDEX_MASK];\n      }\n      if (tupleIndex & INTERMEDIATE_TUPLE) {\n        var startCoords = [];\n        for (var _a = 0; _a < gvar.axisCount; _a++) {\n          startCoords.push(stream.readInt16BE() / 16384);\n        }\n        var endCoords = [];\n        for (var _a2 = 0; _a2 < gvar.axisCount; _a2++) {\n          endCoords.push(stream.readInt16BE() / 16384);\n        }\n      } // Get the factor at which to apply this tuple\n\n      var factor = this.tupleFactor(tupleIndex, tupleCoords, startCoords, endCoords);\n      if (factor === 0) {\n        offsetToData += tupleDataSize;\n        continue;\n      }\n      var here = stream.pos;\n      stream.pos = offsetToData;\n      if (tupleIndex & PRIVATE_POINT_NUMBERS) {\n        var points = this.decodePoints();\n      } else {\n        var points = sharedPoints;\n      } // points.length = 0 means there are deltas for all points\n\n      var nPoints = points.length === 0 ? glyphPoints.length : points.length;\n      var xDeltas = this.decodeDeltas(nPoints);\n      var yDeltas = this.decodeDeltas(nPoints);\n      if (points.length === 0) {\n        // all points\n        for (var _i = 0; _i < glyphPoints.length; _i++) {\n          var point = glyphPoints[_i];\n          point.x += Math.round(xDeltas[_i] * factor);\n          point.y += Math.round(yDeltas[_i] * factor);\n        }\n      } else {\n        var outPoints = origPoints.map(function (pt) {\n          return pt.copy();\n        });\n        var hasDelta = glyphPoints.map(function () {\n          return false;\n        });\n        for (var _i2 = 0; _i2 < points.length; _i2++) {\n          var idx = points[_i2];\n          if (idx < glyphPoints.length) {\n            var _point = outPoints[idx];\n            hasDelta[idx] = true;\n            _point.x += Math.round(xDeltas[_i2] * factor);\n            _point.y += Math.round(yDeltas[_i2] * factor);\n          }\n        }\n        this.interpolateMissingDeltas(outPoints, origPoints, hasDelta);\n        for (var _i3 = 0; _i3 < glyphPoints.length; _i3++) {\n          var deltaX = outPoints[_i3].x - origPoints[_i3].x;\n          var deltaY = outPoints[_i3].y - origPoints[_i3].y;\n          glyphPoints[_i3].x += deltaX;\n          glyphPoints[_i3].y += deltaY;\n        }\n      }\n      offsetToData += tupleDataSize;\n      stream.pos = here;\n    }\n  };\n  _proto38.decodePoints = function decodePoints() {\n    var stream = this.font.stream;\n    var count = stream.readUInt8();\n    if (count & POINTS_ARE_WORDS) {\n      count = (count & POINT_RUN_COUNT_MASK) << 8 | stream.readUInt8();\n    }\n    var points = new Uint16Array(count);\n    var i = 0;\n    var point = 0;\n    while (i < count) {\n      var run = stream.readUInt8();\n      var runCount = (run & POINT_RUN_COUNT_MASK) + 1;\n      var fn = run & POINTS_ARE_WORDS ? stream.readUInt16 : stream.readUInt8;\n      for (var j = 0; j < runCount && i < count; j++) {\n        point += fn.call(stream);\n        points[i++] = point;\n      }\n    }\n    return points;\n  };\n  _proto38.decodeDeltas = function decodeDeltas(count) {\n    var stream = this.font.stream;\n    var i = 0;\n    var deltas = new Int16Array(count);\n    while (i < count) {\n      var run = stream.readUInt8();\n      var runCount = (run & DELTA_RUN_COUNT_MASK) + 1;\n      if (run & DELTAS_ARE_ZERO) {\n        i += runCount;\n      } else {\n        var fn = run & DELTAS_ARE_WORDS ? stream.readInt16BE : stream.readInt8;\n        for (var j = 0; j < runCount && i < count; j++) {\n          deltas[i++] = fn.call(stream);\n        }\n      }\n    }\n    return deltas;\n  };\n  _proto38.tupleFactor = function tupleFactor(tupleIndex, tupleCoords, startCoords, endCoords) {\n    var normalized = this.normalizedCoords;\n    var gvar = this.font.gvar;\n    var factor = 1;\n    for (var i = 0; i < gvar.axisCount; i++) {\n      if (tupleCoords[i] === 0) {\n        continue;\n      }\n      if (normalized[i] === 0) {\n        return 0;\n      }\n      if ((tupleIndex & INTERMEDIATE_TUPLE) === 0) {\n        if (normalized[i] < Math.min(0, tupleCoords[i]) || normalized[i] > Math.max(0, tupleCoords[i])) {\n          return 0;\n        }\n        factor = (factor * normalized[i] + Number.EPSILON) / (tupleCoords[i] + Number.EPSILON);\n      } else {\n        if (normalized[i] < startCoords[i] || normalized[i] > endCoords[i]) {\n          return 0;\n        } else if (normalized[i] < tupleCoords[i]) {\n          factor = factor * (normalized[i] - startCoords[i] + Number.EPSILON) / (tupleCoords[i] - startCoords[i] + Number.EPSILON);\n        } else {\n          factor = factor * (endCoords[i] - normalized[i] + Number.EPSILON) / (endCoords[i] - tupleCoords[i] + Number.EPSILON);\n        }\n      }\n    }\n    return factor;\n  } // Interpolates points without delta values.\n  // Needed for the Ø and Q glyphs in Skia.\n  // Algorithm from Freetype.\n  ;\n  _proto38.interpolateMissingDeltas = function interpolateMissingDeltas(points, inPoints, hasDelta) {\n    if (points.length === 0) {\n      return;\n    }\n    var point = 0;\n    while (point < points.length) {\n      var firstPoint = point; // find the end point of the contour\n\n      var endPoint = point;\n      var pt = points[endPoint];\n      while (!pt.endContour) {\n        pt = points[++endPoint];\n      } // find the first point that has a delta\n\n      while (point <= endPoint && !hasDelta[point]) {\n        point++;\n      }\n      if (point > endPoint) {\n        continue;\n      }\n      var firstDelta = point;\n      var curDelta = point;\n      point++;\n      while (point <= endPoint) {\n        // find the next point with a delta, and interpolate intermediate points\n        if (hasDelta[point]) {\n          this.deltaInterpolate(curDelta + 1, point - 1, curDelta, point, inPoints, points);\n          curDelta = point;\n        }\n        point++;\n      } // shift contour if we only have a single delta\n\n      if (curDelta === firstDelta) {\n        this.deltaShift(firstPoint, endPoint, curDelta, inPoints, points);\n      } else {\n        // otherwise, handle the remaining points at the end and beginning of the contour\n        this.deltaInterpolate(curDelta + 1, endPoint, curDelta, firstDelta, inPoints, points);\n        if (firstDelta > 0) {\n          this.deltaInterpolate(firstPoint, firstDelta - 1, curDelta, firstDelta, inPoints, points);\n        }\n      }\n      point = endPoint + 1;\n    }\n  };\n  _proto38.deltaInterpolate = function deltaInterpolate(p1, p2, ref1, ref2, inPoints, outPoints) {\n    if (p1 > p2) {\n      return;\n    }\n    var iterable = ['x', 'y'];\n    for (var i = 0; i < iterable.length; i++) {\n      var k = iterable[i];\n      if (inPoints[ref1][k] > inPoints[ref2][k]) {\n        var p = ref1;\n        ref1 = ref2;\n        ref2 = p;\n      }\n      var in1 = inPoints[ref1][k];\n      var in2 = inPoints[ref2][k];\n      var out1 = outPoints[ref1][k];\n      var out2 = outPoints[ref2][k]; // If the reference points have the same coordinate but different\n      // delta, inferred delta is zero.  Otherwise interpolate.\n\n      if (in1 !== in2 || out1 === out2) {\n        var scale = in1 === in2 ? 0 : (out2 - out1) / (in2 - in1);\n        for (var _p = p1; _p <= p2; _p++) {\n          var out = inPoints[_p][k];\n          if (out <= in1) {\n            out += out1 - in1;\n          } else if (out >= in2) {\n            out += out2 - in2;\n          } else {\n            out = out1 + (out - in1) * scale;\n          }\n          outPoints[_p][k] = out;\n        }\n      }\n    }\n  };\n  _proto38.deltaShift = function deltaShift(p1, p2, ref, inPoints, outPoints) {\n    var deltaX = outPoints[ref].x - inPoints[ref].x;\n    var deltaY = outPoints[ref].y - inPoints[ref].y;\n    if (deltaX === 0 && deltaY === 0) {\n      return;\n    }\n    for (var p = p1; p <= p2; p++) {\n      if (p !== ref) {\n        outPoints[p].x += deltaX;\n        outPoints[p].y += deltaY;\n      }\n    }\n  };\n  _proto38.getAdvanceAdjustment = function getAdvanceAdjustment(gid, table) {\n    var outerIndex, innerIndex;\n    if (table.advanceWidthMapping) {\n      var idx = gid;\n      if (idx >= table.advanceWidthMapping.mapCount) {\n        idx = table.advanceWidthMapping.mapCount - 1;\n      }\n      var entryFormat = table.advanceWidthMapping.entryFormat;\n      var _table$advanceWidthMa = table.advanceWidthMapping.mapData[idx];\n      outerIndex = _table$advanceWidthMa.outerIndex;\n      innerIndex = _table$advanceWidthMa.innerIndex;\n    } else {\n      outerIndex = 0;\n      innerIndex = gid;\n    }\n    return this.getDelta(table.itemVariationStore, outerIndex, innerIndex);\n  } // See pseudo code from `Font Variations Overview'\n  // in the OpenType specification.\n  ;\n  _proto38.getDelta = function getDelta(itemStore, outerIndex, innerIndex) {\n    if (outerIndex >= itemStore.itemVariationData.length) {\n      return 0;\n    }\n    var varData = itemStore.itemVariationData[outerIndex];\n    if (innerIndex >= varData.deltaSets.length) {\n      return 0;\n    }\n    var deltaSet = varData.deltaSets[innerIndex];\n    var blendVector = this.getBlendVector(itemStore, outerIndex);\n    var netAdjustment = 0;\n    for (var master = 0; master < varData.regionIndexCount; master++) {\n      netAdjustment += deltaSet.deltas[master] * blendVector[master];\n    }\n    return netAdjustment;\n  };\n  _proto38.getBlendVector = function getBlendVector(itemStore, outerIndex) {\n    var varData = itemStore.itemVariationData[outerIndex];\n    if (this.blendVectors.has(varData)) {\n      return this.blendVectors.get(varData);\n    }\n    var normalizedCoords = this.normalizedCoords;\n    var blendVector = []; // outer loop steps through master designs to be blended\n\n    for (var master = 0; master < varData.regionIndexCount; master++) {\n      var scalar = 1;\n      var regionIndex = varData.regionIndexes[master];\n      var axes = itemStore.variationRegionList.variationRegions[regionIndex]; // inner loop steps through axes in this region\n\n      for (var j = 0; j < axes.length; j++) {\n        var axis = axes[j];\n        var axisScalar = void 0; // compute the scalar contribution of this axis\n        // ignore invalid ranges\n\n        if (axis.startCoord > axis.peakCoord || axis.peakCoord > axis.endCoord) {\n          axisScalar = 1;\n        } else if (axis.startCoord < 0 && axis.endCoord > 0 && axis.peakCoord !== 0) {\n          axisScalar = 1; // peak of 0 means ignore this axis\n        } else if (axis.peakCoord === 0) {\n          axisScalar = 1; // ignore this region if coords are out of range\n        } else if (normalizedCoords[j] < axis.startCoord || normalizedCoords[j] > axis.endCoord) {\n          axisScalar = 0; // calculate a proportional factor\n        } else {\n          if (normalizedCoords[j] === axis.peakCoord) {\n            axisScalar = 1;\n          } else if (normalizedCoords[j] < axis.peakCoord) {\n            axisScalar = (normalizedCoords[j] - axis.startCoord + Number.EPSILON) / (axis.peakCoord - axis.startCoord + Number.EPSILON);\n          } else {\n            axisScalar = (axis.endCoord - normalizedCoords[j] + Number.EPSILON) / (axis.endCoord - axis.peakCoord + Number.EPSILON);\n          }\n        } // take product of all the axis scalars\n\n        scalar *= axisScalar;\n      }\n      blendVector[master] = scalar;\n    }\n    this.blendVectors.set(varData, blendVector);\n    return blendVector;\n  };\n  return GlyphVariationProcessor;\n}();\nvar resolved = Promise.resolve();\nvar Subset = /*#__PURE__*/function () {\n  function Subset(font) {\n    this.font = font;\n    this.glyphs = [];\n    this.mapping = {}; // always include the missing glyph\n\n    this.includeGlyph(0);\n  }\n  var _proto39 = Subset.prototype;\n  _proto39.includeGlyph = function includeGlyph(glyph) {\n    if (typeof glyph === 'object') {\n      glyph = glyph.id;\n    }\n    if (this.mapping[glyph] == null) {\n      this.glyphs.push(glyph);\n      this.mapping[glyph] = this.glyphs.length - 1;\n    }\n    return this.mapping[glyph];\n  };\n  _proto39.encodeStream = function encodeStream() {\n    var _this11 = this;\n    var s = new r.EncodeStream();\n    resolved.then(function () {\n      _this11.encode(s);\n      return s.end();\n    });\n    return s;\n  };\n  return Subset;\n}();\nvar ON_CURVE$1 = 1 << 0;\nvar X_SHORT_VECTOR$1 = 1 << 1;\nvar Y_SHORT_VECTOR$1 = 1 << 2;\nvar REPEAT$1 = 1 << 3;\nvar SAME_X$1 = 1 << 4;\nvar SAME_Y$1 = 1 << 5;\nvar Point$1 = /*#__PURE__*/function () {\n  function Point$1() {}\n  Point$1.size = function size(val) {\n    return val >= 0 && val <= 255 ? 1 : 2;\n  };\n  Point$1.encode = function encode(stream, value) {\n    if (value >= 0 && value <= 255) {\n      stream.writeUInt8(value);\n    } else {\n      stream.writeInt16BE(value);\n    }\n  };\n  return Point$1;\n}();\nvar Glyf = new r.Struct({\n  numberOfContours: r.int16,\n  // if negative, this is a composite glyph\n  xMin: r.int16,\n  yMin: r.int16,\n  xMax: r.int16,\n  yMax: r.int16,\n  endPtsOfContours: new r.Array(r.uint16, 'numberOfContours'),\n  instructions: new r.Array(r.uint8, r.uint16),\n  flags: new r.Array(r.uint8, 0),\n  xPoints: new r.Array(Point$1, 0),\n  yPoints: new r.Array(Point$1, 0)\n});\n/**\r\n * Encodes TrueType glyph outlines\r\n */\nvar TTFGlyphEncoder = /*#__PURE__*/function () {\n  function TTFGlyphEncoder() {}\n  var _proto40 = TTFGlyphEncoder.prototype;\n  _proto40.encodeSimple = function encodeSimple(path, instructions) {\n    if (instructions === void 0) {\n      instructions = [];\n    }\n    var endPtsOfContours = [];\n    var xPoints = [];\n    var yPoints = [];\n    var flags = [];\n    var same = 0;\n    var lastX = 0,\n      lastY = 0,\n      lastFlag = 0;\n    var pointCount = 0;\n    for (var i = 0; i < path.commands.length; i++) {\n      var c = path.commands[i];\n      for (var j = 0; j < c.args.length; j += 2) {\n        var x = c.args[j];\n        var y = c.args[j + 1];\n        var flag = 0; // If the ending point of a quadratic curve is the midpoint\n        // between the control point and the control point of the next\n        // quadratic curve, we can omit the ending point.\n\n        if (c.command === 'quadraticCurveTo' && j === 2) {\n          var next = path.commands[i + 1];\n          if (next && next.command === 'quadraticCurveTo') {\n            var midX = (lastX + next.args[0]) / 2;\n            var midY = (lastY + next.args[1]) / 2;\n            if (x === midX && y === midY) {\n              continue;\n            }\n          }\n        } // All points except control points are on curve.\n\n        if (!(c.command === 'quadraticCurveTo' && j === 0)) {\n          flag |= ON_CURVE$1;\n        }\n        flag = this._encodePoint(x, lastX, xPoints, flag, X_SHORT_VECTOR$1, SAME_X$1);\n        flag = this._encodePoint(y, lastY, yPoints, flag, Y_SHORT_VECTOR$1, SAME_Y$1);\n        if (flag === lastFlag && same < 255) {\n          flags[flags.length - 1] |= REPEAT$1;\n          same++;\n        } else {\n          if (same > 0) {\n            flags.push(same);\n            same = 0;\n          }\n          flags.push(flag);\n          lastFlag = flag;\n        }\n        lastX = x;\n        lastY = y;\n        pointCount++;\n      }\n      if (c.command === 'closePath') {\n        endPtsOfContours.push(pointCount - 1);\n      }\n    } // Close the path if the last command didn't already\n\n    if (path.commands.length > 1 && path.commands[path.commands.length - 1].command !== 'closePath') {\n      endPtsOfContours.push(pointCount - 1);\n    }\n    var bbox = path.bbox;\n    var glyf = {\n      numberOfContours: endPtsOfContours.length,\n      xMin: bbox.minX,\n      yMin: bbox.minY,\n      xMax: bbox.maxX,\n      yMax: bbox.maxY,\n      endPtsOfContours: endPtsOfContours,\n      instructions: instructions,\n      flags: flags,\n      xPoints: xPoints,\n      yPoints: yPoints\n    };\n    var size = Glyf.size(glyf);\n    var tail = 4 - size % 4;\n    var stream = new r.EncodeStream(size + tail);\n    Glyf.encode(stream, glyf); // Align to 4-byte length\n\n    if (tail !== 0) {\n      stream.fill(0, tail);\n    }\n    return stream.buffer;\n  };\n  _proto40._encodePoint = function _encodePoint(value, last, points, flag, shortFlag, sameFlag) {\n    var diff = value - last;\n    if (value === last) {\n      flag |= sameFlag;\n    } else {\n      if (-255 <= diff && diff <= 255) {\n        flag |= shortFlag;\n        if (diff < 0) {\n          diff = -diff;\n        } else {\n          flag |= sameFlag;\n        }\n      }\n      points.push(diff);\n    }\n    return flag;\n  };\n  return TTFGlyphEncoder;\n}();\nvar TTFSubset = /*#__PURE__*/function (_Subset) {\n  _inheritsLoose(TTFSubset, _Subset);\n  function TTFSubset(font) {\n    var _this12;\n    _this12 = _Subset.call(this, font) || this;\n    _this12.glyphEncoder = new TTFGlyphEncoder();\n    return _this12;\n  }\n  var _proto41 = TTFSubset.prototype;\n  _proto41._addGlyph = function _addGlyph(gid) {\n    var glyph = this.font.getGlyph(gid);\n    var glyf = glyph._decode(); // get the offset to the glyph from the loca table\n\n    var curOffset = this.font.loca.offsets[gid];\n    var nextOffset = this.font.loca.offsets[gid + 1];\n    var stream = this.font._getTableStream('glyf');\n    stream.pos += curOffset;\n    var buffer = stream.readBuffer(nextOffset - curOffset); // if it is a compound glyph, include its components\n\n    if (glyf && glyf.numberOfContours < 0) {\n      buffer = Buffer.from(buffer);\n      for (var _iterator72 = _createForOfIteratorHelperLoose(glyf.components), _step72; !(_step72 = _iterator72()).done;) {\n        var component = _step72.value;\n        gid = this.includeGlyph(component.glyphID);\n        buffer.writeUInt16BE(gid, component.pos);\n      }\n    } else if (glyf && this.font._variationProcessor) {\n      // If this is a TrueType variation glyph, re-encode the path\n      buffer = this.glyphEncoder.encodeSimple(glyph.path, glyf.instructions);\n    }\n    this.glyf.push(buffer);\n    this.loca.offsets.push(this.offset);\n    this.hmtx.metrics.push({\n      advance: glyph.advanceWidth,\n      bearing: glyph._getMetrics().leftBearing\n    });\n    this.offset += buffer.length;\n    return this.glyf.length - 1;\n  };\n  _proto41.encode = function encode(stream) {\n    // tables required by PDF spec:\n    //   head, hhea, loca, maxp, cvt , prep, glyf, hmtx, fpgm\n    //\n    // additional tables required for standalone fonts:\n    //   name, cmap, OS/2, post\n    this.glyf = [];\n    this.offset = 0;\n    this.loca = {\n      offsets: [],\n      version: this.font.loca.version\n    };\n    this.hmtx = {\n      metrics: [],\n      bearings: []\n    }; // include all the glyphs\n    // not using a for loop because we need to support adding more\n    // glyphs to the array as we go, and CoffeeScript caches the length.\n\n    var i = 0;\n    while (i < this.glyphs.length) {\n      this._addGlyph(this.glyphs[i++]);\n    }\n    var maxp = cloneDeep(this.font.maxp);\n    maxp.numGlyphs = this.glyf.length;\n    this.loca.offsets.push(this.offset);\n    var head = cloneDeep(this.font.head);\n    head.indexToLocFormat = this.loca.version;\n    var hhea = cloneDeep(this.font.hhea);\n    hhea.numberOfMetrics = this.hmtx.metrics.length; // map = []\n    // for index in [0...256]\n    //     if index < @numGlyphs\n    //         map[index] = index\n    //     else\n    //         map[index] = 0\n    //\n    // cmapTable =\n    //     version: 0\n    //     length: 262\n    //     language: 0\n    //     codeMap: map\n    //\n    // cmap =\n    //     version: 0\n    //     numSubtables: 1\n    //     tables: [\n    //         platformID: 1\n    //         encodingID: 0\n    //         table: cmapTable\n    //     ]\n    // TODO: subset prep, cvt, fpgm?\n\n    Directory.encode(stream, {\n      tables: {\n        head: head,\n        hhea: hhea,\n        loca: this.loca,\n        maxp: maxp,\n        'cvt ': this.font['cvt '],\n        prep: this.font.prep,\n        glyf: this.glyf,\n        hmtx: this.hmtx,\n        fpgm: this.font.fpgm // name: clone @font.name\n        // 'OS/2': clone @font['OS/2']\n        // post: clone @font.post\n        // cmap: cmap\n      }\n    });\n  };\n  return TTFSubset;\n}(Subset);\nvar CFFSubset = /*#__PURE__*/function (_Subset2) {\n  _inheritsLoose(CFFSubset, _Subset2);\n  function CFFSubset(font) {\n    var _this13;\n    _this13 = _Subset2.call(this, font) || this;\n    _this13.cff = _this13.font['CFF '];\n    if (!_this13.cff) {\n      throw new Error('Not a CFF Font');\n    }\n    return _this13;\n  }\n  var _proto42 = CFFSubset.prototype;\n  _proto42.subsetCharstrings = function subsetCharstrings() {\n    this.charstrings = [];\n    var gsubrs = {};\n    for (var _iterator73 = _createForOfIteratorHelperLoose(this.glyphs), _step73; !(_step73 = _iterator73()).done;) {\n      var gid = _step73.value;\n      this.charstrings.push(this.cff.getCharString(gid));\n      var glyph = this.font.getGlyph(gid);\n      var path = glyph.path; // this causes the glyph to be parsed\n\n      for (var subr in glyph._usedGsubrs) {\n        gsubrs[subr] = true;\n      }\n    }\n    this.gsubrs = this.subsetSubrs(this.cff.globalSubrIndex, gsubrs);\n  };\n  _proto42.subsetSubrs = function subsetSubrs(subrs, used) {\n    var res = [];\n    for (var i = 0; i < subrs.length; i++) {\n      var subr = subrs[i];\n      if (used[i]) {\n        this.cff.stream.pos = subr.offset;\n        res.push(this.cff.stream.readBuffer(subr.length));\n      } else {\n        res.push(Buffer.from([11])); // return\n      }\n    }\n\n    return res;\n  };\n  _proto42.subsetFontdict = function subsetFontdict(topDict) {\n    topDict.FDArray = [];\n    topDict.FDSelect = {\n      version: 0,\n      fds: []\n    };\n    var used_fds = {};\n    var used_subrs = [];\n    var fd_select = {};\n    for (var _iterator74 = _createForOfIteratorHelperLoose(this.glyphs), _step74; !(_step74 = _iterator74()).done;) {\n      var gid = _step74.value;\n      var fd = this.cff.fdForGlyph(gid);\n      if (fd == null) {\n        continue;\n      }\n      if (!used_fds[fd]) {\n        topDict.FDArray.push(Object.assign({}, this.cff.topDict.FDArray[fd]));\n        used_subrs.push({});\n        fd_select[fd] = topDict.FDArray.length - 1;\n      }\n      used_fds[fd] = true;\n      topDict.FDSelect.fds.push(fd_select[fd]);\n      var glyph = this.font.getGlyph(gid);\n      var path = glyph.path; // this causes the glyph to be parsed\n\n      for (var subr in glyph._usedSubrs) {\n        used_subrs[fd_select[fd]][subr] = true;\n      }\n    }\n    for (var i = 0; i < topDict.FDArray.length; i++) {\n      var dict = topDict.FDArray[i];\n      delete dict.FontName;\n      if (dict.Private && dict.Private.Subrs) {\n        dict.Private = Object.assign({}, dict.Private);\n        dict.Private.Subrs = this.subsetSubrs(dict.Private.Subrs, used_subrs[i]);\n      }\n    }\n    return;\n  };\n  _proto42.createCIDFontdict = function createCIDFontdict(topDict) {\n    var used_subrs = {};\n    for (var _iterator75 = _createForOfIteratorHelperLoose(this.glyphs), _step75; !(_step75 = _iterator75()).done;) {\n      var gid = _step75.value;\n      var glyph = this.font.getGlyph(gid);\n      var path = glyph.path; // this causes the glyph to be parsed\n\n      for (var subr in glyph._usedSubrs) {\n        used_subrs[subr] = true;\n      }\n    }\n    var privateDict = Object.assign({}, this.cff.topDict.Private);\n    if (this.cff.topDict.Private && this.cff.topDict.Private.Subrs) {\n      privateDict.Subrs = this.subsetSubrs(this.cff.topDict.Private.Subrs, used_subrs);\n    }\n    topDict.FDArray = [{\n      Private: privateDict\n    }];\n    return topDict.FDSelect = {\n      version: 3,\n      nRanges: 1,\n      ranges: [{\n        first: 0,\n        fd: 0\n      }],\n      sentinel: this.charstrings.length\n    };\n  };\n  _proto42.addString = function addString(string) {\n    if (!string) {\n      return null;\n    }\n    if (!this.strings) {\n      this.strings = [];\n    }\n    this.strings.push(string);\n    return standardStrings.length + this.strings.length - 1;\n  };\n  _proto42.encode = function encode(stream) {\n    this.subsetCharstrings();\n    var charset = {\n      version: this.charstrings.length > 255 ? 2 : 1,\n      ranges: [{\n        first: 1,\n        nLeft: this.charstrings.length - 2\n      }]\n    };\n    var topDict = Object.assign({}, this.cff.topDict);\n    topDict.Private = null;\n    topDict.charset = charset;\n    topDict.Encoding = null;\n    topDict.CharStrings = this.charstrings;\n    for (var _i24 = 0, _arr2 = ['version', 'Notice', 'Copyright', 'FullName', 'FamilyName', 'Weight', 'PostScript', 'BaseFontName', 'FontName']; _i24 < _arr2.length; _i24++) {\n      var key = _arr2[_i24];\n      topDict[key] = this.addString(this.cff.string(topDict[key]));\n    }\n    topDict.ROS = [this.addString('Adobe'), this.addString('Identity'), 0];\n    topDict.CIDCount = this.charstrings.length;\n    if (this.cff.isCIDFont) {\n      this.subsetFontdict(topDict);\n    } else {\n      this.createCIDFontdict(topDict);\n    }\n    var top = {\n      version: 1,\n      hdrSize: this.cff.hdrSize,\n      offSize: 4,\n      header: this.cff.header,\n      nameIndex: [this.cff.postscriptName],\n      topDictIndex: [topDict],\n      stringIndex: this.strings,\n      globalSubrIndex: this.gsubrs\n    };\n    CFFTop.encode(stream, top);\n  };\n  return CFFSubset;\n}(Subset);\nvar _class$4;\n/**\r\n * This is the base class for all SFNT-based font formats in fontkit.\r\n * It supports TrueType, and PostScript glyphs, and several color glyph formats.\r\n */\n\nvar TTFFont = (_class$4 = /*#__PURE__*/function () {\n  TTFFont.probe = function probe(buffer) {\n    var format = buffer.toString('ascii', 0, 4);\n    return format === 'true' || format === 'OTTO' || format === String.fromCharCode(0, 1, 0, 0);\n  };\n  function TTFFont(stream, variationCoords) {\n    if (variationCoords === void 0) {\n      variationCoords = null;\n    }\n    this.defaultLanguage = null;\n    this.stream = stream;\n    this.variationCoords = variationCoords;\n    this._directoryPos = this.stream.pos;\n    this._tables = {};\n    this._glyphs = {};\n    this._decodeDirectory(); // define properties for each table to lazily parse\n\n    for (var tag in this.directory.tables) {\n      var table = this.directory.tables[tag];\n      if (tables[tag] && table.length > 0) {\n        Object.defineProperty(this, tag, {\n          get: this._getTable.bind(this, table)\n        });\n      }\n    }\n  }\n  var _proto43 = TTFFont.prototype;\n  _proto43.setDefaultLanguage = function setDefaultLanguage(lang) {\n    if (lang === void 0) {\n      lang = null;\n    }\n    this.defaultLanguage = lang;\n  };\n  _proto43._getTable = function _getTable(table) {\n    if (!(table.tag in this._tables)) {\n      try {\n        this._tables[table.tag] = this._decodeTable(table);\n      } catch (e) {\n        if (fontkit.logErrors) {\n          console.error(\"Error decoding table \".concat(table.tag));\n          console.error(e.stack);\n        }\n      }\n    }\n    return this._tables[table.tag];\n  };\n  _proto43._getTableStream = function _getTableStream(tag) {\n    var table = this.directory.tables[tag];\n    if (table) {\n      this.stream.pos = table.offset;\n      return this.stream;\n    }\n    return null;\n  };\n  _proto43._decodeDirectory = function _decodeDirectory() {\n    return this.directory = Directory.decode(this.stream, {\n      _startOffset: 0\n    });\n  };\n  _proto43._decodeTable = function _decodeTable(table) {\n    var pos = this.stream.pos;\n    var stream = this._getTableStream(table.tag);\n    var result = tables[table.tag].decode(stream, this, table.length);\n    this.stream.pos = pos;\n    return result;\n  }\n  /**\r\n   * Gets a string from the font's `name` table\r\n   * `lang` is a BCP-47 language code.\r\n   * @return {string}\r\n   */;\n  _proto43.getName = function getName(key, lang) {\n    if (lang === void 0) {\n      lang = this.defaultLanguage || fontkit.defaultLanguage;\n    }\n    var record = this.name && this.name.records[key];\n    if (record) {\n      // Attempt to retrieve the entry, depending on which translation is available:\n      return record[lang] || record[this.defaultLanguage] || record[fontkit.defaultLanguage] || record['en'] || record[Object.keys(record)[0]] // Seriously, ANY language would be fine\n      || null;\n    }\n    return null;\n  }\n  /**\r\n   * The unique PostScript name for this font, e.g. \"Helvetica-Bold\"\r\n   * @type {string}\r\n   */;\n  /**\r\n   * Returns whether there is glyph in the font for the given unicode code point.\r\n   *\r\n   * @param {number} codePoint\r\n   * @return {boolean}\r\n   */\n  _proto43.hasGlyphForCodePoint = function hasGlyphForCodePoint(codePoint) {\n    return !!this._cmapProcessor.lookup(codePoint);\n  }\n  /**\r\n   * Maps a single unicode code point to a Glyph object.\r\n   * Does not perform any advanced substitutions (there is no context to do so).\r\n   *\r\n   * @param {number} codePoint\r\n   * @return {Glyph}\r\n   */;\n  _proto43.glyphForCodePoint = function glyphForCodePoint(codePoint) {\n    return this.getGlyph(this._cmapProcessor.lookup(codePoint), [codePoint]);\n  }\n  /**\r\n   * Returns an array of Glyph objects for the given string.\r\n   * This is only a one-to-one mapping from characters to glyphs.\r\n   * For most uses, you should use font.layout (described below), which\r\n   * provides a much more advanced mapping supporting AAT and OpenType shaping.\r\n   *\r\n   * @param {string} string\r\n   * @return {Glyph[]}\r\n   */;\n  _proto43.glyphsForString = function glyphsForString(string) {\n    var glyphs = [];\n    var len = string.length;\n    var idx = 0;\n    var last = -1;\n    var state = -1;\n    while (idx <= len) {\n      var code = 0;\n      var nextState = 0;\n      if (idx < len) {\n        // Decode the next codepoint from UTF 16\n        code = string.charCodeAt(idx++);\n        if (0xd800 <= code && code <= 0xdbff && idx < len) {\n          var next = string.charCodeAt(idx);\n          if (0xdc00 <= next && next <= 0xdfff) {\n            idx++;\n            code = ((code & 0x3ff) << 10) + (next & 0x3ff) + 0x10000;\n          }\n        } // Compute the next state: 1 if the next codepoint is a variation selector, 0 otherwise.\n\n        nextState = 0xfe00 <= code && code <= 0xfe0f || 0xe0100 <= code && code <= 0xe01ef ? 1 : 0;\n      } else {\n        idx++;\n      }\n      if (state === 0 && nextState === 1) {\n        // Variation selector following normal codepoint.\n        glyphs.push(this.getGlyph(this._cmapProcessor.lookup(last, code), [last, code]));\n      } else if (state === 0 && nextState === 0) {\n        // Normal codepoint following normal codepoint.\n        glyphs.push(this.glyphForCodePoint(last));\n      }\n      last = code;\n      state = nextState;\n    }\n    return glyphs;\n  };\n  /**\r\n   * Returns a GlyphRun object, which includes an array of Glyphs and GlyphPositions for the given string.\r\n   *\r\n   * @param {string} string\r\n   * @param {string[]} [userFeatures]\r\n   * @param {string} [script]\r\n   * @param {string} [language]\r\n   * @param {string} [direction]\r\n   * @return {GlyphRun}\r\n   */\n  _proto43.layout = function layout(string, userFeatures, script, language, direction) {\n    return this._layoutEngine.layout(string, userFeatures, script, language, direction);\n  }\n  /**\r\n   * Returns an array of strings that map to the given glyph id.\r\n   * @param {number} gid - glyph id\r\n   */;\n  _proto43.stringsForGlyph = function stringsForGlyph(gid) {\n    return this._layoutEngine.stringsForGlyph(gid);\n  }\n  /**\r\n   * An array of all [OpenType feature tags](https://www.microsoft.com/typography/otspec/featuretags.htm)\r\n   * (or mapped AAT tags) supported by the font.\r\n   * The features parameter is an array of OpenType feature tags to be applied in addition to the default set.\r\n   * If this is an AAT font, the OpenType feature tags are mapped to AAT features.\r\n   *\r\n   * @type {string[]}\r\n   */;\n  _proto43.getAvailableFeatures = function getAvailableFeatures(script, language) {\n    return this._layoutEngine.getAvailableFeatures(script, language);\n  };\n  _proto43._getBaseGlyph = function _getBaseGlyph(glyph, characters) {\n    if (characters === void 0) {\n      characters = [];\n    }\n    if (!this._glyphs[glyph]) {\n      if (this.directory.tables.glyf) {\n        this._glyphs[glyph] = new TTFGlyph(glyph, characters, this);\n      } else if (this.directory.tables['CFF '] || this.directory.tables.CFF2) {\n        this._glyphs[glyph] = new CFFGlyph(glyph, characters, this);\n      }\n    }\n    return this._glyphs[glyph] || null;\n  }\n  /**\r\n   * Returns a glyph object for the given glyph id.\r\n   * You can pass the array of code points this glyph represents for\r\n   * your use later, and it will be stored in the glyph object.\r\n   *\r\n   * @param {number} glyph\r\n   * @param {number[]} characters\r\n   * @return {Glyph}\r\n   */;\n  _proto43.getGlyph = function getGlyph(glyph, characters) {\n    if (characters === void 0) {\n      characters = [];\n    }\n    if (!this._glyphs[glyph]) {\n      if (this.directory.tables.sbix) {\n        this._glyphs[glyph] = new SBIXGlyph(glyph, characters, this);\n      } else if (this.directory.tables.COLR && this.directory.tables.CPAL) {\n        this._glyphs[glyph] = new COLRGlyph(glyph, characters, this);\n      } else {\n        this._getBaseGlyph(glyph, characters);\n      }\n    }\n    return this._glyphs[glyph] || null;\n  }\n  /**\r\n   * Returns a Subset for this font.\r\n   * @return {Subset}\r\n   */;\n  _proto43.createSubset = function createSubset() {\n    if (this.directory.tables['CFF ']) {\n      return new CFFSubset(this);\n    }\n    return new TTFSubset(this);\n  }\n  /**\r\n   * Returns an object describing the available variation axes\r\n   * that this font supports. Keys are setting tags, and values\r\n   * contain the axis name, range, and default value.\r\n   *\r\n   * @type {object}\r\n   */;\n  /**\r\n   * Returns a new font with the given variation settings applied.\r\n   * Settings can either be an instance name, or an object containing\r\n   * variation tags as specified by the `variationAxes` property.\r\n   *\r\n   * @param {object} settings\r\n   * @return {TTFFont}\r\n   */\n  _proto43.getVariation = function getVariation(settings) {\n    if (!(this.directory.tables.fvar && (this.directory.tables.gvar && this.directory.tables.glyf || this.directory.tables.CFF2))) {\n      throw new Error('Variations require a font with the fvar, gvar and glyf, or CFF2 tables.');\n    }\n    if (typeof settings === 'string') {\n      settings = this.namedVariations[settings];\n    }\n    if (typeof settings !== 'object') {\n      throw new Error('Variation settings must be either a variation name or settings object.');\n    } // normalize the coordinates\n\n    var coords = this.fvar.axis.map(function (axis, i) {\n      var axisTag = axis.axisTag.trim();\n      if (axisTag in settings) {\n        return Math.max(axis.minValue, Math.min(axis.maxValue, settings[axisTag]));\n      } else {\n        return axis.defaultValue;\n      }\n    });\n    var stream = new r.DecodeStream(this.stream.buffer);\n    stream.pos = this._directoryPos;\n    var font = new TTFFont(stream, coords);\n    font._tables = this._tables;\n    return font;\n  };\n  // Standardized format plugin API\n  _proto43.getFont = function getFont(name) {\n    return this.getVariation(name);\n  };\n  _createClass(TTFFont, [{\n    key: \"postscriptName\",\n    get: function get() {\n      return this.getName('postscriptName');\n    }\n    /**\r\n     * The font's full name, e.g. \"Helvetica Bold\"\r\n     * @type {string}\r\n     */\n  }, {\n    key: \"fullName\",\n    get: function get() {\n      return this.getName('fullName');\n    }\n    /**\r\n     * The font's family name, e.g. \"Helvetica\"\r\n     * @type {string}\r\n     */\n  }, {\n    key: \"familyName\",\n    get: function get() {\n      return this.getName('fontFamily');\n    }\n    /**\r\n     * The font's sub-family, e.g. \"Bold\".\r\n     * @type {string}\r\n     */\n  }, {\n    key: \"subfamilyName\",\n    get: function get() {\n      return this.getName('fontSubfamily');\n    }\n    /**\r\n     * The font's copyright information\r\n     * @type {string}\r\n     */\n  }, {\n    key: \"copyright\",\n    get: function get() {\n      return this.getName('copyright');\n    }\n    /**\r\n     * The font's version number\r\n     * @type {string}\r\n     */\n  }, {\n    key: \"version\",\n    get: function get() {\n      return this.getName('version');\n    }\n    /**\r\n     * The font’s [ascender](https://en.wikipedia.org/wiki/Ascender_(typography))\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"ascent\",\n    get: function get() {\n      return this.hhea.ascent;\n    }\n    /**\r\n     * The font’s [descender](https://en.wikipedia.org/wiki/Descender)\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"descent\",\n    get: function get() {\n      return this.hhea.descent;\n    }\n    /**\r\n     * The amount of space that should be included between lines\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"lineGap\",\n    get: function get() {\n      return this.hhea.lineGap;\n    }\n    /**\r\n     * The offset from the normal underline position that should be used\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"underlinePosition\",\n    get: function get() {\n      return this.post.underlinePosition;\n    }\n    /**\r\n     * The weight of the underline that should be used\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"underlineThickness\",\n    get: function get() {\n      return this.post.underlineThickness;\n    }\n    /**\r\n     * If this is an italic font, the angle the cursor should be drawn at to match the font design\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"italicAngle\",\n    get: function get() {\n      return this.post.italicAngle;\n    }\n    /**\r\n     * The height of capital letters above the baseline.\r\n     * See [here](https://en.wikipedia.org/wiki/Cap_height) for more details.\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"capHeight\",\n    get: function get() {\n      var os2 = this['OS/2'];\n      return os2 ? os2.capHeight : this.ascent;\n    }\n    /**\r\n     * The height of lower case letters in the font.\r\n     * See [here](https://en.wikipedia.org/wiki/X-height) for more details.\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"xHeight\",\n    get: function get() {\n      var os2 = this['OS/2'];\n      return os2 ? os2.xHeight : 0;\n    }\n    /**\r\n     * The number of glyphs in the font.\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"numGlyphs\",\n    get: function get() {\n      return this.maxp.numGlyphs;\n    }\n    /**\r\n     * The size of the font’s internal coordinate grid\r\n     * @type {number}\r\n     */\n  }, {\n    key: \"unitsPerEm\",\n    get: function get() {\n      return this.head.unitsPerEm;\n    }\n    /**\r\n     * The font’s bounding box, i.e. the box that encloses all glyphs in the font.\r\n     * @type {BBox}\r\n     */\n  }, {\n    key: \"bbox\",\n    get: function get() {\n      return Object.freeze(new BBox(this.head.xMin, this.head.yMin, this.head.xMax, this.head.yMax));\n    }\n  }, {\n    key: \"_cmapProcessor\",\n    get: function get() {\n      return new CmapProcessor(this.cmap);\n    }\n    /**\r\n     * An array of all of the unicode code points supported by the font.\r\n     * @type {number[]}\r\n     */\n  }, {\n    key: \"characterSet\",\n    get: function get() {\n      return this._cmapProcessor.getCharacterSet();\n    }\n  }, {\n    key: \"_layoutEngine\",\n    get: function get() {\n      return new LayoutEngine(this);\n    }\n  }, {\n    key: \"availableFeatures\",\n    get: function get() {\n      return this._layoutEngine.getAvailableFeatures();\n    }\n  }, {\n    key: \"variationAxes\",\n    get: function get() {\n      var res = {};\n      if (!this.fvar) {\n        return res;\n      }\n      for (var _iterator76 = _createForOfIteratorHelperLoose(this.fvar.axis), _step76; !(_step76 = _iterator76()).done;) {\n        var axis = _step76.value;\n        res[axis.axisTag.trim()] = {\n          name: axis.name.en,\n          min: axis.minValue,\n          default: axis.defaultValue,\n          max: axis.maxValue\n        };\n      }\n      return res;\n    }\n    /**\r\n     * Returns an object describing the named variation instances\r\n     * that the font designer has specified. Keys are variation names\r\n     * and values are the variation settings for this instance.\r\n     *\r\n     * @type {object}\r\n     */\n  }, {\n    key: \"namedVariations\",\n    get: function get() {\n      var res = {};\n      if (!this.fvar) {\n        return res;\n      }\n      for (var _iterator77 = _createForOfIteratorHelperLoose(this.fvar.instance), _step77; !(_step77 = _iterator77()).done;) {\n        var instance = _step77.value;\n        var settings = {};\n        for (var i = 0; i < this.fvar.axis.length; i++) {\n          var axis = this.fvar.axis[i];\n          settings[axis.axisTag.trim()] = instance.coord[i];\n        }\n        res[instance.name.en] = settings;\n      }\n      return res;\n    }\n  }, {\n    key: \"_variationProcessor\",\n    get: function get() {\n      if (!this.fvar) {\n        return null;\n      }\n      var variationCoords = this.variationCoords; // Ignore if no variation coords and not CFF2\n\n      if (!variationCoords && !this.CFF2) {\n        return null;\n      }\n      if (!variationCoords) {\n        variationCoords = this.fvar.axis.map(function (axis) {\n          return axis.defaultValue;\n        });\n      }\n      return new GlyphVariationProcessor(this, variationCoords);\n    }\n  }]);\n  return TTFFont;\n}(), (_applyDecoratedDescriptor(_class$4.prototype, \"bbox\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"bbox\"), _class$4.prototype), _applyDecoratedDescriptor(_class$4.prototype, \"_cmapProcessor\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"_cmapProcessor\"), _class$4.prototype), _applyDecoratedDescriptor(_class$4.prototype, \"characterSet\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"characterSet\"), _class$4.prototype), _applyDecoratedDescriptor(_class$4.prototype, \"_layoutEngine\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"_layoutEngine\"), _class$4.prototype), _applyDecoratedDescriptor(_class$4.prototype, \"variationAxes\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"variationAxes\"), _class$4.prototype), _applyDecoratedDescriptor(_class$4.prototype, \"namedVariations\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"namedVariations\"), _class$4.prototype), _applyDecoratedDescriptor(_class$4.prototype, \"_variationProcessor\", [cache], Object.getOwnPropertyDescriptor(_class$4.prototype, \"_variationProcessor\"), _class$4.prototype)), _class$4);\nvar WOFFDirectoryEntry = new r.Struct({\n  tag: new r.String(4),\n  offset: new r.Pointer(r.uint32, 'void', {\n    type: 'global'\n  }),\n  compLength: r.uint32,\n  length: r.uint32,\n  origChecksum: r.uint32\n});\nvar WOFFDirectory = new r.Struct({\n  tag: new r.String(4),\n  // should be 'wOFF'\n  flavor: r.uint32,\n  length: r.uint32,\n  numTables: r.uint16,\n  reserved: new r.Reserved(r.uint16),\n  totalSfntSize: r.uint32,\n  majorVersion: r.uint16,\n  minorVersion: r.uint16,\n  metaOffset: r.uint32,\n  metaLength: r.uint32,\n  metaOrigLength: r.uint32,\n  privOffset: r.uint32,\n  privLength: r.uint32,\n  tables: new r.Array(WOFFDirectoryEntry, 'numTables')\n});\nWOFFDirectory.process = function () {\n  var tables = {};\n  for (var _iterator78 = _createForOfIteratorHelperLoose(this.tables), _step78; !(_step78 = _iterator78()).done;) {\n    var table = _step78.value;\n    tables[table.tag] = table;\n  }\n  this.tables = tables;\n};\nvar WOFFFont = /*#__PURE__*/function (_TTFFont) {\n  _inheritsLoose(WOFFFont, _TTFFont);\n  function WOFFFont() {\n    return _TTFFont.apply(this, arguments) || this;\n  }\n  WOFFFont.probe = function probe(buffer) {\n    return buffer.toString('ascii', 0, 4) === 'wOFF';\n  };\n  var _proto44 = WOFFFont.prototype;\n  _proto44._decodeDirectory = function _decodeDirectory() {\n    this.directory = WOFFDirectory.decode(this.stream, {\n      _startOffset: 0\n    });\n  };\n  _proto44._getTableStream = function _getTableStream(tag) {\n    var table = this.directory.tables[tag];\n    if (table) {\n      this.stream.pos = table.offset;\n      if (table.compLength < table.length) {\n        this.stream.pos += 2; // skip deflate header\n\n        var outBuffer = Buffer.alloc(table.length);\n        var buf = inflate(this.stream.readBuffer(table.compLength - 2), outBuffer);\n        return new r.DecodeStream(buf);\n      } else {\n        return this.stream;\n      }\n    }\n    return null;\n  };\n  return WOFFFont;\n}(TTFFont);\n/**\r\n * Represents a TrueType glyph in the WOFF2 format, which compresses glyphs differently.\r\n */\nvar WOFF2Glyph = /*#__PURE__*/function (_TTFGlyph2) {\n  _inheritsLoose(WOFF2Glyph, _TTFGlyph2);\n  function WOFF2Glyph() {\n    return _TTFGlyph2.apply(this, arguments) || this;\n  }\n  var _proto45 = WOFF2Glyph.prototype;\n  _proto45._decode = function _decode() {\n    // We have to decode in advance (in WOFF2Font), so just return the pre-decoded data.\n    return this._font._transformedGlyphs[this.id];\n  };\n  _proto45._getCBox = function _getCBox() {\n    return this.path.bbox;\n  };\n  return WOFF2Glyph;\n}(TTFGlyph);\nvar Base128 = {\n  decode: function decode(stream) {\n    var result = 0;\n    var iterable = [0, 1, 2, 3, 4];\n    for (var j = 0; j < iterable.length; j++) {\n      var code = stream.readUInt8(); // If any of the top seven bits are set then we're about to overflow.\n\n      if (result & 0xe0000000) {\n        throw new Error('Overflow');\n      }\n      result = result << 7 | code & 0x7f;\n      if ((code & 0x80) === 0) {\n        return result;\n      }\n    }\n    throw new Error('Bad base 128 number');\n  }\n};\nvar knownTags = ['cmap', 'head', 'hhea', 'hmtx', 'maxp', 'name', 'OS/2', 'post', 'cvt ', 'fpgm', 'glyf', 'loca', 'prep', 'CFF ', 'VORG', 'EBDT', 'EBLC', 'gasp', 'hdmx', 'kern', 'LTSH', 'PCLT', 'VDMX', 'vhea', 'vmtx', 'BASE', 'GDEF', 'GPOS', 'GSUB', 'EBSC', 'JSTF', 'MATH', 'CBDT', 'CBLC', 'COLR', 'CPAL', 'SVG ', 'sbix', 'acnt', 'avar', 'bdat', 'bloc', 'bsln', 'cvar', 'fdsc', 'feat', 'fmtx', 'fvar', 'gvar', 'hsty', 'just', 'lcar', 'mort', 'morx', 'opbd', 'prop', 'trak', 'Zapf', 'Silf', 'Glat', 'Gloc', 'Feat', 'Sill'];\nvar WOFF2DirectoryEntry = new r.Struct({\n  flags: r.uint8,\n  customTag: new r.Optional(new r.String(4), function (t) {\n    return (t.flags & 0x3f) === 0x3f;\n  }),\n  tag: function tag(t) {\n    return t.customTag || knownTags[t.flags & 0x3f];\n  },\n  // || (() => { throw new Error(`Bad tag: ${flags & 0x3f}`); })(); },\n  length: Base128,\n  transformVersion: function transformVersion(t) {\n    return t.flags >>> 6 & 0x03;\n  },\n  transformed: function transformed(t) {\n    return t.tag === 'glyf' || t.tag === 'loca' ? t.transformVersion === 0 : t.transformVersion !== 0;\n  },\n  transformLength: new r.Optional(Base128, function (t) {\n    return t.transformed;\n  })\n});\nvar WOFF2Directory = new r.Struct({\n  tag: new r.String(4),\n  // should be 'wOF2'\n  flavor: r.uint32,\n  length: r.uint32,\n  numTables: r.uint16,\n  reserved: new r.Reserved(r.uint16),\n  totalSfntSize: r.uint32,\n  totalCompressedSize: r.uint32,\n  majorVersion: r.uint16,\n  minorVersion: r.uint16,\n  metaOffset: r.uint32,\n  metaLength: r.uint32,\n  metaOrigLength: r.uint32,\n  privOffset: r.uint32,\n  privLength: r.uint32,\n  tables: new r.Array(WOFF2DirectoryEntry, 'numTables')\n});\nWOFF2Directory.process = function () {\n  var tables = {};\n  for (var i = 0; i < this.tables.length; i++) {\n    var table = this.tables[i];\n    tables[table.tag] = table;\n  }\n  return this.tables = tables;\n};\n\n/**\r\n * Subclass of TTFFont that represents a TTF/OTF font compressed by WOFF2\r\n * See spec here: http://www.w3.org/TR/WOFF2/\r\n */\nvar WOFF2Font = /*#__PURE__*/function (_TTFFont2) {\n  _inheritsLoose(WOFF2Font, _TTFFont2);\n  function WOFF2Font() {\n    return _TTFFont2.apply(this, arguments) || this;\n  }\n  WOFF2Font.probe = function probe(buffer) {\n    return buffer.toString('ascii', 0, 4) === 'wOF2';\n  };\n  var _proto46 = WOFF2Font.prototype;\n  _proto46._decodeDirectory = function _decodeDirectory() {\n    this.directory = WOFF2Directory.decode(this.stream);\n    this._dataPos = this.stream.pos;\n  };\n  _proto46._decompress = function _decompress() {\n    // decompress data and setup table offsets if we haven't already\n    if (!this._decompressed) {\n      this.stream.pos = this._dataPos;\n      var buffer = this.stream.readBuffer(this.directory.totalCompressedSize);\n      var decompressedSize = 0;\n      for (var tag in this.directory.tables) {\n        var entry = this.directory.tables[tag];\n        entry.offset = decompressedSize;\n        decompressedSize += entry.transformLength != null ? entry.transformLength : entry.length;\n      }\n      var decompressed = brotli(buffer, decompressedSize);\n      if (!decompressed) {\n        throw new Error('Error decoding compressed data in WOFF2');\n      }\n      this.stream = new r.DecodeStream(Buffer.from(decompressed));\n      this._decompressed = true;\n    }\n  };\n  _proto46._decodeTable = function _decodeTable(table) {\n    this._decompress();\n    return _TTFFont2.prototype._decodeTable.call(this, table);\n  } // Override this method to get a glyph and return our\n  // custom subclass if there is a glyf table.\n  ;\n  _proto46._getBaseGlyph = function _getBaseGlyph(glyph, characters) {\n    if (characters === void 0) {\n      characters = [];\n    }\n    if (!this._glyphs[glyph]) {\n      if (this.directory.tables.glyf && this.directory.tables.glyf.transformed) {\n        if (!this._transformedGlyphs) {\n          this._transformGlyfTable();\n        }\n        return this._glyphs[glyph] = new WOFF2Glyph(glyph, characters, this);\n      } else {\n        return _TTFFont2.prototype._getBaseGlyph.call(this, glyph, characters);\n      }\n    }\n  };\n  _proto46._transformGlyfTable = function _transformGlyfTable() {\n    this._decompress();\n    this.stream.pos = this.directory.tables.glyf.offset;\n    var table = GlyfTable.decode(this.stream);\n    var glyphs = [];\n    for (var index = 0; index < table.numGlyphs; index++) {\n      var glyph = {};\n      var nContours = table.nContours.readInt16BE();\n      glyph.numberOfContours = nContours;\n      if (nContours > 0) {\n        // simple glyph\n        var nPoints = [];\n        var totalPoints = 0;\n        for (var i = 0; i < nContours; i++) {\n          var _r = read255UInt16(table.nPoints);\n          totalPoints += _r;\n          nPoints.push(totalPoints);\n        }\n        glyph.points = decodeTriplet(table.flags, table.glyphs, totalPoints);\n        for (var _i = 0; _i < nContours; _i++) {\n          glyph.points[nPoints[_i] - 1].endContour = true;\n        }\n        var instructionSize = read255UInt16(table.glyphs);\n      } else if (nContours < 0) {\n        // composite glyph\n        var haveInstructions = TTFGlyph.prototype._decodeComposite.call({\n          _font: this\n        }, glyph, table.composites);\n        if (haveInstructions) {\n          var instructionSize = read255UInt16(table.glyphs);\n        }\n      }\n      glyphs.push(glyph);\n    }\n    this._transformedGlyphs = glyphs;\n  };\n  return WOFF2Font;\n}(TTFFont); // Special class that accepts a length and returns a sub-stream for that data\nvar Substream = /*#__PURE__*/function () {\n  function Substream(length) {\n    this.length = length;\n    this._buf = new r.Buffer(length);\n  }\n  var _proto47 = Substream.prototype;\n  _proto47.decode = function decode(stream, parent) {\n    return new r.DecodeStream(this._buf.decode(stream, parent));\n  };\n  return Substream;\n}(); // This struct represents the entire glyf table\nvar GlyfTable = new r.Struct({\n  version: r.uint32,\n  numGlyphs: r.uint16,\n  indexFormat: r.uint16,\n  nContourStreamSize: r.uint32,\n  nPointsStreamSize: r.uint32,\n  flagStreamSize: r.uint32,\n  glyphStreamSize: r.uint32,\n  compositeStreamSize: r.uint32,\n  bboxStreamSize: r.uint32,\n  instructionStreamSize: r.uint32,\n  nContours: new Substream('nContourStreamSize'),\n  nPoints: new Substream('nPointsStreamSize'),\n  flags: new Substream('flagStreamSize'),\n  glyphs: new Substream('glyphStreamSize'),\n  composites: new Substream('compositeStreamSize'),\n  bboxes: new Substream('bboxStreamSize'),\n  instructions: new Substream('instructionStreamSize')\n});\nvar WORD_CODE = 253;\nvar ONE_MORE_BYTE_CODE2 = 254;\nvar ONE_MORE_BYTE_CODE1 = 255;\nvar LOWEST_U_CODE = 253;\nfunction read255UInt16(stream) {\n  var code = stream.readUInt8();\n  if (code === WORD_CODE) {\n    return stream.readUInt16BE();\n  }\n  if (code === ONE_MORE_BYTE_CODE1) {\n    return stream.readUInt8() + LOWEST_U_CODE;\n  }\n  if (code === ONE_MORE_BYTE_CODE2) {\n    return stream.readUInt8() + LOWEST_U_CODE * 2;\n  }\n  return code;\n}\nfunction withSign(flag, baseval) {\n  return flag & 1 ? baseval : -baseval;\n}\nfunction decodeTriplet(flags, glyphs, nPoints) {\n  var y;\n  var x = y = 0;\n  var res = [];\n  for (var i = 0; i < nPoints; i++) {\n    var dx = 0,\n      dy = 0;\n    var flag = flags.readUInt8();\n    var onCurve = !(flag >> 7);\n    flag &= 0x7f;\n    if (flag < 10) {\n      dx = 0;\n      dy = withSign(flag, ((flag & 14) << 7) + glyphs.readUInt8());\n    } else if (flag < 20) {\n      dx = withSign(flag, ((flag - 10 & 14) << 7) + glyphs.readUInt8());\n      dy = 0;\n    } else if (flag < 84) {\n      var b0 = flag - 20;\n      var b1 = glyphs.readUInt8();\n      dx = withSign(flag, 1 + (b0 & 0x30) + (b1 >> 4));\n      dy = withSign(flag >> 1, 1 + ((b0 & 0x0c) << 2) + (b1 & 0x0f));\n    } else if (flag < 120) {\n      var b0 = flag - 84;\n      dx = withSign(flag, 1 + (b0 / 12 << 8) + glyphs.readUInt8());\n      dy = withSign(flag >> 1, 1 + (b0 % 12 >> 2 << 8) + glyphs.readUInt8());\n    } else if (flag < 124) {\n      var b1 = glyphs.readUInt8();\n      var b2 = glyphs.readUInt8();\n      dx = withSign(flag, (b1 << 4) + (b2 >> 4));\n      dy = withSign(flag >> 1, ((b2 & 0x0f) << 8) + glyphs.readUInt8());\n    } else {\n      dx = withSign(flag, glyphs.readUInt16BE());\n      dy = withSign(flag >> 1, glyphs.readUInt16BE());\n    }\n    x += dx;\n    y += dy;\n    res.push(new Point(onCurve, false, x, y));\n  }\n  return res;\n}\nvar TTCHeader = new r.VersionedStruct(r.uint32, {\n  0x00010000: {\n    numFonts: r.uint32,\n    offsets: new r.Array(r.uint32, 'numFonts')\n  },\n  0x00020000: {\n    numFonts: r.uint32,\n    offsets: new r.Array(r.uint32, 'numFonts'),\n    dsigTag: r.uint32,\n    dsigLength: r.uint32,\n    dsigOffset: r.uint32\n  }\n});\nvar TrueTypeCollection = /*#__PURE__*/function () {\n  TrueTypeCollection.probe = function probe(buffer) {\n    return buffer.toString('ascii', 0, 4) === 'ttcf';\n  };\n  function TrueTypeCollection(stream) {\n    this.stream = stream;\n    if (stream.readString(4) !== 'ttcf') {\n      throw new Error('Not a TrueType collection');\n    }\n    this.header = TTCHeader.decode(stream);\n  }\n  var _proto48 = TrueTypeCollection.prototype;\n  _proto48.getFont = function getFont(name) {\n    for (var _iterator79 = _createForOfIteratorHelperLoose(this.header.offsets), _step79; !(_step79 = _iterator79()).done;) {\n      var offset = _step79.value;\n      var stream = new r.DecodeStream(this.stream.buffer);\n      stream.pos = offset;\n      var font = new TTFFont(stream);\n      if (font.postscriptName === name) {\n        return font;\n      }\n    }\n    return null;\n  };\n  _createClass(TrueTypeCollection, [{\n    key: \"fonts\",\n    get: function get() {\n      var fonts = [];\n      for (var _iterator80 = _createForOfIteratorHelperLoose(this.header.offsets), _step80; !(_step80 = _iterator80()).done;) {\n        var offset = _step80.value;\n        var stream = new r.DecodeStream(this.stream.buffer);\n        stream.pos = offset;\n        fonts.push(new TTFFont(stream));\n      }\n      return fonts;\n    }\n  }]);\n  return TrueTypeCollection;\n}();\nvar DFontName = new r.String(r.uint8);\nvar DFontData = new r.Struct({\n  len: r.uint32,\n  buf: new r.Buffer('len')\n});\nvar Ref = new r.Struct({\n  id: r.uint16,\n  nameOffset: r.int16,\n  attr: r.uint8,\n  dataOffset: r.uint24,\n  handle: r.uint32\n});\nvar Type = new r.Struct({\n  name: new r.String(4),\n  maxTypeIndex: r.uint16,\n  refList: new r.Pointer(r.uint16, new r.Array(Ref, function (t) {\n    return t.maxTypeIndex + 1;\n  }), {\n    type: 'parent'\n  })\n});\nvar TypeList = new r.Struct({\n  length: r.uint16,\n  types: new r.Array(Type, function (t) {\n    return t.length + 1;\n  })\n});\nvar DFontMap = new r.Struct({\n  reserved: new r.Reserved(r.uint8, 24),\n  typeList: new r.Pointer(r.uint16, TypeList),\n  nameListOffset: new r.Pointer(r.uint16, 'void')\n});\nvar DFontHeader = new r.Struct({\n  dataOffset: r.uint32,\n  map: new r.Pointer(r.uint32, DFontMap),\n  dataLength: r.uint32,\n  mapLength: r.uint32\n});\nvar DFont = /*#__PURE__*/function () {\n  DFont.probe = function probe(buffer) {\n    var stream = new r.DecodeStream(buffer);\n    try {\n      var header = DFontHeader.decode(stream);\n    } catch (e) {\n      return false;\n    }\n    for (var _iterator81 = _createForOfIteratorHelperLoose(header.map.typeList.types), _step81; !(_step81 = _iterator81()).done;) {\n      var type = _step81.value;\n      if (type.name === 'sfnt') {\n        return true;\n      }\n    }\n    return false;\n  };\n  function DFont(stream) {\n    this.stream = stream;\n    this.header = DFontHeader.decode(this.stream);\n    for (var _iterator82 = _createForOfIteratorHelperLoose(this.header.map.typeList.types), _step82; !(_step82 = _iterator82()).done;) {\n      var type = _step82.value;\n      for (var _iterator83 = _createForOfIteratorHelperLoose(type.refList), _step83; !(_step83 = _iterator83()).done;) {\n        var ref = _step83.value;\n        if (ref.nameOffset >= 0) {\n          this.stream.pos = ref.nameOffset + this.header.map.nameListOffset;\n          ref.name = DFontName.decode(this.stream);\n        } else {\n          ref.name = null;\n        }\n      }\n      if (type.name === 'sfnt') {\n        this.sfnt = type;\n      }\n    }\n  }\n  var _proto49 = DFont.prototype;\n  _proto49.getFont = function getFont(name) {\n    if (!this.sfnt) {\n      return null;\n    }\n    for (var _iterator84 = _createForOfIteratorHelperLoose(this.sfnt.refList), _step84; !(_step84 = _iterator84()).done;) {\n      var ref = _step84.value;\n      var pos = this.header.dataOffset + ref.dataOffset + 4;\n      var stream = new r.DecodeStream(this.stream.buffer.slice(pos));\n      var font = new TTFFont(stream);\n      if (font.postscriptName === name) {\n        return font;\n      }\n    }\n    return null;\n  };\n  _createClass(DFont, [{\n    key: \"fonts\",\n    get: function get() {\n      var fonts = [];\n      for (var _iterator85 = _createForOfIteratorHelperLoose(this.sfnt.refList), _step85; !(_step85 = _iterator85()).done;) {\n        var ref = _step85.value;\n        var pos = this.header.dataOffset + ref.dataOffset + 4;\n        var stream = new r.DecodeStream(this.stream.buffer.slice(pos));\n        fonts.push(new TTFFont(stream));\n      }\n      return fonts;\n    }\n  }]);\n  return DFont;\n}();\nfontkit.registerFormat(TTFFont);\nfontkit.registerFormat(WOFFFont);\nfontkit.registerFormat(WOFF2Font);\nfontkit.registerFormat(TrueTypeCollection);\nfontkit.registerFormat(DFont);\nmodule.exports = fontkit;","\"use strict\";\n\nvar UnicodeTrie = require('unicode-trie');\n\nvar base64 = require('base64-js');\nvar _require = require('./classes'),\n  BK = _require.BK,\n  CR = _require.CR,\n  LF = _require.LF,\n  NL = _require.NL,\n  SG = _require.SG,\n  WJ = _require.WJ,\n  SP = _require.SP,\n  ZWJ = _require.ZWJ,\n  BA = _require.BA,\n  HY = _require.HY,\n  NS = _require.NS,\n  AI = _require.AI,\n  AL = _require.AL,\n  CJ = _require.CJ,\n  HL = _require.HL,\n  RI = _require.RI,\n  SA = _require.SA,\n  XX = _require.XX;\nvar _require2 = require('./pairs'),\n  DI_BRK = _require2.DI_BRK,\n  IN_BRK = _require2.IN_BRK,\n  CI_BRK = _require2.CI_BRK,\n  CP_BRK = _require2.CP_BRK,\n  PR_BRK = _require2.PR_BRK,\n  pairTable = _require2.pairTable;\nvar data = base64.toByteArray(\"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\");\nvar classTrie = new UnicodeTrie(data);\nvar mapClass = function mapClass(c) {\n  switch (c) {\n    case AI:\n      return AL;\n    case SA:\n    case SG:\n    case XX:\n      return AL;\n    case CJ:\n      return NS;\n    default:\n      return c;\n  }\n};\nvar mapFirst = function mapFirst(c) {\n  switch (c) {\n    case LF:\n    case NL:\n      return BK;\n    case SP:\n      return WJ;\n    default:\n      return c;\n  }\n};\nvar Break = function Break(position, required) {\n  if (required === void 0) {\n    required = false;\n  }\n  this.position = position;\n  this.required = required;\n};\nvar LineBreaker = /*#__PURE__*/function () {\n  function LineBreaker(string) {\n    this.string = string;\n    this.pos = 0;\n    this.lastPos = 0;\n    this.curClass = null;\n    this.nextClass = null;\n    this.LB8a = false;\n    this.LB21a = false;\n    this.LB30a = 0;\n  }\n  var _proto = LineBreaker.prototype;\n  _proto.nextCodePoint = function nextCodePoint() {\n    var code = this.string.charCodeAt(this.pos++);\n    var next = this.string.charCodeAt(this.pos);\n\n    // If a surrogate pair\n    if (0xd800 <= code && code <= 0xdbff && 0xdc00 <= next && next <= 0xdfff) {\n      this.pos++;\n      return (code - 0xd800) * 0x400 + (next - 0xdc00) + 0x10000;\n    }\n    return code;\n  };\n  _proto.nextCharClass = function nextCharClass() {\n    return mapClass(classTrie.get(this.nextCodePoint()));\n  };\n  _proto.getSimpleBreak = function getSimpleBreak() {\n    // handle classes not handled by the pair table\n    switch (this.nextClass) {\n      case SP:\n        return false;\n      case BK:\n      case LF:\n      case NL:\n        this.curClass = BK;\n        return false;\n      case CR:\n        this.curClass = CR;\n        return false;\n    }\n    return null;\n  };\n  _proto.getPairTableBreak = function getPairTableBreak(lastClass) {\n    // if not handled already, use the pair table\n    var shouldBreak = false;\n    switch (pairTable[this.curClass][this.nextClass]) {\n      case DI_BRK:\n        // Direct break\n        shouldBreak = true;\n        break;\n      case IN_BRK:\n        // possible indirect break\n        shouldBreak = lastClass === SP;\n        break;\n      case CI_BRK:\n        shouldBreak = lastClass === SP;\n        if (!shouldBreak) {\n          shouldBreak = false;\n          return shouldBreak;\n        }\n        break;\n      case CP_BRK:\n        // prohibited for combining marks\n        if (lastClass !== SP) {\n          return shouldBreak;\n        }\n        break;\n      case PR_BRK:\n        break;\n    }\n    if (this.LB8a) {\n      shouldBreak = false;\n    }\n\n    // Rule LB21a\n    if (this.LB21a && (this.curClass === HY || this.curClass === BA)) {\n      shouldBreak = false;\n      this.LB21a = false;\n    } else {\n      this.LB21a = this.curClass === HL;\n    }\n\n    // Rule LB30a\n    if (this.curClass === RI) {\n      this.LB30a++;\n      if (this.LB30a == 2 && this.nextClass === RI) {\n        shouldBreak = true;\n        this.LB30a = 0;\n      }\n    } else {\n      this.LB30a = 0;\n    }\n    this.curClass = this.nextClass;\n    return shouldBreak;\n  };\n  _proto.nextBreak = function nextBreak() {\n    // get the first char if we're at the beginning of the string\n    if (this.curClass == null) {\n      var firstClass = this.nextCharClass();\n      this.curClass = mapFirst(firstClass);\n      this.nextClass = firstClass;\n      this.LB8a = firstClass === ZWJ;\n      this.LB30a = 0;\n    }\n    while (this.pos < this.string.length) {\n      this.lastPos = this.pos;\n      var lastClass = this.nextClass;\n      this.nextClass = this.nextCharClass();\n\n      // explicit newline\n      if (this.curClass === BK || this.curClass === CR && this.nextClass !== LF) {\n        this.curClass = mapFirst(mapClass(this.nextClass));\n        return new Break(this.lastPos, true);\n      }\n      var shouldBreak = this.getSimpleBreak();\n      if (shouldBreak === null) {\n        shouldBreak = this.getPairTableBreak(lastClass);\n      }\n\n      // Rule LB8a\n      this.LB8a = this.nextClass === ZWJ;\n      if (shouldBreak) {\n        return new Break(this.lastPos);\n      }\n    }\n    if (this.lastPos < this.string.length) {\n      this.lastPos = this.string.length;\n      return new Break(this.string.length);\n    }\n    return null;\n  };\n  return LineBreaker;\n}();\nmodule.exports = LineBreaker;","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n  if (config('noDeprecation')) {\n    return fn;\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (config('throwDeprecation')) {\n        throw new Error(msg);\n      } else if (config('traceDeprecation')) {\n        console.trace(msg);\n      } else {\n        console.warn(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n  // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n  try {\n    if (!global.localStorage) return false;\n  } catch (_) {\n    return false;\n  }\n  var val = global.localStorage[name];\n  if (null == val) return false;\n  return String(val).toLowerCase() === 'true';\n}\n","module.exports = function isBuffer(arg) {\n  return arg && typeof arg === 'object'\n    && typeof arg.copy === 'function'\n    && typeof arg.fill === 'function'\n    && typeof arg.readUInt8 === 'function';\n}","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n  return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n  var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n  var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n  if (typeof value !== 'object') {\n    return false;\n  }\n  try {\n    prototypeValueOf(value);\n    return true;\n  } catch(e) {\n    return false;\n  }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n  if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n    return ArrayBuffer.isView(value);\n  }\n\n  return (\n    isTypedArray(value) ||\n    isDataView(value)\n  );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n  return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n  return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n  return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n  return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n  return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n  return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n  return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n  return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n  return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n  return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n  return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n  return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n  typeof Map !== 'undefined' &&\n  isMapToString(new Map())\n);\n\nfunction isMap(value) {\n  if (typeof Map === 'undefined') {\n    return false;\n  }\n\n  return isMapToString.working\n    ? isMapToString(value)\n    : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n  return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n  typeof Set !== 'undefined' &&\n  isSetToString(new Set())\n);\nfunction isSet(value) {\n  if (typeof Set === 'undefined') {\n    return false;\n  }\n\n  return isSetToString.working\n    ? isSetToString(value)\n    : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n  return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n  typeof WeakMap !== 'undefined' &&\n  isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n  if (typeof WeakMap === 'undefined') {\n    return false;\n  }\n\n  return isWeakMapToString.working\n    ? isWeakMapToString(value)\n    : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n  return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n  typeof WeakSet !== 'undefined' &&\n  isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n  return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n  return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n  if (typeof ArrayBuffer === 'undefined') {\n    return false;\n  }\n\n  return isArrayBufferToString.working\n    ? isArrayBufferToString(value)\n    : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n  return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n  typeof ArrayBuffer !== 'undefined' &&\n  typeof DataView !== 'undefined' &&\n  isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n  if (typeof DataView === 'undefined') {\n    return false;\n  }\n\n  return isDataViewToString.working\n    ? isDataViewToString(value)\n    : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n  return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n  if (typeof SharedArrayBufferCopy === 'undefined') {\n    return false;\n  }\n\n  if (typeof isSharedArrayBufferToString.working === 'undefined') {\n    isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n  }\n\n  return isSharedArrayBufferToString.working\n    ? isSharedArrayBufferToString(value)\n    : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n  return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n  return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n  return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n  return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n  return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n  return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n  return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n  return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n  return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n  return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n  return (\n    isNumberObject(value) ||\n    isStringObject(value) ||\n    isBooleanObject(value) ||\n    isBigIntObject(value) ||\n    isSymbolObject(value)\n  );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n  return typeof Uint8Array !== 'undefined' && (\n    isArrayBuffer(value) ||\n    isSharedArrayBuffer(value)\n  );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n  Object.defineProperty(exports, method, {\n    enumerable: false,\n    value: function() {\n      throw new Error(method + ' is not supported in userland');\n    }\n  });\n});\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n  function getOwnPropertyDescriptors(obj) {\n    var keys = Object.keys(obj);\n    var descriptors = {};\n    for (var i = 0; i < keys.length; i++) {\n      descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n    }\n    return descriptors;\n  };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n  if (!isString(f)) {\n    var objects = [];\n    for (var i = 0; i < arguments.length; i++) {\n      objects.push(inspect(arguments[i]));\n    }\n    return objects.join(' ');\n  }\n\n  var i = 1;\n  var args = arguments;\n  var len = args.length;\n  var str = String(f).replace(formatRegExp, function(x) {\n    if (x === '%%') return '%';\n    if (i >= len) return x;\n    switch (x) {\n      case '%s': return String(args[i++]);\n      case '%d': return Number(args[i++]);\n      case '%j':\n        try {\n          return JSON.stringify(args[i++]);\n        } catch (_) {\n          return '[Circular]';\n        }\n      default:\n        return x;\n    }\n  });\n  for (var x = args[i]; i < len; x = args[++i]) {\n    if (isNull(x) || !isObject(x)) {\n      str += ' ' + x;\n    } else {\n      str += ' ' + inspect(x);\n    }\n  }\n  return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n  if (typeof process !== 'undefined' && process.noDeprecation === true) {\n    return fn;\n  }\n\n  // Allow for deprecating things in the process of starting up.\n  if (typeof process === 'undefined') {\n    return function() {\n      return exports.deprecate(fn, msg).apply(this, arguments);\n    };\n  }\n\n  var warned = false;\n  function deprecated() {\n    if (!warned) {\n      if (process.throwDeprecation) {\n        throw new Error(msg);\n      } else if (process.traceDeprecation) {\n        console.trace(msg);\n      } else {\n        console.error(msg);\n      }\n      warned = true;\n    }\n    return fn.apply(this, arguments);\n  }\n\n  return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n  var debugEnv = process.env.NODE_DEBUG;\n  debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n    .replace(/\\*/g, '.*')\n    .replace(/,/g, '$|^')\n    .toUpperCase();\n  debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n  set = set.toUpperCase();\n  if (!debugs[set]) {\n    if (debugEnvRegex.test(set)) {\n      var pid = process.pid;\n      debugs[set] = function() {\n        var msg = exports.format.apply(exports, arguments);\n        console.error('%s %d: %s', set, pid, msg);\n      };\n    } else {\n      debugs[set] = function() {};\n    }\n  }\n  return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n  // default options\n  var ctx = {\n    seen: [],\n    stylize: stylizeNoColor\n  };\n  // legacy...\n  if (arguments.length >= 3) ctx.depth = arguments[2];\n  if (arguments.length >= 4) ctx.colors = arguments[3];\n  if (isBoolean(opts)) {\n    // legacy...\n    ctx.showHidden = opts;\n  } else if (opts) {\n    // got an \"options\" object\n    exports._extend(ctx, opts);\n  }\n  // set default options\n  if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n  if (isUndefined(ctx.depth)) ctx.depth = 2;\n  if (isUndefined(ctx.colors)) ctx.colors = false;\n  if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n  if (ctx.colors) ctx.stylize = stylizeWithColor;\n  return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n  'bold' : [1, 22],\n  'italic' : [3, 23],\n  'underline' : [4, 24],\n  'inverse' : [7, 27],\n  'white' : [37, 39],\n  'grey' : [90, 39],\n  'black' : [30, 39],\n  'blue' : [34, 39],\n  'cyan' : [36, 39],\n  'green' : [32, 39],\n  'magenta' : [35, 39],\n  'red' : [31, 39],\n  'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n  'special': 'cyan',\n  'number': 'yellow',\n  'boolean': 'yellow',\n  'undefined': 'grey',\n  'null': 'bold',\n  'string': 'green',\n  'date': 'magenta',\n  // \"name\": intentionally not styling\n  'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n  var style = inspect.styles[styleType];\n\n  if (style) {\n    return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n           '\\u001b[' + inspect.colors[style][1] + 'm';\n  } else {\n    return str;\n  }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n  return str;\n}\n\n\nfunction arrayToHash(array) {\n  var hash = {};\n\n  array.forEach(function(val, idx) {\n    hash[val] = true;\n  });\n\n  return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n  // Provide a hook for user-specified inspect functions.\n  // Check that value is an object with an inspect function on it\n  if (ctx.customInspect &&\n      value &&\n      isFunction(value.inspect) &&\n      // Filter out the util module, it's inspect function is special\n      value.inspect !== exports.inspect &&\n      // Also filter out any prototype objects using the circular check.\n      !(value.constructor && value.constructor.prototype === value)) {\n    var ret = value.inspect(recurseTimes, ctx);\n    if (!isString(ret)) {\n      ret = formatValue(ctx, ret, recurseTimes);\n    }\n    return ret;\n  }\n\n  // Primitive types cannot have properties\n  var primitive = formatPrimitive(ctx, value);\n  if (primitive) {\n    return primitive;\n  }\n\n  // Look up the keys of the object.\n  var keys = Object.keys(value);\n  var visibleKeys = arrayToHash(keys);\n\n  if (ctx.showHidden) {\n    keys = Object.getOwnPropertyNames(value);\n  }\n\n  // IE doesn't make error fields non-enumerable\n  // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n  if (isError(value)\n      && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n    return formatError(value);\n  }\n\n  // Some type of object without properties can be shortcutted.\n  if (keys.length === 0) {\n    if (isFunction(value)) {\n      var name = value.name ? ': ' + value.name : '';\n      return ctx.stylize('[Function' + name + ']', 'special');\n    }\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    }\n    if (isDate(value)) {\n      return ctx.stylize(Date.prototype.toString.call(value), 'date');\n    }\n    if (isError(value)) {\n      return formatError(value);\n    }\n  }\n\n  var base = '', array = false, braces = ['{', '}'];\n\n  // Make Array say that they are Array\n  if (isArray(value)) {\n    array = true;\n    braces = ['[', ']'];\n  }\n\n  // Make functions say that they are functions\n  if (isFunction(value)) {\n    var n = value.name ? ': ' + value.name : '';\n    base = ' [Function' + n + ']';\n  }\n\n  // Make RegExps say that they are RegExps\n  if (isRegExp(value)) {\n    base = ' ' + RegExp.prototype.toString.call(value);\n  }\n\n  // Make dates with properties first say the date\n  if (isDate(value)) {\n    base = ' ' + Date.prototype.toUTCString.call(value);\n  }\n\n  // Make error with message first say the error\n  if (isError(value)) {\n    base = ' ' + formatError(value);\n  }\n\n  if (keys.length === 0 && (!array || value.length == 0)) {\n    return braces[0] + base + braces[1];\n  }\n\n  if (recurseTimes < 0) {\n    if (isRegExp(value)) {\n      return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n    } else {\n      return ctx.stylize('[Object]', 'special');\n    }\n  }\n\n  ctx.seen.push(value);\n\n  var output;\n  if (array) {\n    output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n  } else {\n    output = keys.map(function(key) {\n      return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n    });\n  }\n\n  ctx.seen.pop();\n\n  return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n  if (isUndefined(value))\n    return ctx.stylize('undefined', 'undefined');\n  if (isString(value)) {\n    var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n                                             .replace(/'/g, \"\\\\'\")\n                                             .replace(/\\\\\"/g, '\"') + '\\'';\n    return ctx.stylize(simple, 'string');\n  }\n  if (isNumber(value))\n    return ctx.stylize('' + value, 'number');\n  if (isBoolean(value))\n    return ctx.stylize('' + value, 'boolean');\n  // For some reason typeof null is \"object\", so special case here.\n  if (isNull(value))\n    return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n  return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n  var output = [];\n  for (var i = 0, l = value.length; i < l; ++i) {\n    if (hasOwnProperty(value, String(i))) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          String(i), true));\n    } else {\n      output.push('');\n    }\n  }\n  keys.forEach(function(key) {\n    if (!key.match(/^\\d+$/)) {\n      output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n          key, true));\n    }\n  });\n  return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n  var name, str, desc;\n  desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n  if (desc.get) {\n    if (desc.set) {\n      str = ctx.stylize('[Getter/Setter]', 'special');\n    } else {\n      str = ctx.stylize('[Getter]', 'special');\n    }\n  } else {\n    if (desc.set) {\n      str = ctx.stylize('[Setter]', 'special');\n    }\n  }\n  if (!hasOwnProperty(visibleKeys, key)) {\n    name = '[' + key + ']';\n  }\n  if (!str) {\n    if (ctx.seen.indexOf(desc.value) < 0) {\n      if (isNull(recurseTimes)) {\n        str = formatValue(ctx, desc.value, null);\n      } else {\n        str = formatValue(ctx, desc.value, recurseTimes - 1);\n      }\n      if (str.indexOf('\\n') > -1) {\n        if (array) {\n          str = str.split('\\n').map(function(line) {\n            return '  ' + line;\n          }).join('\\n').slice(2);\n        } else {\n          str = '\\n' + str.split('\\n').map(function(line) {\n            return '   ' + line;\n          }).join('\\n');\n        }\n      }\n    } else {\n      str = ctx.stylize('[Circular]', 'special');\n    }\n  }\n  if (isUndefined(name)) {\n    if (array && key.match(/^\\d+$/)) {\n      return str;\n    }\n    name = JSON.stringify('' + key);\n    if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n      name = name.slice(1, -1);\n      name = ctx.stylize(name, 'name');\n    } else {\n      name = name.replace(/'/g, \"\\\\'\")\n                 .replace(/\\\\\"/g, '\"')\n                 .replace(/(^\"|\"$)/g, \"'\");\n      name = ctx.stylize(name, 'string');\n    }\n  }\n\n  return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n  var numLinesEst = 0;\n  var length = output.reduce(function(prev, cur) {\n    numLinesEst++;\n    if (cur.indexOf('\\n') >= 0) numLinesEst++;\n    return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n  }, 0);\n\n  if (length > 60) {\n    return braces[0] +\n           (base === '' ? '' : base + '\\n ') +\n           ' ' +\n           output.join(',\\n  ') +\n           ' ' +\n           braces[1];\n  }\n\n  return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n  return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n  return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n  return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n  return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n  return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n  return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n  return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n  return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n  return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n  return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n  return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n  return isObject(e) &&\n      (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n  return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n  return arg === null ||\n         typeof arg === 'boolean' ||\n         typeof arg === 'number' ||\n         typeof arg === 'string' ||\n         typeof arg === 'symbol' ||  // ES6 symbol\n         typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n  return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n  return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n              'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n  var d = new Date();\n  var time = [pad(d.getHours()),\n              pad(d.getMinutes()),\n              pad(d.getSeconds())].join(':');\n  return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n  console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n *     prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n  // Don't do anything if add isn't an object\n  if (!add || !isObject(add)) return origin;\n\n  var keys = Object.keys(add);\n  var i = keys.length;\n  while (i--) {\n    origin[keys[i]] = add[keys[i]];\n  }\n  return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n  return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n  if (typeof original !== 'function')\n    throw new TypeError('The \"original\" argument must be of type Function');\n\n  if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n    var fn = original[kCustomPromisifiedSymbol];\n    if (typeof fn !== 'function') {\n      throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n    }\n    Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n      value: fn, enumerable: false, writable: false, configurable: true\n    });\n    return fn;\n  }\n\n  function fn() {\n    var promiseResolve, promiseReject;\n    var promise = new Promise(function (resolve, reject) {\n      promiseResolve = resolve;\n      promiseReject = reject;\n    });\n\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n    args.push(function (err, value) {\n      if (err) {\n        promiseReject(err);\n      } else {\n        promiseResolve(value);\n      }\n    });\n\n    try {\n      original.apply(this, args);\n    } catch (err) {\n      promiseReject(err);\n    }\n\n    return promise;\n  }\n\n  Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n  if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n    value: fn, enumerable: false, writable: false, configurable: true\n  });\n  return Object.defineProperties(\n    fn,\n    getOwnPropertyDescriptors(original)\n  );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n  // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n  // Because `null` is a special error value in callbacks which means \"no error\n  // occurred\", we error-wrap so the callback consumer can distinguish between\n  // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n  if (!reason) {\n    var newReason = new Error('Promise was rejected with a falsy value');\n    newReason.reason = reason;\n    reason = newReason;\n  }\n  return cb(reason);\n}\n\nfunction callbackify(original) {\n  if (typeof original !== 'function') {\n    throw new TypeError('The \"original\" argument must be of type Function');\n  }\n\n  // We DO NOT return the promise as it gives the user a false sense that\n  // the promise is actually somehow related to the callback's execution\n  // and that the callback throwing will reject the promise.\n  function callbackified() {\n    var args = [];\n    for (var i = 0; i < arguments.length; i++) {\n      args.push(arguments[i]);\n    }\n\n    var maybeCb = args.pop();\n    if (typeof maybeCb !== 'function') {\n      throw new TypeError('The last argument must be of type Function');\n    }\n    var self = this;\n    var cb = function() {\n      return maybeCb.apply(self, arguments);\n    };\n    // In true node style we process the callback on `nextTick` with all the\n    // implications (stack, `uncaughtException`, `async_hooks`)\n    original.apply(this, args)\n      .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n            function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n  }\n\n  Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n  Object.defineProperties(callbackified,\n                          getOwnPropertyDescriptors(original));\n  return callbackified;\n}\nexports.callbackify = callbackify;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","// This file is just added for convenience so this repository can be\n// directly checked out into a project's deps folder\nmodule.exports = require('./lib/xmldoc');\n","(function () {\n  var sax;\n\n  if (\n    typeof module !== \"undefined\" &&\n    module.exports &&\n    !global.xmldocAssumeBrowser\n  ) {\n    // We're being used in a Node-like environment\n    sax = require(\"sax\");\n  } else {\n    // assume it's attached to the Window object in a browser\n    sax = this.sax;\n\n    if (!sax) {\n      // no sax for you!\n      throw new Error(\n        \"Expected sax to be defined. Make sure you're including sax.js before this file.\",\n      );\n    }\n  }\n\n  /*\n   * XmlElement is our basic building block. Everything is an XmlElement; even XmlDocument\n   * behaves like an XmlElement by inheriting its attributes and functions.\n   */\n\n  function XmlElement(tag) {\n    // Capture the parser object off of the XmlDocument delegate\n    var parser = delegates[delegates.length - 1].parser;\n\n    this.name = tag.name;\n    this.attr = tag.attributes;\n    this.val = \"\";\n    this.children = [];\n    this.firstChild = null;\n    this.lastChild = null;\n\n    // Assign parse information\n    this.line = parser.line;\n    this.column = parser.column;\n    this.position = parser.position;\n    this.startTagPosition = parser.startTagPosition;\n  }\n\n  // Private methods\n\n  XmlElement.prototype._addChild = function (child) {\n    // add to our children array\n    this.children.push(child);\n\n    // update first/last pointers\n    if (!this.firstChild) this.firstChild = child;\n    this.lastChild = child;\n  };\n\n  // SaxParser handlers\n\n  XmlElement.prototype._opentag = function (tag) {\n    var child = new XmlElement(tag);\n\n    this._addChild(child);\n\n    delegates.unshift(child);\n  };\n\n  XmlElement.prototype._closetag = function () {\n    delegates.shift();\n  };\n\n  XmlElement.prototype._text = function (text) {\n    if (typeof this.children === \"undefined\") return;\n\n    this.val += text;\n\n    this._addChild(new XmlTextNode(text));\n  };\n\n  XmlElement.prototype._cdata = function (cdata) {\n    this.val += cdata;\n\n    this._addChild(new XmlCDataNode(cdata));\n  };\n\n  XmlElement.prototype._comment = function (comment) {\n    if (typeof this.children === \"undefined\") return;\n\n    this._addChild(new XmlCommentNode(comment));\n  };\n\n  XmlElement.prototype._error = function (err) {\n    throw err;\n  };\n\n  // Useful functions\n\n  XmlElement.prototype.eachChild = function (iterator, context) {\n    for (var i = 0, l = this.children.length; i < l; i++)\n      if (this.children[i].type === \"element\")\n        if (\n          iterator.call(context, this.children[i], i, this.children) === false\n        )\n          return;\n  };\n\n  XmlElement.prototype.childNamed = function (name) {\n    for (var i = 0, l = this.children.length; i < l; i++) {\n      var child = this.children[i];\n      if (child.name === name) return child;\n    }\n    return undefined;\n  };\n\n  XmlElement.prototype.childrenNamed = function (name) {\n    var matches = [];\n\n    for (var i = 0, l = this.children.length; i < l; i++)\n      if (this.children[i].name === name) matches.push(this.children[i]);\n\n    return matches;\n  };\n\n  XmlElement.prototype.childWithAttribute = function (name, value) {\n    for (var i = 0, l = this.children.length; i < l; i++) {\n      var child = this.children[i];\n      if (\n        child.type === \"element\" &&\n        ((value && child.attr[name] === value) || (!value && child.attr[name]))\n      )\n        return child;\n    }\n    return undefined;\n  };\n  \n  XmlElement.prototype.descendantsNamed = function (name) {\n     var matches = [];\n\n     for (var i = 0, l = this.children.length; i < l; i++) {\n       var child = this.children[i];\n       if (child.type === \"element\") {\n         if (child.name === name) matches.push(child);\n         matches = matches.concat(child.descendantsNamed(name));\n       }\n     }\n\n     return matches;\n   };\n\n  XmlElement.prototype.descendantWithPath = function (path) {\n    var descendant = this;\n    var components = path.split(\".\");\n\n    for (var i = 0, l = components.length; i < l; i++)\n      if (descendant && descendant.type === \"element\")\n        descendant = descendant.childNamed(components[i]);\n      else return undefined;\n\n    return descendant;\n  };\n\n  XmlElement.prototype.valueWithPath = function (path) {\n    var components = path.split(\"@\");\n    var descendant = this.descendantWithPath(components[0]);\n    if (descendant)\n      return components.length > 1\n        ? descendant.attr[components[1]]\n        : descendant.val;\n    else return undefined;\n  };\n\n  // String formatting (for debugging)\n\n  XmlElement.prototype.toString = function (options) {\n    return this.toStringWithIndent(\"\", options);\n  };\n\n  XmlElement.prototype.toStringWithIndent = function (indent, options) {\n    var s = indent + \"<\" + this.name;\n    var linebreak = options && options.compressed ? \"\" : \"\\n\";\n    var preserveWhitespace = options && options.preserveWhitespace;\n\n    for (var name in this.attr)\n      if (Object.prototype.hasOwnProperty.call(this.attr, name))\n        s += \" \" + name + '=\"' + escapeXML(this.attr[name]) + '\"';\n\n    if (this.children.length === 1 && this.children[0].type !== \"element\") {\n      s += \">\" + this.children[0].toString(options) + \"</\" + this.name + \">\";\n    } else if (this.children.length) {\n      s += \">\" + linebreak;\n\n      var childIndent = indent + (options && options.compressed ? \"\" : \"  \");\n\n      for (var i = 0, l = this.children.length; i < l; i++) {\n        s +=\n          this.children[i].toStringWithIndent(childIndent, options) + linebreak;\n      }\n\n      s += indent + \"</\" + this.name + \">\";\n    } else if (options && options.html) {\n      var whiteList = [\n        \"area\",\n        \"base\",\n        \"br\",\n        \"col\",\n        \"embed\",\n        \"frame\",\n        \"hr\",\n        \"img\",\n        \"input\",\n        \"keygen\",\n        \"link\",\n        \"menuitem\",\n        \"meta\",\n        \"param\",\n        \"source\",\n        \"track\",\n        \"wbr\",\n      ];\n      if (whiteList.indexOf(this.name) !== -1) s += \"/>\";\n      else s += \"></\" + this.name + \">\";\n    } else {\n      s += \"/>\";\n    }\n\n    return s;\n  };\n\n  // Alternative XML nodes\n\n  function XmlTextNode(text) {\n    this.text = text;\n  }\n\n  XmlTextNode.prototype.toString = function (options) {\n    return formatText(escapeXML(this.text), options);\n  };\n\n  XmlTextNode.prototype.toStringWithIndent = function (indent, options) {\n    return indent + this.toString(options);\n  };\n\n  function XmlCDataNode(cdata) {\n    this.cdata = cdata;\n  }\n\n  XmlCDataNode.prototype.toString = function (options) {\n    return \"<![CDATA[\" + formatText(this.cdata, options) + \"]]>\";\n  };\n\n  XmlCDataNode.prototype.toStringWithIndent = function (indent, options) {\n    return indent + this.toString(options);\n  };\n\n  function XmlCommentNode(comment) {\n    this.comment = comment;\n  }\n\n  XmlCommentNode.prototype.toString = function (options) {\n    return \"<!--\" + formatText(escapeXML(this.comment), options) + \"-->\";\n  };\n\n  XmlCommentNode.prototype.toStringWithIndent = function (indent, options) {\n    return indent + this.toString(options);\n  };\n\n  // Node type tag\n\n  XmlElement.prototype.type = \"element\";\n  XmlTextNode.prototype.type = \"text\";\n  XmlCDataNode.prototype.type = \"cdata\";\n  XmlCommentNode.prototype.type = \"comment\";\n\n  /*\n   * XmlDocument is the class we expose to the user; it uses the sax parser to create a hierarchy\n   * of XmlElements.\n   */\n\n  function XmlDocument(xml) {\n    xml && (xml = xml.toString().trim());\n\n    if (!xml) throw new Error(\"No XML to parse!\");\n\n    // Stores doctype (if defined)\n    this.doctype = \"\";\n\n    // Expose the parser to the other delegates while the parser is running\n    this.parser = sax.parser(true); // strict\n    addParserEvents(this.parser);\n\n    // We'll use the file-scoped \"delegates\" var to remember what elements we're currently\n    // parsing; they will push and pop off the stack as we get deeper into the XML hierarchy.\n    // It's safe to use a global because JS is single-threaded.\n    delegates = [this];\n\n    this.parser.write(xml);\n\n    // Remove the parser as it is no longer needed and should not be exposed to clients\n    delete this.parser;\n  }\n\n  // make XmlDocument inherit XmlElement's methods\n  extend(XmlDocument.prototype, XmlElement.prototype);\n\n  XmlDocument.prototype._opentag = function (tag) {\n    if (typeof this.children === \"undefined\")\n      // the first tag we encounter should be the root - we'll \"become\" the root XmlElement\n      XmlElement.call(this, tag);\n    // all other tags will be the root element's children\n    else XmlElement.prototype._opentag.apply(this, arguments);\n  };\n\n  XmlDocument.prototype._doctype = function (doctype) {\n    this.doctype += doctype;\n  };\n\n  // file-scoped global stack of delegates\n  var delegates = null;\n\n  /*\n   * Helper functions\n   */\n\n  function addParserEvents(parser) {\n    parser.onopentag = parser_opentag;\n    parser.onclosetag = parser_closetag;\n    parser.ontext = parser_text;\n    parser.oncdata = parser_cdata;\n    parser.oncomment = parser_comment;\n    parser.ondoctype = parser_doctype;\n    parser.onerror = parser_error;\n  }\n\n  // create these closures and cache them by keeping them file-scoped\n  function parser_opentag() {\n    delegates[0] && delegates[0]._opentag.apply(delegates[0], arguments);\n  }\n  function parser_closetag() {\n    delegates[0] && delegates[0]._closetag.apply(delegates[0], arguments);\n  }\n  function parser_text() {\n    delegates[0] && delegates[0]._text.apply(delegates[0], arguments);\n  }\n  function parser_cdata() {\n    delegates[0] && delegates[0]._cdata.apply(delegates[0], arguments);\n  }\n  function parser_comment() {\n    delegates[0] && delegates[0]._comment.apply(delegates[0], arguments);\n  }\n  function parser_doctype() {\n    delegates[0] && delegates[0]._doctype.apply(delegates[0], arguments);\n  }\n  function parser_error() {\n    delegates[0] && delegates[0]._error.apply(delegates[0], arguments);\n  }\n\n  // a relatively standard extend method\n  function extend(destination, source) {\n    for (var prop in source)\n      if (source.hasOwnProperty(prop)) destination[prop] = source[prop];\n  }\n\n  // escapes XML entities like \"<\", \"&\", etc.\n  function escapeXML(value) {\n    return value\n      .toString()\n      .replace(/&/g, \"&amp;\")\n      .replace(/</g, \"&lt;\")\n      .replace(/>/g, \"&gt;\")\n      .replace(/'/g, \"&apos;\")\n      .replace(/\"/g, \"&quot;\");\n  }\n\n  // formats some text for debugging given a few options\n  function formatText(text, options) {\n    var finalText = text;\n\n    if (options && options.trimmed && text.length > 25) {\n      finalText = finalText.substring(0, 25).trim() + \"…\";\n    }\n\n    if (!(options && options.preserveWhitespace)) {\n      finalText = finalText.trim();\n    }\n\n    return finalText;\n  }\n\n  // Are we being used in a Node-like environment?\n  if (\n    typeof module !== \"undefined\" &&\n    module.exports &&\n    !global.xmldocAssumeBrowser\n  ) {\n    module.exports.XmlDocument = XmlDocument;\n    module.exports.XmlElement = XmlElement;\n    module.exports.XmlTextNode = XmlTextNode;\n    module.exports.XmlCDataNode = XmlCDataNode;\n    module.exports.XmlCommentNode = XmlCommentNode;\n  } else {\n    this.XmlDocument = XmlDocument;\n    this.XmlElement = XmlElement;\n    this.XmlTextNode = XmlTextNode;\n    this.XmlCDataNode = XmlCDataNode;\n    this.XmlCommentNode = XmlCommentNode;\n  }\n})();\n","'use strict';\r\n\r\n// Internet Explorer polyfills\r\nif (typeof window !== 'undefined' && !window.Promise) {\r\n\trequire('core-js/features/promise');\r\n}\r\nrequire('core-js/es/object/values');\r\n\r\nvar fetchUrl = function (url, headers) {\r\n\treturn new Promise(function (resolve, reject) {\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.open('GET', url, true);\r\n\t\tfor (var headerName in headers) {\r\n\t\t\txhr.setRequestHeader(headerName, headers[headerName]);\r\n\t\t}\r\n\t\txhr.responseType = 'arraybuffer';\r\n\r\n\t\txhr.onreadystatechange = function () {\r\n\t\t\tif (xhr.readyState !== 4) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar ok = xhr.status >= 200 && xhr.status < 300;\r\n\t\t\tif (!ok) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\treject(new TypeError('Failed to fetch (url: \"' + url + '\")'));\r\n\t\t\t\t}, 0);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\txhr.onload = function () {\r\n\t\t\tvar ok = xhr.status >= 200 && xhr.status < 300;\r\n\t\t\tif (ok) {\r\n\t\t\t\tresolve(xhr.response);\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\txhr.onerror = function () {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\treject(new TypeError('Network request failed (url: \"' + url + '\")'));\r\n\t\t\t}, 0);\r\n\t\t};\r\n\r\n\t\txhr.ontimeout = function () {\r\n\t\t\tsetTimeout(function () {\r\n\t\t\t\treject(new TypeError('Network request failed (url: \"' + url + '\")'));\r\n\t\t\t}, 0);\r\n\t\t};\r\n\r\n\t\txhr.send();\r\n\t});\r\n};\r\n\r\nfunction URLBrowserResolver(fs) {\r\n\tthis.fs = fs;\r\n\tthis.resolving = {};\r\n}\r\n\r\nURLBrowserResolver.prototype.resolve = function (url, headers) {\r\n\tif (!this.resolving[url]) {\r\n\t\tvar _this = this;\r\n\t\tthis.resolving[url] = new Promise(function (resolve, reject) {\r\n\t\t\tif (url.toLowerCase().indexOf('https://') === 0 || url.toLowerCase().indexOf('http://') === 0) {\r\n\t\t\t\tif (_this.fs.existsSync(url)) {\r\n\t\t\t\t\t// url was downloaded earlier\r\n\t\t\t\t\tresolve();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfetchUrl(url, headers).then(function (buffer) {\r\n\t\t\t\t\t\t_this.fs.writeFileSync(url, buffer);\r\n\t\t\t\t\t\tresolve();\r\n\t\t\t\t\t}, function (result) {\r\n\t\t\t\t\t\treject(result);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// cannot be resolved\r\n\t\t\t\tresolve();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\treturn this.resolving[url];\r\n}\r\n\r\nURLBrowserResolver.prototype.resolved = function () {\r\n\tvar _this = this;\r\n\treturn new Promise(function (resolve, reject) {\r\n\t\tPromise.all(Object.values(_this.resolving)).then(function () {\r\n\t\t\tresolve();\r\n\t\t}, function (result) {\r\n\t\t\treject(result);\r\n\t\t});\r\n\t});\r\n}\r\n\r\nmodule.exports = URLBrowserResolver;\r\n","'use strict';\r\n\r\nvar isFunction = require('../helpers').isFunction;\r\nvar isUndefined = require('../helpers').isUndefined;\r\nvar isNull = require('../helpers').isNull;\r\nvar FileSaver = require('file-saver');\r\nvar saveAs = FileSaver.saveAs;\r\n\r\nvar defaultClientFonts = {\r\n\tRoboto: {\r\n\t\tnormal: 'Roboto-Regular.ttf',\r\n\t\tbold: 'Roboto-Medium.ttf',\r\n\t\titalics: 'Roboto-Italic.ttf',\r\n\t\tbolditalics: 'Roboto-MediumItalic.ttf'\r\n\t}\r\n};\r\n\r\nfunction Document(docDefinition, tableLayouts, fonts, vfs) {\r\n\tthis.docDefinition = docDefinition;\r\n\tthis.tableLayouts = tableLayouts || null;\r\n\tthis.fonts = fonts || defaultClientFonts;\r\n\tthis.vfs = vfs;\r\n}\r\n\r\nfunction canCreatePdf() {\r\n\t// Ensure the browser provides the level of support needed\r\n\ttry {\r\n\t\tvar arr = new Uint8Array(1)\r\n\t\tvar proto = { foo: function () { return 42 } }\r\n\t\tObject.setPrototypeOf(proto, Uint8Array.prototype)\r\n\t\tObject.setPrototypeOf(arr, proto)\r\n\t\treturn arr.foo() === 42\r\n\t} catch (e) {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\nDocument.prototype._createDoc = function (options, cb) {\r\n\tvar getExtendedUrl = function (url) {\r\n\t\tif (typeof url === 'object') {\r\n\t\t\treturn { url: url.url, headers: url.headers };\r\n\t\t}\r\n\r\n\t\treturn { url: url, headers: {} };\r\n\t};\r\n\r\n\toptions = options || {};\r\n\tif (this.tableLayouts) {\r\n\t\toptions.tableLayouts = this.tableLayouts;\r\n\t}\r\n\r\n\tvar PdfPrinter = require('../printer');\r\n\r\n\tvar printer = new PdfPrinter(this.fonts);\r\n\trequire('fs').bindFS(this.vfs); // bind virtual file system to file system\r\n\r\n\tif (!isFunction(cb)) {\r\n\t\tvar doc = printer.createPdfKitDocument(this.docDefinition, options);\r\n\r\n\t\treturn doc;\r\n\t}\r\n\r\n\tvar URLBrowserResolver = require('./URLBrowserResolver');\r\n\tvar urlResolver = new URLBrowserResolver(require('fs'));\r\n\r\n\tfor (var font in this.fonts) {\r\n\t\tif (this.fonts.hasOwnProperty(font)) {\r\n\t\t\tif (this.fonts[font].normal) {\r\n\t\t\t\tif (Array.isArray(this.fonts[font].normal)) { // TrueType Collection\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].normal[0]);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].normal[0] = url.url;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].normal);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].normal = url.url;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.fonts[font].bold) {\r\n\t\t\t\tif (Array.isArray(this.fonts[font].bold)) { // TrueType Collection\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].bold[0]);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].bold[0] = url.url;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].bold);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].bold = url.url;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.fonts[font].italics) {\r\n\t\t\t\tif (Array.isArray(this.fonts[font].italics)) { // TrueType Collection\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].italics[0]);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].italics[0] = url.url;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].italics);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].italics = url.url;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this.fonts[font].bolditalics) {\r\n\t\t\t\tif (Array.isArray(this.fonts[font].bolditalics)) { // TrueType Collection\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].bolditalics[0]);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].bolditalics[0] = url.url;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar url = getExtendedUrl(this.fonts[font].bolditalics);\r\n\t\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\t\tthis.fonts[font].bolditalics = url.url;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (this.docDefinition.images) {\r\n\t\tfor (var image in this.docDefinition.images) {\r\n\t\t\tif (this.docDefinition.images.hasOwnProperty(image)) {\r\n\t\t\t\tvar url = getExtendedUrl(this.docDefinition.images[image]);\r\n\t\t\t\turlResolver.resolve(url.url, url.headers);\r\n\t\t\t\tthis.docDefinition.images[image] = url.url;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tvar _this = this;\r\n\r\n\turlResolver.resolved().then(function () {\r\n\t\tvar doc = printer.createPdfKitDocument(_this.docDefinition, options);\r\n\r\n\t\tcb(doc);\r\n\t}, function (result) {\r\n\t\tthrow result;\r\n\t});\r\n};\r\n\r\nDocument.prototype._flushDoc = function (doc, callback) {\r\n\tvar chunks = [];\r\n\tvar result;\r\n\r\n\tdoc.on('readable', function () {\r\n\t\tvar chunk;\r\n\t\twhile ((chunk = doc.read(9007199254740991)) !== null) {\r\n\t\t\tchunks.push(chunk);\r\n\t\t}\r\n\t});\r\n\tdoc.on('end', function () {\r\n\t\tresult = Buffer.concat(chunks);\r\n\t\tcallback(result, doc._pdfMakePages);\r\n\t});\r\n\tdoc.end();\r\n};\r\n\r\nDocument.prototype._getPages = function (options, cb) {\r\n\tif (!cb) {\r\n\t\tthrow '_getPages is an async method and needs a callback argument';\r\n\t}\r\n\tvar _this = this;\r\n\r\n\tthis._createDoc(options, function (doc) {\r\n\t\t_this._flushDoc(doc, function (ignoreBuffer, pages) {\r\n\t\t\tcb(pages);\r\n\t\t});\r\n\t});\r\n};\r\n\r\nDocument.prototype._bufferToBlob = function (buffer) {\r\n\tvar blob;\r\n\ttry {\r\n\t\tblob = new Blob([buffer], { type: 'application/pdf' });\r\n\t} catch (e) {\r\n\t\t// Old browser which can't handle it without making it an byte array (ie10)\r\n\t\tif (e.name === 'InvalidStateError') {\r\n\t\t\tvar byteArray = new Uint8Array(buffer);\r\n\t\t\tblob = new Blob([byteArray.buffer], { type: 'application/pdf' });\r\n\t\t}\r\n\t}\r\n\r\n\tif (!blob) {\r\n\t\tthrow 'Could not generate blob';\r\n\t}\r\n\r\n\treturn blob;\r\n};\r\n\r\nDocument.prototype._openWindow = function () {\r\n\t// we have to open the window immediately and store the reference\r\n\t// otherwise popup blockers will stop us\r\n\tvar win = window.open('', '_blank');\r\n\tif (win === null) {\r\n\t\tthrow 'Open PDF in new window blocked by browser';\r\n\t}\r\n\r\n\treturn win;\r\n};\r\n\r\nDocument.prototype._openPdf = function (options, win) {\r\n\tif (!win) {\r\n\t\twin = this._openWindow();\r\n\t}\r\n\ttry {\r\n\t\tthis.getBlob(function (result) {\r\n\t\t\tvar urlCreator = window.URL || window.webkitURL;\r\n\t\t\tvar pdfUrl = urlCreator.createObjectURL(result);\r\n\t\t\twin.location.href = pdfUrl;\r\n\r\n\t\t\t/* temporarily disabled\r\n\t\t\tif (win !== window) {\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\tif (isNull(win.window)) { // is closed by AdBlock\r\n\t\t\t\t\t\twindow.location.href = pdfUrl; // open in actual window\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 500);\r\n\t\t\t}\r\n\t\t\t*/\r\n\t\t}, options);\r\n\t} catch (e) {\r\n\t\twin.close();\r\n\t\tthrow e;\r\n\t}\r\n};\r\n\r\nDocument.prototype.open = function (options, win) {\r\n\toptions = options || {};\r\n\toptions.autoPrint = false;\r\n\twin = win || null;\r\n\r\n\tthis._openPdf(options, win);\r\n};\r\n\r\n\r\nDocument.prototype.print = function (options, win) {\r\n\toptions = options || {};\r\n\toptions.autoPrint = true;\r\n\twin = win || null;\r\n\r\n\tthis._openPdf(options, win);\r\n};\r\n\r\n/**\r\n * download(defaultFileName = 'file.pdf', cb = null, options = {})\r\n * or\r\n * download(cb, options = {})\r\n */\r\nDocument.prototype.download = function (defaultFileName, cb, options) {\r\n\tif (isFunction(defaultFileName)) {\r\n\t\tif (!isUndefined(cb)) {\r\n\t\t\toptions = cb;\r\n\t\t}\r\n\t\tcb = defaultFileName;\r\n\t\tdefaultFileName = null;\r\n\t}\r\n\r\n\tdefaultFileName = defaultFileName || 'file.pdf';\r\n\tthis.getBlob(function (result) {\r\n\t\tsaveAs(result, defaultFileName);\r\n\r\n\t\tif (isFunction(cb)) {\r\n\t\t\tcb();\r\n\t\t}\r\n\t}, options);\r\n};\r\n\r\nDocument.prototype.getBase64 = function (cb, options) {\r\n\tif (!cb) {\r\n\t\tthrow 'getBase64 is an async method and needs a callback argument';\r\n\t}\r\n\tthis.getBuffer(function (buffer) {\r\n\t\tcb(buffer.toString('base64'));\r\n\t}, options);\r\n};\r\n\r\nDocument.prototype.getDataUrl = function (cb, options) {\r\n\tif (!cb) {\r\n\t\tthrow 'getDataUrl is an async method and needs a callback argument';\r\n\t}\r\n\tthis.getBuffer(function (buffer) {\r\n\t\tcb('data:application/pdf;base64,' + buffer.toString('base64'));\r\n\t}, options);\r\n};\r\n\r\nDocument.prototype.getBlob = function (cb, options) {\r\n\tif (!cb) {\r\n\t\tthrow 'getBlob is an async method and needs a callback argument';\r\n\t}\r\n\tvar that = this;\r\n\tthis.getBuffer(function (result) {\r\n\t\tvar blob = that._bufferToBlob(result);\r\n\t\tcb(blob);\r\n\t}, options);\r\n};\r\n\r\nDocument.prototype.getBuffer = function (cb, options) {\r\n\tif (!cb) {\r\n\t\tthrow 'getBuffer is an async method and needs a callback argument';\r\n\t}\r\n\r\n\tvar _this = this;\r\n\r\n\tthis._createDoc(options, function (doc) {\r\n\t\t_this._flushDoc(doc, function (buffer) {\r\n\t\t\tcb(buffer);\r\n\t\t});\r\n\t});\r\n};\r\n\r\nDocument.prototype.getStream = function (options, cb) {\r\n\tif (!isFunction(cb)) {\r\n\t\tvar doc = this._createDoc(options);\r\n\t\treturn doc;\r\n\t}\r\n\r\n\tthis._createDoc(options, function (doc) {\r\n\t\tcb(doc);\r\n\t});\r\n};\r\n\r\nmodule.exports = {\r\n\tcreatePdf: function (docDefinition, tableLayouts, fonts, vfs) {\r\n\t\tif (!canCreatePdf()) {\r\n\t\t\tthrow 'Your browser does not provide the level of support needed';\r\n\t\t}\r\n\t\treturn new Document(\r\n\t\t\tdocDefinition,\r\n\t\t\ttableLayouts || global.pdfMake.tableLayouts,\r\n\t\t\tfonts || global.pdfMake.fonts,\r\n\t\t\tvfs || global.pdfMake.vfs\r\n\t\t);\r\n\t}\r\n};\r\n","'use strict';\r\n\r\nfunction VirtualFileSystem() {\r\n\tthis.fileSystem = {};\r\n\tthis.dataSystem = {};\r\n}\r\n\r\nVirtualFileSystem.prototype.existsSync = function (filename) {\r\n\tfilename = fixFilename(filename);\r\n\treturn typeof this.fileSystem[filename] !== 'undefined'\r\n\t\t|| typeof this.dataSystem[filename] !== 'undefined';\r\n}\r\n\r\nVirtualFileSystem.prototype.readFileSync = function (filename, options) {\r\n\tfilename = fixFilename(filename);\r\n\r\n\tvar dataContent = this.dataSystem[filename];\r\n\tif (typeof dataContent === 'string' && options === 'utf8') {\r\n\t\treturn dataContent;\r\n\t}\r\n\r\n\tif (dataContent) {\r\n\t\treturn new Buffer(dataContent, typeof dataContent === 'string' ? 'base64' : undefined);\r\n\t}\r\n\r\n\tvar content = this.fileSystem[filename];\r\n\tif (content) {\r\n\t\treturn content;\r\n\t}\r\n\r\n\tthrow 'File \\'' + filename + '\\' not found in virtual file system';\r\n};\r\n\r\nVirtualFileSystem.prototype.writeFileSync = function (filename, content) {\r\n\tthis.fileSystem[fixFilename(filename)] = content;\r\n};\r\n\r\nVirtualFileSystem.prototype.bindFS = function (data) {\r\n\tthis.dataSystem = data || {};\r\n};\r\n\r\n\r\nfunction fixFilename(filename) {\r\n\tif (filename.indexOf(__dirname) === 0) {\r\n\t\tfilename = filename.substring(__dirname.length);\r\n\t}\r\n\r\n\tif (filename.indexOf('/') === 0) {\r\n\t\tfilename = filename.substring(1);\r\n\t}\r\n\r\n\treturn filename;\r\n}\r\n\r\nmodule.exports = new VirtualFileSystem();\r\n","'use strict';\r\n\r\nvar isString = require('./helpers').isString;\r\n\r\nfunction buildColumnWidths(columns, availableWidth) {\r\n\tvar autoColumns = [],\r\n\t\tautoMin = 0, autoMax = 0,\r\n\t\tstarColumns = [],\r\n\t\tstarMaxMin = 0,\r\n\t\tstarMaxMax = 0,\r\n\t\tfixedColumns = [],\r\n\t\tinitial_availableWidth = availableWidth;\r\n\r\n\tcolumns.forEach(function (column) {\r\n\t\tif (isAutoColumn(column)) {\r\n\t\t\tautoColumns.push(column);\r\n\t\t\tautoMin += column._minWidth;\r\n\t\t\tautoMax += column._maxWidth;\r\n\t\t} else if (isStarColumn(column)) {\r\n\t\t\tstarColumns.push(column);\r\n\t\t\tstarMaxMin = Math.max(starMaxMin, column._minWidth);\r\n\t\t\tstarMaxMax = Math.max(starMaxMax, column._maxWidth);\r\n\t\t} else {\r\n\t\t\tfixedColumns.push(column);\r\n\t\t}\r\n\t});\r\n\r\n\tfixedColumns.forEach(function (col) {\r\n\t\t// width specified as %\r\n\t\tif (isString(col.width) && /\\d+%/.test(col.width)) {\r\n\t\t\tcol.width = parseFloat(col.width) * initial_availableWidth / 100;\r\n\t\t}\r\n\t\tif (col.width < (col._minWidth) && col.elasticWidth) {\r\n\t\t\tcol._calcWidth = col._minWidth;\r\n\t\t} else {\r\n\t\t\tcol._calcWidth = col.width;\r\n\t\t}\r\n\r\n\t\tavailableWidth -= col._calcWidth;\r\n\t});\r\n\r\n\t// http://www.freesoft.org/CIE/RFC/1942/18.htm\r\n\t// http://www.w3.org/TR/CSS2/tables.html#width-layout\r\n\t// http://dev.w3.org/csswg/css3-tables-algorithms/Overview.src.htm\r\n\tvar minW = autoMin + starMaxMin * starColumns.length;\r\n\tvar maxW = autoMax + starMaxMax * starColumns.length;\r\n\tif (minW >= availableWidth) {\r\n\t\t// case 1 - there's no way to fit all columns within available width\r\n\t\t// that's actually pretty bad situation with PDF as we have no horizontal scroll\r\n\t\t// no easy workaround (unless we decide, in the future, to split single words)\r\n\t\t// currently we simply use minWidths for all columns\r\n\t\tautoColumns.forEach(function (col) {\r\n\t\t\tcol._calcWidth = col._minWidth;\r\n\t\t});\r\n\r\n\t\tstarColumns.forEach(function (col) {\r\n\t\t\tcol._calcWidth = starMaxMin; // starMaxMin already contains padding\r\n\t\t});\r\n\t} else {\r\n\t\tif (maxW < availableWidth) {\r\n\t\t\t// case 2 - we can fit rest of the table within available space\r\n\t\t\tautoColumns.forEach(function (col) {\r\n\t\t\t\tcol._calcWidth = col._maxWidth;\r\n\t\t\t\tavailableWidth -= col._calcWidth;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\t// maxW is too large, but minW fits within available width\r\n\t\t\tvar W = availableWidth - minW;\r\n\t\t\tvar D = maxW - minW;\r\n\r\n\t\t\tautoColumns.forEach(function (col) {\r\n\t\t\t\tvar d = col._maxWidth - col._minWidth;\r\n\t\t\t\tcol._calcWidth = col._minWidth + d * W / D;\r\n\t\t\t\tavailableWidth -= col._calcWidth;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (starColumns.length > 0) {\r\n\t\t\tvar starSize = availableWidth / starColumns.length;\r\n\r\n\t\t\tstarColumns.forEach(function (col) {\r\n\t\t\t\tcol._calcWidth = starSize;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction isAutoColumn(column) {\r\n\treturn column.width === 'auto';\r\n}\r\n\r\nfunction isStarColumn(column) {\r\n\treturn column.width === null || column.width === undefined || column.width === '*' || column.width === 'star';\r\n}\r\n\r\n//TODO: refactor and reuse in measureTable\r\nfunction measureMinMax(columns) {\r\n\tvar result = { min: 0, max: 0 };\r\n\r\n\tvar maxStar = { min: 0, max: 0 };\r\n\tvar starCount = 0;\r\n\r\n\tfor (var i = 0, l = columns.length; i < l; i++) {\r\n\t\tvar c = columns[i];\r\n\r\n\t\tif (isStarColumn(c)) {\r\n\t\t\tmaxStar.min = Math.max(maxStar.min, c._minWidth);\r\n\t\t\tmaxStar.max = Math.max(maxStar.max, c._maxWidth);\r\n\t\t\tstarCount++;\r\n\t\t} else if (isAutoColumn(c)) {\r\n\t\t\tresult.min += c._minWidth;\r\n\t\t\tresult.max += c._maxWidth;\r\n\t\t} else {\r\n\t\t\tresult.min += ((c.width !== undefined && c.width) || c._minWidth);\r\n\t\t\tresult.max += ((c.width !== undefined && c.width) || c._maxWidth);\r\n\t\t}\r\n\t}\r\n\r\n\tif (starCount) {\r\n\t\tresult.min += starCount * maxStar.min;\r\n\t\tresult.max += starCount * maxStar.max;\r\n\t}\r\n\r\n\treturn result;\r\n}\r\n\r\n/**\r\n * Calculates column widths\r\n * @private\r\n */\r\nmodule.exports = {\r\n\tbuildColumnWidths: buildColumnWidths,\r\n\tmeasureMinMax: measureMinMax,\r\n\tisAutoColumn: isAutoColumn,\r\n\tisStarColumn: isStarColumn\r\n};\r\n","/*eslint no-unused-vars: [\"error\", {\"args\": \"none\"}]*/\r\n\r\n'use strict';\r\n\r\nvar TextTools = require('./textTools');\r\nvar StyleContextStack = require('./styleContextStack');\r\nvar ColumnCalculator = require('./columnCalculator');\r\nvar isString = require('./helpers').isString;\r\nvar isNumber = require('./helpers').isNumber;\r\nvar isObject = require('./helpers').isObject;\r\nvar isArray = require('./helpers').isArray;\r\nvar fontStringify = require('./helpers').fontStringify;\r\nvar getNodeId = require('./helpers').getNodeId;\r\nvar pack = require('./helpers').pack;\r\nvar qrEncoder = require('./qrEnc.js');\r\n\r\n/**\r\n * @private\r\n */\r\nfunction DocMeasure(fontProvider, styleDictionary, defaultStyle, imageMeasure, svgMeasure, tableLayouts, images) {\r\n\tthis.textTools = new TextTools(fontProvider);\r\n\tthis.styleStack = new StyleContextStack(styleDictionary, defaultStyle);\r\n\tthis.imageMeasure = imageMeasure;\r\n\tthis.svgMeasure = svgMeasure;\r\n\tthis.tableLayouts = tableLayouts;\r\n\tthis.images = images;\r\n\tthis.autoImageIndex = 1;\r\n}\r\n\r\n/**\r\n * Measures all nodes and sets min/max-width properties required for the second\r\n * layout-pass.\r\n * @param  {Object} docStructure document-definition-object\r\n * @return {Object}              document-measurement-object\r\n */\r\nDocMeasure.prototype.measureDocument = function (docStructure) {\r\n\treturn this.measureNode(docStructure);\r\n};\r\n\r\nDocMeasure.prototype.measureNode = function (node) {\r\n\r\n\tvar self = this;\r\n\r\n\treturn this.styleStack.auto(node, function () {\r\n\t\t// TODO: refactor + rethink whether this is the proper way to handle margins\r\n\t\tnode._margin = getNodeMargin(node);\r\n\r\n\t\tif (node.columns) {\r\n\t\t\treturn extendMargins(self.measureColumns(node));\r\n\t\t} else if (node.stack) {\r\n\t\t\treturn extendMargins(self.measureVerticalContainer(node));\r\n\t\t} else if (node.ul) {\r\n\t\t\treturn extendMargins(self.measureUnorderedList(node));\r\n\t\t} else if (node.ol) {\r\n\t\t\treturn extendMargins(self.measureOrderedList(node));\r\n\t\t} else if (node.table) {\r\n\t\t\treturn extendMargins(self.measureTable(node));\r\n\t\t} else if (node.text !== undefined) {\r\n\t\t\treturn extendMargins(self.measureLeaf(node));\r\n\t\t} else if (node.toc) {\r\n\t\t\treturn extendMargins(self.measureToc(node));\r\n\t\t} else if (node.image) {\r\n\t\t\treturn extendMargins(self.measureImage(node));\r\n\t\t} else if (node.svg) {\r\n\t\t\treturn extendMargins(self.measureSVG(node));\r\n\t\t} else if (node.canvas) {\r\n\t\t\treturn extendMargins(self.measureCanvas(node));\r\n\t\t} else if (node.qr) {\r\n\t\t\treturn extendMargins(self.measureQr(node));\r\n\t\t} else {\r\n\t\t\tthrow 'Unrecognized document structure: ' + JSON.stringify(node, fontStringify);\r\n\t\t}\r\n\t});\r\n\r\n\tfunction extendMargins(node) {\r\n\t\tvar margin = node._margin;\r\n\r\n\t\tif (margin) {\r\n\t\t\tnode._minWidth += margin[0] + margin[2];\r\n\t\t\tnode._maxWidth += margin[0] + margin[2];\r\n\t\t}\r\n\r\n\t\treturn node;\r\n\t}\r\n\r\n\tfunction getNodeMargin() {\r\n\r\n\t\tfunction processSingleMargins(node, currentMargin) {\r\n\t\t\tif (node.marginLeft || node.marginTop || node.marginRight || node.marginBottom) {\r\n\t\t\t\treturn [\r\n\t\t\t\t\tnode.marginLeft || currentMargin[0] || 0,\r\n\t\t\t\t\tnode.marginTop || currentMargin[1] || 0,\r\n\t\t\t\t\tnode.marginRight || currentMargin[2] || 0,\r\n\t\t\t\t\tnode.marginBottom || currentMargin[3] || 0\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t\treturn currentMargin;\r\n\t\t}\r\n\r\n\t\tfunction flattenStyleArray(styleArray) {\r\n\t\t\tvar flattenedStyles = {};\r\n\t\t\tfor (var i = styleArray.length - 1; i >= 0; i--) {\r\n\t\t\t\tvar styleName = styleArray[i];\r\n\t\t\t\tvar style = self.styleStack.styleDictionary[styleName];\r\n\t\t\t\tfor (var key in style) {\r\n\t\t\t\t\tif (style.hasOwnProperty(key)) {\r\n\t\t\t\t\t\tflattenedStyles[key] = style[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn flattenedStyles;\r\n\t\t}\r\n\r\n\t\tfunction convertMargin(margin) {\r\n\t\t\tif (isNumber(margin)) {\r\n\t\t\t\tmargin = [margin, margin, margin, margin];\r\n\t\t\t} else if (isArray(margin)) {\r\n\t\t\t\tif (margin.length === 2) {\r\n\t\t\t\t\tmargin = [margin[0], margin[1], margin[0], margin[1]];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn margin;\r\n\t\t}\r\n\r\n\t\tvar margin = [undefined, undefined, undefined, undefined];\r\n\r\n\t\tif (node.style) {\r\n\t\t\tvar styleArray = isArray(node.style) ? node.style : [node.style];\r\n\t\t\tvar flattenedStyleArray = flattenStyleArray(styleArray);\r\n\r\n\t\t\tif (flattenedStyleArray) {\r\n\t\t\t\tmargin = processSingleMargins(flattenedStyleArray, margin);\r\n\t\t\t}\r\n\r\n\t\t\tif (flattenedStyleArray.margin) {\r\n\t\t\t\tmargin = convertMargin(flattenedStyleArray.margin);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tmargin = processSingleMargins(node, margin);\r\n\r\n\t\tif (node.margin) {\r\n\t\t\tmargin = convertMargin(node.margin);\r\n\t\t}\r\n\r\n\t\tif (margin[0] === undefined && margin[1] === undefined && margin[2] === undefined && margin[3] === undefined) {\r\n\t\t\treturn null;\r\n\t\t} else {\r\n\t\t\treturn margin;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nDocMeasure.prototype.convertIfBase64Image = function (node) {\r\n\tif (/^data:image\\/(jpeg|jpg|png);base64,/.test(node.image)) {\r\n\t\tvar label = '$$pdfmake$$' + this.autoImageIndex++;\r\n\t\tthis.images[label] = node.image;\r\n\t\tnode.image = label;\r\n\t}\r\n};\r\n\r\nDocMeasure.prototype.measureImageWithDimensions = function (node, dimensions) {\r\n\tif (node.fit) {\r\n\t\tvar factor = (dimensions.width / dimensions.height > node.fit[0] / node.fit[1]) ? node.fit[0] / dimensions.width : node.fit[1] / dimensions.height;\r\n\t\tnode._width = node._minWidth = node._maxWidth = dimensions.width * factor;\r\n\t\tnode._height = dimensions.height * factor;\r\n\t} else {\r\n\t\tnode._width = node._minWidth = node._maxWidth = node.width || dimensions.width;\r\n\t\tnode._height = node.height || (dimensions.height * node._width / dimensions.width);\r\n\r\n\t\tif (isNumber(node.maxWidth) && node.maxWidth < node._width) {\r\n\t\t\tnode._width = node._minWidth = node._maxWidth = node.maxWidth;\r\n\t\t\tnode._height = node._width * dimensions.height / dimensions.width;\r\n\t\t}\r\n\r\n\t\tif (isNumber(node.maxHeight) && node.maxHeight < node._height) {\r\n\t\t\tnode._height = node.maxHeight;\r\n\t\t\tnode._width = node._minWidth = node._maxWidth = node._height * dimensions.width / dimensions.height;\r\n\t\t}\r\n\r\n\t\tif (isNumber(node.minWidth) && node.minWidth > node._width) {\r\n\t\t\tnode._width = node._minWidth = node._maxWidth = node.minWidth;\r\n\t\t\tnode._height = node._width * dimensions.height / dimensions.width;\r\n\t\t}\r\n\r\n\t\tif (isNumber(node.minHeight) && node.minHeight > node._height) {\r\n\t\t\tnode._height = node.minHeight;\r\n\t\t\tnode._width = node._minWidth = node._maxWidth = node._height * dimensions.width / dimensions.height;\r\n\t\t}\r\n\t}\r\n\r\n\tnode._alignment = this.styleStack.getProperty('alignment');\r\n};\r\n\r\nDocMeasure.prototype.measureImage = function (node) {\r\n\tif (this.images) {\r\n\t\tthis.convertIfBase64Image(node);\r\n\t}\r\n\r\n\tvar dimensions = this.imageMeasure.measureImage(node.image);\r\n\r\n\tthis.measureImageWithDimensions(node, dimensions);\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureSVG = function (node) {\r\n\r\n\tvar dimensions = this.svgMeasure.measureSVG(node.svg);\r\n\r\n\tthis.measureImageWithDimensions(node, dimensions);\r\n\r\n\tnode.font = this.styleStack.getProperty('font');\r\n\r\n\t// scale SVG based on final dimension\r\n\tnode.svg = this.svgMeasure.writeDimensions(node.svg, {\r\n\t\twidth: node._width,\r\n\t\theight: node._height\r\n\t});\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureLeaf = function (node) {\r\n\r\n\tif (node._textRef && node._textRef._textNodeRef.text) {\r\n\t\tnode.text = node._textRef._textNodeRef.text;\r\n\t}\r\n\r\n\t// Make sure style properties of the node itself are considered when building inlines.\r\n\t// We could also just pass [node] to buildInlines, but that fails for bullet points.\r\n\tvar styleStack = this.styleStack.clone();\r\n\tstyleStack.push(node);\r\n\r\n\tvar data = this.textTools.buildInlines(node.text, styleStack);\r\n\r\n\tnode._inlines = data.items;\r\n\tnode._minWidth = data.minWidth;\r\n\tnode._maxWidth = data.maxWidth;\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureToc = function (node) {\r\n\tif (node.toc.title) {\r\n\t\tnode.toc.title = this.measureNode(node.toc.title);\r\n\t}\r\n\r\n\tif (node.toc._items.length > 0) {\r\n\t\tvar body = [];\r\n\t\tvar textStyle = node.toc.textStyle || {};\r\n\t\tvar numberStyle = node.toc.numberStyle || textStyle;\r\n\t\tvar textMargin = node.toc.textMargin || [0, 0, 0, 0];\r\n\t\tfor (var i = 0, l = node.toc._items.length; i < l; i++) {\r\n\t\t\tvar item = node.toc._items[i];\r\n\t\t\tvar lineStyle = item._textNodeRef.tocStyle || textStyle;\r\n\t\t\tvar lineMargin = item._textNodeRef.tocMargin || textMargin;\r\n\t\t\tvar lineNumberStyle = item._textNodeRef.tocNumberStyle || numberStyle;\r\n\t\t\tvar destination = getNodeId(item._nodeRef);\r\n\t\t\tbody.push([\r\n\t\t\t\t{ text: item._textNodeRef.text, linkToDestination: destination, alignment: 'left', style: lineStyle, margin: lineMargin },\r\n\t\t\t\t{ text: '00000', linkToDestination: destination, alignment: 'right', _tocItemRef: item._nodeRef, style: lineNumberStyle, margin: [0, lineMargin[1], 0, lineMargin[3]] }\r\n\t\t\t]);\r\n\t\t}\r\n\r\n\r\n\t\tnode.toc._table = {\r\n\t\t\ttable: {\r\n\t\t\t\tdontBreakRows: true,\r\n\t\t\t\twidths: ['*', 'auto'],\r\n\t\t\t\tbody: body\r\n\t\t\t},\r\n\t\t\tlayout: 'noBorders'\r\n\t\t};\r\n\r\n\t\tnode.toc._table = this.measureNode(node.toc._table);\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureVerticalContainer = function (node) {\r\n\tvar items = node.stack;\r\n\r\n\tnode._minWidth = 0;\r\n\tnode._maxWidth = 0;\r\n\r\n\tfor (var i = 0, l = items.length; i < l; i++) {\r\n\t\titems[i] = this.measureNode(items[i]);\r\n\r\n\t\tnode._minWidth = Math.max(node._minWidth, items[i]._minWidth);\r\n\t\tnode._maxWidth = Math.max(node._maxWidth, items[i]._maxWidth);\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.gapSizeForList = function () {\r\n\treturn this.textTools.sizeOfString('9. ', this.styleStack);\r\n};\r\n\r\nDocMeasure.prototype.buildUnorderedMarker = function (styleStack, gapSize, type) {\r\n\tfunction buildDisc(gapSize, color) {\r\n\t\t// TODO: ascender-based calculations\r\n\t\tvar radius = gapSize.fontSize / 6;\r\n\t\treturn {\r\n\t\t\tcanvas: [{\r\n\t\t\t\tx: radius,\r\n\t\t\t\ty: (gapSize.height / gapSize.lineHeight) + gapSize.descender - gapSize.fontSize / 3,\r\n\t\t\t\tr1: radius,\r\n\t\t\t\tr2: radius,\r\n\t\t\t\ttype: 'ellipse',\r\n\t\t\t\tcolor: color\r\n\t\t\t}]\r\n\t\t};\r\n\t}\r\n\r\n\tfunction buildSquare(gapSize, color) {\r\n\t\t// TODO: ascender-based calculations\r\n\t\tvar size = gapSize.fontSize / 3;\r\n\t\treturn {\r\n\t\t\tcanvas: [{\r\n\t\t\t\tx: 0,\r\n\t\t\t\ty: (gapSize.height / gapSize.lineHeight) + gapSize.descender - (gapSize.fontSize / 3) - (size / 2),\r\n\t\t\t\th: size,\r\n\t\t\t\tw: size,\r\n\t\t\t\ttype: 'rect',\r\n\t\t\t\tcolor: color\r\n\t\t\t}]\r\n\t\t};\r\n\t}\r\n\r\n\tfunction buildCircle(gapSize, color) {\r\n\t\t// TODO: ascender-based calculations\r\n\t\tvar radius = gapSize.fontSize / 6;\r\n\t\treturn {\r\n\t\t\tcanvas: [{\r\n\t\t\t\tx: radius,\r\n\t\t\t\ty: (gapSize.height / gapSize.lineHeight) + gapSize.descender - gapSize.fontSize / 3,\r\n\t\t\t\tr1: radius,\r\n\t\t\t\tr2: radius,\r\n\t\t\t\ttype: 'ellipse',\r\n\t\t\t\tlineColor: color\r\n\t\t\t}]\r\n\t\t};\r\n\t}\r\n\r\n\tvar marker;\r\n\tvar color = styleStack.getProperty('markerColor') || styleStack.getProperty('color') || 'black';\r\n\r\n\tswitch (type) {\r\n\t\tcase 'circle':\r\n\t\t\tmarker = buildCircle(gapSize, color);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'square':\r\n\t\t\tmarker = buildSquare(gapSize, color);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'none':\r\n\t\t\tmarker = {};\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'disc':\r\n\t\tdefault:\r\n\t\t\tmarker = buildDisc(gapSize, color);\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tmarker._minWidth = marker._maxWidth = gapSize.width;\r\n\tmarker._minHeight = marker._maxHeight = gapSize.height;\r\n\r\n\treturn marker;\r\n};\r\n\r\nDocMeasure.prototype.buildOrderedMarker = function (counter, styleStack, type, separator) {\r\n\tfunction prepareAlpha(counter) {\r\n\t\tfunction toAlpha(num) {\r\n\t\t\treturn (num >= 26 ? toAlpha((num / 26 >> 0) - 1) : '') + 'abcdefghijklmnopqrstuvwxyz'[num % 26 >> 0];\r\n\t\t}\r\n\r\n\t\tif (counter < 1) {\r\n\t\t\treturn counter.toString();\r\n\t\t}\r\n\r\n\t\treturn toAlpha(counter - 1);\r\n\t}\r\n\r\n\tfunction prepareRoman(counter) {\r\n\t\tif (counter < 1 || counter > 4999) {\r\n\t\t\treturn counter.toString();\r\n\t\t}\r\n\t\tvar num = counter;\r\n\t\tvar lookup = { M: 1000, CM: 900, D: 500, CD: 400, C: 100, XC: 90, L: 50, XL: 40, X: 10, IX: 9, V: 5, IV: 4, I: 1 }, roman = '', i;\r\n\t\tfor (i in lookup) {\r\n\t\t\twhile (num >= lookup[i]) {\r\n\t\t\t\troman += i;\r\n\t\t\t\tnum -= lookup[i];\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn roman;\r\n\t}\r\n\r\n\tfunction prepareDecimal(counter) {\r\n\t\treturn counter.toString();\r\n\t}\r\n\r\n\tvar counterText;\r\n\tswitch (type) {\r\n\t\tcase 'none':\r\n\t\t\tcounterText = null;\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'upper-alpha':\r\n\t\t\tcounterText = prepareAlpha(counter).toUpperCase();\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'lower-alpha':\r\n\t\t\tcounterText = prepareAlpha(counter);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'upper-roman':\r\n\t\t\tcounterText = prepareRoman(counter);\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'lower-roman':\r\n\t\t\tcounterText = prepareRoman(counter).toLowerCase();\r\n\t\t\tbreak;\r\n\r\n\t\tcase 'decimal':\r\n\t\tdefault:\r\n\t\t\tcounterText = prepareDecimal(counter);\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tif (counterText === null) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\tif (separator) {\r\n\t\tif (isArray(separator)) {\r\n\t\t\tif (separator[0]) {\r\n\t\t\t\tcounterText = separator[0] + counterText;\r\n\t\t\t}\r\n\r\n\t\t\tif (separator[1]) {\r\n\t\t\t\tcounterText += separator[1];\r\n\t\t\t}\r\n\t\t\tcounterText += ' ';\r\n\t\t} else {\r\n\t\t\tcounterText += separator + ' ';\r\n\t\t}\r\n\t}\r\n\r\n\tvar textArray = { text: counterText };\r\n\tvar markerColor = styleStack.getProperty('markerColor');\r\n\tif (markerColor) {\r\n\t\ttextArray.color = markerColor;\r\n\t}\r\n\r\n\treturn { _inlines: this.textTools.buildInlines(textArray, styleStack).items };\r\n};\r\n\r\nDocMeasure.prototype.measureUnorderedList = function (node) {\r\n\tvar style = this.styleStack.clone();\r\n\tvar items = node.ul;\r\n\tnode.type = node.type || 'disc';\r\n\tnode._gapSize = this.gapSizeForList();\r\n\tnode._minWidth = 0;\r\n\tnode._maxWidth = 0;\r\n\r\n\tfor (var i = 0, l = items.length; i < l; i++) {\r\n\t\tvar item = items[i] = this.measureNode(items[i]);\r\n\r\n\t\tif (!item.ol && !item.ul) {\r\n\t\t\titem.listMarker = this.buildUnorderedMarker(style, node._gapSize, item.listType || node.type);\r\n\t\t}\r\n\r\n\t\tnode._minWidth = Math.max(node._minWidth, items[i]._minWidth + node._gapSize.width);\r\n\t\tnode._maxWidth = Math.max(node._maxWidth, items[i]._maxWidth + node._gapSize.width);\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureOrderedList = function (node) {\r\n\tvar style = this.styleStack.clone();\r\n\tvar items = node.ol;\r\n\tnode.type = node.type || 'decimal';\r\n\tnode.separator = node.separator || '.';\r\n\tnode.reversed = node.reversed || false;\r\n\tif (!isNumber(node.start)) {\r\n\t\tnode.start = node.reversed ? items.length : 1;\r\n\t}\r\n\tnode._gapSize = this.gapSizeForList();\r\n\tnode._minWidth = 0;\r\n\tnode._maxWidth = 0;\r\n\r\n\tvar counter = node.start;\r\n\tfor (var i = 0, l = items.length; i < l; i++) {\r\n\t\tvar item = items[i] = this.measureNode(items[i]);\r\n\r\n\t\tif (!item.ol && !item.ul) {\r\n\t\t\tvar counterValue = isNumber(item.counter) ? item.counter : counter;\r\n\t\t\titem.listMarker = this.buildOrderedMarker(counterValue, style, item.listType || node.type, node.separator);\r\n\t\t\tif (item.listMarker._inlines) {\r\n\t\t\t\tnode._gapSize.width = Math.max(node._gapSize.width, item.listMarker._inlines[0].width);\r\n\t\t\t}\r\n\t\t}  // TODO: else - nested lists numbering\r\n\r\n\t\tnode._minWidth = Math.max(node._minWidth, items[i]._minWidth);\r\n\t\tnode._maxWidth = Math.max(node._maxWidth, items[i]._maxWidth);\r\n\r\n\t\tif (node.reversed) {\r\n\t\t\tcounter--;\r\n\t\t} else {\r\n\t\t\tcounter++;\r\n\t\t}\r\n\t}\r\n\r\n\tnode._minWidth += node._gapSize.width;\r\n\tnode._maxWidth += node._gapSize.width;\r\n\r\n\tfor (var i = 0, l = items.length; i < l; i++) {\r\n\t\tvar item = items[i];\r\n\t\tif (!item.ol && !item.ul) {\r\n\t\t\titem.listMarker._minWidth = item.listMarker._maxWidth = node._gapSize.width;\r\n\t\t}\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureColumns = function (node) {\r\n\tvar columns = node.columns;\r\n\tnode._gap = this.styleStack.getProperty('columnGap') || 0;\r\n\r\n\tfor (var i = 0, l = columns.length; i < l; i++) {\r\n\t\tcolumns[i] = this.measureNode(columns[i]);\r\n\t}\r\n\r\n\tvar measures = ColumnCalculator.measureMinMax(columns);\r\n\r\n\tvar numGaps = (columns.length > 0) ? (columns.length - 1) : 0;\r\n\tnode._minWidth = measures.min + node._gap * numGaps;\r\n\tnode._maxWidth = measures.max + node._gap * numGaps;\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureTable = function (node) {\r\n\textendTableWidths(node);\r\n\tnode._layout = getLayout(this.tableLayouts);\r\n\tnode._offsets = getOffsets(node._layout);\r\n\r\n\tvar colSpans = [];\r\n\tvar col, row, cols, rows;\r\n\r\n\tfor (col = 0, cols = node.table.body[0].length; col < cols; col++) {\r\n\t\tvar c = node.table.widths[col];\r\n\t\tc._minWidth = 0;\r\n\t\tc._maxWidth = 0;\r\n\r\n\t\tfor (row = 0, rows = node.table.body.length; row < rows; row++) {\r\n\t\t\tvar rowData = node.table.body[row];\r\n\t\t\tvar data = rowData[col];\r\n\t\t\tif (data === undefined) {\r\n\t\t\t\tconsole.error('Malformed table row ', rowData, 'in node ', node);\r\n\t\t\t\tthrow 'Malformed table row, a cell is undefined.';\r\n\t\t\t}\r\n\t\t\tif (data === null) { // transform to object\r\n\t\t\t\tdata = '';\r\n\t\t\t}\r\n\r\n\t\t\tif (!data._span) {\r\n\t\t\t\tdata = rowData[col] = this.styleStack.auto(data, measureCb(this, data));\r\n\r\n\t\t\t\tif (data.colSpan && data.colSpan > 1) {\r\n\t\t\t\t\tmarkSpans(rowData, col, data.colSpan);\r\n\t\t\t\t\tcolSpans.push({ col: col, span: data.colSpan, minWidth: data._minWidth, maxWidth: data._maxWidth });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tc._minWidth = Math.max(c._minWidth, data._minWidth);\r\n\t\t\t\t\tc._maxWidth = Math.max(c._maxWidth, data._maxWidth);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (data.rowSpan && data.rowSpan > 1) {\r\n\t\t\t\tmarkVSpans(node.table, row, col, data.rowSpan);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\textendWidthsForColSpans();\r\n\r\n\tvar measures = ColumnCalculator.measureMinMax(node.table.widths);\r\n\r\n\tnode._minWidth = measures.min + node._offsets.total;\r\n\tnode._maxWidth = measures.max + node._offsets.total;\r\n\r\n\treturn node;\r\n\r\n\tfunction measureCb(_this, data) {\r\n\t\treturn function () {\r\n\t\t\tif (isObject(data)) {\r\n\t\t\t\tdata.fillColor = _this.styleStack.getProperty('fillColor');\r\n\t\t\t\tdata.fillOpacity = _this.styleStack.getProperty('fillOpacity');\r\n\t\t\t}\r\n\t\t\treturn _this.measureNode(data);\r\n\t\t};\r\n\t}\r\n\r\n\tfunction getLayout(tableLayouts) {\r\n\t\tvar layout = node.layout;\r\n\r\n\t\tif (isString(layout)) {\r\n\t\t\tlayout = tableLayouts[layout];\r\n\t\t}\r\n\r\n\t\tvar defaultLayout = {\r\n\t\t\thLineWidth: function (i, node) {\r\n\t\t\t\treturn 1;\r\n\t\t\t},\r\n\t\t\tvLineWidth: function (i, node) {\r\n\t\t\t\treturn 1;\r\n\t\t\t},\r\n\t\t\thLineColor: function (i, node) {\r\n\t\t\t\treturn 'black';\r\n\t\t\t},\r\n\t\t\tvLineColor: function (i, node) {\r\n\t\t\t\treturn 'black';\r\n\t\t\t},\r\n\t\t\thLineStyle: function (i, node) {\r\n\t\t\t\treturn null;\r\n\t\t\t},\r\n\t\t\tvLineStyle: function (i, node) {\r\n\t\t\t\treturn null;\r\n\t\t\t},\r\n\t\t\tpaddingLeft: function (i, node) {\r\n\t\t\t\treturn 4;\r\n\t\t\t},\r\n\t\t\tpaddingRight: function (i, node) {\r\n\t\t\t\treturn 4;\r\n\t\t\t},\r\n\t\t\tpaddingTop: function (i, node) {\r\n\t\t\t\treturn 2;\r\n\t\t\t},\r\n\t\t\tpaddingBottom: function (i, node) {\r\n\t\t\t\treturn 2;\r\n\t\t\t},\r\n\t\t\tfillColor: function (i, node) {\r\n\t\t\t\treturn null;\r\n\t\t\t},\r\n\t\t\tfillOpacity: function (i, node) {\r\n\t\t\t\treturn 1;\r\n\t\t\t},\r\n\t\t\tdefaultBorder: true\r\n\t\t};\r\n\r\n\t\treturn pack(defaultLayout, layout);\r\n\t}\r\n\r\n\tfunction getOffsets(layout) {\r\n\t\tvar offsets = [];\r\n\t\tvar totalOffset = 0;\r\n\t\tvar prevRightPadding = 0;\r\n\r\n\t\tfor (var i = 0, l = node.table.widths.length; i < l; i++) {\r\n\t\t\tvar lOffset = prevRightPadding + layout.vLineWidth(i, node) + layout.paddingLeft(i, node);\r\n\t\t\toffsets.push(lOffset);\r\n\t\t\ttotalOffset += lOffset;\r\n\t\t\tprevRightPadding = layout.paddingRight(i, node);\r\n\t\t}\r\n\r\n\t\ttotalOffset += prevRightPadding + layout.vLineWidth(node.table.widths.length, node);\r\n\r\n\t\treturn {\r\n\t\t\ttotal: totalOffset,\r\n\t\t\toffsets: offsets\r\n\t\t};\r\n\t}\r\n\r\n\tfunction extendWidthsForColSpans() {\r\n\t\tvar q, j;\r\n\r\n\t\tfor (var i = 0, l = colSpans.length; i < l; i++) {\r\n\t\t\tvar span = colSpans[i];\r\n\r\n\t\t\tvar currentMinMax = getMinMax(span.col, span.span, node._offsets);\r\n\t\t\tvar minDifference = span.minWidth - currentMinMax.minWidth;\r\n\t\t\tvar maxDifference = span.maxWidth - currentMinMax.maxWidth;\r\n\r\n\t\t\tif (minDifference > 0) {\r\n\t\t\t\tq = minDifference / span.span;\r\n\r\n\t\t\t\tfor (j = 0; j < span.span; j++) {\r\n\t\t\t\t\tnode.table.widths[span.col + j]._minWidth += q;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (maxDifference > 0) {\r\n\t\t\t\tq = maxDifference / span.span;\r\n\r\n\t\t\t\tfor (j = 0; j < span.span; j++) {\r\n\t\t\t\t\tnode.table.widths[span.col + j]._maxWidth += q;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getMinMax(col, span, offsets) {\r\n\t\tvar result = { minWidth: 0, maxWidth: 0 };\r\n\r\n\t\tfor (var i = 0; i < span; i++) {\r\n\t\t\tresult.minWidth += node.table.widths[col + i]._minWidth + (i ? offsets.offsets[col + i] : 0);\r\n\t\t\tresult.maxWidth += node.table.widths[col + i]._maxWidth + (i ? offsets.offsets[col + i] : 0);\r\n\t\t}\r\n\r\n\t\treturn result;\r\n\t}\r\n\r\n\tfunction markSpans(rowData, col, span) {\r\n\t\tfor (var i = 1; i < span; i++) {\r\n\t\t\trowData[col + i] = {\r\n\t\t\t\t_span: true,\r\n\t\t\t\t_minWidth: 0,\r\n\t\t\t\t_maxWidth: 0,\r\n\t\t\t\trowSpan: rowData[col].rowSpan\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\tfunction markVSpans(table, row, col, span) {\r\n\t\tfor (var i = 1; i < span; i++) {\r\n\t\t\ttable.body[row + i][col] = {\r\n\t\t\t\t_span: true,\r\n\t\t\t\t_minWidth: 0,\r\n\t\t\t\t_maxWidth: 0,\r\n\t\t\t\tfillColor: table.body[row][col].fillColor,\r\n\t\t\t\tfillOpacity: table.body[row][col].fillOpacity\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\tfunction extendTableWidths(node) {\r\n\t\tif (!node.table.widths) {\r\n\t\t\tnode.table.widths = 'auto';\r\n\t\t}\r\n\r\n\t\tif (isString(node.table.widths)) {\r\n\t\t\tnode.table.widths = [node.table.widths];\r\n\r\n\t\t\twhile (node.table.widths.length < node.table.body[0].length) {\r\n\t\t\t\tnode.table.widths.push(node.table.widths[node.table.widths.length - 1]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, l = node.table.widths.length; i < l; i++) {\r\n\t\t\tvar w = node.table.widths[i];\r\n\t\t\tif (isNumber(w) || isString(w)) {\r\n\t\t\t\tnode.table.widths[i] = { width: w };\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nDocMeasure.prototype.measureCanvas = function (node) {\r\n\tvar w = 0, h = 0;\r\n\r\n\tfor (var i = 0, l = node.canvas.length; i < l; i++) {\r\n\t\tvar vector = node.canvas[i];\r\n\r\n\t\tswitch (vector.type) {\r\n\t\t\tcase 'ellipse':\r\n\t\t\t\tw = Math.max(w, vector.x + vector.r1);\r\n\t\t\t\th = Math.max(h, vector.y + vector.r2);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'rect':\r\n\t\t\t\tw = Math.max(w, vector.x + vector.w);\r\n\t\t\t\th = Math.max(h, vector.y + vector.h);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'line':\r\n\t\t\t\tw = Math.max(w, vector.x1, vector.x2);\r\n\t\t\t\th = Math.max(h, vector.y1, vector.y2);\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'polyline':\r\n\t\t\t\tfor (var i2 = 0, l2 = vector.points.length; i2 < l2; i2++) {\r\n\t\t\t\t\tw = Math.max(w, vector.points[i2].x);\r\n\t\t\t\t\th = Math.max(h, vector.points[i2].y);\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tnode._minWidth = node._maxWidth = w;\r\n\tnode._minHeight = node._maxHeight = h;\r\n\tnode._alignment = this.styleStack.getProperty('alignment');\r\n\r\n\treturn node;\r\n};\r\n\r\nDocMeasure.prototype.measureQr = function (node) {\r\n\tnode = qrEncoder.measure(node);\r\n\tnode._alignment = this.styleStack.getProperty('alignment');\r\n\treturn node;\r\n};\r\n\r\nmodule.exports = DocMeasure;\r\n","'use strict';\r\n\r\nvar isString = require('./helpers').isString;\r\nvar isNumber = require('./helpers').isNumber;\r\nvar isBoolean = require('./helpers').isBoolean;\r\nvar isArray = require('./helpers').isArray;\r\nvar isUndefined = require('./helpers').isUndefined;\r\nvar fontStringify = require('./helpers').fontStringify;\r\n\r\nfunction DocPreprocessor() {\r\n\r\n}\r\n\r\nDocPreprocessor.prototype.preprocessDocument = function (docStructure) {\r\n\tthis.parentNode = null;\r\n\tthis.tocs = [];\r\n\tthis.nodeReferences = [];\r\n\treturn this.preprocessNode(docStructure);\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessNode = function (node) {\r\n\t// expand shortcuts and casting values\r\n\tif (isArray(node)) {\r\n\t\tnode = { stack: node };\r\n\t} else if (isString(node)) {\r\n\t\tnode = { text: node };\r\n\t} else if (isNumber(node) || isBoolean(node)) {\r\n\t\tnode = { text: node.toString() };\r\n\t} else if (node === undefined || node === null) {\r\n\t\tnode = { text: '' };\r\n\t} else if (Object.keys(node).length === 0) { // empty object\r\n\t\tnode = { text: '' };\r\n\t} else if ('text' in node && (node.text === undefined || node.text === null)) {\r\n\t\tnode.text = '';\r\n\t}\r\n\r\n\tif (node.columns) {\r\n\t\treturn this.preprocessColumns(node);\r\n\t} else if (node.stack) {\r\n\t\treturn this.preprocessVerticalContainer(node);\r\n\t} else if (node.ul) {\r\n\t\treturn this.preprocessList(node);\r\n\t} else if (node.ol) {\r\n\t\treturn this.preprocessList(node);\r\n\t} else if (node.table) {\r\n\t\treturn this.preprocessTable(node);\r\n\t} else if (node.text !== undefined) {\r\n\t\treturn this.preprocessText(node);\r\n\t} else if (node.toc) {\r\n\t\treturn this.preprocessToc(node);\r\n\t} else if (node.image) {\r\n\t\treturn this.preprocessImage(node);\r\n\t} else if (node.svg) {\r\n\t\treturn this.preprocessSVG(node);\r\n\t} else if (node.canvas) {\r\n\t\treturn this.preprocessCanvas(node);\r\n\t} else if (node.qr) {\r\n\t\treturn this.preprocessQr(node);\r\n\t} else if (node.pageReference || node.textReference) {\r\n\t\treturn this.preprocessText(node);\r\n\t} else {\r\n\t\tthrow 'Unrecognized document structure: ' + JSON.stringify(node, fontStringify);\r\n\t}\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessColumns = function (node) {\r\n\tvar columns = node.columns;\r\n\r\n\tfor (var i = 0, l = columns.length; i < l; i++) {\r\n\t\tcolumns[i] = this.preprocessNode(columns[i]);\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessVerticalContainer = function (node) {\r\n\tvar items = node.stack;\r\n\r\n\tfor (var i = 0, l = items.length; i < l; i++) {\r\n\t\titems[i] = this.preprocessNode(items[i]);\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessList = function (node) {\r\n\tvar items = node.ul || node.ol;\r\n\r\n\tfor (var i = 0, l = items.length; i < l; i++) {\r\n\t\titems[i] = this.preprocessNode(items[i]);\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessTable = function (node) {\r\n\tvar col, row, cols, rows;\r\n\r\n\tfor (col = 0, cols = node.table.body[0].length; col < cols; col++) {\r\n\t\tfor (row = 0, rows = node.table.body.length; row < rows; row++) {\r\n\t\t\tvar rowData = node.table.body[row];\r\n\t\t\tvar data = rowData[col];\r\n\t\t\tif (data !== undefined) {\r\n\t\t\t\tif (data === null) { // transform to object\r\n\t\t\t\t\tdata = '';\r\n\t\t\t\t}\r\n\t\t\t\tif (!data._span) {\r\n\t\t\t\t\trowData[col] = this.preprocessNode(data);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessText = function (node) {\r\n\tif (node.tocItem) {\r\n\t\tif (!isArray(node.tocItem)) {\r\n\t\t\tnode.tocItem = [node.tocItem];\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, l = node.tocItem.length; i < l; i++) {\r\n\t\t\tif (!isString(node.tocItem[i])) {\r\n\t\t\t\tnode.tocItem[i] = '_default_';\r\n\t\t\t}\r\n\r\n\t\t\tvar tocItemId = node.tocItem[i];\r\n\r\n\t\t\tif (!this.tocs[tocItemId]) {\r\n\t\t\t\tthis.tocs[tocItemId] = { toc: { _items: [], _pseudo: true } };\r\n\t\t\t}\r\n\r\n\t\t\tif (!node.id) {\r\n\t\t\t\tnode.id = 'toc-' + tocItemId + '-' + this.tocs[tocItemId].toc._items.length;\r\n\t\t\t}\r\n\r\n\t\t\tvar tocItemRef = {\r\n\t\t\t\t_nodeRef: this._getNodeForNodeRef(node),\r\n\t\t\t\t_textNodeRef: node\r\n\t\t\t};\r\n\t\t\tthis.tocs[tocItemId].toc._items.push(tocItemRef);\r\n\t\t}\r\n\t}\r\n\r\n\tif (node.id) {\r\n\t\tif (this.nodeReferences[node.id]) {\r\n\t\t\tif (!this.nodeReferences[node.id]._pseudo) {\r\n\t\t\t\tthrow \"Node id '\" + node.id + \"' already exists\";\r\n\t\t\t}\r\n\r\n\t\t\tthis.nodeReferences[node.id]._nodeRef = this._getNodeForNodeRef(node);\r\n\t\t\tthis.nodeReferences[node.id]._textNodeRef = node;\r\n\t\t\tthis.nodeReferences[node.id]._pseudo = false;\r\n\t\t} else {\r\n\t\t\tthis.nodeReferences[node.id] = {\r\n\t\t\t\t_nodeRef: this._getNodeForNodeRef(node),\r\n\t\t\t\t_textNodeRef: node\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\tif (node.pageReference) {\r\n\t\tif (!this.nodeReferences[node.pageReference]) {\r\n\t\t\tthis.nodeReferences[node.pageReference] = {\r\n\t\t\t\t_nodeRef: {},\r\n\t\t\t\t_textNodeRef: {},\r\n\t\t\t\t_pseudo: true\r\n\t\t\t};\r\n\t\t}\r\n\t\tnode.text = '00000';\r\n\t\tnode.linkToDestination = node.pageReference;\r\n\t\tnode._pageRef = this.nodeReferences[node.pageReference];\r\n\t}\r\n\r\n\tif (node.textReference) {\r\n\t\tif (!this.nodeReferences[node.textReference]) {\r\n\t\t\tthis.nodeReferences[node.textReference] = { _nodeRef: {}, _pseudo: true };\r\n\t\t}\r\n\r\n\t\tnode.text = '';\r\n\t\tnode.linkToDestination = node.textReference;\r\n\t\tnode._textRef = this.nodeReferences[node.textReference];\r\n\t}\r\n\r\n\tif (node.text && node.text.text) {\r\n\t\tnode.text = [this.preprocessNode(node.text)];\r\n\t} else if (isArray(node.text)) {\r\n\t\tvar isSetParentNode = false;\r\n\t\tif (this.parentNode === null) {\r\n\t\t\tthis.parentNode = node;\r\n\t\t\tisSetParentNode = true;\r\n\t\t}\r\n\r\n\t\tfor (var i = 0, l = node.text.length; i < l; i++) {\r\n\t\t\tnode.text[i] = this.preprocessNode(node.text[i]);\r\n\t\t}\r\n\r\n\t\tif (isSetParentNode) {\r\n\t\t\tthis.parentNode = null;\r\n\t\t}\r\n\t}\r\n\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessToc = function (node) {\r\n\tif (!node.toc.id) {\r\n\t\tnode.toc.id = '_default_';\r\n\t}\r\n\r\n\tnode.toc.title = node.toc.title ? this.preprocessNode(node.toc.title) : null;\r\n\tnode.toc._items = [];\r\n\r\n\tif (this.tocs[node.toc.id]) {\r\n\t\tif (!this.tocs[node.toc.id].toc._pseudo) {\r\n\t\t\tthrow \"TOC '\" + node.toc.id + \"' already exists\";\r\n\t\t}\r\n\r\n\t\tnode.toc._items = this.tocs[node.toc.id].toc._items;\r\n\t}\r\n\r\n\tthis.tocs[node.toc.id] = node;\r\n\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessImage = function (node) {\r\n\tif (!isUndefined(node.image.type) && !isUndefined(node.image.data) && (node.image.type === 'Buffer') && isArray(node.image.data)) {\r\n\t\tnode.image = Buffer.from(node.image.data);\r\n\t}\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessSVG = function (node) {\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessCanvas = function (node) {\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype.preprocessQr = function (node) {\r\n\treturn node;\r\n};\r\n\r\nDocPreprocessor.prototype._getNodeForNodeRef = function (node) {\r\n\tif (this.parentNode) {\r\n\t\treturn this.parentNode;\r\n\t}\r\n\r\n\treturn node;\r\n}\r\n\r\nmodule.exports = DocPreprocessor;\r\n","'use strict';\r\n\r\nvar TraversalTracker = require('./traversalTracker');\r\nvar isString = require('./helpers').isString;\r\n\r\n/**\r\n * Creates an instance of DocumentContext - a store for current x, y positions and available width/height.\r\n * It facilitates column divisions and vertical sync\r\n */\r\nfunction DocumentContext(pageSize, pageMargins) {\r\n\tthis.pages = [];\r\n\r\n\tthis.pageMargins = pageMargins;\r\n\r\n\tthis.x = pageMargins.left;\r\n\tthis.availableWidth = pageSize.width - pageMargins.left - pageMargins.right;\r\n\tthis.availableHeight = 0;\r\n\tthis.page = -1;\r\n\r\n\tthis.snapshots = [];\r\n\r\n\tthis.endingCell = null;\r\n\r\n\tthis.tracker = new TraversalTracker();\r\n\r\n\tthis.backgroundLength = [];\r\n\r\n\tthis.addPage(pageSize);\r\n}\r\n\r\nDocumentContext.prototype.beginColumnGroup = function () {\r\n\tthis.snapshots.push({\r\n\t\tx: this.x,\r\n\t\ty: this.y,\r\n\t\tavailableHeight: this.availableHeight,\r\n\t\tavailableWidth: this.availableWidth,\r\n\t\tpage: this.page,\r\n\t\tbottomMost: {\r\n\t\t\tx: this.x,\r\n\t\t\ty: this.y,\r\n\t\t\tavailableHeight: this.availableHeight,\r\n\t\t\tavailableWidth: this.availableWidth,\r\n\t\t\tpage: this.page\r\n\t\t},\r\n\t\tendingCell: this.endingCell,\r\n\t\tlastColumnWidth: this.lastColumnWidth\r\n\t});\r\n\r\n\tthis.lastColumnWidth = 0;\r\n};\r\n\r\nDocumentContext.prototype.beginColumn = function (width, offset, endingCell) {\r\n\tvar saved = this.snapshots[this.snapshots.length - 1];\r\n\r\n\tthis.calculateBottomMost(saved);\r\n\r\n\tthis.endingCell = endingCell;\r\n\tthis.page = saved.page;\r\n\tthis.x = this.x + this.lastColumnWidth + (offset || 0);\r\n\tthis.y = saved.y;\r\n\tthis.availableWidth = width;\t//saved.availableWidth - offset;\r\n\tthis.availableHeight = saved.availableHeight;\r\n\r\n\tthis.lastColumnWidth = width;\r\n};\r\n\r\nDocumentContext.prototype.calculateBottomMost = function (destContext) {\r\n\tif (this.endingCell) {\r\n\t\tthis.saveContextInEndingCell(this.endingCell);\r\n\t\tthis.endingCell = null;\r\n\t} else {\r\n\t\tdestContext.bottomMost = bottomMostContext(this, destContext.bottomMost);\r\n\t}\r\n};\r\n\r\nDocumentContext.prototype.markEnding = function (endingCell) {\r\n\tthis.page = endingCell._columnEndingContext.page;\r\n\tthis.x = endingCell._columnEndingContext.x;\r\n\tthis.y = endingCell._columnEndingContext.y;\r\n\tthis.availableWidth = endingCell._columnEndingContext.availableWidth;\r\n\tthis.availableHeight = endingCell._columnEndingContext.availableHeight;\r\n\tthis.lastColumnWidth = endingCell._columnEndingContext.lastColumnWidth;\r\n};\r\n\r\nDocumentContext.prototype.saveContextInEndingCell = function (endingCell) {\r\n\tendingCell._columnEndingContext = {\r\n\t\tpage: this.page,\r\n\t\tx: this.x,\r\n\t\ty: this.y,\r\n\t\tavailableHeight: this.availableHeight,\r\n\t\tavailableWidth: this.availableWidth,\r\n\t\tlastColumnWidth: this.lastColumnWidth\r\n\t};\r\n};\r\n\r\nDocumentContext.prototype.completeColumnGroup = function (height) {\r\n\tvar saved = this.snapshots.pop();\r\n\r\n\tthis.calculateBottomMost(saved);\r\n\r\n\tthis.endingCell = null;\r\n\tthis.x = saved.x;\r\n\r\n\tvar y = saved.bottomMost.y;\r\n\tif (height) {\r\n\t\tif (saved.page === saved.bottomMost.page) {\r\n\t\t\tif ((saved.y + height) > y) {\r\n\t\t\t\ty = saved.y + height;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\ty += height;\r\n\t\t}\r\n\t}\r\n\r\n\tthis.y = y;\r\n\tthis.page = saved.bottomMost.page;\r\n\tthis.availableWidth = saved.availableWidth;\r\n\tthis.availableHeight = saved.bottomMost.availableHeight;\r\n\tif (height) {\r\n\t\tthis.availableHeight -= (y - saved.bottomMost.y);\r\n\t}\r\n\tthis.lastColumnWidth = saved.lastColumnWidth;\r\n};\r\n\r\nDocumentContext.prototype.addMargin = function (left, right) {\r\n\tthis.x += left;\r\n\tthis.availableWidth -= left + (right || 0);\r\n};\r\n\r\nDocumentContext.prototype.moveDown = function (offset) {\r\n\tthis.y += offset;\r\n\tthis.availableHeight -= offset;\r\n\r\n\treturn this.availableHeight > 0;\r\n};\r\n\r\nDocumentContext.prototype.initializePage = function () {\r\n\tthis.y = this.pageMargins.top;\r\n\tthis.availableHeight = this.getCurrentPage().pageSize.height - this.pageMargins.top - this.pageMargins.bottom;\r\n\tthis.pageSnapshot().availableWidth = this.getCurrentPage().pageSize.width - this.pageMargins.left - this.pageMargins.right;\r\n};\r\n\r\nDocumentContext.prototype.pageSnapshot = function () {\r\n\tif (this.snapshots[0]) {\r\n\t\treturn this.snapshots[0];\r\n\t} else {\r\n\t\treturn this;\r\n\t}\r\n};\r\n\r\nDocumentContext.prototype.moveTo = function (x, y) {\r\n\tif (x !== undefined && x !== null) {\r\n\t\tthis.x = x;\r\n\t\tthis.availableWidth = this.getCurrentPage().pageSize.width - this.x - this.pageMargins.right;\r\n\t}\r\n\tif (y !== undefined && y !== null) {\r\n\t\tthis.y = y;\r\n\t\tthis.availableHeight = this.getCurrentPage().pageSize.height - this.y - this.pageMargins.bottom;\r\n\t}\r\n};\r\n\r\nDocumentContext.prototype.moveToRelative = function (x, y) {\r\n\tif (x !== undefined && x !== null) {\r\n\t\tthis.x = this.x + x;\r\n\t}\r\n\tif (y !== undefined && y !== null) {\r\n\t\tthis.y = this.y + y;\r\n\t}\r\n};\r\n\r\nDocumentContext.prototype.beginDetachedBlock = function () {\r\n\tthis.snapshots.push({\r\n\t\tx: this.x,\r\n\t\ty: this.y,\r\n\t\tavailableHeight: this.availableHeight,\r\n\t\tavailableWidth: this.availableWidth,\r\n\t\tpage: this.page,\r\n\t\tendingCell: this.endingCell,\r\n\t\tlastColumnWidth: this.lastColumnWidth\r\n\t});\r\n};\r\n\r\nDocumentContext.prototype.endDetachedBlock = function () {\r\n\tvar saved = this.snapshots.pop();\r\n\r\n\tthis.x = saved.x;\r\n\tthis.y = saved.y;\r\n\tthis.availableWidth = saved.availableWidth;\r\n\tthis.availableHeight = saved.availableHeight;\r\n\tthis.page = saved.page;\r\n\tthis.endingCell = saved.endingCell;\r\n\tthis.lastColumnWidth = saved.lastColumnWidth;\r\n};\r\n\r\nfunction pageOrientation(pageOrientationString, currentPageOrientation) {\r\n\tif (pageOrientationString === undefined) {\r\n\t\treturn currentPageOrientation;\r\n\t} else if (isString(pageOrientationString) && (pageOrientationString.toLowerCase() === 'landscape')) {\r\n\t\treturn 'landscape';\r\n\t} else {\r\n\t\treturn 'portrait';\r\n\t}\r\n}\r\n\r\nvar getPageSize = function (currentPage, newPageOrientation) {\r\n\r\n\tnewPageOrientation = pageOrientation(newPageOrientation, currentPage.pageSize.orientation);\r\n\r\n\tif (newPageOrientation !== currentPage.pageSize.orientation) {\r\n\t\treturn {\r\n\t\t\torientation: newPageOrientation,\r\n\t\t\twidth: currentPage.pageSize.height,\r\n\t\t\theight: currentPage.pageSize.width\r\n\t\t};\r\n\t} else {\r\n\t\treturn {\r\n\t\t\torientation: currentPage.pageSize.orientation,\r\n\t\t\twidth: currentPage.pageSize.width,\r\n\t\t\theight: currentPage.pageSize.height\r\n\t\t};\r\n\t}\r\n\r\n};\r\n\r\n\r\nDocumentContext.prototype.moveToNextPage = function (pageOrientation) {\r\n\tvar nextPageIndex = this.page + 1;\r\n\r\n\tvar prevPage = this.page;\r\n\tvar prevY = this.y;\r\n\r\n\tvar createNewPage = nextPageIndex >= this.pages.length;\r\n\tif (createNewPage) {\r\n\t\tvar currentAvailableWidth = this.availableWidth;\r\n\t\tvar currentPageOrientation = this.getCurrentPage().pageSize.orientation;\r\n\r\n\t\tvar pageSize = getPageSize(this.getCurrentPage(), pageOrientation);\r\n\t\tthis.addPage(pageSize);\r\n\r\n\t\tif (currentPageOrientation === pageSize.orientation) {\r\n\t\t\tthis.availableWidth = currentAvailableWidth;\r\n\t\t}\r\n\t} else {\r\n\t\tthis.page = nextPageIndex;\r\n\t\tthis.initializePage();\r\n\t}\r\n\r\n\treturn {\r\n\t\tnewPageCreated: createNewPage,\r\n\t\tprevPage: prevPage,\r\n\t\tprevY: prevY,\r\n\t\ty: this.y\r\n\t};\r\n};\r\n\r\n\r\nDocumentContext.prototype.addPage = function (pageSize) {\r\n\tvar page = { items: [], pageSize: pageSize };\r\n\tthis.pages.push(page);\r\n\tthis.backgroundLength.push(0);\r\n\tthis.page = this.pages.length - 1;\r\n\tthis.initializePage();\r\n\r\n\tthis.tracker.emit('pageAdded');\r\n\r\n\treturn page;\r\n};\r\n\r\nDocumentContext.prototype.getCurrentPage = function () {\r\n\tif (this.page < 0 || this.page >= this.pages.length) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn this.pages[this.page];\r\n};\r\n\r\nDocumentContext.prototype.getCurrentPosition = function () {\r\n\tvar pageSize = this.getCurrentPage().pageSize;\r\n\tvar innerHeight = pageSize.height - this.pageMargins.top - this.pageMargins.bottom;\r\n\tvar innerWidth = pageSize.width - this.pageMargins.left - this.pageMargins.right;\r\n\r\n\treturn {\r\n\t\tpageNumber: this.page + 1,\r\n\t\tpageOrientation: pageSize.orientation,\r\n\t\tpageInnerHeight: innerHeight,\r\n\t\tpageInnerWidth: innerWidth,\r\n\t\tleft: this.x,\r\n\t\ttop: this.y,\r\n\t\tverticalRatio: ((this.y - this.pageMargins.top) / innerHeight),\r\n\t\thorizontalRatio: ((this.x - this.pageMargins.left) / innerWidth)\r\n\t};\r\n};\r\n\r\nfunction bottomMostContext(c1, c2) {\r\n\tvar r;\r\n\r\n\tif (c1.page > c2.page) {\r\n\t\tr = c1;\r\n\t} else if (c2.page > c1.page) {\r\n\t\tr = c2;\r\n\t} else {\r\n\t\tr = (c1.y > c2.y) ? c1 : c2;\r\n\t}\r\n\r\n\treturn {\r\n\t\tpage: r.page,\r\n\t\tx: r.x,\r\n\t\ty: r.y,\r\n\t\tavailableHeight: r.availableHeight,\r\n\t\tavailableWidth: r.availableWidth\r\n\t};\r\n}\r\n\r\nmodule.exports = DocumentContext;\r\n","'use strict';\r\n\r\nvar Line = require('./line');\r\nvar isNumber = require('./helpers').isNumber;\r\nvar pack = require('./helpers').pack;\r\nvar offsetVector = require('./helpers').offsetVector;\r\nvar DocumentContext = require('./documentContext');\r\n\r\n/**\r\n * Creates an instance of ElementWriter - a line/vector writer, which adds\r\n * elements to current page and sets their positions based on the context\r\n */\r\nfunction ElementWriter(context, tracker) {\r\n\tthis.context = context;\r\n\tthis.contextStack = [];\r\n\tthis.tracker = tracker;\r\n}\r\n\r\nfunction addPageItem(page, item, index) {\r\n\tif (index === null || index === undefined || index < 0 || index > page.items.length) {\r\n\t\tpage.items.push(item);\r\n\t} else {\r\n\t\tpage.items.splice(index, 0, item);\r\n\t}\r\n}\r\n\r\nElementWriter.prototype.addLine = function (line, dontUpdateContextPosition, index) {\r\n\tvar height = line.getHeight();\r\n\tvar context = this.context;\r\n\tvar page = context.getCurrentPage(),\r\n\t\tposition = this.getCurrentPositionOnPage();\r\n\r\n\tif (context.availableHeight < height || !page) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tline.x = context.x + (line.x || 0);\r\n\tline.y = context.y + (line.y || 0);\r\n\r\n\tthis.alignLine(line);\r\n\r\n\taddPageItem(page, {\r\n\t\ttype: 'line',\r\n\t\titem: line\r\n\t}, index);\r\n\tthis.tracker.emit('lineAdded', line);\r\n\r\n\tif (!dontUpdateContextPosition) {\r\n\t\tcontext.moveDown(height);\r\n\t}\r\n\r\n\treturn position;\r\n};\r\n\r\nElementWriter.prototype.alignLine = function (line) {\r\n\tvar width = this.context.availableWidth;\r\n\tvar lineWidth = line.getWidth();\r\n\r\n\tvar alignment = line.inlines && line.inlines.length > 0 && line.inlines[0].alignment;\r\n\r\n\tvar offset = 0;\r\n\tswitch (alignment) {\r\n\t\tcase 'right':\r\n\t\t\toffset = width - lineWidth;\r\n\t\t\tbreak;\r\n\t\tcase 'center':\r\n\t\t\toffset = (width - lineWidth) / 2;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tif (offset) {\r\n\t\tline.x = (line.x || 0) + offset;\r\n\t}\r\n\r\n\tif (alignment === 'justify' &&\r\n\t\t!line.newLineForced &&\r\n\t\t!line.lastLineInParagraph &&\r\n\t\tline.inlines.length > 1) {\r\n\t\tvar additionalSpacing = (width - lineWidth) / (line.inlines.length - 1);\r\n\r\n\t\tfor (var i = 1, l = line.inlines.length; i < l; i++) {\r\n\t\t\toffset = i * additionalSpacing;\r\n\r\n\t\t\tline.inlines[i].x += offset;\r\n\t\t\tline.inlines[i].justifyShift = additionalSpacing;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nElementWriter.prototype.addImage = function (image, index, type) {\r\n\tvar context = this.context;\r\n\tvar page = context.getCurrentPage(),\r\n\t\tposition = this.getCurrentPositionOnPage();\r\n\r\n\tif (!page || (image.absolutePosition === undefined && context.availableHeight < image._height && page.items.length > 0)) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (image._x === undefined) {\r\n\t\timage._x = image.x || 0;\r\n\t}\r\n\r\n\timage.x = context.x + image._x;\r\n\timage.y = context.y;\r\n\r\n\tthis.alignImage(image);\r\n\r\n\taddPageItem(page, {\r\n\t\ttype: type || 'image',\r\n\t\titem: image\r\n\t}, index);\r\n\r\n\tcontext.moveDown(image._height);\r\n\r\n\treturn position;\r\n};\r\n\r\nElementWriter.prototype.addSVG = function (image, index) {\r\n\treturn this.addImage(image, index, 'svg')\r\n};\r\n\r\nElementWriter.prototype.addQr = function (qr, index) {\r\n\tvar context = this.context;\r\n\tvar page = context.getCurrentPage(),\r\n\t\tposition = this.getCurrentPositionOnPage();\r\n\r\n\tif (!page || (qr.absolutePosition === undefined && context.availableHeight < qr._height)) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tif (qr._x === undefined) {\r\n\t\tqr._x = qr.x || 0;\r\n\t}\r\n\r\n\tqr.x = context.x + qr._x;\r\n\tqr.y = context.y;\r\n\r\n\tthis.alignImage(qr);\r\n\r\n\tfor (var i = 0, l = qr._canvas.length; i < l; i++) {\r\n\t\tvar vector = qr._canvas[i];\r\n\t\tvector.x += qr.x;\r\n\t\tvector.y += qr.y;\r\n\t\tthis.addVector(vector, true, true, index);\r\n\t}\r\n\r\n\tcontext.moveDown(qr._height);\r\n\r\n\treturn position;\r\n};\r\n\r\nElementWriter.prototype.alignImage = function (image) {\r\n\tvar width = this.context.availableWidth;\r\n\tvar imageWidth = image._minWidth;\r\n\tvar offset = 0;\r\n\tswitch (image._alignment) {\r\n\t\tcase 'right':\r\n\t\t\toffset = width - imageWidth;\r\n\t\t\tbreak;\r\n\t\tcase 'center':\r\n\t\t\toffset = (width - imageWidth) / 2;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tif (offset) {\r\n\t\timage.x = (image.x || 0) + offset;\r\n\t}\r\n};\r\n\r\nElementWriter.prototype.alignCanvas = function (node) {\r\n\tvar width = this.context.availableWidth;\r\n\tvar canvasWidth = node._minWidth;\r\n\tvar offset = 0;\r\n\tswitch (node._alignment) {\r\n\t\tcase 'right':\r\n\t\t\toffset = width - canvasWidth;\r\n\t\t\tbreak;\r\n\t\tcase 'center':\r\n\t\t\toffset = (width - canvasWidth) / 2;\r\n\t\t\tbreak;\r\n\t}\r\n\tif (offset) {\r\n\t\tnode.canvas.forEach(function (vector) {\r\n\t\t\toffsetVector(vector, offset, 0);\r\n\t\t});\r\n\t}\r\n};\r\n\r\nElementWriter.prototype.addVector = function (vector, ignoreContextX, ignoreContextY, index) {\r\n\tvar context = this.context;\r\n\tvar page = context.getCurrentPage(),\r\n\t\tposition = this.getCurrentPositionOnPage();\r\n\r\n\tif (page) {\r\n\t\toffsetVector(vector, ignoreContextX ? 0 : context.x, ignoreContextY ? 0 : context.y);\r\n\t\taddPageItem(page, {\r\n\t\t\ttype: 'vector',\r\n\t\t\titem: vector\r\n\t\t}, index);\r\n\t\treturn position;\r\n\t}\r\n};\r\n\r\nElementWriter.prototype.beginClip = function (width, height) {\r\n\tvar ctx = this.context;\r\n\tvar page = ctx.getCurrentPage();\r\n\tpage.items.push({\r\n\t\ttype: 'beginClip',\r\n\t\titem: { x: ctx.x, y: ctx.y, width: width, height: height }\r\n\t});\r\n\treturn true;\r\n};\r\n\r\nElementWriter.prototype.endClip = function () {\r\n\tvar ctx = this.context;\r\n\tvar page = ctx.getCurrentPage();\r\n\tpage.items.push({\r\n\t\ttype: 'endClip'\r\n\t});\r\n\treturn true;\r\n};\r\n\r\nfunction cloneLine(line) {\r\n\tvar result = new Line(line.maxWidth);\r\n\r\n\tfor (var key in line) {\r\n\t\tif (line.hasOwnProperty(key)) {\r\n\t\t\tresult[key] = line[key];\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n}\r\n\r\nElementWriter.prototype.addFragment = function (block, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition) {\r\n\tvar ctx = this.context;\r\n\tvar page = ctx.getCurrentPage();\r\n\r\n\tif (!useBlockXOffset && block.height > ctx.availableHeight) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tblock.items.forEach(function (item) {\r\n\t\tswitch (item.type) {\r\n\t\t\tcase 'line':\r\n\t\t\t\tvar l = cloneLine(item.item);\r\n\r\n\t\t\t\tif (l._node) {\r\n\t\t\t\t\tl._node.positions[0].pageNumber = ctx.page + 1;\r\n\t\t\t\t}\r\n\t\t\t\tl.x = (l.x || 0) + (useBlockXOffset ? (block.xOffset || 0) : ctx.x);\r\n\t\t\t\tl.y = (l.y || 0) + (useBlockYOffset ? (block.yOffset || 0) : ctx.y);\r\n\r\n\t\t\t\tpage.items.push({\r\n\t\t\t\t\ttype: 'line',\r\n\t\t\t\t\titem: l\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'vector':\r\n\t\t\t\tvar v = pack(item.item);\r\n\r\n\t\t\t\toffsetVector(v, useBlockXOffset ? (block.xOffset || 0) : ctx.x, useBlockYOffset ? (block.yOffset || 0) : ctx.y);\r\n\t\t\t\tpage.items.push({\r\n\t\t\t\t\ttype: 'vector',\r\n\t\t\t\t\titem: v\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 'image':\r\n\t\t\tcase 'svg':\r\n\t\t\t\tvar img = pack(item.item);\r\n\r\n\t\t\t\timg.x = (img.x || 0) + (useBlockXOffset ? (block.xOffset || 0) : ctx.x);\r\n\t\t\t\timg.y = (img.y || 0) + (useBlockYOffset ? (block.yOffset || 0) : ctx.y);\r\n\r\n\t\t\t\tpage.items.push({\r\n\t\t\t\t\ttype: item.type,\r\n\t\t\t\t\titem: img\r\n\t\t\t\t});\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t});\r\n\r\n\tif (!dontUpdateContextPosition) {\r\n\t\tctx.moveDown(block.height);\r\n\t}\r\n\r\n\treturn true;\r\n};\r\n\r\n/**\r\n * Pushes the provided context onto the stack or creates a new one\r\n *\r\n * pushContext(context) - pushes the provided context and makes it current\r\n * pushContext(width, height) - creates and pushes a new context with the specified width and height\r\n * pushContext() - creates a new context for unbreakable blocks (with current availableWidth and full-page-height)\r\n */\r\nElementWriter.prototype.pushContext = function (contextOrWidth, height) {\r\n\tif (contextOrWidth === undefined) {\r\n\t\theight = this.context.getCurrentPage().height - this.context.pageMargins.top - this.context.pageMargins.bottom;\r\n\t\tcontextOrWidth = this.context.availableWidth;\r\n\t}\r\n\r\n\tif (isNumber(contextOrWidth)) {\r\n\t\tcontextOrWidth = new DocumentContext({ width: contextOrWidth, height: height }, { left: 0, right: 0, top: 0, bottom: 0 });\r\n\t}\r\n\r\n\tthis.contextStack.push(this.context);\r\n\tthis.context = contextOrWidth;\r\n};\r\n\r\nElementWriter.prototype.popContext = function () {\r\n\tthis.context = this.contextStack.pop();\r\n};\r\n\r\nElementWriter.prototype.getCurrentPositionOnPage = function () {\r\n\treturn (this.contextStack[0] || this.context).getCurrentPosition();\r\n};\r\n\r\n\r\nmodule.exports = ElementWriter;\r\n","'use strict';\r\n\r\nvar isArray = require('./helpers').isArray;\r\n\r\nfunction typeName(bold, italics) {\r\n\tvar type = 'normal';\r\n\tif (bold && italics) {\r\n\t\ttype = 'bolditalics';\r\n\t} else if (bold) {\r\n\t\ttype = 'bold';\r\n\t} else if (italics) {\r\n\t\ttype = 'italics';\r\n\t}\r\n\treturn type;\r\n}\r\n\r\nfunction FontProvider(fontDescriptors, pdfKitDoc) {\r\n\tthis.fonts = {};\r\n\tthis.pdfKitDoc = pdfKitDoc;\r\n\tthis.fontCache = {};\r\n\r\n\tfor (var font in fontDescriptors) {\r\n\t\tif (fontDescriptors.hasOwnProperty(font)) {\r\n\t\t\tvar fontDef = fontDescriptors[font];\r\n\r\n\t\t\tthis.fonts[font] = {\r\n\t\t\t\tnormal: fontDef.normal,\r\n\t\t\t\tbold: fontDef.bold,\r\n\t\t\t\titalics: fontDef.italics,\r\n\t\t\t\tbolditalics: fontDef.bolditalics\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n}\r\n\r\nFontProvider.prototype.getFontType = function (bold, italics) {\r\n\treturn typeName(bold, italics);\r\n}\r\n\r\nFontProvider.prototype.getFontFile = function (familyName, bold, italics) {\r\n\tvar type = this.getFontType(bold, italics);\r\n\tif (!this.fonts[familyName] || !this.fonts[familyName][type]) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn this.fonts[familyName][type];\r\n}\r\n\r\nFontProvider.prototype.provideFont = function (familyName, bold, italics) {\r\n\tvar type = this.getFontType(bold, italics);\r\n\tif (this.getFontFile(familyName, bold, italics) === null) {\r\n\t\tthrow new Error('Font \\'' + familyName + '\\' in style \\'' + type + '\\' is not defined in the font section of the document definition.');\r\n\t}\r\n\r\n\tthis.fontCache[familyName] = this.fontCache[familyName] || {};\r\n\r\n\tif (!this.fontCache[familyName][type]) {\r\n\t\tvar def = this.fonts[familyName][type];\r\n\t\tif (!isArray(def)) {\r\n\t\t\tdef = [def];\r\n\t\t}\r\n\t\tthis.fontCache[familyName][type] = this.pdfKitDoc.font.apply(this.pdfKitDoc, def)._font;\r\n\t}\r\n\r\n\treturn this.fontCache[familyName][type];\r\n};\r\n\r\nmodule.exports = FontProvider;\r\n","'use strict';\r\n\r\nfunction isString(variable) {\r\n\treturn typeof variable === 'string' || variable instanceof String;\r\n}\r\n\r\nfunction isNumber(variable) {\r\n\treturn typeof variable === 'number' || variable instanceof Number;\r\n}\r\n\r\nfunction isBoolean(variable) {\r\n\treturn typeof variable === 'boolean';\r\n}\r\n\r\nfunction isArray(variable) {\r\n\treturn Array.isArray(variable);\r\n}\r\n\r\nfunction isFunction(variable) {\r\n\treturn typeof variable === 'function';\r\n}\r\n\r\nfunction isObject(variable) {\r\n\treturn variable !== null && typeof variable === 'object';\r\n}\r\n\r\nfunction isNull(variable) {\r\n\treturn variable === null;\r\n}\r\n\r\nfunction isUndefined(variable) {\r\n\treturn variable === undefined;\r\n}\r\n\r\nfunction pack() {\r\n\tvar result = {};\r\n\r\n\tfor (var i = 0, l = arguments.length; i < l; i++) {\r\n\t\tvar obj = arguments[i];\r\n\r\n\t\tif (obj) {\r\n\t\t\tfor (var key in obj) {\r\n\t\t\t\tif (obj.hasOwnProperty(key)) {\r\n\t\t\t\t\tresult[key] = obj[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn result;\r\n}\r\n\r\nfunction offsetVector(vector, x, y) {\r\n\tswitch (vector.type) {\r\n\t\tcase 'ellipse':\r\n\t\tcase 'rect':\r\n\t\t\tvector.x += x;\r\n\t\t\tvector.y += y;\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\tvector.x1 += x;\r\n\t\t\tvector.x2 += x;\r\n\t\t\tvector.y1 += y;\r\n\t\t\tvector.y2 += y;\r\n\t\t\tbreak;\r\n\t\tcase 'polyline':\r\n\t\t\tfor (var i = 0, l = vector.points.length; i < l; i++) {\r\n\t\t\t\tvector.points[i].x += x;\r\n\t\t\t\tvector.points[i].y += y;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t}\r\n}\r\n\r\nfunction fontStringify(key, val) {\r\n\tif (key === 'font') {\r\n\t\treturn 'font';\r\n\t}\r\n\treturn val;\r\n}\r\n\r\nfunction getNodeId(node) {\r\n\tif (node.id) {\r\n\t\treturn node.id;\r\n\t}\r\n\r\n\tif (isArray(node.text)) {\r\n\t\tfor (var i = 0, l = node.text.length; i < l; i++) {\r\n\t\t\tvar n = node.text[i];\r\n\t\t\tvar nodeId = getNodeId(n);\r\n\t\t\tif (nodeId) {\r\n\t\t\t\treturn nodeId;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn null;\r\n}\r\n\r\nfunction isPattern(color) {\r\n\treturn isArray(color) && color.length === 2;\r\n}\r\n\r\n// converts from a [<pattern name>, <color>] as used by pdfmake\r\n// into [<pattern object>, <color>] as used by pdfkit\r\n// (the pattern has to be registered in the doc definition of course)\r\nfunction getPattern(color, patterns) {\r\n\treturn [patterns[color[0]], color[1]];\r\n}\r\n\r\nmodule.exports = {\r\n\tisString: isString,\r\n\tisNumber: isNumber,\r\n\tisBoolean: isBoolean,\r\n\tisArray: isArray,\r\n\tisFunction: isFunction,\r\n\tisObject: isObject,\r\n\tisNull: isNull,\r\n\tisUndefined: isUndefined,\r\n\tpack: pack,\r\n\tfontStringify: fontStringify,\r\n\toffsetVector: offsetVector,\r\n\tgetNodeId: getNodeId,\r\n\tisPattern: isPattern,\r\n\tgetPattern: getPattern\r\n};\r\n","'use strict';\r\n\r\nvar fs = require('fs');\r\n\r\nfunction ImageMeasure(pdfKitDoc, imageDictionary) {\r\n\tthis.pdfKitDoc = pdfKitDoc;\r\n\tthis.imageDictionary = imageDictionary || {};\r\n}\r\n\r\nImageMeasure.prototype.measureImage = function (src) {\r\n\tvar image;\r\n\tvar that = this;\r\n\r\n\tif (!this.pdfKitDoc._imageRegistry[src]) {\r\n\t\ttry {\r\n\t\t\timage = this.pdfKitDoc.openImage(realImageSrc(src));\r\n\t\t\tif (!image) {\r\n\t\t\t\tthrow 'No image';\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tthrow 'Invalid image: ' + error.toString() + '\\nImages dictionary should contain dataURL entries (or local file paths in node.js)';\r\n\t\t}\r\n\t\timage.embed(this.pdfKitDoc);\r\n\t\tthis.pdfKitDoc._imageRegistry[src] = image;\r\n\t} else {\r\n\t\timage = this.pdfKitDoc._imageRegistry[src];\r\n\t}\r\n\r\n\treturn { width: image.width, height: image.height };\r\n\r\n\tfunction realImageSrc(src) {\r\n\t\tvar img = that.imageDictionary[src];\r\n\r\n\t\tif (!img) {\r\n\t\t\treturn src;\r\n\t\t}\r\n\r\n\t\tif (fs.existsSync(img)) {\r\n\t\t\treturn fs.readFileSync(img);\r\n\t\t}\r\n\r\n\t\tvar index = img.indexOf('base64,');\r\n\t\tif (index < 0) {\r\n\t\t\treturn that.imageDictionary[src];\r\n\t\t}\r\n\r\n\t\treturn Buffer.from(img.substring(index + 7), 'base64');\r\n\t}\r\n};\r\n\r\nmodule.exports = ImageMeasure;\r\n","'use strict';\r\n\r\nvar TraversalTracker = require('./traversalTracker');\r\nvar DocPreprocessor = require('./docPreprocessor');\r\nvar DocMeasure = require('./docMeasure');\r\nvar DocumentContext = require('./documentContext');\r\nvar PageElementWriter = require('./pageElementWriter');\r\nvar ColumnCalculator = require('./columnCalculator');\r\nvar TableProcessor = require('./tableProcessor');\r\nvar Line = require('./line');\r\nvar isString = require('./helpers').isString;\r\nvar isArray = require('./helpers').isArray;\r\nvar isUndefined = require('./helpers').isUndefined;\r\nvar isNull = require('./helpers').isNull;\r\nvar pack = require('./helpers').pack;\r\nvar offsetVector = require('./helpers').offsetVector;\r\nvar fontStringify = require('./helpers').fontStringify;\r\nvar getNodeId = require('./helpers').getNodeId;\r\nvar isFunction = require('./helpers').isFunction;\r\nvar TextTools = require('./textTools');\r\nvar StyleContextStack = require('./styleContextStack');\r\nvar isNumber = require('./helpers').isNumber;\r\n\r\nfunction addAll(target, otherArray) {\r\n\totherArray.forEach(function (item) {\r\n\t\ttarget.push(item);\r\n\t});\r\n}\r\n\r\n/**\r\n * Creates an instance of LayoutBuilder - layout engine which turns document-definition-object\r\n * into a set of pages, lines, inlines and vectors ready to be rendered into a PDF\r\n *\r\n * @param {Object} pageSize - an object defining page width and height\r\n * @param {Object} pageMargins - an object defining top, left, right and bottom margins\r\n */\r\nfunction LayoutBuilder(pageSize, pageMargins, imageMeasure, svgMeasure) {\r\n\tthis.pageSize = pageSize;\r\n\tthis.pageMargins = pageMargins;\r\n\tthis.tracker = new TraversalTracker();\r\n\tthis.imageMeasure = imageMeasure;\r\n\tthis.svgMeasure = svgMeasure;\r\n\tthis.tableLayouts = {};\r\n}\r\n\r\nLayoutBuilder.prototype.registerTableLayouts = function (tableLayouts) {\r\n\tthis.tableLayouts = pack(this.tableLayouts, tableLayouts);\r\n};\r\n\r\n/**\r\n * Executes layout engine on document-definition-object and creates an array of pages\r\n * containing positioned Blocks, Lines and inlines\r\n *\r\n * @param {Object} docStructure document-definition-object\r\n * @param {Object} fontProvider font provider\r\n * @param {Object} styleDictionary dictionary with style definitions\r\n * @param {Object} defaultStyle default style definition\r\n * @return {Array} an array of pages\r\n */\r\nLayoutBuilder.prototype.layoutDocument = function (docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark, pageBreakBeforeFct) {\r\n\r\n\tfunction addPageBreaksIfNecessary(linearNodeList, pages) {\r\n\r\n\t\tif (!isFunction(pageBreakBeforeFct)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tlinearNodeList = linearNodeList.filter(function (node) {\r\n\t\t\treturn node.positions.length > 0;\r\n\t\t});\r\n\r\n\t\tlinearNodeList.forEach(function (node) {\r\n\t\t\tvar nodeInfo = {};\r\n\t\t\t[\r\n\t\t\t\t'id', 'text', 'ul', 'ol', 'table', 'image', 'qr', 'canvas', 'svg', 'columns',\r\n\t\t\t\t'headlineLevel', 'style', 'pageBreak', 'pageOrientation',\r\n\t\t\t\t'width', 'height'\r\n\t\t\t].forEach(function (key) {\r\n\t\t\t\tif (node[key] !== undefined) {\r\n\t\t\t\t\tnodeInfo[key] = node[key];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tnodeInfo.startPosition = node.positions[0];\r\n\t\t\tnodeInfo.pageNumbers = Array.from(new Set(node.positions.map(function (node) { return node.pageNumber; })));\r\n\t\t\tnodeInfo.pages = pages.length;\r\n\t\t\tnodeInfo.stack = isArray(node.stack);\r\n\r\n\t\t\tnode.nodeInfo = nodeInfo;\r\n\t\t});\r\n\r\n\t\tfor (var index = 0; index < linearNodeList.length; index++) {\r\n\t\t\tvar node = linearNodeList[index];\r\n\t\t\tif (node.pageBreak !== 'before' && !node.pageBreakCalculated) {\r\n\t\t\t\tnode.pageBreakCalculated = true;\r\n\t\t\t\tvar pageNumber = node.nodeInfo.pageNumbers[0];\r\n\t\t\t\tvar followingNodesOnPage = [];\r\n\t\t\t\tvar nodesOnNextPage = [];\r\n\t\t\t\tvar previousNodesOnPage = [];\r\n\t\t\t\tif (pageBreakBeforeFct.length > 1) {\r\n\t\t\t\t\tfor (var ii = index + 1, l = linearNodeList.length; ii < l; ii++) {\r\n\t\t\t\t\t\tif (linearNodeList[ii].nodeInfo.pageNumbers.indexOf(pageNumber) > -1) {\r\n\t\t\t\t\t\t\tfollowingNodesOnPage.push(linearNodeList[ii].nodeInfo);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (pageBreakBeforeFct.length > 2 && linearNodeList[ii].nodeInfo.pageNumbers.indexOf(pageNumber + 1) > -1) {\r\n\t\t\t\t\t\t\tnodesOnNextPage.push(linearNodeList[ii].nodeInfo);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (pageBreakBeforeFct.length > 3) {\r\n\t\t\t\t\tfor (var ii = 0; ii < index; ii++) {\r\n\t\t\t\t\t\tif (linearNodeList[ii].nodeInfo.pageNumbers.indexOf(pageNumber) > -1) {\r\n\t\t\t\t\t\t\tpreviousNodesOnPage.push(linearNodeList[ii].nodeInfo);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (pageBreakBeforeFct(node.nodeInfo, followingNodesOnPage, nodesOnNextPage, previousNodesOnPage)) {\r\n\t\t\t\t\tnode.pageBreak = 'before';\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tthis.docPreprocessor = new DocPreprocessor();\r\n\tthis.docMeasure = new DocMeasure(fontProvider, styleDictionary, defaultStyle, this.imageMeasure, this.svgMeasure, this.tableLayouts, images);\r\n\r\n\r\n\tfunction resetXYs(result) {\r\n\t\tresult.linearNodeList.forEach(function (node) {\r\n\t\t\tnode.resetXY();\r\n\t\t});\r\n\t}\r\n\r\n\tvar result = this.tryLayoutDocument(docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark);\r\n\twhile (addPageBreaksIfNecessary(result.linearNodeList, result.pages)) {\r\n\t\tresetXYs(result);\r\n\t\tresult = this.tryLayoutDocument(docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark);\r\n\t}\r\n\r\n\treturn result.pages;\r\n};\r\n\r\nLayoutBuilder.prototype.tryLayoutDocument = function (docStructure, fontProvider, styleDictionary, defaultStyle, background, header, footer, images, watermark, pageBreakBeforeFct) {\r\n\r\n\tthis.linearNodeList = [];\r\n\tdocStructure = this.docPreprocessor.preprocessDocument(docStructure);\r\n\tdocStructure = this.docMeasure.measureDocument(docStructure);\r\n\r\n\tthis.writer = new PageElementWriter(\r\n\t\tnew DocumentContext(this.pageSize, this.pageMargins), this.tracker);\r\n\r\n\tvar _this = this;\r\n\tthis.writer.context().tracker.startTracking('pageAdded', function () {\r\n\t\t_this.addBackground(background);\r\n\t});\r\n\r\n\tthis.addBackground(background);\r\n\tthis.processNode(docStructure);\r\n\tthis.addHeadersAndFooters(header, footer);\r\n\tif (watermark != null) {\r\n\t\tthis.addWatermark(watermark, fontProvider, defaultStyle);\r\n\t}\r\n\r\n\treturn { pages: this.writer.context().pages, linearNodeList: this.linearNodeList };\r\n};\r\n\r\n\r\nLayoutBuilder.prototype.addBackground = function (background) {\r\n\tvar backgroundGetter = isFunction(background) ? background : function () {\r\n\t\treturn background;\r\n\t};\r\n\r\n\tvar context = this.writer.context();\r\n\tvar pageSize = context.getCurrentPage().pageSize;\r\n\r\n\tvar pageBackground = backgroundGetter(context.page + 1, pageSize);\r\n\r\n\tif (pageBackground) {\r\n\t\tthis.writer.beginUnbreakableBlock(pageSize.width, pageSize.height);\r\n\t\tpageBackground = this.docPreprocessor.preprocessDocument(pageBackground);\r\n\t\tthis.processNode(this.docMeasure.measureDocument(pageBackground));\r\n\t\tthis.writer.commitUnbreakableBlock(0, 0);\r\n\t\tcontext.backgroundLength[context.page] += pageBackground.positions.length;\r\n\t}\r\n};\r\n\r\nLayoutBuilder.prototype.addStaticRepeatable = function (headerOrFooter, sizeFunction) {\r\n\tthis.addDynamicRepeatable(function () {\r\n\t\treturn JSON.parse(JSON.stringify(headerOrFooter)); // copy to new object\r\n\t}, sizeFunction);\r\n};\r\n\r\nLayoutBuilder.prototype.addDynamicRepeatable = function (nodeGetter, sizeFunction) {\r\n\tvar pages = this.writer.context().pages;\r\n\r\n\tfor (var pageIndex = 0, l = pages.length; pageIndex < l; pageIndex++) {\r\n\t\tthis.writer.context().page = pageIndex;\r\n\r\n\t\tvar node = nodeGetter(pageIndex + 1, l, this.writer.context().pages[pageIndex].pageSize);\r\n\r\n\t\tif (node) {\r\n\t\t\tvar sizes = sizeFunction(this.writer.context().getCurrentPage().pageSize, this.pageMargins);\r\n\t\t\tthis.writer.beginUnbreakableBlock(sizes.width, sizes.height);\r\n\t\t\tnode = this.docPreprocessor.preprocessDocument(node);\r\n\t\t\tthis.processNode(this.docMeasure.measureDocument(node));\r\n\t\t\tthis.writer.commitUnbreakableBlock(sizes.x, sizes.y);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nLayoutBuilder.prototype.addHeadersAndFooters = function (header, footer) {\r\n\tvar headerSizeFct = function (pageSize, pageMargins) {\r\n\t\treturn {\r\n\t\t\tx: 0,\r\n\t\t\ty: 0,\r\n\t\t\twidth: pageSize.width,\r\n\t\t\theight: pageMargins.top\r\n\t\t};\r\n\t};\r\n\r\n\tvar footerSizeFct = function (pageSize, pageMargins) {\r\n\t\treturn {\r\n\t\t\tx: 0,\r\n\t\t\ty: pageSize.height - pageMargins.bottom,\r\n\t\t\twidth: pageSize.width,\r\n\t\t\theight: pageMargins.bottom\r\n\t\t};\r\n\t};\r\n\r\n\tif (isFunction(header)) {\r\n\t\tthis.addDynamicRepeatable(header, headerSizeFct);\r\n\t} else if (header) {\r\n\t\tthis.addStaticRepeatable(header, headerSizeFct);\r\n\t}\r\n\r\n\tif (isFunction(footer)) {\r\n\t\tthis.addDynamicRepeatable(footer, footerSizeFct);\r\n\t} else if (footer) {\r\n\t\tthis.addStaticRepeatable(footer, footerSizeFct);\r\n\t}\r\n};\r\n\r\nLayoutBuilder.prototype.addWatermark = function (watermark, fontProvider, defaultStyle) {\r\n\tif (isString(watermark)) {\r\n\t\twatermark = { 'text': watermark };\r\n\t}\r\n\r\n\tif (!watermark.text) { // empty watermark text\r\n\t\treturn;\r\n\t}\r\n\r\n\twatermark.font = watermark.font || defaultStyle.font || 'Roboto';\r\n\twatermark.fontSize = watermark.fontSize || 'auto';\r\n\twatermark.color = watermark.color || 'black';\r\n\twatermark.opacity = isNumber(watermark.opacity) ? watermark.opacity : 0.6;\r\n\twatermark.bold = watermark.bold || false;\r\n\twatermark.italics = watermark.italics || false;\r\n\twatermark.angle = !isUndefined(watermark.angle) && !isNull(watermark.angle) ? watermark.angle : null;\r\n\r\n\tif (watermark.angle === null) {\r\n\t\twatermark.angle = Math.atan2(this.pageSize.height, this.pageSize.width) * -180 / Math.PI;\r\n\t}\r\n\r\n\tif (watermark.fontSize === 'auto') {\r\n\t\twatermark.fontSize = getWatermarkFontSize(this.pageSize, watermark, fontProvider);\r\n\t}\r\n\r\n\tvar watermarkObject = {\r\n\t\ttext: watermark.text,\r\n\t\tfont: fontProvider.provideFont(watermark.font, watermark.bold, watermark.italics),\r\n\t\tfontSize: watermark.fontSize,\r\n\t\tcolor: watermark.color,\r\n\t\topacity: watermark.opacity,\r\n\t\tangle: watermark.angle\r\n\t};\r\n\r\n\twatermarkObject._size = getWatermarkSize(watermark, fontProvider);\r\n\r\n\tvar pages = this.writer.context().pages;\r\n\tfor (var i = 0, l = pages.length; i < l; i++) {\r\n\t\tpages[i].watermark = watermarkObject;\r\n\t}\r\n\r\n\tfunction getWatermarkSize(watermark, fontProvider) {\r\n\t\tvar textTools = new TextTools(fontProvider);\r\n\t\tvar styleContextStack = new StyleContextStack(null, { font: watermark.font, bold: watermark.bold, italics: watermark.italics });\r\n\r\n\t\tstyleContextStack.push({\r\n\t\t\tfontSize: watermark.fontSize\r\n\t\t});\r\n\r\n\t\tvar size = textTools.sizeOfString(watermark.text, styleContextStack);\r\n\t\tvar rotatedSize = textTools.sizeOfRotatedText(watermark.text, watermark.angle, styleContextStack);\r\n\r\n\t\treturn { size: size, rotatedSize: rotatedSize };\r\n\t}\r\n\r\n\tfunction getWatermarkFontSize(pageSize, watermark, fontProvider) {\r\n\t\tvar textTools = new TextTools(fontProvider);\r\n\t\tvar styleContextStack = new StyleContextStack(null, { font: watermark.font, bold: watermark.bold, italics: watermark.italics });\r\n\t\tvar rotatedSize;\r\n\r\n\t\t/**\r\n\t\t * Binary search the best font size.\r\n\t\t * Initial bounds [0, 1000]\r\n\t\t * Break when range < 1\r\n\t\t */\r\n\t\tvar a = 0;\r\n\t\tvar b = 1000;\r\n\t\tvar c = (a + b) / 2;\r\n\t\twhile (Math.abs(a - b) > 1) {\r\n\t\t\tstyleContextStack.push({\r\n\t\t\t\tfontSize: c\r\n\t\t\t});\r\n\t\t\trotatedSize = textTools.sizeOfRotatedText(watermark.text, watermark.angle, styleContextStack);\r\n\t\t\tif (rotatedSize.width > pageSize.width) {\r\n\t\t\t\tb = c;\r\n\t\t\t\tc = (a + b) / 2;\r\n\t\t\t} else if (rotatedSize.width < pageSize.width) {\r\n\t\t\t\tif (rotatedSize.height > pageSize.height) {\r\n\t\t\t\t\tb = c;\r\n\t\t\t\t\tc = (a + b) / 2;\r\n\t\t\t\t} else {\r\n\t\t\t\t\ta = c;\r\n\t\t\t\t\tc = (a + b) / 2;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstyleContextStack.pop();\r\n\t\t}\r\n\t\t/*\r\n\t\t End binary search\r\n\t\t */\r\n\t\treturn c;\r\n\t}\r\n};\r\n\r\nfunction decorateNode(node) {\r\n\tvar x = node.x, y = node.y;\r\n\tnode.positions = [];\r\n\r\n\tif (isArray(node.canvas)) {\r\n\t\tnode.canvas.forEach(function (vector) {\r\n\t\t\tvar x = vector.x, y = vector.y, x1 = vector.x1, y1 = vector.y1, x2 = vector.x2, y2 = vector.y2;\r\n\t\t\tvector.resetXY = function () {\r\n\t\t\t\tvector.x = x;\r\n\t\t\t\tvector.y = y;\r\n\t\t\t\tvector.x1 = x1;\r\n\t\t\t\tvector.y1 = y1;\r\n\t\t\t\tvector.x2 = x2;\r\n\t\t\t\tvector.y2 = y2;\r\n\t\t\t};\r\n\t\t});\r\n\t}\r\n\r\n\tnode.resetXY = function () {\r\n\t\tnode.x = x;\r\n\t\tnode.y = y;\r\n\t\tif (isArray(node.canvas)) {\r\n\t\t\tnode.canvas.forEach(function (vector) {\r\n\t\t\t\tvector.resetXY();\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nLayoutBuilder.prototype.processNode = function (node) {\r\n\tvar self = this;\r\n\r\n\tthis.linearNodeList.push(node);\r\n\tdecorateNode(node);\r\n\r\n\tapplyMargins(function () {\r\n\t\tvar unbreakable = node.unbreakable;\r\n\t\tif (unbreakable) {\r\n\t\t\tself.writer.beginUnbreakableBlock();\r\n\t\t}\r\n\r\n\t\tvar absPosition = node.absolutePosition;\r\n\t\tif (absPosition) {\r\n\t\t\tself.writer.context().beginDetachedBlock();\r\n\t\t\tself.writer.context().moveTo(absPosition.x || 0, absPosition.y || 0);\r\n\t\t}\r\n\r\n\t\tvar relPosition = node.relativePosition;\r\n\t\tif (relPosition) {\r\n\t\t\tself.writer.context().beginDetachedBlock();\r\n\t\t\tself.writer.context().moveToRelative(relPosition.x || 0, relPosition.y || 0);\r\n\t\t}\r\n\r\n\t\tif (node.stack) {\r\n\t\t\tself.processVerticalContainer(node);\r\n\t\t} else if (node.columns) {\r\n\t\t\tself.processColumns(node);\r\n\t\t} else if (node.ul) {\r\n\t\t\tself.processList(false, node);\r\n\t\t} else if (node.ol) {\r\n\t\t\tself.processList(true, node);\r\n\t\t} else if (node.table) {\r\n\t\t\tself.processTable(node);\r\n\t\t} else if (node.text !== undefined) {\r\n\t\t\tself.processLeaf(node);\r\n\t\t} else if (node.toc) {\r\n\t\t\tself.processToc(node);\r\n\t\t} else if (node.image) {\r\n\t\t\tself.processImage(node);\r\n\t\t} else if (node.svg) {\r\n\t\t\tself.processSVG(node);\r\n\t\t} else if (node.canvas) {\r\n\t\t\tself.processCanvas(node);\r\n\t\t} else if (node.qr) {\r\n\t\t\tself.processQr(node);\r\n\t\t} else if (!node._span) {\r\n\t\t\tthrow 'Unrecognized document structure: ' + JSON.stringify(node, fontStringify);\r\n\t\t}\r\n\r\n\t\tif (absPosition || relPosition) {\r\n\t\t\tself.writer.context().endDetachedBlock();\r\n\t\t}\r\n\r\n\t\tif (unbreakable) {\r\n\t\t\tself.writer.commitUnbreakableBlock();\r\n\t\t}\r\n\t});\r\n\r\n\tfunction applyMargins(callback) {\r\n\t\tvar margin = node._margin;\r\n\r\n\t\tif (node.pageBreak === 'before') {\r\n\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t} else if (node.pageBreak === 'beforeOdd') {\r\n\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\tif ((self.writer.context().page + 1) % 2 === 1) {\r\n\t\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\t}\r\n\t\t} else if (node.pageBreak === 'beforeEven') {\r\n\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\tif ((self.writer.context().page + 1) % 2 === 0) {\r\n\t\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (margin) {\r\n\t\t\tself.writer.context().moveDown(margin[1]);\r\n\t\t\tself.writer.context().addMargin(margin[0], margin[2]);\r\n\t\t}\r\n\r\n\t\tcallback();\r\n\r\n\t\tif (margin) {\r\n\t\t\tself.writer.context().addMargin(-margin[0], -margin[2]);\r\n\t\t\tself.writer.context().moveDown(margin[3]);\r\n\t\t}\r\n\r\n\t\tif (node.pageBreak === 'after') {\r\n\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t} else if (node.pageBreak === 'afterOdd') {\r\n\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\tif ((self.writer.context().page + 1) % 2 === 1) {\r\n\t\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\t}\r\n\t\t} else if (node.pageBreak === 'afterEven') {\r\n\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\tif ((self.writer.context().page + 1) % 2 === 0) {\r\n\t\t\t\tself.writer.moveToNextPage(node.pageOrientation);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// vertical container\r\nLayoutBuilder.prototype.processVerticalContainer = function (node) {\r\n\tvar self = this;\r\n\tnode.stack.forEach(function (item) {\r\n\t\tself.processNode(item);\r\n\t\taddAll(node.positions, item.positions);\r\n\r\n\t\t//TODO: paragraph gap\r\n\t});\r\n};\r\n\r\n// columns\r\nLayoutBuilder.prototype.processColumns = function (columnNode) {\r\n\tvar columns = columnNode.columns;\r\n\tvar availableWidth = this.writer.context().availableWidth;\r\n\tvar gaps = gapArray(columnNode._gap);\r\n\r\n\tif (gaps) {\r\n\t\tavailableWidth -= (gaps.length - 1) * columnNode._gap;\r\n\t}\r\n\r\n\tColumnCalculator.buildColumnWidths(columns, availableWidth);\r\n\tvar result = this.processRow(columns, columns, gaps);\r\n\taddAll(columnNode.positions, result.positions);\r\n\r\n\r\n\tfunction gapArray(gap) {\r\n\t\tif (!gap) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tvar gaps = [];\r\n\t\tgaps.push(0);\r\n\r\n\t\tfor (var i = columns.length - 1; i > 0; i--) {\r\n\t\t\tgaps.push(gap);\r\n\t\t}\r\n\r\n\t\treturn gaps;\r\n\t}\r\n};\r\n\r\nLayoutBuilder.prototype.processRow = function (columns, widths, gaps, tableBody, tableRow, height) {\r\n\tvar self = this;\r\n\tvar pageBreaks = [], positions = [];\r\n\r\n\tthis.tracker.auto('pageChanged', storePageBreakData, function () {\r\n\t\twidths = widths || columns;\r\n\r\n\t\tself.writer.context().beginColumnGroup();\r\n\r\n\t\tfor (var i = 0, l = columns.length; i < l; i++) {\r\n\t\t\tvar column = columns[i];\r\n\t\t\tvar width = widths[i]._calcWidth;\r\n\t\t\tvar leftOffset = colLeftOffset(i);\r\n\r\n\t\t\tif (column.colSpan && column.colSpan > 1) {\r\n\t\t\t\tfor (var j = 1; j < column.colSpan; j++) {\r\n\t\t\t\t\twidth += widths[++i]._calcWidth + gaps[i];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tself.writer.context().beginColumn(width, leftOffset, getEndingCell(column, i));\r\n\t\t\tif (!column._span) {\r\n\t\t\t\tself.processNode(column);\r\n\t\t\t\taddAll(positions, column.positions);\r\n\t\t\t} else if (column._columnEndingContext) {\r\n\t\t\t\t// row-span ending\r\n\t\t\t\tself.writer.context().markEnding(column);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tself.writer.context().completeColumnGroup(height);\r\n\t});\r\n\r\n\treturn { pageBreaks: pageBreaks, positions: positions };\r\n\r\n\tfunction storePageBreakData(data) {\r\n\t\tvar pageDesc;\r\n\r\n\t\tfor (var i = 0, l = pageBreaks.length; i < l; i++) {\r\n\t\t\tvar desc = pageBreaks[i];\r\n\t\t\tif (desc.prevPage === data.prevPage) {\r\n\t\t\t\tpageDesc = desc;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (!pageDesc) {\r\n\t\t\tpageDesc = data;\r\n\t\t\tpageBreaks.push(pageDesc);\r\n\t\t}\r\n\t\tpageDesc.prevY = Math.max(pageDesc.prevY, data.prevY);\r\n\t\tpageDesc.y = Math.min(pageDesc.y, data.y);\r\n\t}\r\n\r\n\tfunction colLeftOffset(i) {\r\n\t\tif (gaps && gaps.length > i) {\r\n\t\t\treturn gaps[i];\r\n\t\t}\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tfunction getEndingCell(column, columnIndex) {\r\n\t\tif (column.rowSpan && column.rowSpan > 1) {\r\n\t\t\tvar endingRow = tableRow + column.rowSpan - 1;\r\n\t\t\tif (endingRow >= tableBody.length) {\r\n\t\t\t\tthrow 'Row span for column ' + columnIndex + ' (with indexes starting from 0) exceeded row count';\r\n\t\t\t}\r\n\t\t\treturn tableBody[endingRow][columnIndex];\r\n\t\t}\r\n\r\n\t\treturn null;\r\n\t}\r\n};\r\n\r\n// lists\r\nLayoutBuilder.prototype.processList = function (orderedList, node) {\r\n\tvar self = this,\r\n\t\titems = orderedList ? node.ol : node.ul,\r\n\t\tgapSize = node._gapSize;\r\n\r\n\tthis.writer.context().addMargin(gapSize.width);\r\n\r\n\tvar nextMarker;\r\n\tthis.tracker.auto('lineAdded', addMarkerToFirstLeaf, function () {\r\n\t\titems.forEach(function (item) {\r\n\t\t\tnextMarker = item.listMarker;\r\n\t\t\tself.processNode(item);\r\n\t\t\taddAll(node.positions, item.positions);\r\n\t\t});\r\n\t});\r\n\r\n\tthis.writer.context().addMargin(-gapSize.width);\r\n\r\n\tfunction addMarkerToFirstLeaf(line) {\r\n\t\t// I'm not very happy with the way list processing is implemented\r\n\t\t// (both code and algorithm should be rethinked)\r\n\t\tif (nextMarker) {\r\n\t\t\tvar marker = nextMarker;\r\n\t\t\tnextMarker = null;\r\n\r\n\t\t\tif (marker.canvas) {\r\n\t\t\t\tvar vector = marker.canvas[0];\r\n\r\n\t\t\t\toffsetVector(vector, -marker._minWidth, 0);\r\n\t\t\t\tself.writer.addVector(vector);\r\n\t\t\t} else if (marker._inlines) {\r\n\t\t\t\tvar markerLine = new Line(self.pageSize.width);\r\n\t\t\t\tmarkerLine.addInline(marker._inlines[0]);\r\n\t\t\t\tmarkerLine.x = -marker._minWidth;\r\n\t\t\t\tmarkerLine.y = line.getAscenderHeight() - markerLine.getAscenderHeight();\r\n\t\t\t\tself.writer.addLine(markerLine, true);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// tables\r\nLayoutBuilder.prototype.processTable = function (tableNode) {\r\n\tvar processor = new TableProcessor(tableNode);\r\n\r\n\tprocessor.beginTable(this.writer);\r\n\r\n\tvar rowHeights = tableNode.table.heights;\r\n\tfor (var i = 0, l = tableNode.table.body.length; i < l; i++) {\r\n\t\tprocessor.beginRow(i, this.writer);\r\n\r\n\t\tvar height;\r\n\t\tif (isFunction(rowHeights)) {\r\n\t\t\theight = rowHeights(i);\r\n\t\t} else if (isArray(rowHeights)) {\r\n\t\t\theight = rowHeights[i];\r\n\t\t} else {\r\n\t\t\theight = rowHeights;\r\n\t\t}\r\n\r\n\t\tif (height === 'auto') {\r\n\t\t\theight = undefined;\r\n\t\t}\r\n\r\n\t\tvar result = this.processRow(tableNode.table.body[i], tableNode.table.widths, tableNode._offsets.offsets, tableNode.table.body, i, height);\r\n\t\taddAll(tableNode.positions, result.positions);\r\n\r\n\t\tprocessor.endRow(i, this.writer, result.pageBreaks);\r\n\t}\r\n\r\n\tprocessor.endTable(this.writer);\r\n};\r\n\r\n// leafs (texts)\r\nLayoutBuilder.prototype.processLeaf = function (node) {\r\n\tvar line = this.buildNextLine(node);\r\n\tif (line && (node.tocItem || node.id)) {\r\n\t\tline._node = node;\r\n\t}\r\n\tvar currentHeight = (line) ? line.getHeight() : 0;\r\n\tvar maxHeight = node.maxHeight || -1;\r\n\r\n\tif (line) {\r\n\t\tvar nodeId = getNodeId(node);\r\n\t\tif (nodeId) {\r\n\t\t\tline.id = nodeId;\r\n\t\t}\r\n\t}\r\n\r\n\tif (node._tocItemRef) {\r\n\t\tline._pageNodeRef = node._tocItemRef;\r\n\t}\r\n\r\n\tif (node._pageRef) {\r\n\t\tline._pageNodeRef = node._pageRef._nodeRef;\r\n\t}\r\n\r\n\tif (line && line.inlines && isArray(line.inlines)) {\r\n\t\tfor (var i = 0, l = line.inlines.length; i < l; i++) {\r\n\t\t\tif (line.inlines[i]._tocItemRef) {\r\n\t\t\t\tline.inlines[i]._pageNodeRef = line.inlines[i]._tocItemRef;\r\n\t\t\t}\r\n\r\n\t\t\tif (line.inlines[i]._pageRef) {\r\n\t\t\t\tline.inlines[i]._pageNodeRef = line.inlines[i]._pageRef._nodeRef;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\twhile (line && (maxHeight === -1 || currentHeight < maxHeight)) {\r\n\t\tvar positions = this.writer.addLine(line);\r\n\t\tnode.positions.push(positions);\r\n\t\tline = this.buildNextLine(node);\r\n\t\tif (line) {\r\n\t\t\tcurrentHeight += line.getHeight();\r\n\t\t}\r\n\t}\r\n};\r\n\r\nLayoutBuilder.prototype.processToc = function (node) {\r\n\tif (node.toc.title) {\r\n\t\tthis.processNode(node.toc.title);\r\n\t}\r\n\tif (node.toc._table) {\r\n\t\tthis.processNode(node.toc._table);\r\n\t}\r\n};\r\n\r\nLayoutBuilder.prototype.buildNextLine = function (textNode) {\r\n\r\n\tfunction cloneInline(inline) {\r\n\t\tvar newInline = inline.constructor();\r\n\t\tfor (var key in inline) {\r\n\t\t\tnewInline[key] = inline[key];\r\n\t\t}\r\n\t\treturn newInline;\r\n\t}\r\n\r\n\tif (!textNode._inlines || textNode._inlines.length === 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\tvar line = new Line(this.writer.context().availableWidth);\r\n\tvar textTools = new TextTools(null);\r\n\r\n\tvar isForceContinue = false;\r\n\twhile (textNode._inlines && textNode._inlines.length > 0 &&\r\n\t\t(line.hasEnoughSpaceForInline(textNode._inlines[0], textNode._inlines.slice(1)) || isForceContinue)) {\r\n\t\tvar isHardWrap = false;\r\n\t\tvar inline = textNode._inlines.shift();\r\n\t\tisForceContinue = false;\r\n\r\n\t\tif (!inline.noWrap && inline.text.length > 1 && inline.width > line.getAvailableWidth()) {\r\n\t\t\tvar widthPerChar = inline.width / inline.text.length;\r\n\t\t\tvar maxChars = Math.floor(line.getAvailableWidth() / widthPerChar);\r\n\t\t\tif (maxChars < 1) {\r\n\t\t\t\tmaxChars = 1;\r\n\t\t\t}\r\n\t\t\tif (maxChars < inline.text.length) {\r\n\t\t\t\tvar newInline = cloneInline(inline);\r\n\r\n\t\t\t\tnewInline.text = inline.text.substr(maxChars);\r\n\t\t\t\tinline.text = inline.text.substr(0, maxChars);\r\n\r\n\t\t\t\tnewInline.width = textTools.widthOfString(newInline.text, newInline.font, newInline.fontSize, newInline.characterSpacing, newInline.fontFeatures);\r\n\t\t\t\tinline.width = textTools.widthOfString(inline.text, inline.font, inline.fontSize, inline.characterSpacing, inline.fontFeatures);\r\n\r\n\t\t\t\ttextNode._inlines.unshift(newInline);\r\n\t\t\t\tisHardWrap = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tline.addInline(inline);\r\n\r\n\t\tisForceContinue = inline.noNewLine && !isHardWrap;\r\n\t}\r\n\r\n\tline.lastLineInParagraph = textNode._inlines.length === 0;\r\n\r\n\treturn line;\r\n};\r\n\r\n// images\r\nLayoutBuilder.prototype.processImage = function (node) {\r\n\tvar position = this.writer.addImage(node);\r\n\tnode.positions.push(position);\r\n};\r\n\r\nLayoutBuilder.prototype.processSVG = function (node) {\r\n\tvar position = this.writer.addSVG(node);\r\n\tnode.positions.push(position);\r\n};\r\n\r\nLayoutBuilder.prototype.processCanvas = function (node) {\r\n\tvar height = node._minHeight;\r\n\r\n\tif (node.absolutePosition === undefined && this.writer.context().availableHeight < height) {\r\n\t\t// TODO: support for canvas larger than a page\r\n\t\t// TODO: support for other overflow methods\r\n\r\n\t\tthis.writer.moveToNextPage();\r\n\t}\r\n\r\n\tthis.writer.alignCanvas(node);\r\n\r\n\tnode.canvas.forEach(function (vector) {\r\n\t\tvar position = this.writer.addVector(vector);\r\n\t\tnode.positions.push(position);\r\n\t}, this);\r\n\r\n\tthis.writer.context().moveDown(height);\r\n};\r\n\r\nLayoutBuilder.prototype.processQr = function (node) {\r\n\tvar position = this.writer.addQr(node);\r\n\tnode.positions.push(position);\r\n};\r\n\r\nmodule.exports = LayoutBuilder;\r\n","'use strict';\r\n\r\n/**\r\n * Creates an instance of Line\r\n *\r\n * @constructor\r\n * @this {Line}\r\n * @param {Number} Maximum width this line can have\r\n */\r\nfunction Line(maxWidth) {\r\n\tthis.maxWidth = maxWidth;\r\n\tthis.leadingCut = 0;\r\n\tthis.trailingCut = 0;\r\n\tthis.inlineWidths = 0;\r\n\tthis.inlines = [];\r\n}\r\n\r\nLine.prototype.getAscenderHeight = function () {\r\n\tvar y = 0;\r\n\r\n\tthis.inlines.forEach(function (inline) {\r\n\t\ty = Math.max(y, inline.font.ascender / 1000 * inline.fontSize);\r\n\t});\r\n\treturn y;\r\n};\r\n\r\nLine.prototype.hasEnoughSpaceForInline = function (inline, nextInlines) {\r\n\tnextInlines = nextInlines || [];\r\n\r\n\tif (this.inlines.length === 0) {\r\n\t\treturn true;\r\n\t}\r\n\tif (this.newLineForced) {\r\n\t\treturn false;\r\n\t}\r\n\r\n\tvar inlineWidth = inline.width;\r\n\tvar inlineTrailingCut = inline.trailingCut || 0;\r\n\tif (inline.noNewLine) {\r\n\t\tfor (var i = 0, l = nextInlines.length; i < l; i++) {\r\n\t\t\tvar nextInline = nextInlines[i];\r\n\t\t\tinlineWidth += nextInline.width;\r\n\t\t\tinlineTrailingCut += nextInline.trailingCut || 0;\r\n\t\t\tif (!nextInline.noNewLine) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn (this.inlineWidths + inlineWidth - this.leadingCut - inlineTrailingCut) <= this.maxWidth;\r\n};\r\n\r\nLine.prototype.addInline = function (inline) {\r\n\tif (this.inlines.length === 0) {\r\n\t\tthis.leadingCut = inline.leadingCut || 0;\r\n\t}\r\n\tthis.trailingCut = inline.trailingCut || 0;\r\n\r\n\tinline.x = this.inlineWidths - this.leadingCut;\r\n\r\n\tthis.inlines.push(inline);\r\n\tthis.inlineWidths += inline.width;\r\n\r\n\tif (inline.lineEnd) {\r\n\t\tthis.newLineForced = true;\r\n\t}\r\n};\r\n\r\nLine.prototype.getWidth = function () {\r\n\treturn this.inlineWidths - this.leadingCut - this.trailingCut;\r\n};\r\n\r\nLine.prototype.getAvailableWidth = function () {\r\n\treturn this.maxWidth - this.getWidth();\r\n};\r\n\r\n/**\r\n * Returns line height\r\n * @return {Number}\r\n */\r\nLine.prototype.getHeight = function () {\r\n\tvar max = 0;\r\n\r\n\tthis.inlines.forEach(function (item) {\r\n\t\tmax = Math.max(max, item.height || 0);\r\n\t});\r\n\r\n\treturn max;\r\n};\r\n\r\nmodule.exports = Line;\r\n","'use strict';\r\n\r\nvar isUndefined = require('./helpers').isUndefined;\r\nvar ElementWriter = require('./elementWriter');\r\n\r\n/**\r\n * Creates an instance of PageElementWriter - an extended ElementWriter\r\n * which can handle:\r\n * - page-breaks (it adds new pages when there's not enough space left),\r\n * - repeatable fragments (like table-headers, which are repeated everytime\r\n *                         a page-break occurs)\r\n * - transactions (used for unbreakable-blocks when we want to make sure\r\n *                 whole block will be rendered on the same page)\r\n */\r\nfunction PageElementWriter(context, tracker) {\r\n\tthis.transactionLevel = 0;\r\n\tthis.repeatables = [];\r\n\tthis.tracker = tracker;\r\n\tthis.writer = new ElementWriter(context, tracker);\r\n}\r\n\r\nfunction fitOnPage(self, addFct) {\r\n\tvar position = addFct(self);\r\n\tif (!position) {\r\n\t\tself.moveToNextPage();\r\n\t\tposition = addFct(self);\r\n\t}\r\n\treturn position;\r\n}\r\n\r\nPageElementWriter.prototype.addLine = function (line, dontUpdateContextPosition, index) {\r\n\treturn fitOnPage(this, function (self) {\r\n\t\treturn self.writer.addLine(line, dontUpdateContextPosition, index);\r\n\t});\r\n};\r\n\r\nPageElementWriter.prototype.addImage = function (image, index) {\r\n\treturn fitOnPage(this, function (self) {\r\n\t\treturn self.writer.addImage(image, index);\r\n\t});\r\n};\r\n\r\nPageElementWriter.prototype.addSVG = function (image, index) {\r\n\treturn fitOnPage(this, function (self) {\r\n\t\treturn self.writer.addSVG(image, index);\r\n\t});\r\n};\r\n\r\nPageElementWriter.prototype.addQr = function (qr, index) {\r\n\treturn fitOnPage(this, function (self) {\r\n\t\treturn self.writer.addQr(qr, index);\r\n\t});\r\n};\r\n\r\nPageElementWriter.prototype.addVector = function (vector, ignoreContextX, ignoreContextY, index) {\r\n\treturn this.writer.addVector(vector, ignoreContextX, ignoreContextY, index);\r\n};\r\n\r\nPageElementWriter.prototype.beginClip = function (width, height) {\r\n\treturn this.writer.beginClip(width, height);\r\n};\r\n\r\nPageElementWriter.prototype.endClip = function () {\r\n\treturn this.writer.endClip();\r\n};\r\n\r\nPageElementWriter.prototype.alignCanvas = function (node) {\r\n\tthis.writer.alignCanvas(node);\r\n};\r\n\r\nPageElementWriter.prototype.addFragment = function (fragment, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition) {\r\n\tif (!this.writer.addFragment(fragment, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition)) {\r\n\t\tthis.moveToNextPage();\r\n\t\tthis.writer.addFragment(fragment, useBlockXOffset, useBlockYOffset, dontUpdateContextPosition);\r\n\t}\r\n};\r\n\r\nPageElementWriter.prototype.moveToNextPage = function (pageOrientation) {\r\n\r\n\tvar nextPage = this.writer.context.moveToNextPage(pageOrientation);\r\n\r\n\t// moveToNextPage is called multiple times for table, because is called for each column\r\n\t// and repeatables are inserted only in the first time. If columns are used, is needed\r\n\t// call for table in first column and then for table in the second column (is other repeatables).\r\n\tthis.repeatables.forEach(function (rep) {\r\n\t\tif (isUndefined(rep.insertedOnPages[this.writer.context.page])) {\r\n\t\t\trep.insertedOnPages[this.writer.context.page] = true;\r\n\t\t\tthis.writer.addFragment(rep, true);\r\n\t\t} else {\r\n\t\t\tthis.writer.context.moveDown(rep.height);\r\n\t\t}\r\n\t}, this);\r\n\r\n\tthis.writer.tracker.emit('pageChanged', {\r\n\t\tprevPage: nextPage.prevPage,\r\n\t\tprevY: nextPage.prevY,\r\n\t\ty: this.writer.context.y\r\n\t});\r\n};\r\n\r\nPageElementWriter.prototype.beginUnbreakableBlock = function (width, height) {\r\n\tif (this.transactionLevel++ === 0) {\r\n\t\tthis.originalX = this.writer.context.x;\r\n\t\tthis.writer.pushContext(width, height);\r\n\t}\r\n};\r\n\r\nPageElementWriter.prototype.commitUnbreakableBlock = function (forcedX, forcedY) {\r\n\tif (--this.transactionLevel === 0) {\r\n\t\tvar unbreakableContext = this.writer.context;\r\n\t\tthis.writer.popContext();\r\n\r\n\t\tvar nbPages = unbreakableContext.pages.length;\r\n\t\tif (nbPages > 0) {\r\n\t\t\t// no support for multi-page unbreakableBlocks\r\n\t\t\tvar fragment = unbreakableContext.pages[0];\r\n\t\t\tfragment.xOffset = forcedX;\r\n\t\t\tfragment.yOffset = forcedY;\r\n\r\n\t\t\t//TODO: vectors can influence height in some situations\r\n\t\t\tif (nbPages > 1) {\r\n\t\t\t\t// on out-of-context blocs (headers, footers, background) height should be the whole DocumentContext height\r\n\t\t\t\tif (forcedX !== undefined || forcedY !== undefined) {\r\n\t\t\t\t\tfragment.height = unbreakableContext.getCurrentPage().pageSize.height - unbreakableContext.pageMargins.top - unbreakableContext.pageMargins.bottom;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfragment.height = this.writer.context.getCurrentPage().pageSize.height - this.writer.context.pageMargins.top - this.writer.context.pageMargins.bottom;\r\n\t\t\t\t\tfor (var i = 0, l = this.repeatables.length; i < l; i++) {\r\n\t\t\t\t\t\tfragment.height -= this.repeatables[i].height;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfragment.height = unbreakableContext.y;\r\n\t\t\t}\r\n\r\n\t\t\tif (forcedX !== undefined || forcedY !== undefined) {\r\n\t\t\t\tthis.writer.addFragment(fragment, true, true, true);\r\n\t\t\t} else {\r\n\t\t\t\tthis.addFragment(fragment);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\nPageElementWriter.prototype.currentBlockToRepeatable = function () {\r\n\tvar unbreakableContext = this.writer.context;\r\n\tvar rep = { items: [] };\r\n\r\n\tunbreakableContext.pages[0].items.forEach(function (item) {\r\n\t\trep.items.push(item);\r\n\t});\r\n\r\n\trep.xOffset = this.originalX;\r\n\r\n\t//TODO: vectors can influence height in some situations\r\n\trep.height = unbreakableContext.y;\r\n\r\n\trep.insertedOnPages = [];\r\n\r\n\treturn rep;\r\n};\r\n\r\nPageElementWriter.prototype.pushToRepeatables = function (rep) {\r\n\tthis.repeatables.push(rep);\r\n};\r\n\r\nPageElementWriter.prototype.popFromRepeatables = function () {\r\n\tthis.repeatables.pop();\r\n};\r\n\r\nPageElementWriter.prototype.context = function () {\r\n\treturn this.writer.context;\r\n};\r\n\r\nmodule.exports = PageElementWriter;\r\n","'use strict';\r\n\r\nfunction _interopDefault(ex) {\r\n\treturn (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex;\r\n}\r\n\r\nvar PdfKit = _interopDefault(require('@foliojs-fork/pdfkit'));\r\n\r\nfunction getEngineInstance() {\r\n\treturn PdfKit;\r\n}\r\n\r\nfunction createPdfDocument(options) {\r\n\toptions = options || {};\r\n\treturn new PdfKit(options);\r\n}\r\n\r\nmodule.exports = {\r\n\tgetEngineInstance: getEngineInstance,\r\n\tcreatePdfDocument: createPdfDocument\r\n};\r\n","/*eslint no-unused-vars: [\"error\", {\"args\": \"none\"}]*/\r\n'use strict';\r\n\r\nvar PdfKitEngine = require('./pdfKitEngine');\r\nvar FontProvider = require('./fontProvider');\r\nvar LayoutBuilder = require('./layoutBuilder');\r\nvar sizes = require('./standardPageSizes');\r\nvar ImageMeasure = require('./imageMeasure');\r\nvar SVGMeasure = require('./svgMeasure');\r\nvar textDecorator = require('./textDecorator');\r\nvar TextTools = require('./textTools');\r\nvar isFunction = require('./helpers').isFunction;\r\nvar isString = require('./helpers').isString;\r\nvar isNumber = require('./helpers').isNumber;\r\nvar isBoolean = require('./helpers').isBoolean;\r\nvar isArray = require('./helpers').isArray;\r\nvar isUndefined = require('./helpers').isUndefined;\r\nvar isPattern = require('./helpers').isPattern;\r\nvar getPattern = require('./helpers').getPattern;\r\nvar SVGtoPDF = require('./3rd-party/svg-to-pdfkit');\r\n\r\nvar findFont = function (fonts, requiredFonts, defaultFont) {\r\n\tfor (var i = 0; i < requiredFonts.length; i++) {\r\n\t\tvar requiredFont = requiredFonts[i].toLowerCase();\r\n\r\n\t\tfor (var font in fonts) {\r\n\t\t\tif (font.toLowerCase() === requiredFont) {\r\n\t\t\t\treturn font;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn defaultFont;\r\n};\r\n\r\n////////////////////////////////////////\r\n// PdfPrinter\r\n\r\n/**\r\n * @class Creates an instance of a PdfPrinter which turns document definition into a pdf\r\n *\r\n * @param {Object} fontDescriptors font definition dictionary\r\n *\r\n * @example\r\n * var fontDescriptors = {\r\n *\tRoboto: {\r\n *\t\tnormal: 'fonts/Roboto-Regular.ttf',\r\n *\t\tbold: 'fonts/Roboto-Medium.ttf',\r\n *\t\titalics: 'fonts/Roboto-Italic.ttf',\r\n *\t\tbolditalics: 'fonts/Roboto-MediumItalic.ttf'\r\n *\t}\r\n * };\r\n *\r\n * var printer = new PdfPrinter(fontDescriptors);\r\n */\r\nfunction PdfPrinter(fontDescriptors) {\r\n\tthis.fontDescriptors = fontDescriptors;\r\n}\r\n\r\n/**\r\n * Executes layout engine for the specified document and renders it into a pdfkit document\r\n * ready to be saved.\r\n *\r\n * @param {Object} docDefinition document definition\r\n * @param {Object} docDefinition.content an array describing the pdf structure (for more information take a look at the examples in the /examples folder)\r\n * @param {Object} [docDefinition.defaultStyle] default (implicit) style definition\r\n * @param {Object} [docDefinition.styles] dictionary defining all styles which can be used in the document\r\n * @param {Object} [docDefinition.pageSize] page size (pdfkit units, A4 dimensions by default)\r\n * @param {Number} docDefinition.pageSize.width width\r\n * @param {Number} docDefinition.pageSize.height height\r\n * @param {Object} [docDefinition.pageMargins] page margins (pdfkit units)\r\n * @param {Number} docDefinition.maxPagesNumber maximum number of pages to render\r\n *\r\n * @example\r\n *\r\n * var docDefinition = {\r\n * \tinfo: {\r\n *\t\ttitle: 'awesome Document',\r\n *\t\tauthor: 'john doe',\r\n *\t\tsubject: 'subject of document',\r\n *\t\tkeywords: 'keywords for document',\r\n * \t},\r\n *\tcontent: [\r\n *\t\t'First paragraph',\r\n *\t\t'Second paragraph, this time a little bit longer',\r\n *\t\t{ text: 'Third paragraph, slightly bigger font size', fontSize: 20 },\r\n *\t\t{ text: 'Another paragraph using a named style', style: 'header' },\r\n *\t\t{ text: ['playing with ', 'inlines' ] },\r\n *\t\t{ text: ['and ', { text: 'restyling ', bold: true }, 'them'] },\r\n *\t],\r\n *\tstyles: {\r\n *\t\theader: { fontSize: 30, bold: true }\r\n *\t},\r\n *\tpatterns: {\r\n *\t\tstripe45d: {\r\n *\t\t\tboundingBox: [1, 1, 4, 4],\r\n *\t\t\txStep: 3,\r\n *\t\t\tyStep: 3,\r\n *\t\t\tpattern: '1 w 0 1 m 4 5 l s 2 0 m 5 3 l s'\r\n *\t\t}\r\n *\t}\r\n * };\r\n *\r\n * var pdfKitDoc = printer.createPdfKitDocument(docDefinition);\r\n *\r\n * pdfKitDoc.pipe(fs.createWriteStream('sample.pdf'));\r\n * pdfKitDoc.end();\r\n *\r\n * @return {Object} a pdfKit document object which can be saved or encode to data-url\r\n */\r\nPdfPrinter.prototype.createPdfKitDocument = function (docDefinition, options) {\r\n\toptions = options || {};\r\n\r\n\tdocDefinition.version = docDefinition.version || '1.3';\r\n\tdocDefinition.compress = isBoolean(docDefinition.compress) ? docDefinition.compress : true;\r\n\tdocDefinition.images = docDefinition.images || {};\r\n\tdocDefinition.pageMargins = ((docDefinition.pageMargins !== undefined) && (docDefinition.pageMargins !== null)) ? docDefinition.pageMargins : 40;\r\n\r\n\tvar pageSize = fixPageSize(docDefinition.pageSize, docDefinition.pageOrientation);\r\n\r\n\tvar pdfOptions = {\r\n\t\tsize: [pageSize.width, pageSize.height],\r\n\t\tpdfVersion: docDefinition.version,\r\n\t\tcompress: docDefinition.compress,\r\n\t\tuserPassword: docDefinition.userPassword,\r\n\t\townerPassword: docDefinition.ownerPassword,\r\n\t\tpermissions: docDefinition.permissions,\r\n\t\tfontLayoutCache: isBoolean(options.fontLayoutCache) ? options.fontLayoutCache : true,\r\n\t\tbufferPages: options.bufferPages || false,\r\n\t\tautoFirstPage: false,\r\n\t\tinfo: createMetadata(docDefinition),\r\n\t\tfont: null\r\n\t};\r\n\r\n\tthis.pdfKitDoc = PdfKitEngine.createPdfDocument(pdfOptions);\r\n\r\n\tthis.fontProvider = new FontProvider(this.fontDescriptors, this.pdfKitDoc);\r\n\r\n\tvar builder = new LayoutBuilder(pageSize, fixPageMargins(docDefinition.pageMargins), new ImageMeasure(this.pdfKitDoc, docDefinition.images), new SVGMeasure());\r\n\r\n\tregisterDefaultTableLayouts(builder);\r\n\tif (options.tableLayouts) {\r\n\t\tbuilder.registerTableLayouts(options.tableLayouts);\r\n\t}\r\n\r\n\tvar pages = builder.layoutDocument(docDefinition.content, this.fontProvider, docDefinition.styles || {}, docDefinition.defaultStyle || {\r\n\t\tfontSize: 12,\r\n\t\tfont: 'Roboto'\r\n\t}, docDefinition.background, docDefinition.header, docDefinition.footer, docDefinition.images, docDefinition.watermark, docDefinition.pageBreakBefore);\r\n\tvar maxNumberPages = docDefinition.maxPagesNumber || -1;\r\n\tif (isNumber(maxNumberPages) && maxNumberPages > -1) {\r\n\t\tpages = pages.slice(0, maxNumberPages);\r\n\t}\r\n\r\n\t// if pageSize.height is set to Infinity, calculate the actual height of the page that\r\n\t// was laid out using the height of each of the items in the page.\r\n\tif (pageSize.height === Infinity) {\r\n\t\tvar pageHeight = calculatePageHeight(pages, docDefinition.pageMargins);\r\n\t\tthis.pdfKitDoc.options.size = [pageSize.width, pageHeight];\r\n\t}\r\n\r\n\tvar patterns = createPatterns(docDefinition.patterns || {}, this.pdfKitDoc);\r\n\r\n\trenderPages(pages, this.fontProvider, this.pdfKitDoc, patterns, options.progressCallback);\r\n\r\n\tif (options.autoPrint) {\r\n\t\tvar printActionRef = this.pdfKitDoc.ref({\r\n\t\t\tType: 'Action',\r\n\t\t\tS: 'Named',\r\n\t\t\tN: 'Print'\r\n\t\t});\r\n\t\tthis.pdfKitDoc._root.data.OpenAction = printActionRef;\r\n\t\tprintActionRef.end();\r\n\t}\r\n\treturn this.pdfKitDoc;\r\n};\r\n\r\nfunction createMetadata(docDefinition) {\r\n\t// PDF standard has these properties reserved: Title, Author, Subject, Keywords,\r\n\t// Creator, Producer, CreationDate, ModDate, Trapped.\r\n\t// To keep the pdfmake api consistent, the info field are defined lowercase.\r\n\t// Custom properties don't contain a space.\r\n\tfunction standardizePropertyKey(key) {\r\n\t\tvar standardProperties = ['Title', 'Author', 'Subject', 'Keywords',\r\n\t\t\t'Creator', 'Producer', 'CreationDate', 'ModDate', 'Trapped'];\r\n\t\tvar standardizedKey = key.charAt(0).toUpperCase() + key.slice(1);\r\n\t\tif (standardProperties.indexOf(standardizedKey) !== -1) {\r\n\t\t\treturn standardizedKey;\r\n\t\t}\r\n\r\n\t\treturn key.replace(/\\s+/g, '');\r\n\t}\r\n\r\n\tvar info = {\r\n\t\tProducer: 'pdfmake',\r\n\t\tCreator: 'pdfmake'\r\n\t};\r\n\r\n\tif (docDefinition.info) {\r\n\t\tfor (var key in docDefinition.info) {\r\n\t\t\tvar value = docDefinition.info[key];\r\n\t\t\tif (value) {\r\n\t\t\t\tkey = standardizePropertyKey(key);\r\n\t\t\t\tinfo[key] = value;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn info;\r\n}\r\n\r\nfunction calculatePageHeight(pages, margins) {\r\n\tfunction getItemHeight(item) {\r\n\t\tif (isFunction(item.item.getHeight)) {\r\n\t\t\treturn item.item.getHeight();\r\n\t\t} else if (item.item._height) {\r\n\t\t\treturn item.item._height;\r\n\t\t} else if (item.type === 'vector') {\r\n\t\t\tif (typeof item.item.y1 !== 'undefined') {\r\n\t\t\t\treturn item.item.y1 > item.item.y2 ? item.item.y1 : item.item.y2;\r\n\t\t\t} else {\r\n\t\t\t\treturn item.item.h;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// TODO: add support for next item types\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tfunction getBottomPosition(item) {\r\n\t\tvar top = item.item.y || 0;\r\n\t\tvar height = getItemHeight(item);\r\n\t\treturn top + height;\r\n\t}\r\n\r\n\tvar fixedMargins = fixPageMargins(margins || 40);\r\n\tvar height = fixedMargins.top;\r\n\r\n\tpages.forEach(function (page) {\r\n\t\tpage.items.forEach(function (item) {\r\n\t\t\tvar bottomPosition = getBottomPosition(item);\r\n\t\t\tif (bottomPosition > height) {\r\n\t\t\t\theight = bottomPosition;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\theight += fixedMargins.bottom;\r\n\r\n\treturn height;\r\n}\r\n\r\nfunction fixPageSize(pageSize, pageOrientation) {\r\n\tfunction isNeedSwapPageSizes(pageOrientation) {\r\n\t\tif (isString(pageOrientation)) {\r\n\t\t\tpageOrientation = pageOrientation.toLowerCase();\r\n\t\t\treturn ((pageOrientation === 'portrait') && (size.width > size.height)) ||\r\n\t\t\t\t((pageOrientation === 'landscape') && (size.width < size.height));\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// if pageSize.height is set to auto, set the height to infinity so there are no page breaks.\r\n\tif (pageSize && pageSize.height === 'auto') {\r\n\t\tpageSize.height = Infinity;\r\n\t}\r\n\r\n\tvar size = pageSize2widthAndHeight(pageSize || 'A4');\r\n\tif (isNeedSwapPageSizes(pageOrientation)) { // swap page sizes\r\n\t\tsize = { width: size.height, height: size.width };\r\n\t}\r\n\tsize.orientation = size.width > size.height ? 'landscape' : 'portrait';\r\n\treturn size;\r\n}\r\n\r\nfunction fixPageMargins(margin) {\r\n\tif (isNumber(margin)) {\r\n\t\tmargin = { left: margin, right: margin, top: margin, bottom: margin };\r\n\t} else if (isArray(margin)) {\r\n\t\tif (margin.length === 2) {\r\n\t\t\tmargin = { left: margin[0], top: margin[1], right: margin[0], bottom: margin[1] };\r\n\t\t} else if (margin.length === 4) {\r\n\t\t\tmargin = { left: margin[0], top: margin[1], right: margin[2], bottom: margin[3] };\r\n\t\t} else {\r\n\t\t\tthrow 'Invalid pageMargins definition';\r\n\t\t}\r\n\t}\r\n\r\n\treturn margin;\r\n}\r\n\r\nfunction registerDefaultTableLayouts(layoutBuilder) {\r\n\tlayoutBuilder.registerTableLayouts({\r\n\t\tnoBorders: {\r\n\t\t\thLineWidth: function (i) {\r\n\t\t\t\treturn 0;\r\n\t\t\t},\r\n\t\t\tvLineWidth: function (i) {\r\n\t\t\t\treturn 0;\r\n\t\t\t},\r\n\t\t\tpaddingLeft: function (i) {\r\n\t\t\t\treturn i && 4 || 0;\r\n\t\t\t},\r\n\t\t\tpaddingRight: function (i, node) {\r\n\t\t\t\treturn (i < node.table.widths.length - 1) ? 4 : 0;\r\n\t\t\t}\r\n\t\t},\r\n\t\theaderLineOnly: {\r\n\t\t\thLineWidth: function (i, node) {\r\n\t\t\t\tif (i === 0 || i === node.table.body.length) {\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn (i === node.table.headerRows) ? 2 : 0;\r\n\t\t\t},\r\n\t\t\tvLineWidth: function (i) {\r\n\t\t\t\treturn 0;\r\n\t\t\t},\r\n\t\t\tpaddingLeft: function (i) {\r\n\t\t\t\treturn i === 0 ? 0 : 8;\r\n\t\t\t},\r\n\t\t\tpaddingRight: function (i, node) {\r\n\t\t\t\treturn (i === node.table.widths.length - 1) ? 0 : 8;\r\n\t\t\t}\r\n\t\t},\r\n\t\tlightHorizontalLines: {\r\n\t\t\thLineWidth: function (i, node) {\r\n\t\t\t\tif (i === 0 || i === node.table.body.length) {\r\n\t\t\t\t\treturn 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn (i === node.table.headerRows) ? 2 : 1;\r\n\t\t\t},\r\n\t\t\tvLineWidth: function (i) {\r\n\t\t\t\treturn 0;\r\n\t\t\t},\r\n\t\t\thLineColor: function (i) {\r\n\t\t\t\treturn i === 1 ? 'black' : '#aaa';\r\n\t\t\t},\r\n\t\t\tpaddingLeft: function (i) {\r\n\t\t\t\treturn i === 0 ? 0 : 8;\r\n\t\t\t},\r\n\t\t\tpaddingRight: function (i, node) {\r\n\t\t\t\treturn (i === node.table.widths.length - 1) ? 0 : 8;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction pageSize2widthAndHeight(pageSize) {\r\n\tif (isString(pageSize)) {\r\n\t\tvar size = sizes[pageSize.toUpperCase()];\r\n\t\tif (!size) {\r\n\t\t\tthrow 'Page size ' + pageSize + ' not recognized';\r\n\t\t}\r\n\t\treturn { width: size[0], height: size[1] };\r\n\t}\r\n\r\n\treturn pageSize;\r\n}\r\n\r\nfunction updatePageOrientationInOptions(currentPage, pdfKitDoc) {\r\n\tvar previousPageOrientation = pdfKitDoc.options.size[0] > pdfKitDoc.options.size[1] ? 'landscape' : 'portrait';\r\n\r\n\tif (currentPage.pageSize.orientation !== previousPageOrientation) {\r\n\t\tvar width = pdfKitDoc.options.size[0];\r\n\t\tvar height = pdfKitDoc.options.size[1];\r\n\t\tpdfKitDoc.options.size = [height, width];\r\n\t}\r\n}\r\n\r\nfunction renderPages(pages, fontProvider, pdfKitDoc, patterns, progressCallback) {\r\n\tpdfKitDoc._pdfMakePages = pages;\r\n\tpdfKitDoc.addPage();\r\n\r\n\tvar totalItems = 0;\r\n\tif (progressCallback) {\r\n\t\tpages.forEach(function (page) {\r\n\t\t\ttotalItems += page.items.length;\r\n\t\t});\r\n\t}\r\n\r\n\tvar renderedItems = 0;\r\n\tprogressCallback = progressCallback || function () {\r\n\t};\r\n\r\n\tfor (var i = 0; i < pages.length; i++) {\r\n\t\tif (i > 0) {\r\n\t\t\tupdatePageOrientationInOptions(pages[i], pdfKitDoc);\r\n\t\t\tpdfKitDoc.addPage(pdfKitDoc.options);\r\n\t\t}\r\n\r\n\t\tvar page = pages[i];\r\n\t\tfor (var ii = 0, il = page.items.length; ii < il; ii++) {\r\n\t\t\tvar item = page.items[ii];\r\n\t\t\tswitch (item.type) {\r\n\t\t\t\tcase 'vector':\r\n\t\t\t\t\trenderVector(item.item, patterns, pdfKitDoc);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'line':\r\n\t\t\t\t\trenderLine(item.item, item.item.x, item.item.y, patterns, pdfKitDoc);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'image':\r\n\t\t\t\t\trenderImage(item.item, item.item.x, item.item.y, pdfKitDoc);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'svg':\r\n\t\t\t\t\trenderSVG(item.item, item.item.x, item.item.y, pdfKitDoc, fontProvider);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'beginClip':\r\n\t\t\t\t\tbeginClip(item.item, pdfKitDoc);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'endClip':\r\n\t\t\t\t\tendClip(pdfKitDoc);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trenderedItems++;\r\n\t\t\tprogressCallback(renderedItems / totalItems);\r\n\t\t}\r\n\t\tif (page.watermark) {\r\n\t\t\trenderWatermark(page, pdfKitDoc);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n/**\r\n * Shift the \"y\" height of the text baseline up or down (superscript or subscript,\r\n * respectively). The exact shift can / should be changed according to standard\r\n * conventions.\r\n *\r\n * @param {number} y\r\n * @param {any} inline\r\n */\r\nfunction offsetText(y, inline) {\r\n\tvar newY = y;\r\n\tif (inline.sup) {\r\n\t\tnewY -= inline.fontSize * 0.75;\r\n\t}\r\n\tif (inline.sub) {\r\n\t\tnewY += inline.fontSize * 0.35;\r\n\t}\r\n\treturn newY;\r\n}\r\n\r\nfunction renderLine(line, x, y, patterns, pdfKitDoc) {\r\n\tfunction preparePageNodeRefLine(_pageNodeRef, inline) {\r\n\t\tvar newWidth;\r\n\t\tvar diffWidth;\r\n\t\tvar textTools = new TextTools(null);\r\n\r\n\t\tif (isUndefined(_pageNodeRef.positions)) {\r\n\t\t\tthrow 'Page reference id not found';\r\n\t\t}\r\n\r\n\t\tvar pageNumber = _pageNodeRef.positions[0].pageNumber.toString();\r\n\r\n\t\tinline.text = pageNumber;\r\n\t\tnewWidth = textTools.widthOfString(inline.text, inline.font, inline.fontSize, inline.characterSpacing, inline.fontFeatures);\r\n\t\tdiffWidth = inline.width - newWidth;\r\n\t\tinline.width = newWidth;\r\n\r\n\t\tswitch (inline.alignment) {\r\n\t\t\tcase 'right':\r\n\t\t\t\tinline.x += diffWidth;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'center':\r\n\t\t\t\tinline.x += diffWidth / 2;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\tif (line._pageNodeRef) {\r\n\t\tpreparePageNodeRefLine(line._pageNodeRef, line.inlines[0]);\r\n\t}\r\n\r\n\tx = x || 0;\r\n\ty = y || 0;\r\n\r\n\tvar lineHeight = line.getHeight();\r\n\tvar ascenderHeight = line.getAscenderHeight();\r\n\tvar descent = lineHeight - ascenderHeight;\r\n\r\n\ttextDecorator.drawBackground(line, x, y, patterns, pdfKitDoc);\r\n\r\n\t//TODO: line.optimizeInlines();\r\n\tfor (var i = 0, l = line.inlines.length; i < l; i++) {\r\n\t\tvar inline = line.inlines[i];\r\n\t\tvar shiftToBaseline = lineHeight - ((inline.font.ascender / 1000) * inline.fontSize) - descent;\r\n\r\n\t\tif (inline._pageNodeRef) {\r\n\t\t\tpreparePageNodeRefLine(inline._pageNodeRef, inline);\r\n\t\t}\r\n\r\n\t\tvar options = {\r\n\t\t\tlineBreak: false,\r\n\t\t\ttextWidth: inline.width,\r\n\t\t\tcharacterSpacing: inline.characterSpacing,\r\n\t\t\twordCount: 1,\r\n\t\t\tlink: inline.link\r\n\t\t};\r\n\r\n\t\tif (inline.linkToDestination) {\r\n\t\t\toptions.goTo = inline.linkToDestination;\r\n\t\t}\r\n\r\n\t\tif (line.id && i === 0) {\r\n\t\t\toptions.destination = line.id;\r\n\t\t}\r\n\r\n\t\tif (inline.fontFeatures) {\r\n\t\t\toptions.features = inline.fontFeatures;\r\n\t\t}\r\n\r\n\t\tvar opacity = isNumber(inline.opacity) ? inline.opacity : 1;\r\n\t\tpdfKitDoc.opacity(opacity);\r\n\t\tpdfKitDoc.fill(inline.color || 'black');\r\n\r\n\t\tpdfKitDoc._font = inline.font;\r\n\t\tpdfKitDoc.fontSize(inline.fontSize);\r\n\r\n\t\tvar shiftedY = offsetText(y + shiftToBaseline, inline);\r\n\t\tpdfKitDoc.text(inline.text, x + inline.x, shiftedY, options);\r\n\r\n\t\tif (inline.linkToPage) {\r\n\t\t\tvar _ref = pdfKitDoc.ref({ Type: 'Action', S: 'GoTo', D: [inline.linkToPage, 0, 0] }).end();\r\n\t\t\tpdfKitDoc.annotate(x + inline.x, shiftedY, inline.width, inline.height, {\r\n\t\t\t\tSubtype: 'Link',\r\n\t\t\t\tDest: [inline.linkToPage - 1, 'XYZ', null, null, null]\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t}\r\n\t// Decorations won't draw correctly for superscript\r\n\ttextDecorator.drawDecorations(line, x, y, pdfKitDoc);\r\n}\r\n\r\nfunction renderWatermark(page, pdfKitDoc) {\r\n\tvar watermark = page.watermark;\r\n\r\n\tpdfKitDoc.fill(watermark.color);\r\n\tpdfKitDoc.opacity(watermark.opacity);\r\n\r\n\tpdfKitDoc.save();\r\n\r\n\tpdfKitDoc.rotate(watermark.angle, { origin: [pdfKitDoc.page.width / 2, pdfKitDoc.page.height / 2] });\r\n\r\n\tvar x = pdfKitDoc.page.width / 2 - watermark._size.size.width / 2;\r\n\tvar y = pdfKitDoc.page.height / 2 - watermark._size.size.height / 2;\r\n\r\n\tpdfKitDoc._font = watermark.font;\r\n\tpdfKitDoc.fontSize(watermark.fontSize);\r\n\tpdfKitDoc.text(watermark.text, x, y, { lineBreak: false });\r\n\r\n\tpdfKitDoc.restore();\r\n}\r\n\r\nfunction renderVector(vector, patterns, pdfKitDoc) {\r\n\t//TODO: pdf optimization (there's no need to write all properties everytime)\r\n\tpdfKitDoc.lineWidth(vector.lineWidth || 1);\r\n\tif (vector.dash) {\r\n\t\tpdfKitDoc.dash(vector.dash.length, { space: vector.dash.space || vector.dash.length, phase: vector.dash.phase || 0 });\r\n\t} else {\r\n\t\tpdfKitDoc.undash();\r\n\t}\r\n\tpdfKitDoc.lineJoin(vector.lineJoin || 'miter');\r\n\tpdfKitDoc.lineCap(vector.lineCap || 'butt');\r\n\r\n\t//TODO: clipping\r\n\r\n\tvar gradient = null;\r\n\r\n\tswitch (vector.type) {\r\n\t\tcase 'ellipse':\r\n\t\t\tpdfKitDoc.ellipse(vector.x, vector.y, vector.r1, vector.r2);\r\n\r\n\t\t\tif (vector.linearGradient) {\r\n\t\t\t\tgradient = pdfKitDoc.linearGradient(vector.x - vector.r1, vector.y, vector.x + vector.r1, vector.y);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase 'rect':\r\n\t\t\tif (vector.r) {\r\n\t\t\t\tpdfKitDoc.roundedRect(vector.x, vector.y, vector.w, vector.h, vector.r);\r\n\t\t\t} else {\r\n\t\t\t\tpdfKitDoc.rect(vector.x, vector.y, vector.w, vector.h);\r\n\t\t\t}\r\n\r\n\t\t\tif (vector.linearGradient) {\r\n\t\t\t\tgradient = pdfKitDoc.linearGradient(vector.x, vector.y, vector.x + vector.w, vector.y);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase 'line':\r\n\t\t\tpdfKitDoc.moveTo(vector.x1, vector.y1);\r\n\t\t\tpdfKitDoc.lineTo(vector.x2, vector.y2);\r\n\t\t\tbreak;\r\n\t\tcase 'polyline':\r\n\t\t\tif (vector.points.length === 0) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tpdfKitDoc.moveTo(vector.points[0].x, vector.points[0].y);\r\n\t\t\tfor (var i = 1, l = vector.points.length; i < l; i++) {\r\n\t\t\t\tpdfKitDoc.lineTo(vector.points[i].x, vector.points[i].y);\r\n\t\t\t}\r\n\r\n\t\t\tif (vector.points.length > 1) {\r\n\t\t\t\tvar p1 = vector.points[0];\r\n\t\t\t\tvar pn = vector.points[vector.points.length - 1];\r\n\r\n\t\t\t\tif (vector.closePath || p1.x === pn.x && p1.y === pn.y) {\r\n\t\t\t\t\tpdfKitDoc.closePath();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase 'path':\r\n\t\t\tpdfKitDoc.path(vector.d);\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tif (vector.linearGradient && gradient) {\r\n\t\tvar step = 1 / (vector.linearGradient.length - 1);\r\n\r\n\t\tfor (var i = 0; i < vector.linearGradient.length; i++) {\r\n\t\t\tgradient.stop(i * step, vector.linearGradient[i]);\r\n\t\t}\r\n\r\n\t\tvector.color = gradient;\r\n\t}\r\n\r\n\tif (isPattern(vector.color)) {\r\n\t\tvector.color = getPattern(vector.color, patterns);\r\n\t}\r\n\r\n\tvar fillOpacity = isNumber(vector.fillOpacity) ? vector.fillOpacity : 1;\r\n\tvar strokeOpacity = isNumber(vector.strokeOpacity) ? vector.strokeOpacity : 1;\r\n\r\n\tif (vector.color && vector.lineColor) {\r\n\t\tpdfKitDoc.fillColor(vector.color, fillOpacity);\r\n\t\tpdfKitDoc.strokeColor(vector.lineColor, strokeOpacity);\r\n\t\tpdfKitDoc.fillAndStroke();\r\n\t} else if (vector.color) {\r\n\t\tpdfKitDoc.fillColor(vector.color, fillOpacity);\r\n\t\tpdfKitDoc.fill();\r\n\t} else {\r\n\t\tpdfKitDoc.strokeColor(vector.lineColor || 'black', strokeOpacity);\r\n\t\tpdfKitDoc.stroke();\r\n\t}\r\n}\r\n\r\nfunction renderImage(image, x, y, pdfKitDoc) {\r\n\tvar opacity = isNumber(image.opacity) ? image.opacity : 1;\r\n\tpdfKitDoc.opacity(opacity);\r\n\tif (image.cover) {\r\n\t\tvar align = image.cover.align || 'center';\r\n\t\tvar valign = image.cover.valign || 'center';\r\n\t\tvar width = image.cover.width ? image.cover.width : image.width;\r\n\t\tvar height = image.cover.height ? image.cover.height : image.height;\r\n\t\tpdfKitDoc.save();\r\n\t\tpdfKitDoc.rect(image.x, image.y, width, height).clip();\r\n\t\tpdfKitDoc.image(image.image, image.x, image.y, { cover: [width, height], align: align, valign: valign });\r\n\t\tpdfKitDoc.restore();\r\n\t} else {\r\n\t\tpdfKitDoc.image(image.image, image.x, image.y, { width: image._width, height: image._height });\r\n\t}\r\n\tif (image.link) {\r\n\t\tpdfKitDoc.link(image.x, image.y, image._width, image._height, image.link);\r\n\t}\r\n\tif (image.linkToPage) {\r\n\t\tpdfKitDoc.ref({ Type: 'Action', S: 'GoTo', D: [image.linkToPage, 0, 0] }).end();\r\n\t\tpdfKitDoc.annotate(image.x, image.y, image._width, image._height, { Subtype: 'Link', Dest: [image.linkToPage - 1, 'XYZ', null, null, null] });\r\n\t}\r\n\tif (image.linkToDestination) {\r\n\t\tpdfKitDoc.goTo(image.x, image.y, image._width, image._height, image.linkToDestination);\r\n\t}\r\n}\r\n\r\nfunction renderSVG(svg, x, y, pdfKitDoc, fontProvider) {\r\n\tvar options = Object.assign({ width: svg._width, height: svg._height, assumePt: true }, svg.options);\r\n\toptions.fontCallback = function (family, bold, italic) {\r\n\t\tvar fontsFamily = family.split(',').map(function (f) { return f.trim().replace(/('|\")/g, ''); });\r\n\t\tvar font = findFont(fontProvider.fonts, fontsFamily, svg.font || 'Roboto');\r\n\r\n\t\tvar fontFile = fontProvider.getFontFile(font, bold, italic);\r\n\t\tif (fontFile === null) {\r\n\t\t\tvar type = fontProvider.getFontType(bold, italic);\r\n\t\t\tthrow new Error('Font \\'' + font + '\\' in style \\'' + type + '\\' is not defined in the font section of the document definition.');\r\n\t\t}\r\n\r\n\t\treturn fontFile;\r\n\t};\r\n\r\n\tSVGtoPDF(pdfKitDoc, svg.svg, svg.x, svg.y, options);\r\n}\r\n\r\nfunction beginClip(rect, pdfKitDoc) {\r\n\tpdfKitDoc.save();\r\n\tpdfKitDoc.addContent('' + rect.x + ' ' + rect.y + ' ' + rect.width + ' ' + rect.height + ' re');\r\n\tpdfKitDoc.clip();\r\n}\r\n\r\nfunction endClip(pdfKitDoc) {\r\n\tpdfKitDoc.restore();\r\n}\r\n\r\nfunction createPatterns(patternDefinitions, pdfKitDoc) {\r\n\tvar patterns = {};\r\n\tObject.keys(patternDefinitions).forEach(function (p) {\r\n\t\tvar pattern = patternDefinitions[p];\r\n\t\tpatterns[p] = pdfKitDoc.pattern(pattern.boundingBox, pattern.xStep, pattern.yStep, pattern.pattern, pattern.colored);\r\n\t});\r\n\treturn patterns;\r\n}\r\n\r\nmodule.exports = PdfPrinter;\r\n","/*eslint no-unused-vars: [\"error\", {\"args\": \"none\"}]*/\r\n/*eslint no-redeclare: \"off\"*/\r\n\r\n'use strict';\r\n/* qr.js -- QR code generator in Javascript (revision 2011-01-19)\r\n * Written by Kang Seonghoon <public+qrjs@mearie.org>.\r\n *\r\n * This source code is in the public domain; if your jurisdiction does not\r\n * recognize the public domain the terms of Creative Commons CC0 license\r\n * apply. In the other words, you can always do what you want.\r\n */\r\n\r\n\r\n// per-version information (cf. JIS X 0510:2004 pp. 30--36, 71)\r\n//\r\n// [0]: the degree of generator polynomial by ECC levels\r\n// [1]: # of code blocks by ECC levels\r\n// [2]: left-top positions of alignment patterns\r\n//\r\n// the number in this table (in particular, [0]) does not exactly match with\r\n// the numbers in the specficiation. see augumenteccs below for the reason.\r\nvar VERSIONS = [\r\n\tnull,\r\n\t[[10, 7, 17, 13], [1, 1, 1, 1], []],\r\n\t[[16, 10, 28, 22], [1, 1, 1, 1], [4, 16]],\r\n\t[[26, 15, 22, 18], [1, 1, 2, 2], [4, 20]],\r\n\t[[18, 20, 16, 26], [2, 1, 4, 2], [4, 24]],\r\n\t[[24, 26, 22, 18], [2, 1, 4, 4], [4, 28]],\r\n\t[[16, 18, 28, 24], [4, 2, 4, 4], [4, 32]],\r\n\t[[18, 20, 26, 18], [4, 2, 5, 6], [4, 20, 36]],\r\n\t[[22, 24, 26, 22], [4, 2, 6, 6], [4, 22, 40]],\r\n\t[[22, 30, 24, 20], [5, 2, 8, 8], [4, 24, 44]],\r\n\t[[26, 18, 28, 24], [5, 4, 8, 8], [4, 26, 48]],\r\n\t[[30, 20, 24, 28], [5, 4, 11, 8], [4, 28, 52]],\r\n\t[[22, 24, 28, 26], [8, 4, 11, 10], [4, 30, 56]],\r\n\t[[22, 26, 22, 24], [9, 4, 16, 12], [4, 32, 60]],\r\n\t[[24, 30, 24, 20], [9, 4, 16, 16], [4, 24, 44, 64]],\r\n\t[[24, 22, 24, 30], [10, 6, 18, 12], [4, 24, 46, 68]],\r\n\t[[28, 24, 30, 24], [10, 6, 16, 17], [4, 24, 48, 72]],\r\n\t[[28, 28, 28, 28], [11, 6, 19, 16], [4, 28, 52, 76]],\r\n\t[[26, 30, 28, 28], [13, 6, 21, 18], [4, 28, 54, 80]],\r\n\t[[26, 28, 26, 26], [14, 7, 25, 21], [4, 28, 56, 84]],\r\n\t[[26, 28, 28, 30], [16, 8, 25, 20], [4, 32, 60, 88]],\r\n\t[[26, 28, 30, 28], [17, 8, 25, 23], [4, 26, 48, 70, 92]],\r\n\t[[28, 28, 24, 30], [17, 9, 34, 23], [4, 24, 48, 72, 96]],\r\n\t[[28, 30, 30, 30], [18, 9, 30, 25], [4, 28, 52, 76, 100]],\r\n\t[[28, 30, 30, 30], [20, 10, 32, 27], [4, 26, 52, 78, 104]],\r\n\t[[28, 26, 30, 30], [21, 12, 35, 29], [4, 30, 56, 82, 108]],\r\n\t[[28, 28, 30, 28], [23, 12, 37, 34], [4, 28, 56, 84, 112]],\r\n\t[[28, 30, 30, 30], [25, 12, 40, 34], [4, 32, 60, 88, 116]],\r\n\t[[28, 30, 30, 30], [26, 13, 42, 35], [4, 24, 48, 72, 96, 120]],\r\n\t[[28, 30, 30, 30], [28, 14, 45, 38], [4, 28, 52, 76, 100, 124]],\r\n\t[[28, 30, 30, 30], [29, 15, 48, 40], [4, 24, 50, 76, 102, 128]],\r\n\t[[28, 30, 30, 30], [31, 16, 51, 43], [4, 28, 54, 80, 106, 132]],\r\n\t[[28, 30, 30, 30], [33, 17, 54, 45], [4, 32, 58, 84, 110, 136]],\r\n\t[[28, 30, 30, 30], [35, 18, 57, 48], [4, 28, 56, 84, 112, 140]],\r\n\t[[28, 30, 30, 30], [37, 19, 60, 51], [4, 32, 60, 88, 116, 144]],\r\n\t[[28, 30, 30, 30], [38, 19, 63, 53], [4, 28, 52, 76, 100, 124, 148]],\r\n\t[[28, 30, 30, 30], [40, 20, 66, 56], [4, 22, 48, 74, 100, 126, 152]],\r\n\t[[28, 30, 30, 30], [43, 21, 70, 59], [4, 26, 52, 78, 104, 130, 156]],\r\n\t[[28, 30, 30, 30], [45, 22, 74, 62], [4, 30, 56, 82, 108, 134, 160]],\r\n\t[[28, 30, 30, 30], [47, 24, 77, 65], [4, 24, 52, 80, 108, 136, 164]],\r\n\t[[28, 30, 30, 30], [49, 25, 81, 68], [4, 28, 56, 84, 112, 140, 168]]];\r\n\r\n// mode constants (cf. Table 2 in JIS X 0510:2004 p. 16)\r\nvar MODE_TERMINATOR = 0;\r\nvar MODE_NUMERIC = 1, MODE_ALPHANUMERIC = 2, MODE_OCTET = 4, MODE_KANJI = 8;\r\n\r\n// validation regexps\r\nvar NUMERIC_REGEXP = /^\\d*$/;\r\nvar ALPHANUMERIC_REGEXP = /^[A-Za-z0-9 $%*+\\-./:]*$/;\r\nvar ALPHANUMERIC_OUT_REGEXP = /^[A-Z0-9 $%*+\\-./:]*$/;\r\n\r\n// ECC levels (cf. Table 22 in JIS X 0510:2004 p. 45)\r\nvar ECCLEVEL_L = 1, ECCLEVEL_M = 0, ECCLEVEL_Q = 3, ECCLEVEL_H = 2;\r\n\r\n// GF(2^8)-to-integer mapping with a reducing polynomial x^8+x^4+x^3+x^2+1\r\n// invariant: GF256_MAP[GF256_INVMAP[i]] == i for all i in [1,256)\r\nvar GF256_MAP = [], GF256_INVMAP = [-1];\r\nfor (var i = 0, v = 1; i < 255; ++i) {\r\n\tGF256_MAP.push(v);\r\n\tGF256_INVMAP[v] = i;\r\n\tv = (v * 2) ^ (v >= 128 ? 0x11d : 0);\r\n}\r\n\r\n// generator polynomials up to degree 30\r\n// (should match with polynomials in JIS X 0510:2004 Appendix A)\r\n//\r\n// generator polynomial of degree K is product of (x-\\alpha^0), (x-\\alpha^1),\r\n// ..., (x-\\alpha^(K-1)). by convention, we omit the K-th coefficient (always 1)\r\n// from the result; also other coefficients are written in terms of the exponent\r\n// to \\alpha to avoid the redundant calculation. (see also calculateecc below.)\r\nvar GF256_GENPOLY = [[]];\r\nfor (var i = 0; i < 30; ++i) {\r\n\tvar prevpoly = GF256_GENPOLY[i], poly = [];\r\n\tfor (var j = 0; j <= i; ++j) {\r\n\t\tvar a = (j < i ? GF256_MAP[prevpoly[j]] : 0);\r\n\t\tvar b = GF256_MAP[(i + (prevpoly[j - 1] || 0)) % 255];\r\n\t\tpoly.push(GF256_INVMAP[a ^ b]);\r\n\t}\r\n\tGF256_GENPOLY.push(poly);\r\n}\r\n\r\n// alphanumeric character mapping (cf. Table 5 in JIS X 0510:2004 p. 19)\r\nvar ALPHANUMERIC_MAP = {};\r\nfor (var i = 0; i < 45; ++i) {\r\n\tALPHANUMERIC_MAP['0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'.charAt(i)] = i;\r\n}\r\n\r\n// mask functions in terms of row # and column #\r\n// (cf. Table 20 in JIS X 0510:2004 p. 42)\r\n/*jshint unused: false */\r\nvar MASKFUNCS = [\r\n\tfunction (i, j) {\r\n\t\treturn (i + j) % 2 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn i % 2 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn j % 3 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn (i + j) % 3 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn (((i / 2) | 0) + ((j / 3) | 0)) % 2 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn (i * j) % 2 + (i * j) % 3 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn ((i * j) % 2 + (i * j) % 3) % 2 === 0;\r\n\t},\r\n\tfunction (i, j) {\r\n\t\treturn ((i + j) % 2 + (i * j) % 3) % 2 === 0;\r\n\t}];\r\n\r\n// returns true when the version information has to be embeded.\r\nvar needsverinfo = function (ver) {\r\n\treturn ver > 6;\r\n};\r\n\r\n// returns the size of entire QR code for given version.\r\nvar getsizebyver = function (ver) {\r\n\treturn 4 * ver + 17;\r\n};\r\n\r\n// returns the number of bits available for code words in this version.\r\nvar nfullbits = function (ver) {\r\n\t/*\r\n\t * |<--------------- n --------------->|\r\n\t * |        |<----- n-17 ---->|        |\r\n\t * +-------+                ///+-------+ ----\r\n\t * |       |                ///|       |    ^\r\n\t * |  9x9  |       @@@@@    ///|  9x8  |    |\r\n\t * |       | # # # @5x5@ # # # |       |    |\r\n\t * +-------+       @@@@@       +-------+    |\r\n\t *       #                               ---|\r\n\t *                                        ^ |\r\n\t *       #                                |\r\n\t *     @@@@@       @@@@@       @@@@@      | n\r\n\t *     @5x5@       @5x5@       @5x5@   n-17\r\n\t *     @@@@@       @@@@@       @@@@@      | |\r\n\t *       #                                | |\r\n\t * //////                                 v |\r\n\t * //////#                               ---|\r\n\t * +-------+       @@@@@       @@@@@        |\r\n\t * |       |       @5x5@       @5x5@        |\r\n\t * |  8x9  |       @@@@@       @@@@@        |\r\n\t * |       |                                v\r\n\t * +-------+                             ----\r\n\t *\r\n\t * when the entire code has n^2 modules and there are m^2-3 alignment\r\n\t * patterns, we have:\r\n\t * - 225 (= 9x9 + 9x8 + 8x9) modules for finder patterns and\r\n\t *   format information;\r\n\t * - 2n-34 (= 2(n-17)) modules for timing patterns;\r\n\t * - 36 (= 3x6 + 6x3) modules for version information, if any;\r\n\t * - 25m^2-75 (= (m^2-3)(5x5)) modules for alignment patterns\r\n\t *   if any, but 10m-20 (= 2(m-2)x5) of them overlaps with\r\n\t *   timing patterns.\r\n\t */\r\n\tvar v = VERSIONS[ver];\r\n\tvar nbits = 16 * ver * ver + 128 * ver + 64; // finder, timing and format info.\r\n\tif (needsverinfo(ver))\r\n\t\tnbits -= 36; // version information\r\n\tif (v[2].length) { // alignment patterns\r\n\t\tnbits -= 25 * v[2].length * v[2].length - 10 * v[2].length - 55;\r\n\t}\r\n\treturn nbits;\r\n};\r\n\r\n// returns the number of bits available for data portions (i.e. excludes ECC\r\n// bits but includes mode and length bits) in this version and ECC level.\r\nvar ndatabits = function (ver, ecclevel) {\r\n\tvar nbits = nfullbits(ver) & ~7; // no sub-octet code words\r\n\tvar v = VERSIONS[ver];\r\n\tnbits -= 8 * v[0][ecclevel] * v[1][ecclevel]; // ecc bits\r\n\treturn nbits;\r\n};\r\n\r\n// returns the number of bits required for the length of data.\r\n// (cf. Table 3 in JIS X 0510:2004 p. 16)\r\nvar ndatalenbits = function (ver, mode) {\r\n\tswitch (mode) {\r\n\t\tcase MODE_NUMERIC:\r\n\t\t\treturn (ver < 10 ? 10 : ver < 27 ? 12 : 14);\r\n\t\tcase MODE_ALPHANUMERIC:\r\n\t\t\treturn (ver < 10 ? 9 : ver < 27 ? 11 : 13);\r\n\t\tcase MODE_OCTET:\r\n\t\t\treturn (ver < 10 ? 8 : 16);\r\n\t\tcase MODE_KANJI:\r\n\t\t\treturn (ver < 10 ? 8 : ver < 27 ? 10 : 12);\r\n\t}\r\n};\r\n\r\n// returns the maximum length of data possible in given configuration.\r\nvar getmaxdatalen = function (ver, mode, ecclevel) {\r\n\tvar nbits = ndatabits(ver, ecclevel) - 4 - ndatalenbits(ver, mode); // 4 for mode bits\r\n\tswitch (mode) {\r\n\t\tcase MODE_NUMERIC:\r\n\t\t\treturn ((nbits / 10) | 0) * 3 + (nbits % 10 < 4 ? 0 : nbits % 10 < 7 ? 1 : 2);\r\n\t\tcase MODE_ALPHANUMERIC:\r\n\t\t\treturn ((nbits / 11) | 0) * 2 + (nbits % 11 < 6 ? 0 : 1);\r\n\t\tcase MODE_OCTET:\r\n\t\t\treturn (nbits / 8) | 0;\r\n\t\tcase MODE_KANJI:\r\n\t\t\treturn (nbits / 13) | 0;\r\n\t}\r\n};\r\n\r\n// checks if the given data can be encoded in given mode, and returns\r\n// the converted data for the further processing if possible. otherwise\r\n// returns null.\r\n//\r\n// this function does not check the length of data; it is a duty of\r\n// encode function below (as it depends on the version and ECC level too).\r\nvar validatedata = function (mode, data) {\r\n\tswitch (mode) {\r\n\t\tcase MODE_NUMERIC:\r\n\t\t\tif (!data.match(NUMERIC_REGEXP))\r\n\t\t\t\treturn null;\r\n\t\t\treturn data;\r\n\r\n\t\tcase MODE_ALPHANUMERIC:\r\n\t\t\tif (!data.match(ALPHANUMERIC_REGEXP))\r\n\t\t\t\treturn null;\r\n\t\t\treturn data.toUpperCase();\r\n\r\n\t\tcase MODE_OCTET:\r\n\t\t\tif (typeof data === 'string') { // encode as utf-8 string\r\n\t\t\t\tvar newdata = [];\r\n\t\t\t\tfor (var i = 0; i < data.length; ++i) {\r\n\t\t\t\t\tvar ch = data.charCodeAt(i);\r\n\t\t\t\t\tif (ch < 0x80) {\r\n\t\t\t\t\t\tnewdata.push(ch);\r\n\t\t\t\t\t} else if (ch < 0x800) {\r\n\t\t\t\t\t\tnewdata.push(0xc0 | (ch >> 6),\r\n\t\t\t\t\t\t\t0x80 | (ch & 0x3f));\r\n\t\t\t\t\t} else if (ch < 0x10000) {\r\n\t\t\t\t\t\tnewdata.push(0xe0 | (ch >> 12),\r\n\t\t\t\t\t\t\t0x80 | ((ch >> 6) & 0x3f),\r\n\t\t\t\t\t\t\t0x80 | (ch & 0x3f));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewdata.push(0xf0 | (ch >> 18),\r\n\t\t\t\t\t\t\t0x80 | ((ch >> 12) & 0x3f),\r\n\t\t\t\t\t\t\t0x80 | ((ch >> 6) & 0x3f),\r\n\t\t\t\t\t\t\t0x80 | (ch & 0x3f));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn newdata;\r\n\t\t\t} else {\r\n\t\t\t\treturn data;\r\n\t\t\t}\r\n\t}\r\n};\r\n\r\n// returns the code words (sans ECC bits) for given data and configurations.\r\n// requires data to be preprocessed by validatedata. no length check is\r\n// performed, and everything has to be checked before calling this function.\r\nvar encode = function (ver, mode, data, maxbuflen) {\r\n\tvar buf = [];\r\n\tvar bits = 0, remaining = 8;\r\n\tvar datalen = data.length;\r\n\r\n\t// this function is intentionally no-op when n=0.\r\n\tvar pack = function (x, n) {\r\n\t\tif (n >= remaining) {\r\n\t\t\tbuf.push(bits | (x >> (n -= remaining)));\r\n\t\t\twhile (n >= 8)\r\n\t\t\t\tbuf.push((x >> (n -= 8)) & 255);\r\n\t\t\tbits = 0;\r\n\t\t\tremaining = 8;\r\n\t\t}\r\n\t\tif (n > 0)\r\n\t\t\tbits |= (x & ((1 << n) - 1)) << (remaining -= n);\r\n\t};\r\n\r\n\tvar nlenbits = ndatalenbits(ver, mode);\r\n\tpack(mode, 4);\r\n\tpack(datalen, nlenbits);\r\n\r\n\tswitch (mode) {\r\n\t\tcase MODE_NUMERIC:\r\n\t\t\tfor (var i = 2; i < datalen; i += 3) {\r\n\t\t\t\tpack(parseInt(data.substring(i - 2, i + 1), 10), 10);\r\n\t\t\t}\r\n\t\t\tpack(parseInt(data.substring(i - 2), 10), [0, 4, 7][datalen % 3]);\r\n\t\t\tbreak;\r\n\r\n\t\tcase MODE_ALPHANUMERIC:\r\n\t\t\tfor (var i = 1; i < datalen; i += 2) {\r\n\t\t\t\tpack(ALPHANUMERIC_MAP[data.charAt(i - 1)] * 45 +\r\n\t\t\t\t\tALPHANUMERIC_MAP[data.charAt(i)], 11);\r\n\t\t\t}\r\n\t\t\tif (datalen % 2 == 1) {\r\n\t\t\t\tpack(ALPHANUMERIC_MAP[data.charAt(i - 1)], 6);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase MODE_OCTET:\r\n\t\t\tfor (var i = 0; i < datalen; ++i) {\r\n\t\t\t\tpack(data[i], 8);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\t// final bits. it is possible that adding terminator causes the buffer\r\n\t// to overflow, but then the buffer truncated to the maximum size will\r\n\t// be valid as the truncated terminator mode bits and padding is\r\n\t// identical in appearance (cf. JIS X 0510:2004 sec 8.4.8).\r\n\tpack(MODE_TERMINATOR, 4);\r\n\tif (remaining < 8)\r\n\t\tbuf.push(bits);\r\n\r\n\t// the padding to fill up the remaining space. we should not add any\r\n\t// words when the overflow already occurred.\r\n\twhile (buf.length + 1 < maxbuflen)\r\n\t\tbuf.push(0xec, 0x11);\r\n\tif (buf.length < maxbuflen)\r\n\t\tbuf.push(0xec);\r\n\treturn buf;\r\n};\r\n\r\n// calculates ECC code words for given code words and generator polynomial.\r\n//\r\n// this is quite similar to CRC calculation as both Reed-Solomon and CRC use\r\n// the certain kind of cyclic codes, which is effectively the division of\r\n// zero-augumented polynomial by the generator polynomial. the only difference\r\n// is that Reed-Solomon uses GF(2^8), instead of CRC's GF(2), and Reed-Solomon\r\n// uses the different generator polynomial than CRC's.\r\nvar calculateecc = function (poly, genpoly) {\r\n\tvar modulus = poly.slice(0);\r\n\tvar polylen = poly.length, genpolylen = genpoly.length;\r\n\tfor (var i = 0; i < genpolylen; ++i)\r\n\t\tmodulus.push(0);\r\n\tfor (var i = 0; i < polylen; ) {\r\n\t\tvar quotient = GF256_INVMAP[modulus[i++]];\r\n\t\tif (quotient >= 0) {\r\n\t\t\tfor (var j = 0; j < genpolylen; ++j) {\r\n\t\t\t\tmodulus[i + j] ^= GF256_MAP[(quotient + genpoly[j]) % 255];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn modulus.slice(polylen);\r\n};\r\n\r\n// auguments ECC code words to given code words. the resulting words are\r\n// ready to be encoded in the matrix.\r\n//\r\n// the much of actual augumenting procedure follows JIS X 0510:2004 sec 8.7.\r\n// the code is simplified using the fact that the size of each code & ECC\r\n// blocks is almost same; for example, when we have 4 blocks and 46 data words\r\n// the number of code words in those blocks are 11, 11, 12, 12 respectively.\r\nvar augumenteccs = function (poly, nblocks, genpoly) {\r\n\tvar subsizes = [];\r\n\tvar subsize = (poly.length / nblocks) | 0, subsize0 = 0;\r\n\tvar pivot = nblocks - poly.length % nblocks;\r\n\tfor (var i = 0; i < pivot; ++i) {\r\n\t\tsubsizes.push(subsize0);\r\n\t\tsubsize0 += subsize;\r\n\t}\r\n\tfor (var i = pivot; i < nblocks; ++i) {\r\n\t\tsubsizes.push(subsize0);\r\n\t\tsubsize0 += subsize + 1;\r\n\t}\r\n\tsubsizes.push(subsize0);\r\n\r\n\tvar eccs = [];\r\n\tfor (var i = 0; i < nblocks; ++i) {\r\n\t\teccs.push(calculateecc(poly.slice(subsizes[i], subsizes[i + 1]), genpoly));\r\n\t}\r\n\r\n\tvar result = [];\r\n\tvar nitemsperblock = (poly.length / nblocks) | 0;\r\n\tfor (var i = 0; i < nitemsperblock; ++i) {\r\n\t\tfor (var j = 0; j < nblocks; ++j) {\r\n\t\t\tresult.push(poly[subsizes[j] + i]);\r\n\t\t}\r\n\t}\r\n\tfor (var j = pivot; j < nblocks; ++j) {\r\n\t\tresult.push(poly[subsizes[j + 1] - 1]);\r\n\t}\r\n\tfor (var i = 0; i < genpoly.length; ++i) {\r\n\t\tfor (var j = 0; j < nblocks; ++j) {\r\n\t\t\tresult.push(eccs[j][i]);\r\n\t\t}\r\n\t}\r\n\treturn result;\r\n};\r\n\r\n// auguments BCH(p+q,q) code to the polynomial over GF(2), given the proper\r\n// genpoly. the both input and output are in binary numbers, and unlike\r\n// calculateecc genpoly should include the 1 bit for the highest degree.\r\n//\r\n// actual polynomials used for this procedure are as follows:\r\n// - p=10, q=5, genpoly=x^10+x^8+x^5+x^4+x^2+x+1 (JIS X 0510:2004 Appendix C)\r\n// - p=18, q=6, genpoly=x^12+x^11+x^10+x^9+x^8+x^5+x^2+1 (ibid. Appendix D)\r\nvar augumentbch = function (poly, p, genpoly, q) {\r\n\tvar modulus = poly << q;\r\n\tfor (var i = p - 1; i >= 0; --i) {\r\n\t\tif ((modulus >> (q + i)) & 1)\r\n\t\t\tmodulus ^= genpoly << i;\r\n\t}\r\n\treturn (poly << q) | modulus;\r\n};\r\n\r\n// creates the base matrix for given version. it returns two matrices, one of\r\n// them is the actual one and the another represents the \"reserved\" portion\r\n// (e.g. finder and timing patterns) of the matrix.\r\n//\r\n// some entries in the matrix may be undefined, rather than 0 or 1. this is\r\n// intentional (no initialization needed!), and putdata below will fill\r\n// the remaining ones.\r\nvar makebasematrix = function (ver) {\r\n\tvar v = VERSIONS[ver], n = getsizebyver(ver);\r\n\tvar matrix = [], reserved = [];\r\n\tfor (var i = 0; i < n; ++i) {\r\n\t\tmatrix.push([]);\r\n\t\treserved.push([]);\r\n\t}\r\n\r\n\tvar blit = function (y, x, h, w, bits) {\r\n\t\tfor (var i = 0; i < h; ++i) {\r\n\t\t\tfor (var j = 0; j < w; ++j) {\r\n\t\t\t\tmatrix[y + i][x + j] = (bits[i] >> j) & 1;\r\n\t\t\t\treserved[y + i][x + j] = 1;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t// finder patterns and a part of timing patterns\r\n\t// will also mark the format information area (not yet written) as reserved.\r\n\tblit(0, 0, 9, 9, [0x7f, 0x41, 0x5d, 0x5d, 0x5d, 0x41, 0x17f, 0x00, 0x40]);\r\n\tblit(n - 8, 0, 8, 9, [0x100, 0x7f, 0x41, 0x5d, 0x5d, 0x5d, 0x41, 0x7f]);\r\n\tblit(0, n - 8, 9, 8, [0xfe, 0x82, 0xba, 0xba, 0xba, 0x82, 0xfe, 0x00, 0x00]);\r\n\r\n\t// the rest of timing patterns\r\n\tfor (var i = 9; i < n - 8; ++i) {\r\n\t\tmatrix[6][i] = matrix[i][6] = ~i & 1;\r\n\t\treserved[6][i] = reserved[i][6] = 1;\r\n\t}\r\n\r\n\t// alignment patterns\r\n\tvar aligns = v[2], m = aligns.length;\r\n\tfor (var i = 0; i < m; ++i) {\r\n\t\tvar minj = (i === 0 || i === m - 1 ? 1 : 0), maxj = (i === 0 ? m - 1 : m);\r\n\t\tfor (var j = minj; j < maxj; ++j) {\r\n\t\t\tblit(aligns[i], aligns[j], 5, 5, [0x1f, 0x11, 0x15, 0x11, 0x1f]);\r\n\t\t}\r\n\t}\r\n\r\n\t// version information\r\n\tif (needsverinfo(ver)) {\r\n\t\tvar code = augumentbch(ver, 6, 0x1f25, 12);\r\n\t\tvar k = 0;\r\n\t\tfor (var i = 0; i < 6; ++i) {\r\n\t\t\tfor (var j = 0; j < 3; ++j) {\r\n\t\t\t\tmatrix[i][(n - 11) + j] = matrix[(n - 11) + j][i] = (code >> k++) & 1;\r\n\t\t\t\treserved[i][(n - 11) + j] = reserved[(n - 11) + j][i] = 1;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn {matrix: matrix, reserved: reserved};\r\n};\r\n\r\n// fills the data portion (i.e. unmarked in reserved) of the matrix with given\r\n// code words. the size of code words should be no more than available bits,\r\n// and remaining bits are padded to 0 (cf. JIS X 0510:2004 sec 8.7.3).\r\nvar putdata = function (matrix, reserved, buf) {\r\n\tvar n = matrix.length;\r\n\tvar k = 0, dir = -1;\r\n\tfor (var i = n - 1; i >= 0; i -= 2) {\r\n\t\tif (i == 6)\r\n\t\t\t--i; // skip the entire timing pattern column\r\n\t\tvar jj = (dir < 0 ? n - 1 : 0);\r\n\t\tfor (var j = 0; j < n; ++j) {\r\n\t\t\tfor (var ii = i; ii > i - 2; --ii) {\r\n\t\t\t\tif (!reserved[jj][ii]) {\r\n\t\t\t\t\t// may overflow, but (undefined >> x)\r\n\t\t\t\t\t// is 0 so it will auto-pad to zero.\r\n\t\t\t\t\tmatrix[jj][ii] = (buf[k >> 3] >> (~k & 7)) & 1;\r\n\t\t\t\t\t++k;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tjj += dir;\r\n\t\t}\r\n\t\tdir = -dir;\r\n\t}\r\n\treturn matrix;\r\n};\r\n\r\n// XOR-masks the data portion of the matrix. repeating the call with the same\r\n// arguments will revert the prior call (convenient in the matrix evaluation).\r\nvar maskdata = function (matrix, reserved, mask) {\r\n\tvar maskf = MASKFUNCS[mask];\r\n\tvar n = matrix.length;\r\n\tfor (var i = 0; i < n; ++i) {\r\n\t\tfor (var j = 0; j < n; ++j) {\r\n\t\t\tif (!reserved[i][j])\r\n\t\t\t\tmatrix[i][j] ^= maskf(i, j);\r\n\t\t}\r\n\t}\r\n\treturn matrix;\r\n};\r\n\r\n// puts the format information.\r\nvar putformatinfo = function (matrix, reserved, ecclevel, mask) {\r\n\tvar n = matrix.length;\r\n\tvar code = augumentbch((ecclevel << 3) | mask, 5, 0x537, 10) ^ 0x5412;\r\n\tfor (var i = 0; i < 15; ++i) {\r\n\t\tvar r = [0, 1, 2, 3, 4, 5, 7, 8, n - 7, n - 6, n - 5, n - 4, n - 3, n - 2, n - 1][i];\r\n\t\tvar c = [n - 1, n - 2, n - 3, n - 4, n - 5, n - 6, n - 7, n - 8, 7, 5, 4, 3, 2, 1, 0][i];\r\n\t\tmatrix[r][8] = matrix[8][c] = (code >> i) & 1;\r\n\t\t// we don't have to mark those bits reserved; always done\r\n\t\t// in makebasematrix above.\r\n\t}\r\n\treturn matrix;\r\n};\r\n\r\n// evaluates the resulting matrix and returns the score (lower is better).\r\n// (cf. JIS X 0510:2004 sec 8.8.2)\r\n//\r\n// the evaluation procedure tries to avoid the problematic patterns naturally\r\n// occuring from the original matrix. for example, it penaltizes the patterns\r\n// which just look like the finder pattern which will confuse the decoder.\r\n// we choose the mask which results in the lowest score among 8 possible ones.\r\n//\r\n// note: zxing seems to use the same procedure and in many cases its choice\r\n// agrees to ours, but sometimes it does not. practically it doesn't matter.\r\nvar evaluatematrix = function (matrix) {\r\n\t// N1+(k-5) points for each consecutive row of k same-colored modules,\r\n\t// where k >= 5. no overlapping row counts.\r\n\tvar PENALTY_CONSECUTIVE = 3;\r\n\t// N2 points for each 2x2 block of same-colored modules.\r\n\t// overlapping block does count.\r\n\tvar PENALTY_TWOBYTWO = 3;\r\n\t// N3 points for each pattern with >4W:1B:1W:3B:1W:1B or\r\n\t// 1B:1W:3B:1W:1B:>4W, or their multiples (e.g. highly unlikely,\r\n\t// but 13W:3B:3W:9B:3W:3B counts).\r\n\tvar PENALTY_FINDERLIKE = 40;\r\n\t// N4*k points for every (5*k)% deviation from 50% black density.\r\n\t// i.e. k=1 for 55~60% and 40~45%, k=2 for 60~65% and 35~40%, etc.\r\n\tvar PENALTY_DENSITY = 10;\r\n\r\n\tvar evaluategroup = function (groups) { // assumes [W,B,W,B,W,...,B,W]\r\n\t\tvar score = 0;\r\n\t\tfor (var i = 0; i < groups.length; ++i) {\r\n\t\t\tif (groups[i] >= 5)\r\n\t\t\t\tscore += PENALTY_CONSECUTIVE + (groups[i] - 5);\r\n\t\t}\r\n\t\tfor (var i = 5; i < groups.length; i += 2) {\r\n\t\t\tvar p = groups[i];\r\n\t\t\tif (groups[i - 1] == p && groups[i - 2] == 3 * p && groups[i - 3] == p &&\r\n\t\t\t\tgroups[i - 4] == p && (groups[i - 5] >= 4 * p || groups[i + 1] >= 4 * p)) {\r\n\t\t\t\t// this part differs from zxing...\r\n\t\t\t\tscore += PENALTY_FINDERLIKE;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn score;\r\n\t};\r\n\r\n\tvar n = matrix.length;\r\n\tvar score = 0, nblacks = 0;\r\n\tfor (var i = 0; i < n; ++i) {\r\n\t\tvar row = matrix[i];\r\n\t\tvar groups;\r\n\r\n\t\t// evaluate the current row\r\n\t\tgroups = [0]; // the first empty group of white\r\n\t\tfor (var j = 0; j < n; ) {\r\n\t\t\tvar k;\r\n\t\t\tfor (k = 0; j < n && row[j]; ++k)\r\n\t\t\t\t++j;\r\n\t\t\tgroups.push(k);\r\n\t\t\tfor (k = 0; j < n && !row[j]; ++k)\r\n\t\t\t\t++j;\r\n\t\t\tgroups.push(k);\r\n\t\t}\r\n\t\tscore += evaluategroup(groups);\r\n\r\n\t\t// evaluate the current column\r\n\t\tgroups = [0];\r\n\t\tfor (var j = 0; j < n; ) {\r\n\t\t\tvar k;\r\n\t\t\tfor (k = 0; j < n && matrix[j][i]; ++k)\r\n\t\t\t\t++j;\r\n\t\t\tgroups.push(k);\r\n\t\t\tfor (k = 0; j < n && !matrix[j][i]; ++k)\r\n\t\t\t\t++j;\r\n\t\t\tgroups.push(k);\r\n\t\t}\r\n\t\tscore += evaluategroup(groups);\r\n\r\n\t\t// check the 2x2 box and calculate the density\r\n\t\tvar nextrow = matrix[i + 1] || [];\r\n\t\tnblacks += row[0];\r\n\t\tfor (var j = 1; j < n; ++j) {\r\n\t\t\tvar p = row[j];\r\n\t\t\tnblacks += p;\r\n\t\t\t// at least comparison with next row should be strict...\r\n\t\t\tif (row[j - 1] == p && nextrow[j] === p && nextrow[j - 1] === p) {\r\n\t\t\t\tscore += PENALTY_TWOBYTWO;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tscore += PENALTY_DENSITY * ((Math.abs(nblacks / n / n - 0.5) / 0.05) | 0);\r\n\treturn score;\r\n};\r\n\r\n// returns the fully encoded QR code matrix which contains given data.\r\n// it also chooses the best mask automatically when mask is -1.\r\nvar generate = function (data, ver, mode, ecclevel, mask) {\r\n\tvar v = VERSIONS[ver];\r\n\tvar buf = encode(ver, mode, data, ndatabits(ver, ecclevel) >> 3);\r\n\tbuf = augumenteccs(buf, v[1][ecclevel], GF256_GENPOLY[v[0][ecclevel]]);\r\n\r\n\tvar result = makebasematrix(ver);\r\n\tvar matrix = result.matrix, reserved = result.reserved;\r\n\tputdata(matrix, reserved, buf);\r\n\r\n\tif (mask < 0) {\r\n\t\t// find the best mask\r\n\t\tmaskdata(matrix, reserved, 0);\r\n\t\tputformatinfo(matrix, reserved, ecclevel, 0);\r\n\t\tvar bestmask = 0, bestscore = evaluatematrix(matrix);\r\n\t\tmaskdata(matrix, reserved, 0);\r\n\t\tfor (mask = 1; mask < 8; ++mask) {\r\n\t\t\tmaskdata(matrix, reserved, mask);\r\n\t\t\tputformatinfo(matrix, reserved, ecclevel, mask);\r\n\t\t\tvar score = evaluatematrix(matrix);\r\n\t\t\tif (bestscore > score) {\r\n\t\t\t\tbestscore = score;\r\n\t\t\t\tbestmask = mask;\r\n\t\t\t}\r\n\t\t\tmaskdata(matrix, reserved, mask);\r\n\t\t}\r\n\t\tmask = bestmask;\r\n\t}\r\n\r\n\tmaskdata(matrix, reserved, mask);\r\n\tputformatinfo(matrix, reserved, ecclevel, mask);\r\n\treturn matrix;\r\n};\r\n\r\n// the public interface is trivial; the options available are as follows:\r\n//\r\n// - version: an integer in [1,40]. when omitted (or -1) the smallest possible\r\n//   version is chosen.\r\n// - mode: one of 'numeric', 'alphanumeric', 'octet'. when omitted the smallest\r\n//   possible mode is chosen.\r\n// - eccLevel: one of 'L', 'M', 'Q', 'H'. defaults to 'L'.\r\n// - mask: an integer in [0,7]. when omitted (or -1) the best mask is chosen.\r\n//\r\n\r\nfunction generateFrame(data, options) {\r\n\tvar MODES = {'numeric': MODE_NUMERIC, 'alphanumeric': MODE_ALPHANUMERIC,\r\n\t\t'octet': MODE_OCTET};\r\n\tvar ECCLEVELS = {'L': ECCLEVEL_L, 'M': ECCLEVEL_M, 'Q': ECCLEVEL_Q,\r\n\t\t'H': ECCLEVEL_H};\r\n\r\n\toptions = options || {};\r\n\tvar ver = options.version || -1;\r\n\tvar ecclevel = ECCLEVELS[(options.eccLevel || 'L').toUpperCase()];\r\n\tvar mode = options.mode ? MODES[options.mode.toLowerCase()] : -1;\r\n\tvar mask = 'mask' in options ? options.mask : -1;\r\n\r\n\tif (mode < 0) {\r\n\t\tif (typeof data === 'string') {\r\n\t\t\tif (data.match(NUMERIC_REGEXP)) {\r\n\t\t\t\tmode = MODE_NUMERIC;\r\n\t\t\t} else if (data.match(ALPHANUMERIC_OUT_REGEXP)) {\r\n\t\t\t\t// while encode supports case-insensitive encoding, we restrict the data to be uppercased when auto-selecting the mode.\r\n\t\t\t\tmode = MODE_ALPHANUMERIC;\r\n\t\t\t} else {\r\n\t\t\t\tmode = MODE_OCTET;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmode = MODE_OCTET;\r\n\t\t}\r\n\t} else if (!(mode == MODE_NUMERIC || mode == MODE_ALPHANUMERIC ||\r\n\t\tmode == MODE_OCTET)) {\r\n\t\tthrow 'invalid or unsupported mode';\r\n\t}\r\n\r\n\tdata = validatedata(mode, data);\r\n\tif (data === null)\r\n\t\tthrow 'invalid data format';\r\n\r\n\tif (ecclevel < 0 || ecclevel > 3)\r\n\t\tthrow 'invalid ECC level';\r\n\r\n\tif (ver < 0) {\r\n\t\tfor (ver = 1; ver <= 40; ++ver) {\r\n\t\t\tif (data.length <= getmaxdatalen(ver, mode, ecclevel))\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tif (ver > 40)\r\n\t\t\tthrow 'too large data for the Qr format';\r\n\t} else if (ver < 1 || ver > 40) {\r\n\t\tthrow 'invalid Qr version! should be between 1 and 40';\r\n\t}\r\n\r\n\tif (mask != -1 && (mask < 0 || mask > 8))\r\n\t\tthrow 'invalid mask';\r\n\t//console.log('version:', ver, 'mode:', mode, 'ECC:', ecclevel, 'mask:', mask )\r\n\treturn generate(data, ver, mode, ecclevel, mask);\r\n}\r\n\r\n\r\n// options\r\n// - modulesize: a number. this is a size of each modules in pixels, and\r\n//   defaults to 5px.\r\n// - margin: a number. this is a size of margin in *modules*, and defaults to\r\n//   4 (white modules). the specficiation mandates the margin no less than 4\r\n//   modules, so it is better not to alter this value unless you know what\r\n//   you're doing.\r\nfunction buildCanvas(data, options) {\r\n\r\n\tvar canvas = [];\r\n\tvar background = options.background || '#fff';\r\n\tvar foreground = options.foreground || '#000';\r\n\t//var margin = options.margin || 4;\r\n\tvar matrix = generateFrame(data, options);\r\n\tvar n = matrix.length;\r\n\tvar modSize = Math.floor(options.fit ? options.fit / n : 5);\r\n\tvar size = n * modSize;\r\n\r\n\tcanvas.push({\r\n\t\ttype: 'rect',\r\n\t\tx: 0, y: 0, w: size, h: size, lineWidth: 0, color: background\r\n\t});\r\n\r\n\tfor (var i = 0; i < n; ++i) {\r\n\t\tfor (var j = 0; j < n; ++j) {\r\n\t\t\tif (matrix[i][j]) {\r\n\t\t\t\tcanvas.push({\r\n\t\t\t\t\ttype: 'rect',\r\n\t\t\t\t\tx: modSize * j,\r\n\t\t\t\t\ty: modSize * i,\r\n\t\t\t\t\tw: modSize,\r\n\t\t\t\t\th: modSize,\r\n\t\t\t\t\tlineWidth: 0,\r\n\t\t\t\t\tcolor: foreground\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tcanvas: canvas,\r\n\t\tsize: size\r\n\t};\r\n\r\n}\r\n\r\nfunction measure(node) {\r\n\tvar cd = buildCanvas(node.qr, node);\r\n\tnode._canvas = cd.canvas;\r\n\tnode._width = node._height = node._minWidth = node._maxWidth = node._minHeight = node._maxHeight = cd.size;\r\n\treturn node;\r\n}\r\n\r\nmodule.exports = {\r\n\tmeasure: measure\r\n};","'use strict';\r\n\r\nmodule.exports = {\r\n\t'4A0': [4767.87, 6740.79],\r\n\t'2A0': [3370.39, 4767.87],\r\n\tA0: [2383.94, 3370.39],\r\n\tA1: [1683.78, 2383.94],\r\n\tA2: [1190.55, 1683.78],\r\n\tA3: [841.89, 1190.55],\r\n\tA4: [595.28, 841.89],\r\n\tA5: [419.53, 595.28],\r\n\tA6: [297.64, 419.53],\r\n\tA7: [209.76, 297.64],\r\n\tA8: [147.40, 209.76],\r\n\tA9: [104.88, 147.40],\r\n\tA10: [73.70, 104.88],\r\n\tB0: [2834.65, 4008.19],\r\n\tB1: [2004.09, 2834.65],\r\n\tB2: [1417.32, 2004.09],\r\n\tB3: [1000.63, 1417.32],\r\n\tB4: [708.66, 1000.63],\r\n\tB5: [498.90, 708.66],\r\n\tB6: [354.33, 498.90],\r\n\tB7: [249.45, 354.33],\r\n\tB8: [175.75, 249.45],\r\n\tB9: [124.72, 175.75],\r\n\tB10: [87.87, 124.72],\r\n\tC0: [2599.37, 3676.54],\r\n\tC1: [1836.85, 2599.37],\r\n\tC2: [1298.27, 1836.85],\r\n\tC3: [918.43, 1298.27],\r\n\tC4: [649.13, 918.43],\r\n\tC5: [459.21, 649.13],\r\n\tC6: [323.15, 459.21],\r\n\tC7: [229.61, 323.15],\r\n\tC8: [161.57, 229.61],\r\n\tC9: [113.39, 161.57],\r\n\tC10: [79.37, 113.39],\r\n\tRA0: [2437.80, 3458.27],\r\n\tRA1: [1729.13, 2437.80],\r\n\tRA2: [1218.90, 1729.13],\r\n\tRA3: [864.57, 1218.90],\r\n\tRA4: [609.45, 864.57],\r\n\tSRA0: [2551.18, 3628.35],\r\n\tSRA1: [1814.17, 2551.18],\r\n\tSRA2: [1275.59, 1814.17],\r\n\tSRA3: [907.09, 1275.59],\r\n\tSRA4: [637.80, 907.09],\r\n\tEXECUTIVE: [521.86, 756.00],\r\n\tFOLIO: [612.00, 936.00],\r\n\tLEGAL: [612.00, 1008.00],\r\n\tLETTER: [612.00, 792.00],\r\n\tTABLOID: [792.00, 1224.00]\r\n};\r\n","'use strict';\r\n\r\nvar isString = require('./helpers').isString;\r\nvar isArray = require('./helpers').isArray;\r\nvar isUndefined = require('./helpers').isUndefined;\r\nvar isNull = require('./helpers').isNull;\r\n\r\n/**\r\n * Creates an instance of StyleContextStack used for style inheritance and style overrides\r\n *\r\n * @constructor\r\n * @this {StyleContextStack}\r\n * @param {Object} named styles dictionary\r\n * @param {Object} optional default style definition\r\n */\r\nfunction StyleContextStack(styleDictionary, defaultStyle) {\r\n\tthis.defaultStyle = defaultStyle || {};\r\n\tthis.styleDictionary = styleDictionary;\r\n\tthis.styleOverrides = [];\r\n}\r\n\r\n/**\r\n * Creates cloned version of current stack\r\n * @return {StyleContextStack} current stack snapshot\r\n */\r\nStyleContextStack.prototype.clone = function () {\r\n\tvar stack = new StyleContextStack(this.styleDictionary, this.defaultStyle);\r\n\r\n\tthis.styleOverrides.forEach(function (item) {\r\n\t\tstack.styleOverrides.push(item);\r\n\t});\r\n\r\n\treturn stack;\r\n};\r\n\r\n/**\r\n * Pushes style-name or style-overrides-object onto the stack for future evaluation\r\n *\r\n * @param {String|Object} styleNameOrOverride style-name (referring to styleDictionary) or\r\n *                                            a new dictionary defining overriding properties\r\n */\r\nStyleContextStack.prototype.push = function (styleNameOrOverride) {\r\n\tthis.styleOverrides.push(styleNameOrOverride);\r\n};\r\n\r\n/**\r\n * Removes last style-name or style-overrides-object from the stack\r\n *\r\n * @param {Number} howMany - optional number of elements to be popped (if not specified,\r\n *                           one element will be removed from the stack)\r\n */\r\nStyleContextStack.prototype.pop = function (howMany) {\r\n\thowMany = howMany || 1;\r\n\r\n\twhile (howMany-- > 0) {\r\n\t\tthis.styleOverrides.pop();\r\n\t}\r\n};\r\n\r\n/**\r\n * Creates a set of named styles or/and a style-overrides-object based on the item,\r\n * pushes those elements onto the stack for future evaluation and returns the number\r\n * of elements pushed, so they can be easily poped then.\r\n *\r\n * @param {Object} item - an object with optional style property and/or style overrides\r\n * @return the number of items pushed onto the stack\r\n */\r\nStyleContextStack.prototype.autopush = function (item) {\r\n\tif (isString(item)) {\r\n\t\treturn 0;\r\n\t}\r\n\r\n\tvar styleNames = [];\r\n\r\n\tif (item.style) {\r\n\t\tif (isArray(item.style)) {\r\n\t\t\tstyleNames = item.style;\r\n\t\t} else {\r\n\t\t\tstyleNames = [item.style];\r\n\t\t}\r\n\t}\r\n\r\n\tfor (var i = 0, l = styleNames.length; i < l; i++) {\r\n\t\tthis.push(styleNames[i]);\r\n\t}\r\n\r\n\tvar styleProperties = [\r\n\t\t'font',\r\n\t\t'fontSize',\r\n\t\t'fontFeatures',\r\n\t\t'bold',\r\n\t\t'italics',\r\n\t\t'alignment',\r\n\t\t'color',\r\n\t\t'columnGap',\r\n\t\t'fillColor',\r\n\t\t'fillOpacity',\r\n\t\t'decoration',\r\n\t\t'decorationStyle',\r\n\t\t'decorationColor',\r\n\t\t'background',\r\n\t\t'lineHeight',\r\n\t\t'characterSpacing',\r\n\t\t'noWrap',\r\n\t\t'markerColor',\r\n\t\t'leadingIndent',\r\n\t\t'sup',\r\n\t\t'sub'\r\n\t\t//'tableCellPadding'\r\n\t\t// 'cellBorder',\r\n\t\t// 'headerCellBorder',\r\n\t\t// 'oddRowCellBorder',\r\n\t\t// 'evenRowCellBorder',\r\n\t\t// 'tableBorder'\r\n\t];\r\n\tvar styleOverrideObject = {};\r\n\tvar pushStyleOverrideObject = false;\r\n\r\n\tstyleProperties.forEach(function (key) {\r\n\t\tif (!isUndefined(item[key]) && !isNull(item[key])) {\r\n\t\t\tstyleOverrideObject[key] = item[key];\r\n\t\t\tpushStyleOverrideObject = true;\r\n\t\t}\r\n\t});\r\n\r\n\tif (pushStyleOverrideObject) {\r\n\t\tthis.push(styleOverrideObject);\r\n\t}\r\n\r\n\treturn styleNames.length + (pushStyleOverrideObject ? 1 : 0);\r\n};\r\n\r\n/**\r\n * Automatically pushes elements onto the stack, using autopush based on item,\r\n * executes callback and then pops elements back. Returns value returned by callback\r\n *\r\n * @param  {Object}   item - an object with optional style property and/or style overrides\r\n * @param  {Function} function to be called between autopush and pop\r\n * @return {Object} value returned by callback\r\n */\r\nStyleContextStack.prototype.auto = function (item, callback) {\r\n\tvar pushedItems = this.autopush(item);\r\n\tvar result = callback();\r\n\r\n\tif (pushedItems > 0) {\r\n\t\tthis.pop(pushedItems);\r\n\t}\r\n\r\n\treturn result;\r\n};\r\n\r\n/**\r\n * Evaluates stack and returns value of a named property\r\n *\r\n * @param {String} property - property name\r\n * @return property value or null if not found\r\n */\r\nStyleContextStack.prototype.getProperty = function (property) {\r\n\tif (this.styleOverrides) {\r\n\t\tfor (var i = this.styleOverrides.length - 1; i >= 0; i--) {\r\n\t\t\tvar item = this.styleOverrides[i];\r\n\r\n\t\t\tif (isString(item)) {\r\n\t\t\t\t// named-style-override\r\n\t\t\t\tvar style = this.styleDictionary[item];\r\n\t\t\t\tif (style && !isUndefined(style[property]) && !isNull(style[property])) {\r\n\t\t\t\t\treturn style[property];\r\n\t\t\t\t}\r\n\t\t\t} else if (!isUndefined(item[property]) && !isNull(item[property])) {\r\n\t\t\t\t// style-overrides-object\r\n\t\t\t\treturn item[property];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn this.defaultStyle && this.defaultStyle[property];\r\n};\r\n\r\nmodule.exports = StyleContextStack;\r\n","'use strict';\r\n\r\nvar xmldoc = require('xmldoc');\r\n\r\n/** Strip unit postfix, parse number, but return undefined instead of NaN for bad input */\r\nfunction stripUnits(textVal) {\r\n\tvar n = parseFloat(textVal);\r\n\tif (typeof n !== 'number' || isNaN(n)) {\r\n\t\treturn undefined;\r\n\t}\r\n\treturn n;\r\n}\r\n\r\n/** Make sure it's valid XML and the root tage is <svg/>, returns xmldoc DOM */\r\nfunction parseSVG(svgString) {\r\n\tvar doc;\r\n\r\n\ttry {\r\n\t\tdoc = new xmldoc.XmlDocument(svgString);\r\n\t} catch (err) {\r\n\t\tthrow new Error('SVGMeasure: ' + err);\r\n\t}\r\n\r\n\tif (doc.name !== \"svg\") {\r\n\t\tthrow new Error('SVGMeasure: expected <svg> document');\r\n\t}\r\n\r\n\treturn doc;\r\n}\r\n\r\nfunction SVGMeasure() {\r\n}\r\n\r\nSVGMeasure.prototype.measureSVG = function (svgString) {\r\n\r\n\tvar doc = parseSVG(svgString);\r\n\r\n\tvar docWidth = stripUnits(doc.attr.width);\r\n\tvar docHeight = stripUnits(doc.attr.height);\r\n\r\n\tif ((docWidth == undefined || docHeight == undefined) && typeof doc.attr.viewBox == 'string') {\r\n\t\tvar viewBoxParts = doc.attr.viewBox.split(/[,\\s]+/);\r\n\t\tif (viewBoxParts.length !== 4) {\r\n\t\t\tthrow new Error(\"Unexpected svg viewbox format, should have 4 entries but found: '\" + doc.attr.viewBox + \"'\");\r\n\t\t}\r\n\t\tif (docWidth == undefined) {\r\n\t\t\tdocWidth = stripUnits(viewBoxParts[2]);\r\n\t\t}\r\n\t\tif (docHeight == undefined) {\r\n\t\t\tdocHeight = stripUnits(viewBoxParts[3]);\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\twidth: docWidth,\r\n\t\theight: docHeight\r\n\t};\r\n};\r\n\r\nSVGMeasure.prototype.writeDimensions = function (svgString, dimensions) {\r\n\r\n\tvar doc = parseSVG(svgString);\r\n\r\n\tdoc.attr.width = \"\" + dimensions.width;\r\n\tdoc.attr.height = \"\" + dimensions.height;\r\n\r\n\treturn doc.toString();\r\n};\r\n\r\nmodule.exports = SVGMeasure;\r\n","'use strict';\r\n\r\nvar ColumnCalculator = require('./columnCalculator');\r\nvar isFunction = require('./helpers').isFunction;\r\nvar isNumber = require('./helpers').isNumber;\r\n\r\nfunction TableProcessor(tableNode) {\r\n\tthis.tableNode = tableNode;\r\n}\r\n\r\nTableProcessor.prototype.beginTable = function (writer) {\r\n\tvar tableNode;\r\n\tvar availableWidth;\r\n\tvar self = this;\r\n\r\n\ttableNode = this.tableNode;\r\n\tthis.offsets = tableNode._offsets;\r\n\tthis.layout = tableNode._layout;\r\n\r\n\tavailableWidth = writer.context().availableWidth - this.offsets.total;\r\n\tColumnCalculator.buildColumnWidths(tableNode.table.widths, availableWidth);\r\n\r\n\tthis.tableWidth = tableNode._offsets.total + getTableInnerContentWidth();\r\n\tthis.rowSpanData = prepareRowSpanData();\r\n\tthis.cleanUpRepeatables = false;\r\n\r\n\tthis.headerRows = tableNode.table.headerRows || 0;\r\n\tthis.rowsWithoutPageBreak = this.headerRows + (tableNode.table.keepWithHeaderRows || 0);\r\n\tthis.dontBreakRows = tableNode.table.dontBreakRows || false;\r\n\r\n\tif (this.rowsWithoutPageBreak) {\r\n\t\twriter.beginUnbreakableBlock();\r\n\t}\r\n\r\n\t// update the border properties of all cells before drawing any lines\r\n\tprepareCellBorders(this.tableNode.table.body);\r\n\r\n\tthis.drawHorizontalLine(0, writer);\r\n\r\n\tfunction getTableInnerContentWidth() {\r\n\t\tvar width = 0;\r\n\r\n\t\ttableNode.table.widths.forEach(function (w) {\r\n\t\t\twidth += w._calcWidth;\r\n\t\t});\r\n\r\n\t\treturn width;\r\n\t}\r\n\r\n\tfunction prepareRowSpanData() {\r\n\t\tvar rsd = [];\r\n\t\tvar x = 0;\r\n\t\tvar lastWidth = 0;\r\n\r\n\t\trsd.push({ left: 0, rowSpan: 0 });\r\n\r\n\t\tfor (var i = 0, l = self.tableNode.table.body[0].length; i < l; i++) {\r\n\t\t\tvar paddings = self.layout.paddingLeft(i, self.tableNode) + self.layout.paddingRight(i, self.tableNode);\r\n\t\t\tvar lBorder = self.layout.vLineWidth(i, self.tableNode);\r\n\t\t\tlastWidth = paddings + lBorder + self.tableNode.table.widths[i]._calcWidth;\r\n\t\t\trsd[rsd.length - 1].width = lastWidth;\r\n\t\t\tx += lastWidth;\r\n\t\t\trsd.push({ left: x, rowSpan: 0, width: 0 });\r\n\t\t}\r\n\r\n\t\treturn rsd;\r\n\t}\r\n\r\n\t// Iterate through all cells. If the current cell is the start of a\r\n\t// rowSpan/colSpan, update the border property of the cells on its\r\n\t// bottom/right accordingly. This is needed since each iteration of the\r\n\t// line-drawing loops draws lines for a single cell, not for an entire\r\n\t// rowSpan/colSpan.\r\n\tfunction prepareCellBorders(body) {\r\n\t\tfor (var rowIndex = 0; rowIndex < body.length; rowIndex++) {\r\n\t\t\tvar row = body[rowIndex];\r\n\r\n\t\t\tfor (var colIndex = 0; colIndex < row.length; colIndex++) {\r\n\t\t\t\tvar cell = row[colIndex];\r\n\r\n\t\t\t\tif (cell.border) {\r\n\t\t\t\t\tvar rowSpan = cell.rowSpan || 1;\r\n\t\t\t\t\tvar colSpan = cell.colSpan || 1;\r\n\r\n\t\t\t\t\tfor (var rowOffset = 0; rowOffset < rowSpan; rowOffset++) {\r\n\t\t\t\t\t\t// set left border\r\n\t\t\t\t\t\tif (cell.border[0] !== undefined && rowOffset > 0) {\r\n\t\t\t\t\t\t\tsetBorder(rowIndex + rowOffset, colIndex, 0, cell.border[0]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// set right border\r\n\t\t\t\t\t\tif (cell.border[2] !== undefined) {\r\n\t\t\t\t\t\t\tsetBorder(rowIndex + rowOffset, colIndex + colSpan - 1, 2, cell.border[2]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfor (var colOffset = 0; colOffset < colSpan; colOffset++) {\r\n\t\t\t\t\t\t// set top border\r\n\t\t\t\t\t\tif (cell.border[1] !== undefined && colOffset > 0) {\r\n\t\t\t\t\t\t\tsetBorder(rowIndex, colIndex + colOffset, 1, cell.border[1]);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// set bottom border\r\n\t\t\t\t\t\tif (cell.border[3] !== undefined) {\r\n\t\t\t\t\t\t\tsetBorder(rowIndex + rowSpan - 1, colIndex + colOffset, 3, cell.border[3]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// helper function to set the border for a given cell\r\n\t\tfunction setBorder(rowIndex, colIndex, borderIndex, borderValue) {\r\n\t\t\tvar cell = body[rowIndex][colIndex];\r\n\t\t\tcell.border = cell.border || {};\r\n\t\t\tcell.border[borderIndex] = borderValue;\r\n\t\t}\r\n\t}\r\n};\r\n\r\nTableProcessor.prototype.onRowBreak = function (rowIndex, writer) {\r\n\tvar self = this;\r\n\treturn function () {\r\n\t\tvar offset = self.rowPaddingTop + (!self.headerRows ? self.topLineWidth : 0);\r\n\t\twriter.context().availableHeight -= self.reservedAtBottom;\r\n\t\twriter.context().moveDown(offset);\r\n\t};\r\n};\r\n\r\nTableProcessor.prototype.beginRow = function (rowIndex, writer) {\r\n\tthis.topLineWidth = this.layout.hLineWidth(rowIndex, this.tableNode);\r\n\tthis.rowPaddingTop = this.layout.paddingTop(rowIndex, this.tableNode);\r\n\tthis.bottomLineWidth = this.layout.hLineWidth(rowIndex + 1, this.tableNode);\r\n\tthis.rowPaddingBottom = this.layout.paddingBottom(rowIndex, this.tableNode);\r\n\r\n\tthis.rowCallback = this.onRowBreak(rowIndex, writer);\r\n\twriter.tracker.startTracking('pageChanged', this.rowCallback);\r\n\tif (this.dontBreakRows) {\r\n\t\twriter.beginUnbreakableBlock();\r\n\t}\r\n\tthis.rowTopY = writer.context().y;\r\n\tthis.reservedAtBottom = this.bottomLineWidth + this.rowPaddingBottom;\r\n\r\n\twriter.context().availableHeight -= this.reservedAtBottom;\r\n\r\n\twriter.context().moveDown(this.rowPaddingTop);\r\n};\r\n\r\nTableProcessor.prototype.drawHorizontalLine = function (lineIndex, writer, overrideY) {\r\n\tvar lineWidth = this.layout.hLineWidth(lineIndex, this.tableNode);\r\n\tif (lineWidth) {\r\n\t\tvar style = this.layout.hLineStyle(lineIndex, this.tableNode);\r\n\t\tvar dash;\r\n\t\tif (style && style.dash) {\r\n\t\t\tdash = style.dash;\r\n\t\t}\r\n\r\n\t\tvar offset = lineWidth / 2;\r\n\t\tvar currentLine = null;\r\n\t\tvar body = this.tableNode.table.body;\r\n\t\tvar cellAbove;\r\n\t\tvar currentCell;\r\n\t\tvar rowCellAbove;\r\n\r\n\t\tfor (var i = 0, l = this.rowSpanData.length; i < l; i++) {\r\n\t\t\tvar data = this.rowSpanData[i];\r\n\t\t\tvar shouldDrawLine = !data.rowSpan;\r\n\t\t\tvar borderColor = null;\r\n\r\n\t\t\t// draw only if the current cell requires a top border or the cell in the\r\n\t\t\t// row above requires a bottom border\r\n\t\t\tif (shouldDrawLine && i < l - 1) {\r\n\t\t\t\tvar topBorder = false, bottomBorder = false, rowBottomBorder = false;\r\n\r\n\t\t\t\t// the cell in the row above\r\n\t\t\t\tif (lineIndex > 0) {\r\n\t\t\t\t\tcellAbove = body[lineIndex - 1][i];\r\n\t\t\t\t\tbottomBorder = cellAbove.border ? cellAbove.border[3] : this.layout.defaultBorder;\r\n\t\t\t\t\tif (bottomBorder && cellAbove.borderColor) {\r\n\t\t\t\t\t\tborderColor = cellAbove.borderColor[3];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// the current cell\r\n\t\t\t\tif (lineIndex < body.length) {\r\n\t\t\t\t\tcurrentCell = body[lineIndex][i];\r\n\t\t\t\t\ttopBorder = currentCell.border ? currentCell.border[1] : this.layout.defaultBorder;\r\n\t\t\t\t\tif (topBorder && borderColor == null && currentCell.borderColor) {\r\n\t\t\t\t\t\tborderColor = currentCell.borderColor[1];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tshouldDrawLine = topBorder || bottomBorder;\r\n\t\t\t}\r\n\r\n\t\t\tif (cellAbove && cellAbove._rowSpanCurrentOffset) {\r\n\t\t\t\trowCellAbove = body[lineIndex - 1 - cellAbove._rowSpanCurrentOffset][i];\r\n\t\t\t\trowBottomBorder = rowCellAbove && rowCellAbove.border ? rowCellAbove.border[3] : this.layout.defaultBorder;\r\n\t\t\t\tif (rowBottomBorder && rowCellAbove && rowCellAbove.borderColor) {\r\n\t\t\t\t\tborderColor = rowCellAbove.borderColor[3];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (borderColor == null) {\r\n\t\t\t\tborderColor = isFunction(this.layout.hLineColor) ? this.layout.hLineColor(lineIndex, this.tableNode, i) : this.layout.hLineColor;\r\n\t\t\t}\r\n\r\n\t\t\tif (!currentLine && shouldDrawLine) {\r\n\t\t\t\tcurrentLine = { left: data.left, width: 0 };\r\n\t\t\t}\r\n\r\n\t\t\tif (shouldDrawLine) {\r\n\t\t\t\tvar colSpanIndex = 0;\r\n\t\t\t\tif (rowCellAbove && rowCellAbove.colSpan && rowBottomBorder) {\r\n\t\t\t\t\twhile (rowCellAbove.colSpan > colSpanIndex) {\r\n\t\t\t\t\t\tcurrentLine.width += (this.rowSpanData[i + colSpanIndex++].width || 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\ti += colSpanIndex - 1;\r\n\t\t\t\t} else if (cellAbove && cellAbove.colSpan && bottomBorder) {\r\n\t\t\t\t\twhile (cellAbove.colSpan > colSpanIndex) {\r\n\t\t\t\t\t\tcurrentLine.width += (this.rowSpanData[i + colSpanIndex++].width || 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\ti += colSpanIndex - 1;\r\n\t\t\t\t} else if (currentCell && currentCell.colSpan && topBorder) {\r\n\t\t\t\t\twhile (currentCell.colSpan > colSpanIndex) {\r\n\t\t\t\t\t\tcurrentLine.width += (this.rowSpanData[i + colSpanIndex++].width || 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\ti += colSpanIndex - 1;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcurrentLine.width += (this.rowSpanData[i].width || 0);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar y = (overrideY || 0) + offset;\r\n\r\n\r\n\t\t\tif (shouldDrawLine) {\r\n\t\t\t\tif (currentLine && currentLine.width) {\r\n\t\t\t\t\twriter.addVector({\r\n\t\t\t\t\t\ttype: 'line',\r\n\t\t\t\t\t\tx1: currentLine.left,\r\n\t\t\t\t\t\tx2: currentLine.left + currentLine.width,\r\n\t\t\t\t\t\ty1: y,\r\n\t\t\t\t\t\ty2: y,\r\n\t\t\t\t\t\tlineWidth: lineWidth,\r\n\t\t\t\t\t\tdash: dash,\r\n\t\t\t\t\t\tlineColor: borderColor\r\n\t\t\t\t\t}, false, overrideY);\r\n\t\t\t\t\tcurrentLine = null;\r\n\t\t\t\t\tborderColor = null;\r\n\t\t\t\t\tcellAbove = null;\r\n\t\t\t\t\tcurrentCell = null;\r\n\t\t\t\t\trowCellAbove = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twriter.context().moveDown(lineWidth);\r\n\t}\r\n};\r\n\r\nTableProcessor.prototype.drawVerticalLine = function (x, y0, y1, vLineColIndex, writer, vLineRowIndex, beforeVLineColIndex) {\r\n\tvar width = this.layout.vLineWidth(vLineColIndex, this.tableNode);\r\n\tif (width === 0) {\r\n\t\treturn;\r\n\t}\r\n\tvar style = this.layout.vLineStyle(vLineColIndex, this.tableNode);\r\n\tvar dash;\r\n\tif (style && style.dash) {\r\n\t\tdash = style.dash;\r\n\t}\r\n\r\n\tvar body = this.tableNode.table.body;\r\n\tvar cellBefore;\r\n\tvar currentCell;\r\n\tvar borderColor;\r\n\r\n\t// the cell in the col before\r\n\tif (vLineColIndex > 0) {\r\n\t\tcellBefore = body[vLineRowIndex][beforeVLineColIndex];\r\n\t\tif (cellBefore && cellBefore.borderColor) {\r\n\t\t\tif (cellBefore.border ? cellBefore.border[2] : this.layout.defaultBorder) {\r\n\t\t\t\tborderColor = cellBefore.borderColor[2];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// the current cell\r\n\tif (borderColor == null && vLineColIndex < body.length) {\r\n\t\tcurrentCell = body[vLineRowIndex][vLineColIndex];\r\n\t\tif (currentCell && currentCell.borderColor) {\r\n\t\t\tif (currentCell.border ? currentCell.border[0] : this.layout.defaultBorder) {\r\n\t\t\t\tborderColor = currentCell.borderColor[0];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (borderColor == null && cellBefore && cellBefore._rowSpanCurrentOffset) {\r\n\t\tvar rowCellBeforeAbove = body[vLineRowIndex - cellBefore._rowSpanCurrentOffset][beforeVLineColIndex];\r\n\t\tif (rowCellBeforeAbove.borderColor) {\r\n\t\t\tif (rowCellBeforeAbove.border ? rowCellBeforeAbove.border[2] : this.layout.defaultBorder) {\r\n\t\t\t\tborderColor = rowCellBeforeAbove.borderColor[2];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (borderColor == null && currentCell && currentCell._rowSpanCurrentOffset) {\r\n\t\tvar rowCurrentCellAbove = body[vLineRowIndex - currentCell._rowSpanCurrentOffset][vLineColIndex];\r\n\t\tif (rowCurrentCellAbove.borderColor) {\r\n\t\t\tif (rowCurrentCellAbove.border ? rowCurrentCellAbove.border[2] : this.layout.defaultBorder) {\r\n\t\t\t\tborderColor = rowCurrentCellAbove.borderColor[2];\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif (borderColor == null) {\r\n\t\tborderColor = isFunction(this.layout.vLineColor) ? this.layout.vLineColor(vLineColIndex, this.tableNode, vLineRowIndex) : this.layout.vLineColor;\r\n\t}\r\n\twriter.addVector({\r\n\t\ttype: 'line',\r\n\t\tx1: x + width / 2,\r\n\t\tx2: x + width / 2,\r\n\t\ty1: y0,\r\n\t\ty2: y1,\r\n\t\tlineWidth: width,\r\n\t\tdash: dash,\r\n\t\tlineColor: borderColor\r\n\t}, false, true);\r\n\tcellBefore = null;\r\n\tcurrentCell = null;\r\n\tborderColor = null;\r\n};\r\n\r\nTableProcessor.prototype.endTable = function (writer) {\r\n\tif (this.cleanUpRepeatables) {\r\n\t\twriter.popFromRepeatables();\r\n\t}\r\n};\r\n\r\nTableProcessor.prototype.endRow = function (rowIndex, writer, pageBreaks) {\r\n\tvar l, i;\r\n\tvar self = this;\r\n\twriter.tracker.stopTracking('pageChanged', this.rowCallback);\r\n\twriter.context().moveDown(this.layout.paddingBottom(rowIndex, this.tableNode));\r\n\twriter.context().availableHeight += this.reservedAtBottom;\r\n\r\n\tvar endingPage = writer.context().page;\r\n\tvar endingY = writer.context().y;\r\n\r\n\tvar xs = getLineXs();\r\n\r\n\tvar ys = [];\r\n\r\n\tvar hasBreaks = pageBreaks && pageBreaks.length > 0;\r\n\tvar body = this.tableNode.table.body;\r\n\r\n\tys.push({\r\n\t\ty0: this.rowTopY,\r\n\t\tpage: hasBreaks ? pageBreaks[0].prevPage : endingPage\r\n\t});\r\n\r\n\tif (hasBreaks) {\r\n\t\tfor (i = 0, l = pageBreaks.length; i < l; i++) {\r\n\t\t\tvar pageBreak = pageBreaks[i];\r\n\t\t\tys[ys.length - 1].y1 = pageBreak.prevY;\r\n\r\n\t\t\tys.push({ y0: pageBreak.y, page: pageBreak.prevPage + 1 });\r\n\t\t}\r\n\t}\r\n\r\n\tys[ys.length - 1].y1 = endingY;\r\n\r\n\tvar skipOrphanePadding = (ys[0].y1 - ys[0].y0 === this.rowPaddingTop);\r\n\tfor (var yi = (skipOrphanePadding ? 1 : 0), yl = ys.length; yi < yl; yi++) {\r\n\t\tvar willBreak = yi < ys.length - 1;\r\n\t\tvar rowBreakWithoutHeader = (yi > 0 && !this.headerRows);\r\n\t\tvar hzLineOffset = rowBreakWithoutHeader ? 0 : this.topLineWidth;\r\n\t\tvar y1 = ys[yi].y0;\r\n\t\tvar y2 = ys[yi].y1;\r\n\r\n\t\tif (willBreak) {\r\n\t\t\ty2 = y2 + this.rowPaddingBottom;\r\n\t\t}\r\n\r\n\t\tif (writer.context().page != ys[yi].page) {\r\n\t\t\twriter.context().page = ys[yi].page;\r\n\r\n\t\t\t//TODO: buggy, availableHeight should be updated on every pageChanged event\r\n\t\t\t// TableProcessor should be pageChanged listener, instead of processRow\r\n\t\t\tthis.reservedAtBottom = 0;\r\n\t\t}\r\n\r\n\t\tfor (i = 0, l = xs.length; i < l; i++) {\r\n\t\t\tvar leftCellBorder = false;\r\n\t\t\tvar rightCellBorder = false;\r\n\t\t\tvar colIndex = xs[i].index;\r\n\r\n\t\t\t// current cell\r\n\t\t\tif (colIndex < body[rowIndex].length) {\r\n\t\t\t\tvar cell = body[rowIndex][colIndex];\r\n\t\t\t\tleftCellBorder = cell.border ? cell.border[0] : this.layout.defaultBorder;\r\n\t\t\t\trightCellBorder = cell.border ? cell.border[2] : this.layout.defaultBorder;\r\n\t\t\t}\r\n\r\n\t\t\t// before cell\r\n\t\t\tif (colIndex > 0 && !leftCellBorder) {\r\n\t\t\t\tvar cell = body[rowIndex][colIndex - 1];\r\n\t\t\t\tleftCellBorder = cell.border ? cell.border[2] : this.layout.defaultBorder;\r\n\t\t\t}\r\n\r\n\t\t\t// after cell\r\n\t\t\tif (colIndex + 1 < body[rowIndex].length && !rightCellBorder) {\r\n\t\t\t\tvar cell = body[rowIndex][colIndex + 1];\r\n\t\t\t\trightCellBorder = cell.border ? cell.border[0] : this.layout.defaultBorder;\r\n\t\t\t}\r\n\r\n\t\t\tif (leftCellBorder) {\r\n\t\t\t\tthis.drawVerticalLine(xs[i].x, y1 - hzLineOffset, y2 + this.bottomLineWidth, xs[i].index, writer, rowIndex, xs[i - 1] ? xs[i - 1].index : null);\r\n\t\t\t}\r\n\r\n\t\t\tif (i < l - 1) {\r\n\t\t\t\tvar fillColor = body[rowIndex][colIndex].fillColor;\r\n\t\t\t\tvar fillOpacity = body[rowIndex][colIndex].fillOpacity;\r\n\t\t\t\tif (!fillColor) {\r\n\t\t\t\t\tfillColor = isFunction(this.layout.fillColor) ? this.layout.fillColor(rowIndex, this.tableNode, colIndex) : this.layout.fillColor;\r\n\t\t\t\t}\r\n\t\t\t\tif (!isNumber(fillOpacity)) {\r\n\t\t\t\t\tfillOpacity = isFunction(this.layout.fillOpacity) ? this.layout.fillOpacity(rowIndex, this.tableNode, colIndex) : this.layout.fillOpacity;\r\n\t\t\t\t}\r\n\t\t\t\tvar overlayPattern = body[rowIndex][colIndex].overlayPattern;\r\n\t\t\t\tvar overlayOpacity = body[rowIndex][colIndex].overlayOpacity;\r\n\t\t\t\tif (fillColor || overlayPattern) {\r\n\t\t\t\t\tvar widthLeftBorder = leftCellBorder ? this.layout.vLineWidth(colIndex, this.tableNode) : 0;\r\n\t\t\t\t\tvar widthRightBorder;\r\n\t\t\t\t\tif ((colIndex === 0 || colIndex + 1 == body[rowIndex].length) && !rightCellBorder) {\r\n\t\t\t\t\t\twidthRightBorder = this.layout.vLineWidth(colIndex + 1, this.tableNode);\r\n\t\t\t\t\t} else if (rightCellBorder) {\r\n\t\t\t\t\t\twidthRightBorder = this.layout.vLineWidth(colIndex + 1, this.tableNode) / 2;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\twidthRightBorder = 0;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar x1f = this.dontBreakRows ? xs[i].x + widthLeftBorder : xs[i].x + (widthLeftBorder / 2);\r\n\t\t\t\t\tvar y1f = this.dontBreakRows ? y1 : y1 - (hzLineOffset / 2);\r\n\t\t\t\t\tvar x2f = xs[i + 1].x + widthRightBorder;\r\n\t\t\t\t\tvar y2f = this.dontBreakRows ? y2 + this.bottomLineWidth : y2 + (this.bottomLineWidth / 2);\r\n\t\t\t\t\tvar bgWidth = x2f - x1f;\r\n\t\t\t\t\tvar bgHeight = y2f - y1f;\r\n\t\t\t\t\tif (fillColor) {\r\n\t\t\t\t\t\twriter.addVector({\r\n\t\t\t\t\t\t\ttype: 'rect',\r\n\t\t\t\t\t\t\tx: x1f,\r\n\t\t\t\t\t\t\ty: y1f,\r\n\t\t\t\t\t\t\tw: bgWidth,\r\n\t\t\t\t\t\t\th: bgHeight,\r\n\t\t\t\t\t\t\tlineWidth: 0,\r\n\t\t\t\t\t\t\tcolor: fillColor,\r\n\t\t\t\t\t\t\tfillOpacity: fillOpacity\r\n\t\t\t\t\t\t}, false, true, writer.context().backgroundLength[writer.context().page]);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (overlayPattern) {\r\n\t\t\t\t\t\twriter.addVector({\r\n\t\t\t\t\t\t\ttype: 'rect',\r\n\t\t\t\t\t\t\tx: x1f,\r\n\t\t\t\t\t\t\ty: y1f,\r\n\t\t\t\t\t\t\tw: bgWidth,\r\n\t\t\t\t\t\t\th: bgHeight,\r\n\t\t\t\t\t\t\tlineWidth: 0,\r\n\t\t\t\t\t\t\tcolor: overlayPattern,\r\n\t\t\t\t\t\t\tfillOpacity: overlayOpacity\r\n\t\t\t\t\t\t}, false, true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (willBreak && this.layout.hLineWhenBroken !== false) {\r\n\t\t\tthis.drawHorizontalLine(rowIndex + 1, writer, y2);\r\n\t\t}\r\n\t\tif (rowBreakWithoutHeader && this.layout.hLineWhenBroken !== false) {\r\n\t\t\tthis.drawHorizontalLine(rowIndex, writer, y1);\r\n\t\t}\r\n\t}\r\n\r\n\twriter.context().page = endingPage;\r\n\twriter.context().y = endingY;\r\n\r\n\tvar row = this.tableNode.table.body[rowIndex];\r\n\tfor (i = 0, l = row.length; i < l; i++) {\r\n\t\tif (row[i].rowSpan) {\r\n\t\t\tthis.rowSpanData[i].rowSpan = row[i].rowSpan;\r\n\r\n\t\t\t// fix colSpans\r\n\t\t\tif (row[i].colSpan && row[i].colSpan > 1) {\r\n\t\t\t\tfor (var j = 1; j < row[i].rowSpan; j++) {\r\n\t\t\t\t\tthis.tableNode.table.body[rowIndex + j][i]._colSpan = row[i].colSpan;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// fix rowSpans\r\n\t\t\tif (row[i].rowSpan && row[i].rowSpan > 1) {\r\n\t\t\t\tfor (var j = 1; j < row[i].rowSpan; j++) {\r\n\t\t\t\t\tthis.tableNode.table.body[rowIndex + j][i]._rowSpanCurrentOffset = j;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.rowSpanData[i].rowSpan > 0) {\r\n\t\t\tthis.rowSpanData[i].rowSpan--;\r\n\t\t}\r\n\t}\r\n\r\n\tthis.drawHorizontalLine(rowIndex + 1, writer);\r\n\r\n\tif (this.headerRows && rowIndex === this.headerRows - 1) {\r\n\t\tthis.headerRepeatable = writer.currentBlockToRepeatable();\r\n\t}\r\n\r\n\tif (this.dontBreakRows) {\r\n\t\twriter.tracker.auto('pageChanged',\r\n\t\t\tfunction () {\r\n\t\t\t\tif (!self.headerRows && self.layout.hLineWhenBroken !== false) {\r\n\t\t\t\t\tself.drawHorizontalLine(rowIndex, writer);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tfunction () {\r\n\t\t\t\twriter.commitUnbreakableBlock();\r\n\t\t\t}\r\n\t\t);\r\n\t}\r\n\r\n\tif (this.headerRepeatable && (rowIndex === (this.rowsWithoutPageBreak - 1) || rowIndex === this.tableNode.table.body.length - 1)) {\r\n\t\twriter.commitUnbreakableBlock();\r\n\t\twriter.pushToRepeatables(this.headerRepeatable);\r\n\t\tthis.cleanUpRepeatables = true;\r\n\t\tthis.headerRepeatable = null;\r\n\t}\r\n\r\n\tfunction getLineXs() {\r\n\t\tvar result = [];\r\n\t\tvar cols = 0;\r\n\r\n\t\tfor (var i = 0, l = self.tableNode.table.body[rowIndex].length; i < l; i++) {\r\n\t\t\tif (!cols) {\r\n\t\t\t\tresult.push({ x: self.rowSpanData[i].left, index: i });\r\n\r\n\t\t\t\tvar item = self.tableNode.table.body[rowIndex][i];\r\n\t\t\t\tcols = (item._colSpan || item.colSpan || 0);\r\n\t\t\t}\r\n\t\t\tif (cols > 0) {\r\n\t\t\t\tcols--;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tresult.push({ x: self.rowSpanData[self.rowSpanData.length - 1].left, index: self.rowSpanData.length - 1 });\r\n\r\n\t\treturn result;\r\n\t}\r\n};\r\n\r\nmodule.exports = TableProcessor;\r\n","'use strict';\r\n\r\nvar isArray = require('./helpers').isArray;\r\nvar isPattern = require('./helpers').isPattern;\r\nvar getPattern = require('./helpers').getPattern;\r\n\r\nfunction groupDecorations(line) {\r\n\tvar groups = [], currentGroup = null;\r\n\tfor (var i = 0, l = line.inlines.length; i < l; i++) {\r\n\t\tvar inline = line.inlines[i];\r\n\t\tvar decoration = inline.decoration;\r\n\t\tif (!decoration) {\r\n\t\t\tcurrentGroup = null;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (!isArray(decoration)) {\r\n\t\t\tdecoration = [decoration];\r\n\t\t}\r\n\t\tvar color = inline.decorationColor || inline.color || 'black';\r\n\t\tvar style = inline.decorationStyle || 'solid';\r\n\t\tfor (var ii = 0, ll = decoration.length; ii < ll; ii++) {\r\n\t\t\tvar decorationItem = decoration[ii];\r\n\t\t\tif (!currentGroup || decorationItem !== currentGroup.decoration ||\r\n\t\t\t\tstyle !== currentGroup.decorationStyle || color !== currentGroup.decorationColor) {\r\n\r\n\t\t\t\tcurrentGroup = {\r\n\t\t\t\t\tline: line,\r\n\t\t\t\t\tdecoration: decorationItem,\r\n\t\t\t\t\tdecorationColor: color,\r\n\t\t\t\t\tdecorationStyle: style,\r\n\t\t\t\t\tinlines: [inline]\r\n\t\t\t\t};\r\n\t\t\t\tgroups.push(currentGroup);\r\n\t\t\t} else {\r\n\t\t\t\tcurrentGroup.inlines.push(inline);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn groups;\r\n}\r\n\r\nfunction drawDecoration(group, x, y, pdfKitDoc) {\r\n\tfunction maxInline() {\r\n\t\tvar max = 0;\r\n\t\tfor (var i = 0, l = group.inlines.length; i < l; i++) {\r\n\t\t\tvar inline = group.inlines[i];\r\n\t\t\tmax = inline.fontSize > max ? i : max;\r\n\t\t}\r\n\t\treturn group.inlines[max];\r\n\t}\r\n\tfunction width() {\r\n\t\tvar sum = 0;\r\n\t\tfor (var i = 0, l = group.inlines.length; i < l; i++) {\r\n\t\t\tvar justifyShift = (group.inlines[i].justifyShift || 0);\r\n\t\t\tsum += group.inlines[i].width + justifyShift;\r\n\t\t}\r\n\t\treturn sum;\r\n\t}\r\n\tvar firstInline = group.inlines[0],\r\n\t\tbiggerInline = maxInline(),\r\n\t\ttotalWidth = width(),\r\n\t\tlineAscent = group.line.getAscenderHeight(),\r\n\t\tascent = biggerInline.font.ascender / 1000 * biggerInline.fontSize,\r\n\t\theight = biggerInline.height,\r\n\t\tdescent = height - ascent;\r\n\r\n\tvar lw = 0.5 + Math.floor(Math.max(biggerInline.fontSize - 8, 0) / 2) * 0.12;\r\n\r\n\tswitch (group.decoration) {\r\n\t\tcase 'underline':\r\n\t\t\ty += lineAscent + descent * 0.45;\r\n\t\t\tbreak;\r\n\t\tcase 'overline':\r\n\t\t\ty += lineAscent - (ascent * 0.85);\r\n\t\t\tbreak;\r\n\t\tcase 'lineThrough':\r\n\t\t\ty += lineAscent - (ascent * 0.25);\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tthrow 'Unkown decoration : ' + group.decoration;\r\n\t}\r\n\tpdfKitDoc.save();\r\n\r\n\tif (group.decorationStyle === 'double') {\r\n\t\tvar gap = Math.max(0.5, lw * 2);\r\n\t\tpdfKitDoc.fillColor(group.decorationColor)\r\n\t\t\t.rect(x + firstInline.x, y - lw / 2, totalWidth, lw / 2).fill()\r\n\t\t\t.rect(x + firstInline.x, y + gap - lw / 2, totalWidth, lw / 2).fill();\r\n\t} else if (group.decorationStyle === 'dashed') {\r\n\t\tvar nbDashes = Math.ceil(totalWidth / (3.96 + 2.84));\r\n\t\tvar rdx = x + firstInline.x;\r\n\t\tpdfKitDoc.rect(rdx, y, totalWidth, lw).clip();\r\n\t\tpdfKitDoc.fillColor(group.decorationColor);\r\n\t\tfor (var i = 0; i < nbDashes; i++) {\r\n\t\t\tpdfKitDoc.rect(rdx, y - lw / 2, 3.96, lw).fill();\r\n\t\t\trdx += 3.96 + 2.84;\r\n\t\t}\r\n\t} else if (group.decorationStyle === 'dotted') {\r\n\t\tvar nbDots = Math.ceil(totalWidth / (lw * 3));\r\n\t\tvar rx = x + firstInline.x;\r\n\t\tpdfKitDoc.rect(rx, y, totalWidth, lw).clip();\r\n\t\tpdfKitDoc.fillColor(group.decorationColor);\r\n\t\tfor (var ii = 0; ii < nbDots; ii++) {\r\n\t\t\tpdfKitDoc.rect(rx, y - lw / 2, lw, lw).fill();\r\n\t\t\trx += (lw * 3);\r\n\t\t}\r\n\t} else if (group.decorationStyle === 'wavy') {\r\n\t\tvar sh = 0.7, sv = 1;\r\n\t\tvar nbWaves = Math.ceil(totalWidth / (sh * 2)) + 1;\r\n\t\tvar rwx = x + firstInline.x - 1;\r\n\t\tpdfKitDoc.rect(x + firstInline.x, y - sv, totalWidth, y + sv).clip();\r\n\t\tpdfKitDoc.lineWidth(0.24);\r\n\t\tpdfKitDoc.moveTo(rwx, y);\r\n\t\tfor (var iii = 0; iii < nbWaves; iii++) {\r\n\t\t\tpdfKitDoc.bezierCurveTo(rwx + sh, y - sv, rwx + sh * 2, y - sv, rwx + sh * 3, y)\r\n\t\t\t\t.bezierCurveTo(rwx + sh * 4, y + sv, rwx + sh * 5, y + sv, rwx + sh * 6, y);\r\n\t\t\trwx += sh * 6;\r\n\t\t}\r\n\t\tpdfKitDoc.stroke(group.decorationColor);\r\n\t} else {\r\n\t\tpdfKitDoc.fillColor(group.decorationColor)\r\n\t\t\t.rect(x + firstInline.x, y - lw / 2, totalWidth, lw)\r\n\t\t\t.fill();\r\n\t}\r\n\tpdfKitDoc.restore();\r\n}\r\n\r\nfunction drawDecorations(line, x, y, pdfKitDoc) {\r\n\tvar groups = groupDecorations(line);\r\n\tfor (var i = 0, l = groups.length; i < l; i++) {\r\n\t\tdrawDecoration(groups[i], x, y, pdfKitDoc);\r\n\t}\r\n}\r\n\r\nfunction drawBackground(line, x, y, patterns, pdfKitDoc) {\r\n\tvar height = line.getHeight();\r\n\tfor (var i = 0, l = line.inlines.length; i < l; i++) {\r\n\t\tvar inline = line.inlines[i];\r\n\t\tif (!inline.background) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tvar color = inline.background;\r\n\t\tif (isPattern(inline.background)) {\r\n\t\t\tcolor = getPattern(inline.background, patterns);\r\n\t\t}\r\n\t\tvar justifyShift = (inline.justifyShift || 0);\r\n\t\tpdfKitDoc.fillColor(color)\r\n\t\t\t.rect(x + inline.x - justifyShift, y, inline.width + justifyShift, height)\r\n\t\t\t.fill();\r\n\t}\r\n}\r\n\r\nmodule.exports = {\r\n\tdrawBackground: drawBackground,\r\n\tdrawDecorations: drawDecorations\r\n};\r\n","'use strict';\r\n\r\nvar isString = require('./helpers').isString;\r\nvar isNumber = require('./helpers').isNumber;\r\nvar isObject = require('./helpers').isObject;\r\nvar isArray = require('./helpers').isArray;\r\nvar isUndefined = require('./helpers').isUndefined;\r\nvar LineBreaker = require('@foliojs-fork/linebreak');\r\n\r\nvar LEADING = /^(\\s)+/g;\r\nvar TRAILING = /(\\s)+$/g;\r\n\r\n/**\r\n * Creates an instance of TextTools - text measurement utility\r\n *\r\n * @constructor\r\n * @param {FontProvider} fontProvider\r\n */\r\nfunction TextTools(fontProvider) {\r\n\tthis.fontProvider = fontProvider;\r\n}\r\n\r\n/**\r\n * Converts an array of strings (or inline-definition-objects) into a collection\r\n * of inlines and calculated minWidth/maxWidth.\r\n * and their min/max widths\r\n * @param  {Object} textArray - an array of inline-definition-objects (or strings)\r\n * @param  {Object} styleContextStack current style stack\r\n * @return {Object}                   collection of inlines, minWidth, maxWidth\r\n */\r\nTextTools.prototype.buildInlines = function (textArray, styleContextStack) {\r\n\tvar measured = measure(this.fontProvider, textArray, styleContextStack);\r\n\r\n\tvar minWidth = 0,\r\n\t\tmaxWidth = 0,\r\n\t\tcurrentLineWidth;\r\n\r\n\tmeasured.forEach(function (inline) {\r\n\t\tminWidth = Math.max(minWidth, inline.width - inline.leadingCut - inline.trailingCut);\r\n\r\n\t\tif (!currentLineWidth) {\r\n\t\t\tcurrentLineWidth = { width: 0, leadingCut: inline.leadingCut, trailingCut: 0 };\r\n\t\t}\r\n\r\n\t\tcurrentLineWidth.width += inline.width;\r\n\t\tcurrentLineWidth.trailingCut = inline.trailingCut;\r\n\r\n\t\tmaxWidth = Math.max(maxWidth, getTrimmedWidth(currentLineWidth));\r\n\r\n\t\tif (inline.lineEnd) {\r\n\t\t\tcurrentLineWidth = null;\r\n\t\t}\r\n\t});\r\n\r\n\tif (getStyleProperty({}, styleContextStack, 'noWrap', false)) {\r\n\t\tminWidth = maxWidth;\r\n\t}\r\n\r\n\treturn {\r\n\t\titems: measured,\r\n\t\tminWidth: minWidth,\r\n\t\tmaxWidth: maxWidth\r\n\t};\r\n\r\n\tfunction getTrimmedWidth(item) {\r\n\t\treturn Math.max(0, item.width - item.leadingCut - item.trailingCut);\r\n\t}\r\n};\r\n\r\n/**\r\n * Returns size of the specified string (without breaking it) using the current style\r\n * @param  {String} text              text to be measured\r\n * @param  {Object} styleContextStack current style stack\r\n * @return {Object}                   size of the specified string\r\n */\r\nTextTools.prototype.sizeOfString = function (text, styleContextStack) {\r\n\ttext = text ? text.toString().replace(/\\t/g, '    ') : '';\r\n\r\n\t//TODO: refactor - extract from measure\r\n\tvar fontName = getStyleProperty({}, styleContextStack, 'font', 'Roboto');\r\n\tvar fontSize = getStyleProperty({}, styleContextStack, 'fontSize', 12);\r\n\tvar fontFeatures = getStyleProperty({}, styleContextStack, 'fontFeatures', null);\r\n\tvar bold = getStyleProperty({}, styleContextStack, 'bold', false);\r\n\tvar italics = getStyleProperty({}, styleContextStack, 'italics', false);\r\n\tvar lineHeight = getStyleProperty({}, styleContextStack, 'lineHeight', 1);\r\n\tvar characterSpacing = getStyleProperty({}, styleContextStack, 'characterSpacing', 0);\r\n\r\n\tvar font = this.fontProvider.provideFont(fontName, bold, italics);\r\n\r\n\treturn {\r\n\t\twidth: widthOfString(text, font, fontSize, characterSpacing, fontFeatures),\r\n\t\theight: font.lineHeight(fontSize) * lineHeight,\r\n\t\tfontSize: fontSize,\r\n\t\tlineHeight: lineHeight,\r\n\t\tascender: font.ascender / 1000 * fontSize,\r\n\t\tdescender: font.descender / 1000 * fontSize\r\n\t};\r\n};\r\n\r\n/**\r\n * Returns size of the specified rotated string (without breaking it) using the current style\r\n *\r\n * @param  {string} text text to be measured\r\n * @param  {number} angle\r\n * @param  {object} styleContextStack current style stack\r\n * @returns {object} size of the specified string\r\n */\r\nTextTools.prototype.sizeOfRotatedText = function (text, angle, styleContextStack) {\r\n\tvar angleRad = angle * Math.PI / -180;\r\n\tvar size = this.sizeOfString(text, styleContextStack);\r\n\treturn {\r\n\t\twidth: Math.abs(size.height * Math.sin(angleRad)) + Math.abs(size.width * Math.cos(angleRad)),\r\n\t\theight: Math.abs(size.width * Math.sin(angleRad)) + Math.abs(size.height * Math.cos(angleRad))\r\n\t};\r\n}\r\n\r\nTextTools.prototype.widthOfString = function (text, font, fontSize, characterSpacing, fontFeatures) {\r\n\treturn widthOfString(text, font, fontSize, characterSpacing, fontFeatures);\r\n};\r\n\r\nfunction splitWords(text, noWrap) {\r\n\tvar results = [];\r\n\ttext = text.replace(/\\t/g, '    ');\r\n\r\n\tif (noWrap) {\r\n\t\tresults.push({ text: text });\r\n\t\treturn results;\r\n\t}\r\n\r\n\tvar breaker = new LineBreaker(text);\r\n\tvar last = 0;\r\n\tvar bk;\r\n\r\n\twhile (bk = breaker.nextBreak()) {\r\n\t\tvar word = text.slice(last, bk.position);\r\n\r\n\t\tif (bk.required || word.match(/\\r?\\n$|\\r$/)) { // new line\r\n\t\t\tword = word.replace(/\\r?\\n$|\\r$/, '');\r\n\t\t\tresults.push({ text: word, lineEnd: true });\r\n\t\t} else {\r\n\t\t\tresults.push({ text: word });\r\n\t\t}\r\n\r\n\t\tlast = bk.position;\r\n\t}\r\n\r\n\treturn results;\r\n}\r\n\r\nfunction copyStyle(source, destination) {\r\n\tdestination = destination || {};\r\n\tsource = source || {}; //TODO: default style\r\n\r\n\tfor (var key in source) {\r\n\t\tif (key != 'text' && source.hasOwnProperty(key)) {\r\n\t\t\tdestination[key] = source[key];\r\n\t\t}\r\n\t}\r\n\r\n\treturn destination;\r\n}\r\n\r\nfunction normalizeTextArray(array, styleContextStack) {\r\n\tfunction flatten(array) {\r\n\t\treturn array.reduce(function (prev, cur) {\r\n\t\t\tvar current = isArray(cur.text) ? flatten(cur.text) : cur;\r\n\t\t\tvar more = [].concat(current).some(Array.isArray);\r\n\t\t\treturn prev.concat(more ? flatten(current) : current);\r\n\t\t}, []);\r\n\t}\r\n\r\n\tfunction getOneWord(index, words, noWrap) {\r\n\t\tif (isUndefined(words[index])) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tif (words[index].lineEnd) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\tvar word = words[index].text;\r\n\r\n\t\tif (noWrap) {\r\n\t\t\tvar tmpWords = splitWords(normalizeString(word), false);\r\n\t\t\tif (isUndefined(tmpWords[tmpWords.length - 1])) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tword = tmpWords[tmpWords.length - 1].text;\r\n\t\t}\r\n\r\n\t\treturn word;\r\n\t}\r\n\r\n\tvar results = [];\r\n\r\n\tif (!isArray(array)) {\r\n\t\tarray = [array];\r\n\t}\r\n\r\n\tarray = flatten(array);\r\n\r\n\tvar lastWord = null;\r\n\tfor (var i = 0, l = array.length; i < l; i++) {\r\n\t\tvar item = array[i];\r\n\t\tvar style = null;\r\n\t\tvar words;\r\n\r\n\t\tvar noWrap = getStyleProperty(item || {}, styleContextStack, 'noWrap', false);\r\n\t\tif (isObject(item)) {\r\n\t\t\tif (item._textRef && item._textRef._textNodeRef.text) {\r\n\t\t\t\titem.text = item._textRef._textNodeRef.text;\r\n\t\t\t}\r\n\t\t\twords = splitWords(normalizeString(item.text), noWrap);\r\n\t\t\tstyle = copyStyle(item);\r\n\t\t} else {\r\n\t\t\twords = splitWords(normalizeString(item), noWrap);\r\n\t\t}\r\n\r\n\t\tif (lastWord && words.length) {\r\n\t\t\tvar firstWord = getOneWord(0, words, noWrap);\r\n\r\n\t\t\tvar wrapWords = splitWords(normalizeString(lastWord + firstWord), false);\r\n\t\t\tif (wrapWords.length === 1) {\r\n\t\t\t\tresults[results.length - 1].noNewLine = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (var i2 = 0, l2 = words.length; i2 < l2; i2++) {\r\n\t\t\tvar result = {\r\n\t\t\t\ttext: words[i2].text\r\n\t\t\t};\r\n\r\n\t\t\tif (words[i2].lineEnd) {\r\n\t\t\t\tresult.lineEnd = true;\r\n\t\t\t}\r\n\r\n\t\t\tcopyStyle(style, result);\r\n\r\n\t\t\tresults.push(result);\r\n\t\t}\r\n\r\n\t\tlastWord = null;\r\n\t\tif (i + 1 < l) {\r\n\t\t\tlastWord = getOneWord(words.length - 1, words, noWrap);\r\n\t\t}\r\n\t}\r\n\r\n\treturn results;\r\n}\r\n\r\nfunction normalizeString(value) {\r\n\tif (value === undefined || value === null) {\r\n\t\treturn '';\r\n\t} else if (isNumber(value)) {\r\n\t\treturn value.toString();\r\n\t} else if (isString(value)) {\r\n\t\treturn value;\r\n\t} else {\r\n\t\treturn value.toString();\r\n\t}\r\n}\r\n\r\nfunction getStyleProperty(item, styleContextStack, property, defaultValue) {\r\n\tvar value;\r\n\r\n\tif (item[property] !== undefined && item[property] !== null) {\r\n\t\t// item defines this property\r\n\t\treturn item[property];\r\n\t}\r\n\r\n\tif (!styleContextStack) {\r\n\t\treturn defaultValue;\r\n\t}\r\n\r\n\tstyleContextStack.auto(item, function () {\r\n\t\tvalue = styleContextStack.getProperty(property);\r\n\t});\r\n\r\n\tif (value !== null && value !== undefined) {\r\n\t\treturn value;\r\n\t} else {\r\n\t\treturn defaultValue;\r\n\t}\r\n}\r\n\r\nfunction measure(fontProvider, textArray, styleContextStack) {\r\n\tvar normalized = normalizeTextArray(textArray, styleContextStack);\r\n\r\n\tif (normalized.length) {\r\n\t\tvar leadingIndent = getStyleProperty(normalized[0], styleContextStack, 'leadingIndent', 0);\r\n\r\n\t\tif (leadingIndent) {\r\n\t\t\tnormalized[0].leadingCut = -leadingIndent;\r\n\t\t\tnormalized[0].leadingIndent = leadingIndent;\r\n\t\t}\r\n\t}\r\n\r\n\tnormalized.forEach(function (item) {\r\n\t\tvar fontName = getStyleProperty(item, styleContextStack, 'font', 'Roboto');\r\n\t\tvar fontSize = getStyleProperty(item, styleContextStack, 'fontSize', 12);\r\n\t\tvar fontFeatures = getStyleProperty(item, styleContextStack, 'fontFeatures', null);\r\n\t\tvar bold = getStyleProperty(item, styleContextStack, 'bold', false);\r\n\t\tvar italics = getStyleProperty(item, styleContextStack, 'italics', false);\r\n\t\tvar color = getStyleProperty(item, styleContextStack, 'color', 'black');\r\n\t\tvar decoration = getStyleProperty(item, styleContextStack, 'decoration', null);\r\n\t\tvar decorationColor = getStyleProperty(item, styleContextStack, 'decorationColor', null);\r\n\t\tvar decorationStyle = getStyleProperty(item, styleContextStack, 'decorationStyle', null);\r\n\t\tvar background = getStyleProperty(item, styleContextStack, 'background', null);\r\n\t\tvar lineHeight = getStyleProperty(item, styleContextStack, 'lineHeight', 1);\r\n\t\tvar characterSpacing = getStyleProperty(item, styleContextStack, 'characterSpacing', 0);\r\n\t\tvar link = getStyleProperty(item, styleContextStack, 'link', null);\r\n\t\tvar linkToPage = getStyleProperty(item, styleContextStack, 'linkToPage', null);\r\n\t\tvar linkToDestination = getStyleProperty(item, styleContextStack, 'linkToDestination', null);\r\n\t\tvar noWrap = getStyleProperty(item, styleContextStack, 'noWrap', null);\r\n\t\tvar preserveLeadingSpaces = getStyleProperty(item, styleContextStack, 'preserveLeadingSpaces', false);\r\n\t\tvar preserveTrailingSpaces = getStyleProperty(item, styleContextStack, 'preserveTrailingSpaces', false);\r\n\t\tvar opacity = getStyleProperty(item, styleContextStack, 'opacity', 1);\r\n\t\tvar sup = getStyleProperty(item, styleContextStack, 'sup', false);\r\n\t\tvar sub = getStyleProperty(item, styleContextStack, 'sub', false);\r\n\r\n\t\tif ((sup || sub) && item.fontSize === undefined) {\r\n\t\t\t// font size reduction taken from here: https://en.wikipedia.org/wiki/Subscript_and_superscript#Desktop_publishing\r\n\t\t\tfontSize *= 0.58\r\n\t\t}\r\n\r\n\t\tvar font = fontProvider.provideFont(fontName, bold, italics);\r\n\r\n\t\titem.width = widthOfString(item.text, font, fontSize, characterSpacing, fontFeatures);\r\n\t\titem.height = font.lineHeight(fontSize) * lineHeight;\r\n\r\n\t\tif (!item.leadingCut) {\r\n\t\t\titem.leadingCut = 0;\r\n\t\t}\r\n\r\n\t\tvar leadingSpaces;\r\n\t\tif (!preserveLeadingSpaces && (leadingSpaces = item.text.match(LEADING))) {\r\n\t\t\titem.leadingCut += widthOfString(leadingSpaces[0], font, fontSize, characterSpacing, fontFeatures);\r\n\t\t}\r\n\r\n\t\tvar trailingSpaces;\r\n\t\tif (!preserveTrailingSpaces && (trailingSpaces = item.text.match(TRAILING))) {\r\n\t\t\titem.trailingCut = widthOfString(trailingSpaces[0], font, fontSize, characterSpacing, fontFeatures);\r\n\t\t} else {\r\n\t\t\titem.trailingCut = 0;\r\n\t\t}\r\n\r\n\t\titem.alignment = getStyleProperty(item, styleContextStack, 'alignment', 'left');\r\n\t\titem.font = font;\r\n\t\titem.fontSize = fontSize;\r\n\t\titem.fontFeatures = fontFeatures;\r\n\t\titem.characterSpacing = characterSpacing;\r\n\t\titem.color = color;\r\n\t\titem.decoration = decoration;\r\n\t\titem.decorationColor = decorationColor;\r\n\t\titem.decorationStyle = decorationStyle;\r\n\t\titem.background = background;\r\n\t\titem.link = link;\r\n\t\titem.linkToPage = linkToPage;\r\n\t\titem.linkToDestination = linkToDestination;\r\n\t\titem.noWrap = noWrap;\r\n\t\titem.opacity = opacity;\r\n\t\titem.sup = sup;\r\n\t\titem.sub = sub;\r\n\t});\r\n\r\n\treturn normalized;\r\n}\r\n\r\nfunction widthOfString(text, font, fontSize, characterSpacing, fontFeatures) {\r\n\treturn font.widthOfString(text, fontSize, fontFeatures) + ((characterSpacing || 0) * (text.length - 1));\r\n}\r\n\r\nmodule.exports = TextTools;\r\n","'use strict';\r\n\r\nfunction TraversalTracker() {\r\n\tthis.events = {};\r\n}\r\n\r\nTraversalTracker.prototype.startTracking = function (event, callback) {\r\n\tvar callbacks = this.events[event] || (this.events[event] = []);\r\n\r\n\tif (callbacks.indexOf(callback) < 0) {\r\n\t\tcallbacks.push(callback);\r\n\t}\r\n};\r\n\r\nTraversalTracker.prototype.stopTracking = function (event, callback) {\r\n\tvar callbacks = this.events[event];\r\n\r\n\tif (!callbacks) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar index = callbacks.indexOf(callback);\r\n\tif (index >= 0) {\r\n\t\tcallbacks.splice(index, 1);\r\n\t}\r\n};\r\n\r\nTraversalTracker.prototype.emit = function (event) {\r\n\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\tvar callbacks = this.events[event];\r\n\r\n\tif (!callbacks) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tcallbacks.forEach(function (callback) {\r\n\t\tcallback.apply(this, args);\r\n\t});\r\n};\r\n\r\nTraversalTracker.prototype.auto = function (event, callback, innerFunction) {\r\n\tthis.startTracking(event, callback);\r\n\tinnerFunction();\r\n\tthis.stopTracking(event, callback);\r\n};\r\n\r\nmodule.exports = TraversalTracker;\r\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","var $c5L0i$base64js = require(\"base64-js\");\nvar $c5L0i$unicodetrie = require(\"unicode-trie\");\n\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\nfunction $parcel$defineInteropFlag(a) {\n  Object.defineProperty(a, '__esModule', {value: true, configurable: true});\n}\nfunction $parcel$export(e, n, v, s) {\n  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n$parcel$defineInteropFlag(module.exports);\n\n$parcel$export(module.exports, \"getCategory\", () => $43d7963e56408b24$export$410364bbb673ddbc);\n$parcel$export(module.exports, \"getCombiningClass\", () => $43d7963e56408b24$export$c03b919c6651ed55);\n$parcel$export(module.exports, \"getScript\", () => $43d7963e56408b24$export$941569448d136665);\n$parcel$export(module.exports, \"getEastAsianWidth\", () => $43d7963e56408b24$export$92f6187db8ca6d26);\n$parcel$export(module.exports, \"getNumericValue\", () => $43d7963e56408b24$export$7d1258ebb7625a0d);\n$parcel$export(module.exports, \"isAlphabetic\", () => $43d7963e56408b24$export$52c8ea63abd07594);\n$parcel$export(module.exports, \"isDigit\", () => $43d7963e56408b24$export$727d9dbc4fbb948f);\n$parcel$export(module.exports, \"isPunctuation\", () => $43d7963e56408b24$export$a5b49f4dc6a07d2c);\n$parcel$export(module.exports, \"isLowerCase\", () => $43d7963e56408b24$export$7b6804e8df61fcf5);\n$parcel$export(module.exports, \"isUpperCase\", () => $43d7963e56408b24$export$aebd617640818cda);\n$parcel$export(module.exports, \"isTitleCase\", () => $43d7963e56408b24$export$de8b4ee23b2cf823);\n$parcel$export(module.exports, \"isWhiteSpace\", () => $43d7963e56408b24$export$3c52dd84024ae72c);\n$parcel$export(module.exports, \"isBaseForm\", () => $43d7963e56408b24$export$a11bdcffe109e74b);\n$parcel$export(module.exports, \"isMark\", () => $43d7963e56408b24$export$e33ad6871e762338);\n$parcel$export(module.exports, \"default\", () => $43d7963e56408b24$export$2e2bcd8739ae039);\n\n\nvar $29668e65f2091c2c$exports = {};\n$29668e65f2091c2c$exports = JSON.parse('{\"categories\":[\"Cc\",\"Zs\",\"Po\",\"Sc\",\"Ps\",\"Pe\",\"Sm\",\"Pd\",\"Nd\",\"Lu\",\"Sk\",\"Pc\",\"Ll\",\"So\",\"Lo\",\"Pi\",\"Cf\",\"No\",\"Pf\",\"Lt\",\"Lm\",\"Mn\",\"Me\",\"Mc\",\"Nl\",\"Zl\",\"Zp\",\"Cs\",\"Co\"],\"combiningClasses\":[\"Not_Reordered\",\"Above\",\"Above_Right\",\"Below\",\"Attached_Above_Right\",\"Attached_Below\",\"Overlay\",\"Iota_Subscript\",\"Double_Below\",\"Double_Above\",\"Below_Right\",\"Above_Left\",\"CCC10\",\"CCC11\",\"CCC12\",\"CCC13\",\"CCC14\",\"CCC15\",\"CCC16\",\"CCC17\",\"CCC18\",\"CCC19\",\"CCC20\",\"CCC21\",\"CCC22\",\"CCC23\",\"CCC24\",\"CCC25\",\"CCC30\",\"CCC31\",\"CCC32\",\"CCC27\",\"CCC28\",\"CCC29\",\"CCC33\",\"CCC34\",\"CCC35\",\"CCC36\",\"Nukta\",\"Virama\",\"CCC84\",\"CCC91\",\"CCC103\",\"CCC107\",\"CCC118\",\"CCC122\",\"CCC129\",\"CCC130\",\"CCC132\",\"Attached_Above\",\"Below_Left\",\"Left\",\"Kana_Voicing\",\"CCC26\",\"Right\"],\"scripts\":[\"Common\",\"Latin\",\"Bopomofo\",\"Inherited\",\"Greek\",\"Coptic\",\"Cyrillic\",\"Armenian\",\"Hebrew\",\"Arabic\",\"Syriac\",\"Thaana\",\"Nko\",\"Samaritan\",\"Mandaic\",\"Devanagari\",\"Bengali\",\"Gurmukhi\",\"Gujarati\",\"Oriya\",\"Tamil\",\"Telugu\",\"Kannada\",\"Malayalam\",\"Sinhala\",\"Thai\",\"Lao\",\"Tibetan\",\"Myanmar\",\"Georgian\",\"Hangul\",\"Ethiopic\",\"Cherokee\",\"Canadian_Aboriginal\",\"Ogham\",\"Runic\",\"Tagalog\",\"Hanunoo\",\"Buhid\",\"Tagbanwa\",\"Khmer\",\"Mongolian\",\"Limbu\",\"Tai_Le\",\"New_Tai_Lue\",\"Buginese\",\"Tai_Tham\",\"Balinese\",\"Sundanese\",\"Batak\",\"Lepcha\",\"Ol_Chiki\",\"Braille\",\"Glagolitic\",\"Tifinagh\",\"Han\",\"Hiragana\",\"Katakana\",\"Yi\",\"Lisu\",\"Vai\",\"Bamum\",\"Syloti_Nagri\",\"Phags_Pa\",\"Saurashtra\",\"Kayah_Li\",\"Rejang\",\"Javanese\",\"Cham\",\"Tai_Viet\",\"Meetei_Mayek\",\"null\",\"Linear_B\",\"Lycian\",\"Carian\",\"Old_Italic\",\"Gothic\",\"Old_Permic\",\"Ugaritic\",\"Old_Persian\",\"Deseret\",\"Shavian\",\"Osmanya\",\"Osage\",\"Elbasan\",\"Caucasian_Albanian\",\"Linear_A\",\"Cypriot\",\"Imperial_Aramaic\",\"Palmyrene\",\"Nabataean\",\"Hatran\",\"Phoenician\",\"Lydian\",\"Meroitic_Hieroglyphs\",\"Meroitic_Cursive\",\"Kharoshthi\",\"Old_South_Arabian\",\"Old_North_Arabian\",\"Manichaean\",\"Avestan\",\"Inscriptional_Parthian\",\"Inscriptional_Pahlavi\",\"Psalter_Pahlavi\",\"Old_Turkic\",\"Old_Hungarian\",\"Hanifi_Rohingya\",\"Old_Sogdian\",\"Sogdian\",\"Elymaic\",\"Brahmi\",\"Kaithi\",\"Sora_Sompeng\",\"Chakma\",\"Mahajani\",\"Sharada\",\"Khojki\",\"Multani\",\"Khudawadi\",\"Grantha\",\"Newa\",\"Tirhuta\",\"Siddham\",\"Modi\",\"Takri\",\"Ahom\",\"Dogra\",\"Warang_Citi\",\"Nandinagari\",\"Zanabazar_Square\",\"Soyombo\",\"Pau_Cin_Hau\",\"Bhaiksuki\",\"Marchen\",\"Masaram_Gondi\",\"Gunjala_Gondi\",\"Makasar\",\"Cuneiform\",\"Egyptian_Hieroglyphs\",\"Anatolian_Hieroglyphs\",\"Mro\",\"Bassa_Vah\",\"Pahawh_Hmong\",\"Medefaidrin\",\"Miao\",\"Tangut\",\"Nushu\",\"Duployan\",\"SignWriting\",\"Nyiakeng_Puachue_Hmong\",\"Wancho\",\"Mende_Kikakui\",\"Adlam\"],\"eaw\":[\"N\",\"Na\",\"A\",\"W\",\"H\",\"F\"]}');\n\n\nconst $43d7963e56408b24$var$trie = new (0, ($parcel$interopDefault($c5L0i$unicodetrie)))((0, ($parcel$interopDefault($c5L0i$base64js))).toByteArray(\"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\"));\nconst $43d7963e56408b24$var$log2 = Math.log2 || ((n)=>Math.log(n) / Math.LN2);\nconst $43d7963e56408b24$var$bits = (n)=>$43d7963e56408b24$var$log2(n) + 1 | 0;\n// compute the number of bits stored for each field\nconst $43d7963e56408b24$var$CATEGORY_BITS = $43d7963e56408b24$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).categories.length - 1);\nconst $43d7963e56408b24$var$COMBINING_BITS = $43d7963e56408b24$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).combiningClasses.length - 1);\nconst $43d7963e56408b24$var$SCRIPT_BITS = $43d7963e56408b24$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).scripts.length - 1);\nconst $43d7963e56408b24$var$EAW_BITS = $43d7963e56408b24$var$bits((0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).eaw.length - 1);\nconst $43d7963e56408b24$var$NUMBER_BITS = 10;\n// compute shift and mask values for each field\nconst $43d7963e56408b24$var$CATEGORY_SHIFT = $43d7963e56408b24$var$COMBINING_BITS + $43d7963e56408b24$var$SCRIPT_BITS + $43d7963e56408b24$var$EAW_BITS + $43d7963e56408b24$var$NUMBER_BITS;\nconst $43d7963e56408b24$var$COMBINING_SHIFT = $43d7963e56408b24$var$SCRIPT_BITS + $43d7963e56408b24$var$EAW_BITS + $43d7963e56408b24$var$NUMBER_BITS;\nconst $43d7963e56408b24$var$SCRIPT_SHIFT = $43d7963e56408b24$var$EAW_BITS + $43d7963e56408b24$var$NUMBER_BITS;\nconst $43d7963e56408b24$var$EAW_SHIFT = $43d7963e56408b24$var$NUMBER_BITS;\nconst $43d7963e56408b24$var$CATEGORY_MASK = (1 << $43d7963e56408b24$var$CATEGORY_BITS) - 1;\nconst $43d7963e56408b24$var$COMBINING_MASK = (1 << $43d7963e56408b24$var$COMBINING_BITS) - 1;\nconst $43d7963e56408b24$var$SCRIPT_MASK = (1 << $43d7963e56408b24$var$SCRIPT_BITS) - 1;\nconst $43d7963e56408b24$var$EAW_MASK = (1 << $43d7963e56408b24$var$EAW_BITS) - 1;\nconst $43d7963e56408b24$var$NUMBER_MASK = (1 << $43d7963e56408b24$var$NUMBER_BITS) - 1;\nfunction $43d7963e56408b24$export$410364bbb673ddbc(codePoint) {\n    const val = $43d7963e56408b24$var$trie.get(codePoint);\n    return (0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).categories[val >> $43d7963e56408b24$var$CATEGORY_SHIFT & $43d7963e56408b24$var$CATEGORY_MASK];\n}\nfunction $43d7963e56408b24$export$c03b919c6651ed55(codePoint) {\n    const val = $43d7963e56408b24$var$trie.get(codePoint);\n    return (0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).combiningClasses[val >> $43d7963e56408b24$var$COMBINING_SHIFT & $43d7963e56408b24$var$COMBINING_MASK];\n}\nfunction $43d7963e56408b24$export$941569448d136665(codePoint) {\n    const val = $43d7963e56408b24$var$trie.get(codePoint);\n    return (0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).scripts[val >> $43d7963e56408b24$var$SCRIPT_SHIFT & $43d7963e56408b24$var$SCRIPT_MASK];\n}\nfunction $43d7963e56408b24$export$92f6187db8ca6d26(codePoint) {\n    const val = $43d7963e56408b24$var$trie.get(codePoint);\n    return (0, (/*@__PURE__*/$parcel$interopDefault($29668e65f2091c2c$exports))).eaw[val >> $43d7963e56408b24$var$EAW_SHIFT & $43d7963e56408b24$var$EAW_MASK];\n}\nfunction $43d7963e56408b24$export$7d1258ebb7625a0d(codePoint) {\n    let val = $43d7963e56408b24$var$trie.get(codePoint);\n    let num = val & $43d7963e56408b24$var$NUMBER_MASK;\n    if (num === 0) return null;\n    else if (num <= 50) return num - 1;\n    else if (num < 0x1e0) {\n        const numerator = (num >> 4) - 12;\n        const denominator = (num & 0xf) + 1;\n        return numerator / denominator;\n    } else if (num < 0x300) {\n        val = (num >> 5) - 14;\n        let exp = (num & 0x1f) + 2;\n        while(exp > 0){\n            val *= 10;\n            exp--;\n        }\n        return val;\n    } else {\n        val = (num >> 2) - 0xbf;\n        let exp = (num & 3) + 1;\n        while(exp > 0){\n            val *= 60;\n            exp--;\n        }\n        return val;\n    }\n}\nfunction $43d7963e56408b24$export$52c8ea63abd07594(codePoint) {\n    const category = $43d7963e56408b24$export$410364bbb673ddbc(codePoint);\n    return category === \"Lu\" || category === \"Ll\" || category === \"Lt\" || category === \"Lm\" || category === \"Lo\" || category === \"Nl\";\n}\nfunction $43d7963e56408b24$export$727d9dbc4fbb948f(codePoint) {\n    return $43d7963e56408b24$export$410364bbb673ddbc(codePoint) === \"Nd\";\n}\nfunction $43d7963e56408b24$export$a5b49f4dc6a07d2c(codePoint) {\n    const category = $43d7963e56408b24$export$410364bbb673ddbc(codePoint);\n    return category === \"Pc\" || category === \"Pd\" || category === \"Pe\" || category === \"Pf\" || category === \"Pi\" || category === \"Po\" || category === \"Ps\";\n}\nfunction $43d7963e56408b24$export$7b6804e8df61fcf5(codePoint) {\n    return $43d7963e56408b24$export$410364bbb673ddbc(codePoint) === \"Ll\";\n}\nfunction $43d7963e56408b24$export$aebd617640818cda(codePoint) {\n    return $43d7963e56408b24$export$410364bbb673ddbc(codePoint) === \"Lu\";\n}\nfunction $43d7963e56408b24$export$de8b4ee23b2cf823(codePoint) {\n    return $43d7963e56408b24$export$410364bbb673ddbc(codePoint) === \"Lt\";\n}\nfunction $43d7963e56408b24$export$3c52dd84024ae72c(codePoint) {\n    const category = $43d7963e56408b24$export$410364bbb673ddbc(codePoint);\n    return category === \"Zs\" || category === \"Zl\" || category === \"Zp\";\n}\nfunction $43d7963e56408b24$export$a11bdcffe109e74b(codePoint) {\n    const category = $43d7963e56408b24$export$410364bbb673ddbc(codePoint);\n    return category === \"Nd\" || category === \"No\" || category === \"Nl\" || category === \"Lu\" || category === \"Ll\" || category === \"Lt\" || category === \"Lm\" || category === \"Lo\" || category === \"Me\" || category === \"Mc\";\n}\nfunction $43d7963e56408b24$export$e33ad6871e762338(codePoint) {\n    const category = $43d7963e56408b24$export$410364bbb673ddbc(codePoint);\n    return category === \"Mn\" || category === \"Me\" || category === \"Mc\";\n}\nvar // Backwards compatibility.\n$43d7963e56408b24$export$2e2bcd8739ae039 = {\n    getCategory: $43d7963e56408b24$export$410364bbb673ddbc,\n    getCombiningClass: $43d7963e56408b24$export$c03b919c6651ed55,\n    getScript: $43d7963e56408b24$export$941569448d136665,\n    getEastAsianWidth: $43d7963e56408b24$export$92f6187db8ca6d26,\n    getNumericValue: $43d7963e56408b24$export$7d1258ebb7625a0d,\n    isAlphabetic: $43d7963e56408b24$export$52c8ea63abd07594,\n    isDigit: $43d7963e56408b24$export$727d9dbc4fbb948f,\n    isPunctuation: $43d7963e56408b24$export$a5b49f4dc6a07d2c,\n    isLowerCase: $43d7963e56408b24$export$7b6804e8df61fcf5,\n    isUpperCase: $43d7963e56408b24$export$aebd617640818cda,\n    isTitleCase: $43d7963e56408b24$export$de8b4ee23b2cf823,\n    isWhiteSpace: $43d7963e56408b24$export$3c52dd84024ae72c,\n    isBaseForm: $43d7963e56408b24$export$a11bdcffe109e74b,\n    isMark: $43d7963e56408b24$export$e33ad6871e762338\n};\n\n\n//# sourceMappingURL=main.cjs.map\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(2536);\n"],"names":["webpackUniversalModuleDefinition","root","factory","exports","module","define","amd","a","i","self","this","_typeof","obj","Symbol","iterator","constructor","prototype","isDeepEqual","isDeepStrictEqual","_require$codes","codes","ERR_AMBIGUOUS_ARGUMENT","ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_VALUE","ERR_INVALID_RETURN_VALUE","ERR_MISSING_ARGS","AssertionError","inspect","_require$types","isPromise","isRegExp","objectAssign","Object","assign","objectIs","is","Map","lazyLoadComparison","comparison","warned","assert","ok","NO_EXCEPTION_SENTINEL","innerFail","message","Error","innerOk","fn","argLen","value","generatedMessage","err","actual","expected","operator","stackStartFn","_len","arguments","length","args","Array","_key","apply","concat","fail","internalMessage","argsLen","undefined","warn","process","emitWarning","console","errArgs","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","strictEqual","notStrictEqual","Comparison","keys","_this","_classCallCheck","instance","Constructor","TypeError","forEach","key","test","compareExceptionKey","b","name","expectedException","msg","push","isPrototypeOf","call","getActual","e","checkIsPromise","then","catch","waitForActual","promiseFn","Promise","resolve","resultPromise","expectsError","error","details","fnType","expectsNoError","strict","_len6","_key6","throws","_len2","_key2","rejects","_len3","_key3","result","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","split","shift","tmp1","pos","indexOf","slice","join","_defineProperty","defineProperty","enumerable","configurable","writable","_defineProperties","target","props","descriptor","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","_wrapNativeSuper","Class","_cache","_isNativeFunction","Function","toString","has","get","set","Wrapper","_construct","_getPrototypeOf","create","_setPrototypeOf","isNativeReflectConstruct","Reflect","construct","sham","Proxy","Date","Parent","bind","o","p","setPrototypeOf","__proto__","getPrototypeOf","endsWith","str","search","this_len","substring","blue","green","red","white","kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","copyError","source","inspectValue","val","compact","customInspect","depth","maxArrayLength","Infinity","showHidden","breakLength","showProxy","sorted","getters","createErrDiff","other","res","lastPos","end","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","stderr","isTTY","columns","repeat","count","Math","floor","maxCount","log","pop","maxLines","max","_actualLines","printedLines","skippedMsg","cur","expectedLine","actualLine","divergingLines","_Error","options","limit","stackTraceLimit","String","getColorDepth","base","_res","knownOperators","code","captureStackTrace","_inherits","subClass","superClass","_createClass","protoProps","staticProps","custom","recurseTimes","ctx","_objectSpread","ownKeys","getOwnPropertySymbols","filter","sym","getOwnPropertyDescriptor","util","createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","getMessage","oneOf","thing","isArray","len","map","determiner","startsWith","substr","replace","type","includes","start","reason","inspected","RangeError","input","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_arr","_n","_d","_e","_s","_i","next","done","_nonIterableRest","regexFlagsSupported","flags","arrayFromSet","array","arrayFromMap","objectGetOwnPropertySymbols","numberIsNaN","Number","isNaN","uncurryThis","f","hasOwnProperty","propertyIsEnumerable","objectToString","isAnyArrayBuffer","isArrayBufferView","isDate","isMap","isSet","isNativeError","isBoxedPrimitive","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isFloat32Array","isFloat64Array","isNonIndex","charCodeAt","pow","getOwnNonIndexProperties","compare","x","y","min","innerDeepEqual","val1","val2","memos","val1Tag","keys1","keys2","keyCheck","getTime","areSimilarRegExps","RegExp","areSimilarTypedArrays","byteLength","Uint8Array","buffer","byteOffset","areSimilarFloatArrays","offset","_keys","_keys2","size","areEqualArrayBuffers","buf1","buf2","isEqualBoxedPrimitive","valueOf","Boolean","BigInt","getEnumerables","k","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","position","val2MemoA","val2MemoB","areEq","objEquiv","delete","setHasEqualElement","memo","setValues","findLooseMatchingPrimitives","prim","setMightHaveLoosePrim","altValue","mapMightHaveLoosePrim","item","curB","mapHasEqualEntry","key1","item1","key2","setEquiv","aValues","Set","add","bValues","_val","mapEquiv","aEntries","_aEntries$i","item2","bEntries","_i2","_bEntries$_i","keysA","OP","CL","CP","QU","GL","NS","EX","SY","IS","PR","PO","NU","AL","HL","ID","IN","HY","BA","BB","B2","ZW","CM","WJ","H2","H3","JL","JV","JT","RI","EB","EM","ZWJ","CB","AI","BK","CJ","CR","LF","NL","SA","SG","SP","XX","DI_BRK","IN_BRK","CI_BRK","CP_BRK","PR_BRK","pairTable","EncodeStream","DecodeStream","LazyArray","Bitfield","Buffer","Enum","Optional","Reserved","Struct","VersionedStruct","utils","require","NumberT","Pointer","ArrayT","lengthType","decode","stream","parent","resolveLength","defineProperties","_startOffset","_currentOffset","_length","encode","pointers","startOffset","pointerOffset","ptr","flag","BooleanT","BufferT","readBuffer","buf","writeBuffer","iconv","readString","encoding","from","byte","error1","readUInt24BE","readUInt16BE","readUInt8","readUInt24LE","readUInt16LE","readInt24BE","readInt16BE","readInt24LE","readInt8","TYPES","UInt8","UInt16","UInt24","UInt32","Int8","Int16","Int24","Int32","Float","Double","bytes","ret","bufferSize","alloc","bufferOffset","_read","ensure","flush","writeString","string","writeUInt24BE","writeUInt24LE","writeInt24BE","writeInt24LE","fill","Readable","index","LazyArrayT","toArray","items","endian","uint8","uint16be","uint16","uint16le","uint24be","uint24","uint24le","uint32be","uint32","uint32le","int8","int16be","int16","int16le","int24be","int24","int24le","int32be","int32","int32le","floatbe","float","floatle","doublebe","double","doublele","Fixed","fracBits","_point","fixed16be","fixed16","fixed16le","fixed32be","fixed32","fixed32le","condition","offsetType","allowNull","nullValue","lazy","relativeTo","relativeToGetter","relative","c","decodeValue","PropertyDescriptor","VoidPointer","pointerSize","data","StringT","writeUInt8","fields","_setup","_parseFields","includePointers","preEncode","versions","versionPath","version","getPath","object","pathArray","reduce","prevObj","header","opts","base64","ieee754","customInspectSymbol","SlowBuffer","INSPECT_MAX_BYTES","K_MAX_LENGTH","createBuffer","arg","encodingOrOffset","allocUnsafe","fromString","isEncoding","write","ArrayBuffer","isView","fromArrayView","arrayView","isInstance","copy","fromArrayBuffer","fromArrayLike","SharedArrayBuffer","fromObject","isBuffer","checked","toPrimitive","assertSize","mustMatch","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","n","m","bidirectionalIndexOf","dir","arrayIndexOf","lastIndexOf","indexSize","arrLength","valLength","read","foundIndex","found","j","hexWrite","remaining","strLen","parsed","parseInt","utf8Write","blitBuffer","asciiWrite","asciiToBytes","byteArray","base64Write","ucs2Write","utf16leToBytes","units","hi","lo","fromByteArray","firstByte","codePoint","bytesPerSequence","secondByte","thirdByte","fourthByte","tempCodePoint","decodeCodePointsArray","codePoints","MAX_ARGUMENTS_LENGTH","fromCharCode","kMaxLength","TYPED_ARRAY_SUPPORT","typedArraySupport","proto","foo","poolSize","allocUnsafeSlow","_isBuffer","list","swap16","swap32","swap64","toLocaleString","equals","trim","thisStart","thisEnd","thisCopy","targetCopy","isFinite","toJSON","out","hexSliceLookupTable","checkOffset","ext","checkInt","wrtBigUInt64LE","checkIntBI","wrtBigUInt64BE","checkIEEE754","writeFloat","littleEndian","noAssert","writeDouble","newBuf","subarray","readUintLE","readUIntLE","mul","readUintBE","readUIntBE","readUint8","readUint16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readBigUInt64LE","defineBigIntMethod","validateNumber","first","last","boundsError","readBigUInt64BE","readIntLE","readIntBE","readInt16LE","readInt32LE","readInt32BE","readBigInt64LE","readBigInt64BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","writeUintBE","writeUIntBE","writeUint8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeBigUInt64LE","writeBigUInt64BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","errors","E","addNumericalSeparator","range","ERR_OUT_OF_RANGE","checkBounds","ERR_BUFFER_OUT_OF_BOUNDS","received","isInteger","abs","INVALID_BASE64_RE","leadSurrogate","toByteArray","base64clean","src","dst","alphabet","table","i16","BufferBigIntNotDefined","DataView","NAME","Prototype","NATIVE_ARRAY_BUFFER","DESCRIPTORS","global","isCallable","isObject","hasOwn","classof","tryToString","createNonEnumerableProperty","redefine","wellKnownSymbol","uid","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","isTypedArray","it","klass","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","property","forced","ARRAY","TypedArrayConstructor","exportTypedArrayStaticMethod","FunctionName","redefineAll","fails","anInstance","toIntegerOrInfinity","toLength","toIndex","IEEE754","getOwnPropertyNames","arrayFill","arraySlice","setToStringTag","InternalStateModule","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","getInternalState","setInternalState","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_INDEX","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","reverse","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","view","isLittleEndian","intIndex","store","conversion","INCORRECT_ARRAY_BUFFER_NAME","NaN","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","$","arrayBufferModule","setSpecies","CryptoJS","BlockCipher","lib","C_algo","algo","SBOX","INV_SBOX","SUB_MIX_0","SUB_MIX_1","SUB_MIX_2","SUB_MIX_3","INV_SUB_MIX_0","INV_SUB_MIX_1","INV_SUB_MIX_2","INV_SUB_MIX_3","d","xi","sx","x2","x4","x8","t","RCON","AES","extend","_doReset","_nRounds","_keyPriorReset","keyWords","words","keySize","sigBytes","ksRows","keySchedule","_keySchedule","ksRow","invKeySchedule","_invKeySchedule","invKsRow","encryptBlock","M","_doCryptBlock","decryptBlock","nRounds","s0","s1","s2","s3","round","t0","t1","t2","t3","_createHelper","Cipher","C_lib","WordArray","BufferedBlockAlgorithm","C_enc","enc","Base64","Utf8","EvpKDF","cfg","createEncryptor","_ENC_XFORM_MODE","createDecryptor","_DEC_XFORM_MODE","init","xformMode","_xformMode","reset","dataUpdate","_append","_process","finalize","_doFinalize","ivSize","selectCipherStrategy","PasswordBasedCipher","SerializableCipher","cipher","encrypt","decrypt","ciphertext","C_mode","StreamCipher","blockSize","mode","BlockCipherMode","iv","Encryptor","Decryptor","_cipher","_iv","CBC","xorBlock","block","_prevBlock","processBlock","thisBlock","Pkcs7","pad","blockSizeBytes","nPaddingBytes","paddingWord","paddingWords","padding","unpad","CipherParams","modeCreator","_minBufferSize","_mode","__creator","_doProcessBlock","finalProcessedBlocks","_data","cipherParams","mixIn","formatter","stringify","OpenSSLFormatter","format","OpenSSL","salt","parse","openSSLStr","ciphertextWords","splice","encryptor","cipherCfg","algorithm","_parse","OpenSSLKdf","kdf","execute","password","random","compute","derivedParams","crypto","window","globalThis","msCrypto","cryptoSecureRandomInt","getRandomValues","randomBytes","F","subtype","overrides","$super","properties","propertyName","clone","encoder","Hex","wordArray","thisWords","thatWords","thisSigBytes","thatSigBytes","clamp","thatByte","ceil","nBytes","hexChars","bite","hexStr","hexStrLength","Latin1","latin1Chars","latin1Str","latin1StrLength","decodeURIComponent","escape","utf8Str","unescape","encodeURIComponent","_nDataBytes","doFlush","processedWords","dataWords","dataSigBytes","nBlocksReady","nWordsReady","nBytesReady","Hasher","update","messageUpdate","hasher","_createHmacHelper","HMAC","parseLoop","base64Str","base64StrLength","reverseMap","bitsCombined","_map","base64Chars","triplet","charAt","paddingChar","_reverseMap","paddingIndex","Base64url","urlSafe","_safe_map","swapEndian","word","Utf16","Utf16BE","utf16Chars","utf16Str","utf16StrLength","Utf16LE","MD5","iterations","derivedKey","derivedKeyWords","_hasher","hasherBlockSize","hasherBlockSizeBytes","oKey","_oKey","iKey","_iKey","oKeyWords","iKeyWords","innerHash","superInit","subInit","typedArray","typedArrayByteLength","T","sin","_hash","offset_i","M_offset_i","H","M_offset_0","M_offset_1","M_offset_2","M_offset_3","M_offset_4","M_offset_5","M_offset_6","M_offset_7","M_offset_8","M_offset_9","M_offset_10","M_offset_11","M_offset_12","M_offset_13","M_offset_14","M_offset_15","FF","GG","HH","II","nBitsTotal","nBitsLeft","nBitsTotalH","nBitsTotalL","hash","H_i","s","HmacMD5","CFB","generateKeystreamAndEncrypt","keystream","CTRGladman","incWord","b1","b2","b3","incCounter","counter","_counter","CTR","ECB","OFB","_keystream","AnsiX923","lastBytePos","Ansix923","Iso10126","Iso97971","ZeroPadding","NoPadding","SHA1","PBKDF2","hmac","blockIndex","blockIndexWords","blockWords","blockWordsLength","intermediate","intermediateWords","S","C_","G","RabbitLegacy","K","X","_X","_C","_b","nextState","IV","IV_0","IV_1","i0","i2","i1","i3","gx","ga","gb","gh","gl","Rabbit","RC4","keySigBytes","_S","keyByteIndex","keyByte","_j","generateKeystreamWord","keystreamWord","RC4Drop","drop","_zl","_zr","_sl","_sr","_hl","_hr","RIPEMD160","al","bl","cl","dl","el","ar","br","cr","dr","er","hl","hr","zl","zr","sl","sr","f1","f2","f3","f4","f5","rotl","z","HmacRIPEMD160","W","HmacSHA1","SHA256","SHA224","HmacSHA224","isPrime","sqrtN","sqrt","factor","getFractionalBits","nPrime","g","h","gamma0x","gamma0","gamma1x","gamma1","maj","sigma0","HmacSHA256","X64Word","x64","Word","RHO_OFFSETS","PI_INDEXES","ROUND_CONSTANTS","newY","LFSR","roundConstantMsw","roundConstantLsw","bitPosition","SHA3","outputLength","state","_state","nBlockSizeLanes","M2i","M2i1","lane","high","low","tMsw","tLsw","Tx","Tx4","Tx1","Tx1Msw","Tx1Lsw","laneIndex","laneMsw","laneLsw","rhoOffset","TPiLane","T0","state0","TLane","Tx1Lane","Tx2Lane","roundConstant","blockSizeBits","outputLengthBytes","outputLengthLanes","hashWords","HmacSHA3","C_x64","X64WordArray","SHA512","SHA384","HmacSHA384","X64Word_create","H0","H1","H4","H5","H6","H7","H0h","H0l","H1h","H1l","H2h","H2l","H3h","H3l","H4h","H4l","H5h","H5l","H6h","H6l","H7h","H7l","ah","bh","ch","dh","eh","fh","fl","hh","Wil","Wih","Wi","gamma0xh","gamma0xl","gamma0h","gamma0l","gamma1xh","gamma1xl","gamma1h","gamma1l","Wi7","Wi7h","Wi7l","Wi16","Wi16h","Wi16l","t1l","chh","chl","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Ki","Kih","Kil","t1h","t2l","toX32","HmacSHA512","PC1","PC2","BIT_SHIFTS","SBOX_P","SBOX_MASK","DES","keyBits","keyBitPos","subKeys","_subKeys","nSubKey","subKey","bitShift","invSubKeys","_invSubKeys","_lBlock","_rBlock","exchangeLR","exchangeRL","lBlock","rBlock","mask","TripleDES","key3","_des1","_des2","_des3","X32WordArray","x64Words","x64WordsLength","x32Words","x64Word","wordsLength","StateMachine","dfa","stateTable","accepting","tags","match","startRun","lastAccepting","lastState","actions","tag","fs","zlib","palette","imgData","transparency","text","chunkSize","readUInt32","section","width","height","bits","colorType","compressionMethod","filterMethod","interlaceMethod","indexed","short","grayscale","rgb","colors","hasAlphaChannel","pixelBitlength","colorSpace","path","readFile","file","PNG","pixels","load","readFileSync","readUInt16","decodePixels","inflate","pixelBytes","pass","x0","y0","dx","dy","singlePass","w","scanlineLength","row","col","left","upper","paeth","upperLeft","pa","pb","pc","pixelsPos","bufferPos","decodePalette","copyToImageData","imageData","alpha","_decodedPalette","v","safer","Safer","kStringMaxLength","binding","constants","MAX_LENGTH","MAX_STRING_LENGTH","enumerableOnly","symbols","BufferList","head","tail","entry","unshift","clear","consume","hasStrings","_getString","_getBuffer","nb","_","getOwnPropertyDescriptors","PDFAbstractReference","PDFTree","_items","limits","sortedKeys","sort","_compareKeys","PDFObject","convert","_dataForKey","_keysName","escapableRe","escapable","swapBytes","buff","l","encryptFn","stringBuffer","isUnicode","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","PDFReference","document","id","gen","compress","Filter","uncompressedLength","chunk","Length","_offset","_security","getEncryptFn","deflateSync","_write","_refEnd","DEFAULT_MARGINS","top","bottom","right","SIZES","A0","A1","A2","A3","A4","A5","A6","A7","A8","A9","A10","B0","B1","B3","B4","B5","B6","B7","B8","B9","B10","C0","C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","RA0","RA1","RA2","RA3","RA4","SRA0","SRA1","SRA2","SRA3","SRA4","EXECUTIVE","FOLIO","LEGAL","LETTER","TABLOID","PDFPage","layout","margin","margins","dimensions","toUpperCase","content","ref","resources","ProcSet","dictionary","Type","_root","Pages","MediaBox","Contents","Resources","markings","Font","XObject","ExtGState","Pattern","ColorSpace","Annots","StructParents","createStructParentTreeNextKey","PDFNameTree","localeCompare","inRange","rangeGroup","startRange","endRange","middleRange","arrayIndex","unassigned_code_points","isUnassignedCodePoint","character","commonly_mapped_to_nothing","non_ASCII_space_characters","non_ASCII_controls_characters","non_character_codepoints","prohibited_characters","isProhibitedCharacter","bidirectional_r_al","isBidirectionalRAL","bidirectional_l","isBidirectionalL","mapping2space","isNonASCIISpaceCharacter","mapping2nothing","isCommonlyMappedToNothing","getCodePoint","codePointAt","toCodePoints","codepoints","before","saslprep","mapped_input","normalized_input","fromCodePoint","normalize","normalized_map","hasProhibited","some","allowUnassigned","hasUnassigned","hasBidiRAL","hasBidiL","isFirstBidiRAL","isLastBidiRAL","PDFSecurity","ownerPassword","userPassword","_setupEncryption","info","infoStr","CreationDate","wordArrayToBuffer","pdfVersion","encDict","_setupEncryptionV1V2V4","_setupEncryptionV5","r","permissions","getPermissionsR2","permissionObject","printing","modifying","copying","annotating","getPermissionsR3","userPasswordEntry","paddedUserPassword","processPasswordR2R3R4","paddedOwnerPassword","ownerPasswordEntry","getOwnerPasswordR2R3R4","digest","xorRound","encryptionKey","getEncryptionKeyR2R3R4","documentId","lsbFirstWord","_id","getUserPasswordR2","getUserPasswordR3R4","V","CF","StdCF","AuthEvent","CFM","StmF","StrF","R","O","U","P","processedUserPassword","processPasswordR5","processedOwnerPassword","getEncryptionKeyR5","generateRandomWordArray","getUserPasswordR5","validationSalt","keySalt","userEncryptionKeyEntry","getUserEncryptionKeyR5","userKeySalt","getOwnerPasswordR5","ownerEncryptionKeyEntry","getOwnerEncryptionKeyR5","ownerKeySalt","permsEntry","getEncryptedPermissionsR5","OE","UE","Perms","fillingForms","contentAccessibility","documentAssembly","PASSWORD_PADDING","cx","cy","px","py","sy","PDFGradient","doc","stops","embedded","transform","color","opacity","_normalizeColor","_colorSpace","m11","m12","m21","m22","stopsLength","matrix","bounds","FunctionType","Domain","N","Functions","Bounds","Encode","_gradCount","shader","pattern","PatternType","Shading","Matrix","stop","grad","opacityGradient","embed","pageBBox","page","form","Subtype","FormType","BBox","Group","CS","Sh1","gstate","SMask","opacityPattern","PaintType","TilingType","XStep","YStep","Gs1","patterns","stroke","_ctm","m0","m1","m2","m3","m4","m5","_setColorSpace","op","addContent","PDFLinearGradient","x1","y1","y2","ShadingType","Coords","Extend","PDFRadialGradient","r1","r2","underlyingColorSpaces","PDFTilingPattern","bBox","xStep","yStep","toFixed","csName","csId","getPatternColorSpaceId","colorSpaces","cs","underlyingColorspace","_patternCount","createPattern","patternColor","embedPatternColorSpaces","normalizedColor","_getColorSpace","Gradient","initColor","_opacityRegistry","_opacityCount","hex","namedColors","part","_setColor","_setColorCore","space","fillColor","fillOpacity","_fillColor","strokeColor","strokeOpacity","_doOpacity","ca","CA","ext_gstates","linearGradient","radialGradient","bbox","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","whitesmoke","yellow","yellowgreen","parameters","A","L","Q","q","Z","runners","moveTo","bezierCurveTo","quadraticCurveTo","solveArc","lineTo","closePath","coords","rx","ry","rot","large","sweep","ex","ey","arcToSegments","seg","bez","segmentToBezier","rotateX","ox","oy","th","PI","sin_th","cos_th","cos","pl","a00","a01","a10","a11","sfactor_sq","sfactor","xc","yc","th0","atan2","th_arc","segments","th2","th3","th1","th_half","x3","y3","SVGPath","commands","cmd","curArg","foundDecimal","params","KAPPA","initVector","_ctmStack","save","restore","lineWidth","_CAP_STYLES","BUTT","ROUND","SQUARE","lineCap","_JOIN_STYLES","MITER","BEVEL","lineJoin","miterLimit","dash","originalLength","valid","every","JSON","phase","undash","cp1x","cp1y","cp2x","cp2y","cpx","cpy","rect","roundedRect","ellipse","xe","ye","xm","ym","circle","radius","arc","startAngle","endAngle","anticlockwise","TWO_PI","HALF_PI","deltaAng","numSegs","segAng","handleLen","curAng","deltaCx","deltaCy","ax","ay","segIdx","polygon","points","point","_windingRule","rule","fillAndStroke","isFillRule","clip","values","translate","rotate","angle","rad","origin","scale","xFactor","yFactor","WIN_ANSI_MAP","characters","AFMFont","contents","attributes","glyphWidths","boundingBoxes","kernPairs","charWidths","char","ascender","descender","xHeight","capHeight","lineGap","filename","line","glyphs","charCode","characterToGlyph","glyph","advances","widthOfGlyph","getKernPair","PDFFont","includeGap","gap","STANDARD_FONTS","Courier","__dirname","Helvetica","ZapfDingbats","StandardFont","font","BaseFont","Encoding","encoded","encodeText","glyphsForString","advancesForGlyphs","positions","xAdvance","yAdvance","xOffset","yOffset","advanceWidth","toHex","num","EmbeddedFont","subset","createSubset","unicode","widths","getGlyph","postscriptName","unitsPerEm","ascent","descent","fontLayoutCache","layoutCache","features","run","layoutRun","cached","onlyWidth","needle","layoutCached","gid","includeGlyph","isCFF","cff","fontFile","encodeStream","on","familyClass","sFamilyClass","post","isFixedPitch","macStyle","italic","_this2","FontName","Flags","FontBBox","minX","minY","maxX","maxY","ItalicAngle","italicAngle","Ascent","Descent","CapHeight","XHeight","StemV","FontFile3","FontFile2","descendantFontData","CIDSystemInfo","Registry","Ordering","Supplement","FontDescriptor","CIDToGIDMap","descendantFont","DescendantFonts","ToUnicode","toUnicodeCmap","cmap","entries","PDFFontFactory","family","isStandardFont","fontkit","initFonts","defaultFont","_fontFamilies","_fontCount","_fontSize","_font","_registeredFonts","cacheKey","fontSize","open","currentLineHeight","lineHeight","registerFont","LineWrapper","indent","characterSpacing","wordSpacing","columnGap","spaceLeft","startX","startY","column","ellipsis","continuedX","once","continued","align","lastLine","paragraphGap","widthOfString","bk","breaker","LineBreaker","wordWidths","nextBreak","shouldContinue","wordWidth","lbk","fbk","mightGrow","mustShrink","required","nextY","nextSection","textWidth","wc","lc","emitLine","wordCount","emit","eachWord","lh","continueOnNewPage","EventEmitter","initText","_line","_lineGap","moveDown","lines","moveUp","_text","lineCallback","_initOptions","addStructure","structParent","struct","structType","markStructureContent","wrapper","_wrapper","_textOptions","wrap","heightOfString","listType","unit","midLine","bulletRadius","textIndent","itemIndent","bulletIndent","level","levels","numbers","flatten","itemType","labelType","bodyType","structTypes","_this3","diff","label","letter","times","_fragment","lineBreak","spaceWidth","baseline","skew","renderedWidth","link","goTo","destination","addNamedDestination","underline","lineY","strike","oblique","fonts","encodedWord","positionsWord","hadOffset","addSegment","advance","_this4","MARKERS","COLOR_SPACE_MAP","JPEG","marker","channels","BitsPerComponent","Width","Height","PNGImage","image","dataDecoded","isInterlaced","Predictor","Colors","Columns","loadIndexedAlphaChannel","splitAlphaChannel","decodeData","alphaChannel","sMask","Decode","colorCount","pixelCount","skipByteCount","colorIndex","PDFImage","exec","initImages","_imageRegistry","_imageCount","bp","bw","ip","left1","openImage","xobjects","wp","hp","fit","cover","valign","annotate","Rect","_convertRect","Border","Dest","annotations","note","Name","D","url","pages","Kids","URI","_markup","QuadPoints","highlight","lineAnnotation","rectAnnotation","ellipseAnnotation","textAnnotation","DA","fileAnnotation","filespec","hidden","FS","Desc","PDFOutline","title","dest","expanded","outlineData","children","Count","First","Last","child","Prev","Next","endOutline","initOutline","outline","Outlines","PageMode","PDFStructureContent","pageRef","mcid","refs","structContent","PDFStructureElement","_attached","_ended","_flushed","_isValidChild","lang","Lang","alt","Alt","ActualText","_children","setParent","setAttached","_addContentToParentTree","_contentForClosure","getStructParentTree","parentRef","_flush","closure","endMarkedContent","_isFlushable","_flushChild","_this5","Pg","MCID","PDFNumberTree","initMarkings","structChildren","tagged","getMarkInfoDictionary","Marked","getStructTreeRoot","markContent","toClose","marking","attached","Attached","pageStructParents","structParentTreeKey","structElem","structTreeRoot","initPageMarkings","pageMarkings","newStructContent","endPageMarkings","MarkInfo","StructTreeRoot","ParentTree","ParentTreeNextKey","endMarkings","FIELD_FLAGS","readOnly","noExport","multiline","toggleToOffButton","radioButton","pushButton","combo","edit","multiSelect","noSpell","FIELD_JUSTIFY","center","VALUE_MAP","defaultValue","FORMAT_SPECIAL","zip","zipPlus4","zip4","phone","ssn","FORMAT_DEFAULT","nDec","sepComma","negStyle","currency","currencyPrepend","initForm","_acroform","Fields","NeedAppearances","DR","AcroForm","endAcroForm","fontDict","fieldRef","_endChild","childRef","formField","fieldDict","_fieldDict","_addToParent","formAnnotation","annotRef","formText","formPushButton","formCombo","formList","formRadioButton","formCheckbox","_resolveType","_resolveFlags","_resolveJustify","_resolveFont","_resolveStrings","_resolveColors","_resolveFormat","FT","fnKeystroke","fnFormat","param","AA","JS","backgroundColor","MK","BG","borderColor","BC","Ff","select","appendChoices","idx","Opt","refBody","Params","statSync","birthtime","ctime","ModDate","creationDate","modifiedDate","checksum","CheckSum","Size","_fileRegistry","isEqual","fileSpecBody","EF","UF","description","addNamedEmbeddedFile","PDFDocument","_pageBuffer","_pageBufferStart","_offsets","_waiting","Names","Dests","Producer","Creator","displayTitle","ViewerPreferences","DisplayDocTitle","generateFileID","autoFirstPage","addPage","bufferPages","flushPages","EmbeddedFiles","js","JavaScript","_finalize","pipe","createWriteStream","_info","xRefOffset","trailer","Root","Info","Encrypt","mixin","methods","ColorMixin","VectorMixin","FontsMixin","TextMixin","ImagesMixin","AnnotationsMixin","OutlineMixin","MarkingsMixin","AcroFormMixin","AttachmentsMixin","copyProps","SafeBuffer","swap32LE","UnicodeTrie","highStart","errorValue","DATA_BLOCK_LENGTH","INDEX_1_OFFSET","INDEX_2_BLOCK_LENGTH","isBigEndian","SVGtoPDF","svg","NamedColors","rebeccapurple","DefaultColors","transparent","Entities","quot","amp","lt","gt","apos","OElig","oelig","Scaron","scaron","Yuml","circ","tilde","ensp","emsp","thinsp","zwnj","zwj","lrm","rlm","ndash","mdash","lsquo","rsquo","sbquo","ldquo","rdquo","bdquo","dagger","Dagger","permil","lsaquo","rsaquo","euro","nbsp","iexcl","cent","pound","curren","yen","brvbar","sect","uml","ordf","laquo","not","shy","reg","macr","deg","plusmn","sup2","sup3","acute","micro","para","middot","cedil","sup1","ordm","raquo","frac14","frac12","frac34","iquest","Agrave","Aacute","Acirc","Atilde","Auml","Aring","AElig","Ccedil","Egrave","Eacute","Ecirc","Euml","Igrave","Iacute","Icirc","Iuml","ETH","Ntilde","Ograve","Oacute","Ocirc","Otilde","Ouml","Oslash","Ugrave","Uacute","Ucirc","Uuml","Yacute","THORN","szlig","agrave","aacute","acirc","atilde","auml","aring","aelig","ccedil","egrave","eacute","ecirc","euml","igrave","iacute","icirc","iuml","eth","ntilde","ograve","oacute","ocirc","otilde","ouml","divide","oslash","ugrave","uacute","ucirc","uuml","yacute","thorn","yuml","fnof","Alpha","Beta","Gamma","Delta","Epsilon","Zeta","Eta","Theta","Iota","Kappa","Lambda","Mu","Nu","Xi","Omicron","Pi","Rho","Sigma","Tau","Upsilon","Phi","Chi","Psi","Omega","beta","gamma","delta","epsilon","zeta","eta","theta","iota","kappa","lambda","mu","nu","omicron","pi","rho","sigmaf","sigma","tau","upsilon","phi","chi","psi","omega","thetasym","upsih","piv","bull","hellip","prime","Prime","oline","frasl","weierp","real","trade","alefsym","larr","uarr","rarr","darr","harr","crarr","lArr","uArr","rArr","dArr","hArr","forall","exist","empty","nabla","isin","notin","ni","prod","sum","minus","lowast","radic","prop","infin","ang","and","or","cap","cup","int","there4","sim","cong","asymp","ne","equiv","le","ge","sup","nsub","sube","supe","oplus","otimes","perp","sdot","lceil","rceil","lfloor","rfloor","rang","loz","spades","clubs","hearts","diams","PathArguments","PathFlags","a3","a4","Properties","inherit","initial","normal","css","docBeginGroup","group","PDFGroup","_groupCount","xobj","I","savedMatrix","savedPage","groupStack","docEndGroup","docInsertGroup","docApplyMask","_maskCount","BM","docCreatePattern","PDFPattern","docUsePattern","temp","multiplyMatrix","docSetTextMode","docFillColor","docStrokeColor","parseXml","xml","SvgNode","nodeName","nodeValue","nodeType","childNodes","parentNode","textContent","classList","getAttribute","attr","getElementById","recursive","node","getElementsByTagName","parser","StringParser","decodeEntities","warningCallback","matchAll","mt","parseColor","raw","parseFloat","colorCallback","opacityToColor","isMask","newColor","newOpacity","multiply","transformPoint","getGlobalMatrix","ctm","getPageBBox","SvgShape","inverseMatrix","getBoundingBox","dt","validateMatrix","isNotEqual","solveEquation","curve","getCurveValue","parseTranform","func","nums","parser2","temp2","matchNumber","matchSeparator","parseAspectRatio","aspectRatio","availWidth","availHeight","elemWidth","elemHeight","initAlign","ratioType","xAlign","yAlign","scaleX","scaleY","parseStyleAttr","fontFamily","fontStyle","fontWeight","fontVariant","parts","parseSelector","ids","classes","specificity","parseStyleSheet","rules","selectors","selector","matchesSelector","elem","combineArrays","array1","array2","getAscent","getDescent","getTextPos","createSVGElement","inherits","SvgElemUse","SvgElemSymbol","SvgElemGroup","SvgElemLink","SvgElemSvg","SVGElemImage","SvgElemRect","SvgElemCircle","SvgElemEllipse","SvgElemLine","SvgElemPolyline","SvgElemPolygon","SvgElemPath","SvgElemText","SvgElemTspan","SvgElemTextPath","SvgElemTextNode","SvgElem","exp","all","matchSpace","matchLengthUnit","BezierSegment","p1x","p1y","c1x","c1y","c2x","c2y","p2x","p2y","divisions","precision","equationX","equationY","derivativeX","derivativeY","lengthMap","totalLength","startPoint","endPoint","rootsX","rootsY","getPointAtLength","l1","l2","LineSegment","pathCommands","pathSegments","lastCom","lastCtrlX","lastCtrlY","currX","currY","move","segment","close","addCommand","hasStart","hasEnd","fi","fa","segms","th4","endX","endY","command","bbox1","mergeShape","shape","insertInDocument","getSubPaths","subPaths","getMarkers","markers","subPath","subPathMarkers","startMarker","prevEndMarker","endMarker","styleCache","childrenCache","isOuterElement","style","useCSS","getComputedStyle","getStyle","specificities","styleRules","allowedChildren","resolveUrl","svgObj","documentCallback","svgs","documentCache","isArrayLike","computeUnits","percent","isFontSize","getViewport","computeLength","temp1","computeLengthList","getLength","getLengthList","getUrl","getNumberList","getViewbox","viewBox","getPercent","chooseValue","keyInfo","fallbackColor","SvgElemGradient","SvgElemPattern","dasharray","getChildren","getParentVWidth","getVWidth","viewportWidth","getParentVHeight","getVHeight","viewportHeight","getParentViewport","getBoundingShape","SvgElemStylable","getTransformation","SvgElemClipPath","useMask","SvgElemMask","getFill","isClip","getPaint","getStroke","SvgElemHasChildren","childShape","drawChildren","drawInDocument","SvgElemContainer","drawContent","clipped","masked","addLink","isText","docInsertLink","links","preserveAspectRatio","imageCallback","fallback","_attr","_getChildren","gOpacity","bBoxUnitsPattern","bBoxUnitsContent","aspectRatioMatrix","stopColor","bBoxUnits","spread","nAfter","nBefore","nTotal","multiplier","inv","corner1","corner2","corner3","corner4","inOrder","setTransform","SvgElemBasicShape","dashScale","dashArray","dashOffset","markerStart","markerMid","markerEnd","markersPos","SvgElemMarker","drawMarker","pathLength","posArray","strokeWidth","orient","refX","refY","SvgElemTextContainer","_pos","dx0","dy0","dx1","dy1","dx2","dy2","drawTextInDocument","decorate","fauxBold","childElem","fauxItalic","linePosition","pathObject","pathScale","pathElem","textParentElem","currentAnchor","currentDirection","processedText","remainingText","textPaths","currentChunk","currentX","currentY","doAnchoring","anchordx","textOnPath","currentElem","textOffset","charMidX","pointOnPath","continuous","parentElem","_x","_y","_dx","_dy","_rot","_defRot","fontOptions","fontNameorLink","fontCallback","_index","textLength","spacingAndGlyphs","letterSpacing","textAnchor","textDirection","getBaseline","getXHeight","rawText","renderedText","xAttr","yAttr","dxAttr","dyAttr","rotAttr","adjustLength","firstChar","lastChar","textScale","spaceDiff","pxToPt","assumePt","SVGElement","bold","styles","savedFillColor","b64","lens","getLens","validLen","placeHoldersLen","tmp","Arr","_byteLength","curByte","revLookup","extraBytes","maxChunkLength","len2","encodeChunk","lookup","output","BROTLI_READ_SIZE","kBitMask","BrotliBitReader","buf_","input_","READ_SIZE","IBUF_MASK","buf_ptr_","val_","pos_","bit_pos_","bit_end_pos_","eos_","readMoreInput","bytes_read","fillBitWindow","readBits","n_bits","lookupOffsets","BrotliInput","BrotliOutput","BrotliDictionary","HuffmanCode","BrotliBuildHuffmanTable","Context","Prefix","Transform","HUFFMAN_MAX_TABLE_SIZE","kCodeLengthCodeOrder","kDistanceShortCodeIndexOffset","kDistanceShortCodeValueOffset","kMaxHuffmanTableSize","DecodeWindowBits","DecodeVarLenUint8","nbits","MetaBlockLength","meta_block_length","input_end","is_uncompressed","is_metadata","DecodeMetaBlockLength","size_nibbles","size_bytes","next_byte","next_nibble","ReadSymbol","ReadHuffmanCode","alphabet_size","tables","table_size","simple_code_or_skip","code_lengths","max_bits_counter","max_bits","num_symbols","code_length_code_lengths","num_codes","huff","code_len_idx","ReadHuffmanCodeLengths","symbol","prev_code_len","repeat_code_len","code_len","old_repeat","repeat_delta","extra_bits","new_len","ReadBlockLength","kBlockLengthPrefixCode","TranslateShortCodes","ringbuffer","MoveToFront","HuffmanTreeGroup","num_htrees","htrees","DecodeContextMap","context_map_size","context_map","max_run_length_prefix","reps","InverseMoveToFrontTransform","v_len","mtf","DecodeBlockType","max_block_type","trees","tree_type","block_types","ringbuffers","indexes","block_type","type_code","CopyUncompressedBlockToOutput","ringbuffer_mask","nbytes","rb_size","rb_pos","br_pos","JumpToByteBoundary","new_bit_pos","BrotliDecompressedSize","BrotliDecompress","window_bits","max_backward_distance","ringbuffer_size","ringbuffer_end","block_type_trees","block_len_trees","max_distance","dist_rb","dist_rb_idx","prev_byte1","prev_byte2","hgroup","kRingBufferWriteAheadSlack","maxDictionaryWordLength","distance_postfix_bits","num_direct_distance_codes","distance_postfix_mask","num_distance_codes","num_literal_htrees","dist_context_map","num_dist_htrees","context_mode","htree_command","meta_block_remaining_len","block_length","num_block_types","block_type_rb","block_type_rb_index","context_modes","context_map_slice","literal_htree_index","dist_context_map_slice","dist_htree_index","context_lookup_offset1","context_lookup_offset2","_out","_o1","_o2","cmd_code","range_idx","insert_code","copy_code","insert_length","copy_length","distance_code","distance","copy_dst","postfix","kInsertRangeLut","kCopyRangeLut","kInsertLengthPrefixCode","kCopyLengthPrefixCode","minDictionaryWordLength","offsetsByLength","word_id","sizeBitsByLength","transform_idx","kNumTransforms","transformDictionaryWord","BrotliDecompressBuffer","output_size","output_buffer","GetNextKey","step","ReplicateValue","NextTableBitSize","root_bits","root_table","code_lengths_size","table_bits","total_size","start_table","PrefixCodeRange","kUppercaseFirst","kUppercaseAll","prefix","suffix","kTransforms","ToUpperCase","uppercase","skip","start_idx","prefix_pos","suffix_pos","Zstream","zlib_deflate","zlib_inflate","NONE","DEFLATE","INFLATE","GZIP","GUNZIP","DEFLATERAW","INFLATERAW","UNZIP","Zlib","init_done","memLevel","strategy","windowBits","write_in_progress","pending_close","gzip_id_bytes_read","deflateEnd","strm","inflateEnd","in_off","in_len","out_off","out_len","writeSync","async","Z_NO_FLUSH","Z_PARTIAL_FLUSH","Z_SYNC_FLUSH","Z_FULL_FLUSH","Z_FINISH","Z_BLOCK","avail_in","next_in","avail_out","next_out","_checkError","_afterSync","nextTick","_after","next_expected_header_byte","deflate","Z_NEED_DICT","inflateSetDictionary","Z_OK","Z_DATA_ERROR","Z_STREAM_END","Z_BUF_ERROR","_error","callback","onerror","Z_FILTERED","Z_HUFFMAN_ONLY","Z_RLE","Z_FIXED","Z_DEFAULT_STRATEGY","_init","_setDictionary","_reset","deflateInit2","Z_DEFLATED","inflateInit2","deflateSetDictionary","deflateReset","inflateReset","kRangeErrorMessage","Z_MIN_WINDOWBITS","Z_MAX_WINDOWBITS","Z_DEFAULT_WINDOWBITS","Z_MIN_CHUNK","Z_MAX_CHUNK","Z_DEFAULT_CHUNK","Z_MIN_MEMLEVEL","Z_MAX_MEMLEVEL","Z_DEFAULT_MEMLEVEL","Z_MIN_LEVEL","Z_MAX_LEVEL","Z_DEFAULT_LEVEL","Z_DEFAULT_COMPRESSION","bkeys","bkey","Z_ERRNO","Z_STREAM_ERROR","Z_MEM_ERROR","Z_VERSION_ERROR","ckeys","ck","ckey","zlibBuffer","engine","buffers","nread","flow","onEnd","onError","removeListener","zlibBufferSync","flushFlag","_finishFlushFlag","_processChunk","Deflate","Inflate","Gzip","Gunzip","DeflateRaw","InflateRaw","Unzip","isValidFlushFlag","_opts","_chunkSize","finishFlush","_flushFlag","_handle","_hadError","errno","_close","_buffer","_level","_strategy","emitCloseNT","freeze","createDeflate","createInflate","createDeflateRaw","createInflateRaw","createGzip","createGunzip","createUnzip","gzip","gzipSync","deflateRaw","deflateRawSync","unzip","unzipSync","inflateSync","gunzip","gunzipSync","inflateRaw","inflateRawSync","_transform","kind","ws","_writableState","ended","ending","needDrain","cb","availInBefore","availOutBefore","inOff","req","availInAfter","availOutAfter","have","newReq","GetIntrinsic","callBind","$indexOf","callBoundIntrinsic","allowMissing","intrinsic","$apply","$call","$reflectApply","$gOPD","$defineProperty","$max","originalFunction","desc","applyBind","circular","allParents","allChildren","useBuffer","_clone","__isArray","__isRegExp","__getRegExpFlags","lastIndex","__isDate","attrs","__objToStr","re","ignoreCase","clonePrototype","argument","isConstructor","definePropertyModule","UNSCOPABLES","ArrayPrototype","toObject","toAbsoluteIndex","lengthOfArrayLike","to","inc","argumentsLength","endPos","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIterator","getIteratorMethod","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","fromIndex","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","find","findIndex","filterReject","$lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","method","aCallable","IS_RIGHT","mergeSort","comparefn","middle","insertionSort","merge","element","llength","rlength","lindex","rindex","originalArray","arraySpeciesConstructor","anObject","iteratorClose","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","CORRECT_ARGUMENTS","tryGet","callee","TEST","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","IS_FIREFOX_OR_SAFARI_STACK","dropEntries","iterate","defineIterator","fastKey","internalStateGetterFor","getterFor","getConstructor","CONSTRUCTOR_NAME","ADDER","iterable","AS_ENTRIES","previous","getEntry","removed","prev","setStrong","ITERATOR_NAME","getInternalCollectionState","getInternalIteratorState","iterated","isForced","InternalMetadataModule","checkCorrectnessOfIteration","inheritIfRequired","common","IS_WEAK","NativeConstructor","NativePrototype","exported","fixMethod","uncurriedNativeMethod","enable","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","dummy","getOwnPropertyDescriptorModule","MATCH","regexp","error2","requireObjectCoercible","attribute","p1","IteratorPrototype","createPropertyDescriptor","Iterators","returnThis","IteratorConstructor","bitmap","toPropertyKey","propertyKey","ordinaryToPrimitive","hint","IS_PURE","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","wrappedWellKnownSymbolModule","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","documentCreateElement","DOMTokenListPrototype","firefox","UA","userAgent","Pebble","getBuiltIn","Deno","v8","webkit","setGlobal","copyConstructorProperties","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","noTargetGet","regexpExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","uncurriedNativeRegExpMethod","nativeMethod","forceStringMethod","$exec","isExtensible","preventExtensions","FunctionPrototype","factories","argsLength","partArgs","bound","getDescriptor","something","aFunction","namespace","getMethod","usingIterator","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","captures","namedCaptures","replacement","tailPos","capture","check","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","sign","nBits","NewTarget","NewTargetPrototype","functionToString","inspectSource","cause","hiddenKeys","getOwnPropertyNamesModule","getOwnPropertyNamesExternalModule","FREEZING","REQUIRED","METADATA","setMetadata","objectID","weakData","meta","getWeakData","onFreeze","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","enforce","noop","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","feature","detection","POLYFILL","NATIVE","USE_SYMBOL_AS_UID","$Symbol","Result","stopped","ResultPrototype","unboundFunction","iterFn","IS_ITERATOR","INTERRUPTED","callFn","innerResult","innerError","PrototypeOfArrayIteratorPrototype","arrayIterator","notify","toggle","promise","macrotask","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","IS_NODE","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","domain","exit","enter","createTextNode","observe","characterData","task","PromiseCapability","reject","$$resolve","$$reject","$default","globalIsFinite","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","B","chr","activeXDocument","enumBugKeys","html","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","display","appendChild","contentWindow","IE8_DOM_DEFINE","Attributes","$getOwnPropertyDescriptor","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","names","$propertyIsEnumerable","NASHORN_BUG","aPossiblePrototype","setter","CORRECT_SETTER","TO_ENTRIES","pref","newPromiseCapability","promiseCapability","enforceInternalState","TEMPLATE","simple","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","groups","sticky","charsAdded","strCopy","dotAll","$RegExp","TAG","SHARED","copyright","aConstructor","defaultConstructor","CONVERT_TO_STRING","second","codeAt","whitespaces","whitespace","ltrim","rtrim","location","defer","channel","port","setImmediate","clearImmediate","Dispatch","MessageChannel","queue","ONREADYSTATECHANGE","runner","listener","event","postMessage","protocol","host","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","integer","toPositiveInteger","BYTES","isSymbol","TO_PRIMITIVE","exoticToPrim","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","typedArrayFrom","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","WRONG_LENGTH","fromList","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","addElement","getter","typedArrayOffset","$length","$len","arrayFromConstructorAndList","typedArraySpeciesConstructor","speciesConstructor","NATIVE_SYMBOL","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","clearErrorStack","installErrorCause","normalizeStringArgument","ERROR_STACK_INSTALLABLE","$AggregateError","AggregateError","AggregateErrorPrototype","errorsArray","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","addToUnscopables","$filter","$includes","ARRAY_ITERATOR","Arguments","un$Join","ES3_STRINGS","separator","$map","un$Slice","HAS_SPECIES_SUPPORT","fin","internalSort","IE_OR_EDGE","V8","WEBKIT","un$Sort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","itemsLength","arrayLength","getSortCompare","MAXIMUM_ALLOWED_LENGTH_EXCEEDED","deleteCount","insertCount","actualDeleteCount","actualStart","dateToPrimitive","DatePrototype","FUNCTION_NAME_EXISTS","nameRE","regExpExec","collection","thisNumberValue","NUMBER","NativeNumber","NumberPrototype","toNumeric","primValue","toNumber","third","radix","maxCode","digits","NumberWrapper","EPSILON","$repeat","un$ToFixed","acc","c2","dataToString","fractionDigits","fractDigits","$freeze","FAILS_ON_PRIMITIVES","nativeGetPrototypeOf","nativeKeys","$values","newPromiseCapabilityModule","perform","allSettled","capability","promiseResolve","alreadyCalled","status","PROMISE_ANY_ERROR","any","alreadyResolved","alreadyRejected","NativePromise","onFinally","isFunction","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","microtask","hostReportErrors","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","SUBCLASSING","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","isThenable","isReject","notified","chain","reactions","exited","reaction","handler","rejection","onHandleUnhandled","onUnhandled","initEvent","isUnhandled","unwrap","internalReject","internalResolve","executor","onFulfilled","onRejected","$promiseResolve","race","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","objectDefinePropertyModule","regExpFlags","$toString","TO_STRING","n$ToString","getFlags","NOT_GENERIC","INCORRECT_NAME","rf","$fromCodePoint","elements","notARegExp","correctIsRegExpLogic","stringIndexOf","searchString","createHTML","forcedStringHTMLMethod","italics","STRING_ITERATOR","advanceStringIndex","MATCH_ALL","REGEXP_STRING","REGEXP_STRING_ITERATOR","un$MatchAll","WORKS_WITH_NON_GLOBAL_REGEX","$RegExpStringIterator","RegExpStringIterator","$global","fullUnicode","$matchAll","flagsValue","matcher","fixRegExpWellKnownSymbolLogic","nativeMatch","maybeCallNative","matchStr","getSubstitution","REPLACE","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","UNSAFE_SUBSTITUTE","searchValue","replaceValue","replacer","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","callRegExpExec","MAX_UINT32","$push","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SPLIT","nativeSplit","internalSplit","lim","lastLength","lastLastIndex","separatorCopy","splitter","unicodeMatching","$trim","forcedStringTrimMethod","defineWellKnownSymbol","NativeSymbol","SymbolPrototype","EmptyStringDescriptionStore","SymbolWrapper","symbolToString","symbolValueOf","nativeObjectCreate","getOwnPropertyNamesExternal","HIDDEN","QObject","$stringify","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","keyFor","useSetter","useSimple","$replacer","u$ArrayCopyWithin","$every","$fill","fromSpeciesAndList","$findIndex","predicate","$find","createTypedArrayConstructor","ArrayIterators","arrayValues","arrayKeys","arrayEntries","nativeTypedArrayIterator","PROPER_ARRAY_VALUES_NAME","typedArrayValues","$join","$reduceRight","reduceRight","$reduce","$some","ACCEPT_INCORRECT_ARGUMENTS","mod","begin","beginIndex","$toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","ArrayIteratorMethods","ArrayValues","URL","isArguments","isRegex","isUndefinedOrNull","aIsRegex","bIsRegex","aIsBuffer","bIsBuffer","ka","kb","hasSymbols","toStr","origDefineProperty","hasPropertyDescriptors","supportsDescriptors","predicates","firstSource","nextSource","keysArray","nextIndex","nextKey","polyfill","ReflectOwnKeys","ReflectApply","receiver","NumberIsNaN","emitter","errorListener","resolver","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","events","existing","newListener","ProcessEmitWarning","warning","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","evlistener","unwrapListeners","arrayClone","listenerCount","wrapListener","removeEventListener","setMaxListeners","getMaxListeners","doError","context","listeners","addListener","prependListener","prependOnceListener","originalListener","spliceOne","off","removeAllListeners","rawListeners","eventNames","___EXPOSE_LOADER_IMPORT___","___EXPOSE_LOADER_GLOBAL_THIS___","forEachArray","forEachString","forEachObject","thisArg","ERROR_MESSAGE","funcType","binder","boundLength","boundArgs","Empty","implementation","functionsHaveNames","gOPD","functionsHaveConfigurableNames","$bind","boundFunctionsHaveNames","$SyntaxError","SyntaxError","$Function","$TypeError","getEvalledConstructor","expressionSyntax","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","needsEval","INTRINSICS","Atomics","decodeURI","encodeURI","eval","EvalError","FinalizationRegistry","URIError","WeakRef","WeakSet","doEval","LEGACY_ALIASES","$concat","$spliceApply","$replace","$strSlice","rePropName","reEscapeChar","stringToPath","quote","subString","getBaseIntrinsic","alias","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","hasNativeSymbols","symObj","syms","hasToStringTagShams","toStringTag","_dbcs","DBCSCodec","UNASSIGNED","SEQ_START","NODE_START","UNASSIGNED_NODE","codecOptions","encodingName","mappingTable","decodeTables","decodeTableSeq","_addDecodeChunk","gb18030","commonThirdByteNodeIdx","commonFourthByteNodeIdx","firstByteNode","secondByteNode","thirdByteNode","fourthByteNode","defaultCharUnicode","encodeTable","encodeTableSeq","skipEncodeChars","encodeSkipVals","_fillEncodeTable","encodeAdd","uChar","_setEncodeChar","defCharSB","defaultCharSingleByte","DBCSEncoder","codec","seqObj","DBCSDecoder","nodeIdx","prevBytes","findIdx","mid","decoder","_getDecodeTrieNode","addr","curAddr","writeTable","codeTrail","seq","_getEncodeBucket","uCode","dbcsCode","bucket","_setEncodeSequence","oldVal","hasValues","subNodeEmpty","mbCode","subNodeIdx","newPrefix","nextChar","resCode","subtable","uChars","gbChars","prevOffset","seqStart","uCodeLead","bytesArr","modules","InternalCodec","bomAware","InternalEncoderBase64","InternalEncoderCesu8","InternalDecoderCesu8","utf8","cesu8","unicode11utf8","ucs2","utf16le","binary","_internal","InternalEncoder","InternalDecoder","StringDecoder","prevStr","contBytes","accBytes","completeQuads","bufIdx","SBCSCodec","chars","asciiString","decodeBuf","encodeBuf","SBCSEncoder","SBCSDecoder","_sbcs","idx1","idx2","Utf16BECodec","Utf16BEEncoder","Utf16BEDecoder","overflowByte","Utf16Codec","Utf16Encoder","addBOM","getEncoder","Utf16Decoder","initialBufs","initialBufsLen","detectEncoding","bufs","defaultEncoding","charsProcessed","asciiCharsLE","asciiCharsBE","outer_loop","utf16be","utf16","getDecoder","resStr","trail","Utf32Codec","isLE","Utf32Encoder","highSurrogate","Utf32Decoder","badChar","overflow","_writeCodepoint","codepoint","Utf32AutoCodec","Utf32AutoEncoder","Utf32AutoDecoder","invalidLE","invalidBE","bmpCharsLE","bmpCharsBE","_utf32","utf32le","utf32be","ucs4le","ucs4be","write32","isHighSurrogate","isLowSurrogate","utf32","ucs4","Utf7Codec","utf7","unicode11utf7","Utf7Encoder","Utf7Decoder","nonDirectChars","inBase64","base64Accum","base64Regex","plusChar","minusChar","andChar","Utf7IMAPCodec","Utf7IMAPEncoder","base64AccumIdx","Utf7IMAPDecoder","lastI","b64str","canBeDecoded","utf7imap","base64IMAPChars","PrependBOMWrapper","StripBOMWrapper","PrependBOM","StripBOM","stripBOM","stream_module","bomHandling","encodings","skipDecodeWarning","encodingExists","getCodec","toEncoding","fromEncoding","_codecDataCache","_canonicalizeEncoding","codecDef","enableStreamingAPI","supportsStreams","streams","IconvLiteEncoderStream","IconvLiteDecoderStream","decodeStream","conv","decodeStrings","collect","chunks","mLen","eLen","ctor","superCtor","super_","TempCtor","hasToStringTag","callBound","isStandardArguments","isLegacyArguments","supportsStandardArguments","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","isES6ClassFunction","fnStr","tryFunctionObject","tryFunctionToStr","isIE68","isDDA","isDocumentDotAll","strClass","getDay","isDateObject","tryDateGetDayCall","tryDateObject","GeneratorFunction","isFnRegex","isGeneratorFunction","generatorFunc","getGeneratorFunc","getPolyfill","shim","shimNumberIsNaN","testIsNaN","isRegexMarker","badStringifier","throwRegexMarker","availableTypedArrays","typedArrays","$slice","toStrTags","superProto","tryAllTypedArrays","anyTrue","tryTypedArrays","shimObjectIs","testObjectIs","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","isString","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","shimObjectKeys","keysWorksWithArguments","TYPED_OK","_has","sources","shrinkBuf","fnTyped","arraySet","src_offs","dest_offs","flattenChunks","fnUntyped","setTyped","Buf8","Buf16","Buf32","adler32","adler","Z_TREES","Z_NO_COMPRESSION","Z_BEST_SPEED","Z_BEST_COMPRESSION","Z_BINARY","Z_TEXT","Z_UNKNOWN","crcTable","makeTable","crc32","crc","configuration_table","MAX_MATCH","MIN_LOOKAHEAD","HCRC_STATE","BUSY_STATE","FINISH_STATE","errorCode","rank","zero","flush_pending","pending","pending_buf","pending_out","total_out","flush_block_only","_tr_flush_block","block_start","strstart","put_byte","putShortMSB","longest_match","cur_match","chain_length","max_chain_length","scan","best_len","prev_length","nice_match","w_size","_win","wmask","w_mask","strend","scan_end1","scan_end","good_match","lookahead","match_start","fill_window","more","_w_size","window_size","hash_size","total_in","insert","ins_h","hash_shift","hash_mask","deflate_fast","hash_head","bflush","match_length","_tr_tally","max_lazy_match","MIN_MATCH","last_lit","deflate_slow","max_insert","prev_match","match_available","Config","good_length","max_lazy","nice_length","max_chain","DeflateState","pending_buf_size","gzhead","gzindex","last_flush","w_bits","hash_bits","dyn_ltree","HEAP_SIZE","dyn_dtree","bl_tree","l_desc","d_desc","bl_desc","bl_count","MAX_BITS","heap","heap_len","heap_max","l_buf","lit_bufsize","d_buf","opt_len","static_len","matches","bi_buf","bi_valid","deflateResetKeep","data_type","_tr_init","lm_init","deflate_stored","max_block_size","max_start","deflateInit","deflateSetHeader","old_flush","beg","hcrc","extra","comment","time","os","bstate","deflate_huff","deflate_rle","_tr_align","_tr_stored_block","avail","tmpDict","dictLength","deflateInfo","inflate_fast","_in","dmax","wsize","whave","wnext","s_window","hold","lcode","dcode","lmask","dmask","here","dist","from_source","lencode","distcode","lenbits","distbits","dolen","dodist","sane","inflate_table","BAD","zswap32","InflateState","havedict","total","wbits","ncode","nlen","ndist","work","lendyn","distdyn","back","was","inflateResetKeep","inflateReset2","lenfix","distfix","virgin","fixedtables","updatewindow","inflateInit","put","here_bits","here_op","here_val","last_bits","last_op","last_val","hbuf","order","inf_leave","xflags","extra_len","inflateGetHeader","inflateInfo","MAXBITS","lbase","lext","dbase","dext","lens_index","table_index","incr","curr","used","base_index","offs","extra_index","LITERALS","L_CODES","D_CODES","extra_lbits","extra_dbits","extra_blbits","bl_order","static_ltree","static_dtree","_dist_code","_length_code","base_length","static_l_desc","static_d_desc","static_bl_desc","base_dist","StaticTreeDesc","static_tree","extra_base","elems","max_length","has_stree","TreeDesc","dyn_tree","stat_desc","max_code","d_code","put_short","send_bits","send_code","tree","bi_reverse","gen_codes","next_code","init_block","END_BLOCK","bi_windup","smaller","_n2","_m2","pqdownheap","compress_block","ltree","dtree","lx","build_tree","stree","gen_bitlen","xbits","scan_tree","curlen","prevlen","nextlen","max_count","min_count","REP_3_6","REPZ_3_10","REPZ_11_138","send_tree","static_init_done","stored_len","copy_block","tr_static_init","LENGTH_CODES","opt_lenb","static_lenb","max_blindex","detect_data_type","black_mask","build_bl_tree","BL_CODES","send_all_trees","lcodes","dcodes","blcodes","STATIC_TREES","bi_flush","ZStream","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","runClearTimeout","Item","browser","env","argv","cwd","chdir","umask","$Object","hasIndices","flagsBound","calls","TypeErr","regex","shimFlags","sax","opt","SAXParser","SAXStream","createStream","MAX_BUFFER_LENGTH","Stream","clearBuffers","bufferCheckPosition","lowercase","lowercasetags","looseCase","closed","closedRoot","sawRoot","noscript","BEGIN","strictEntities","ENTITIES","XML_ENTITIES","attribList","xmlns","ns","rootNS","trackPosition","EVENTS","BEGIN_WHITESPACE","beginWhiteSpace","TEXT","starti","textNode","isWhitespace","strictFail","TEXT_ENTITY","OPEN_WAKA","startTagPosition","SCRIPT_ENDING","script","CLOSE_TAG","SGML_DECL","sgmlDecl","isMatch","nameStart","OPEN_TAG","tagName","PROC_INST","procInstName","procInstBody","emitNode","CDATA","cdata","COMMENT","DOCTYPE","doctype","isQuote","SGML_DECL_QUOTED","DOCTYPE_DTD","DOCTYPE_QUOTED","DOCTYPE_DTD_QUOTED","COMMENT_ENDING","COMMENT_ENDED","textopts","CDATA_ENDING","CDATA_ENDING_2","PROC_INST_ENDING","PROC_INST_BODY","body","nameBody","newTag","openTag","OPEN_TAG_SLASH","ATTRIB","closeTag","attribName","attribValue","ATTRIB_NAME","ATTRIB_VALUE","attrib","ATTRIB_NAME_SAW_WHITE","ATTRIB_VALUE_QUOTED","ATTRIB_VALUE_UNQUOTED","ATTRIB_VALUE_ENTITY_Q","ATTRIB_VALUE_CLOSED","isAttribEnd","ATTRIB_VALUE_ENTITY_U","CLOSE_TAG_SAW_WHITE","notMatch","returnState","parseEntity","entity","entityBody","entityStart","checkBufferLength","maxAllowed","maxActual","closeText","resume","flushBuffers","streamWraps","ev","_parser","readable","me","onend","_decoder","SD","XML_NAMESPACE","XMLNS_NAMESPACE","stringFromCharCode","COMMENT_STARTING","qname","qualName","local","qn","selfClosing","uri","nv","isSelfClosing","closeTo","entityLC","numStr","lowSurrogate","MAX_SIZE","codeUnits","EE","Writable","Duplex","PassThrough","finished","pipeline","ondata","pause","ondrain","_isStdio","onclose","didOnEnd","destroy","cleanup","_inheritsLoose","allowHalfOpen","onEndNT","highWaterMark","getBuffer","_readableState","destroyed","ReadableState","EElistenerCount","OurUint8Array","debug","debugUtil","debuglog","createReadableStreamAsyncIterator","destroyImpl","getHighWaterMark","ERR_STREAM_PUSH_AFTER_EOF","ERR_METHOD_NOT_IMPLEMENTED","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","errorOrDestroy","kProxyEvents","isDuplex","objectMode","readableObjectMode","pipes","pipesCount","flowing","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","awaitDrain","readingMore","_destroy","readableAddChunk","addToFront","skipChunkCheck","onEofChunk","emitReadable","emitReadable_","chunkInvalid","_isUint8Array","_uint8ArrayToBuffer","addChunk","maybeReadMore","_undestroy","undestroy","isPaused","setEncoding","MAX_HWM","howMuchToRead","computeNewHighWaterMark","maybeReadMore_","updateReadableListening","nReadingNextTick","resume_","endReadable","endReadableNT","wState","xs","nOrig","doRead","pipeOpts","endFn","stdout","unpipe","onunpipe","unpipeInfo","hasUnpiped","onfinish","cleanedUp","pipeOnDrain","pipeOnDrainFunctionResult","dests","methodWrap","methodWrapReturnFunction","asyncIterator","_fromList","ERR_MULTIPLE_CALLBACK","ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_WITH_LENGTH_0","afterTransform","ts","_transformState","transforming","writecb","writechunk","rs","needTransform","writeencoding","prefinish","err2","CorkedRequest","finish","onCorkedFinish","corkReq","pendingcb","corkedRequestsFree","WritableState","internalUtil","deprecate","realHasInstance","ERR_STREAM_CANNOT_PIPE","ERR_STREAM_DESTROYED","ERR_STREAM_NULL_VALUES","ERR_STREAM_WRITE_AFTER_END","ERR_UNKNOWN_ENCODING","nop","writableObjectMode","finalCalled","noDecode","writing","corked","bufferProcessing","onwrite","onwriteStateUpdate","writelen","onwriteError","finishMaybe","errorEmitted","needFinish","bufferedRequest","clearBuffer","afterWrite","lastBufferedRequest","prefinished","bufferedRequestCount","writev","_writev","final","_final","doWrite","onwriteDrain","holder","allBuffers","isBuf","callFinal","need","rState","current","writableStateBufferGetter","hasInstance","writeAfterEnd","validChunk","writeOrBuffer","newChunk","decodeChunk","cork","uncork","setDefaultEncoding","endWritable","_Object$setPrototypeO","kLastResolve","kLastReject","kError","kEnded","kLastPromise","kHandlePromise","kStream","createIterResult","readAndResolve","iter","onReadable","AsyncIteratorPrototype","ReadableStreamAsyncIteratorPrototype","lastPromise","wrapForNext","_return","_Object$create","emitErrorAndCloseNT","emitErrorNT","readableDestroyed","writableDestroyed","ERR_STREAM_PREMATURE_CLOSE","eos","onlegacyfinish","writableEnded","readableEnded","onrequest","isRequest","setHeader","abort","destroyer","popCallback","destroys","ERR_INVALID_OPT_VALUE","duplexKey","hwm","highWaterMarkFrom","autoBom","Blob","XMLHttpRequest","responseType","onload","response","send","MouseEvent","initMouseEvent","navigator","saveAs","HTMLAnchorElement","webkitURL","download","rel","href","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","innerText","HTMLElement","safari","FileReader","onloadend","readAsDataURL","normalizeEncoding","nenc","_normalizeEncoding","retried","utf16Text","utf16End","fillLast","utf8FillLast","base64Text","base64End","simpleWrite","simpleEnd","lastNeed","lastTotal","utf8CheckByte","utf8CheckExtraBytes","utf8End","utf8Text","utf8CheckIncomplete","Tree","trans","Data","sourceIndex","bitcount","destLen","sltree","sdtree","length_bits","length_base","dist_bits","dist_base","clcidx","code_tree","lengths","tinf_build_bits_base","tinf_build_tree","tinf_getbit","bit","tinf_read_bits","tinf_decode_symbol","tinf_decode_trees","hlit","hdist","hclen","clen","tinf_inflate_block_data","tinf_inflate_uncompressed_block","tinf_build_fixed_trees","tinf_uncompress","bfinal","_toPrimitive","_createForOfIteratorHelperLoose","allowArrayLike","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2","_interopDefault","cloneDeep","brotli","formats","_applyDecoratedDescriptor","decorators","initializer","decorator","cache","memoized","registerFormat","openSync","probe","getFont","defaultLanguage","setDefaultLanguage","SubHeader","firstCode","entryCount","idDelta","idRangeOffset","CmapGroup","startCharCode","endCharCode","glyphID","UnicodeValueRange","startUnicodeValue","additionalCount","UVSMapping","unicodeValue","DefaultUVS","NonDefaultUVS","VarSelectorRecord","varSelector","defaultUVS","nonDefaultUVS","CmapSubtable","language","codeMap","subHeaderKeys","subHeaderCount","subHeaders","glyphIndexArray","segCountX2","segCount","searchRange","entrySelector","rangeShift","endCode","reservedPad","startCode","glyphIndices","reserved","is32","nGroups","numRecords","varSelectors","CmapEntry","platformID","encodingID","numSubtables","revision","checkSumAdjustment","magicNumber","created","modified","xMin","yMin","xMax","yMax","lowestRecPPEM","fontDirectionHint","indexToLocFormat","glyphDataFormat","hhea","advanceWidthMax","minLeftSideBearing","minRightSideBearing","xMaxExtent","caretSlopeRise","caretSlopeRun","caretOffset","metricDataFormat","numberOfMetrics","HmtxEntry","bearing","hmtx","metrics","bearings","maxp","numGlyphs","maxPoints","maxContours","maxComponentPoints","maxComponentContours","maxZones","maxTwilightPoints","maxStorage","maxFunctionDefs","maxInstructionDefs","maxStackElements","maxSizeOfInstructions","maxComponentElements","maxComponentDepth","getEncoding","languageID","MAC_LANGUAGE_ENCODINGS","ENCODINGS","LANGUAGES","NameRecord","nameID","stringOffset","LangTagRecord","NameTable","records","langTagCount","langTags","NAMES","_step","_iterator","record","en","OS2","xAvgCharWidth","usWeightClass","usWidthClass","fsType","ySubscriptXSize","ySubscriptYSize","ySubscriptXOffset","ySubscriptYOffset","ySuperscriptXSize","ySuperscriptYSize","ySuperscriptXOffset","ySuperscriptYOffset","yStrikeoutSize","yStrikeoutPosition","panose","ulCharRange","vendorID","fsSelection","usFirstCharIndex","usLastCharIndex","typoAscender","typoDescender","typoLineGap","winAscent","winDescent","codePageRange","defaultChar","breakChar","maxContent","usLowerOpticalPointSize","usUpperOpticalPointSize","underlinePosition","underlineThickness","minMemType42","maxMemType42","minMemType1","maxMemType1","numberOfGlyphs","glyphNameIndex","offsets","cvt","controlValues","fpgm","instructions","loca","prep","controlValueProgram","glyf","CFFIndex","_proto","getCFFVersion","hdrSize","offSize","startPos","_step2","sizes","_iterator2","_i22","_sizes","_step3","_iterator3","_item","FLOAT_LOOKUP","FLOAT_ENCODE_LOOKUP","CFFOperand","n1","n2","forceLarge","c1","FLOAT_EOF","CFFDict","ops","_step4","_iterator4","field","_proto2","decodeOperands","operands","encodeOperands","_field","dict","_step5","_iterator5","_step6","_iterator6","_step7","_iterator7","_step8","_iterator8","_op","CFFPointer","_r$Pointer","_proto3","Ptr","CFFPrivateDict","CFFBlendOp","numBlends","standardStrings","StandardEncoding","ISOAdobeCharset","LangSysTable","reqFeatureIndex","featureCount","featureIndexes","LangSysRecord","langSys","Script","defaultLangSys","langSysRecords","ScriptRecord","ScriptList","Feature","featureParams","lookupCount","lookupListIndexes","FeatureRecord","FeatureList","LookupFlags","markAttachmentType","LookupList","SubTable","Lookup","lookupType","subTableCount","subTables","markFilteringSet","useMarkFilteringSet","RangeRecord","startCoverageIndex","Coverage","glyphCount","rangeCount","rangeRecords","ClassRangeRecord","class","ClassDef","startGlyph","classValueArray","classRangeCount","classRangeRecord","Device","deltaFormat","LookupRecord","sequenceIndex","lookupListIndex","Rule","lookupRecords","RuleSet","ClassRule","ClassSet","coverage","ruleSetCount","ruleSets","classDef","classSetCnt","classSet","coverages","ChainRule","backtrackGlyphCount","backtrack","inputGlyphCount","lookaheadGlyphCount","ChainRuleSet","ChainingContext","chainCount","chainRuleSets","backtrackClassDef","inputClassDef","lookaheadClassDef","chainClassSet","backtrackCoverage","inputCoverage","lookaheadCoverage","F2DOT14","RegionAxisCoordinates","startCoord","peakCoord","endCoord","VariationRegionList","axisCount","regionCount","variationRegions","DeltaSet","shortDeltas","shortDeltaCount","regionDeltas","regionIndexCount","deltas","ItemVariationData","itemCount","regionIndexes","deltaSets","ItemVariationStore","variationRegionList","variationDataCount","itemVariationData","ConditionTable","axisIndex","filterRangeMinValue","filterRangeMaxValue","ConditionSet","conditionCount","conditionTable","FeatureTableSubstitutionRecord","featureIndex","alternateFeatureTable","FeatureTableSubstitution","substitutionCount","substitutions","FeatureVariationRecord","conditionSet","featureTableSubstitution","FeatureVariations","majorVersion","minorVersion","featureVariationRecordCount","featureVariationRecords","PredefinedOp","predefinedOps","_proto5","CFFEncodingVersion","_r$Number","Range1","nLeft","Range2","CFFEncoding","nCodes","nRanges","ranges","RangeArray","_r$Array","CFFCustomCharset","CharStrings","CFFCharset","FDRange3","fd","FDRange4","FDSelect","fds","sentinel","CFFPrivateOp","_proto8","FontDict","CFFTopDict","VariationStore","itemVariationStore","CFF2TopDict","CFFTop","nameIndex","topDictIndex","stringIndex","globalSubrIndex","topDict","CFFFont","_proto9","isCIDFont","ROS","sid","getCharString","getGlyphName","charset","fdForGlyph","privateDictForGlyph","FDArray","Private","FullName","FamilyName","VerticalOrigin","glyphIndex","vertOriginY","VORG","defaultVertOriginY","numVertOriginYMetrics","BigMetrics","horiBearingX","horiBearingY","horiAdvance","vertBearingX","vertBearingY","vertAdvance","SmallMetrics","bearingX","bearingY","EBDTComponent","ByteAligned","BitAligned","SBitLineMetrics","numComponents","components","dataLen","widthMax","caretSlopeNumerator","caretSlopeDenominator","minOriginSB","minAdvanceSB","maxBeforeBL","minAfterBL","CodeOffsetPair","glyphCode","IndexSubtable","imageFormat","imageDataOffset","offsetArray","lastGlyphIndex","firstGlyphIndex","imageSize","bigMetrics","glyphArray","glyphCodeArray","IndexSubtableArray","BitmapSizeTable","indexSubTableArray","indexTablesSize","numberOfIndexSubTables","colorRef","hori","vert","startGlyphIndex","endGlyphIndex","ppemX","ppemY","bitDepth","EBLC","numSizes","ImageTable","ppem","resolution","imageOffsets","sbix","numImgTables","imageTables","LayerRecord","paletteIndex","BaseGlyphRecord","firstLayerIndex","numLayers","COLR","numBaseGlyphRecords","baseGlyphRecord","layerRecords","numLayerRecords","ColorRecord","CPAL","numPaletteEntries","numPalettes","numColorRecords","colorRecords","colorRecordIndices","offsetPaletteTypeArray","offsetPaletteLabelArray","offsetPaletteEntryLabelArray","BaseCoord","coordinate","referenceGlyph","baseCoordPoint","deviceTable","BaseValues","defaultIndex","baseCoordCount","baseCoords","FeatMinMaxRecord","minCoord","maxCoord","MinMax","featMinMaxCount","featMinMaxRecords","BaseLangSysRecord","minMax","BaseScript","baseValues","defaultMinMax","baseLangSysCount","baseLangSysRecords","BaseScriptRecord","BaseScriptList","BaseTagList","Axis","baseTagList","baseScriptList","BASE","horizAxis","vertAxis","AttachPoint","AttachList","attachPoints","CaretValue","caretValuePoint","LigGlyph","LigCaretList","ligGlyphCount","ligGlyphs","MarkGlyphSetsDef","markSetTableFormat","markSetCount","GDEF","glyphClassDef","attachList","ligCaretList","markAttachClassDef","markGlyphSetsDef","ValueFormat","types","xPlacement","yPlacement","xPlaDevice","yPlaDevice","xAdvDevice","yAdvDevice","ValueRecord","_proto10","buildStruct","PairValueRecord","secondGlyph","value1","value2","PairSet","Class2Record","Anchor","xCoordinate","yCoordinate","anchorPoint","xDeviceTable","yDeviceTable","EntryExitRecord","entryAnchor","exitAnchor","MarkRecord","markAnchor","MarkArray","BaseRecord","classCount","BaseArray","ComponentRecord","LigatureAttach","LigatureArray","GPOSLookup","valueFormat","valueCount","valueFormat1","valueFormat2","pairSetCount","pairSets","classDef1","classDef2","class1Count","class2Count","classRecords","entryExitCount","entryExitRecords","markCoverage","baseCoverage","markArray","baseArray","ligatureCoverage","ligatureArray","mark1Coverage","mark2Coverage","mark1Array","mark2Array","posFormat","extension","GPOS","scriptList","featureList","lookupList","featureVariations","Sequence","AlternateSet","Ligature","compCount","LigatureSet","GSUBLookup","deltaGlyphID","substitute","substFormat","sequences","alternateSet","ligatureSets","substitutes","GSUB","JstfGSUBModList","JstfPriority","shrinkageEnableGSUB","shrinkageDisableGSUB","shrinkageEnableGPOS","shrinkageDisableGPOS","shrinkageJstfMax","extensionEnableGSUB","extensionDisableGSUB","extensionEnableGPOS","extensionDisableGPOS","extensionJstfMax","JstfLangSys","JstfLangSysRecord","jstfLangSys","JstfScript","extenderGlyphs","langSysCount","JstfScriptRecord","JSTF","scriptCount","VariableSizeNumber","_size","_proto11","MapDataEntry","entryFormat","outerIndex","innerIndex","DeltaSetIndexMap","mapCount","mapData","HVAR","advanceWidthMapping","LSBMapping","RSBMapping","Signature","SignatureBlock","cbSignature","signature","DSIG","ulVersion","usNumSigs","usFlag","signatures","signatureBlocks","GaspRange","rangeMaxPPEM","rangeGaspBehavior","gasp","numRanges","gaspRanges","DeviceRecord","pixelSize","maximumWidth","hdmx","sizeDeviceRecord","KernPair","ClassTable","firstGlyph","nGlyphs","Kern2Array","leftTable","rowWidth","KernSubtable","nPairs","pairs","rightTable","kernValueCount","leftClassCount","rightClassCount","kernValue","leftClass","rightClass","kernIndex","KernTable","subVersion","tupleIndex","kern","nTables","LTSH","yPels","PCLT","fontNumber","pitch","typeFamily","symbolSet","typeface","characterComplement","fileName","strokeWeight","widthType","serifStyle","Ratio","bCharSet","xRatio","yStartRatio","yEndRatio","vTable","yPelHeight","VdmxGroup","recs","startsz","endsz","VDMX","numRecs","numRatios","ratioRanges","vhea","advanceHeightMax","minTopSideBearing","minBottomSideBearing","yMaxExtent","VmtxEntry","vmtx","shortFrac","Correspondence","fromCoord","toCoord","Segment","pairCount","correspondence","avar","UnboundedArrayAccessor","_proto12","getItem","UnboundedArray","_r$Array2","LookupTable","ValueType","Shadow","_proto14","BinarySearchHeader","unitSize","nUnits","LookupSegmentSingle","lastGlyph","LookupSegmentArray","LookupSingle","binarySearchHeader","StateTable","entryData","newState","Entry","StateArray","nClasses","classTable","stateArray","entryTable","BslnSubtable","mappingData","standardGlyph","controlPoints","bsln","defaultBaseline","Setting","setting","fontFeatures","FeatureName","nSettings","settingTable","featureFlags","defaultSetting","feat","featureNameCount","reserved1","reserved2","featureNames","Axis$1","axisTag","minValue","maxValue","Instance","coord","postscriptNameID","instanceSize","fvar","offsetToData","countSizePairs","axisSize","instanceCount","axis","shortFrac$1","Offset","gvar","globalCoordCount","globalCoords","ClassTable$1","subFeatureFlags","StateTable1","ClassLookupTable","newStateOffset","WidthDeltaRecord","justClass","beforeGrowLimit","beforeShrinkLimit","afterGrowLimit","afterShrinkLimit","growFlags","shrinkFlags","WidthDeltaCluster","ActionData","lowerLimit","upperLimit","addGlyph","substThreshold","substGlyph","variationAxis","minimumLimit","noStretchValue","maximumLimit","Action","actionClass","actionType","actionLength","actionData","PostcompensationAction","PostCompensationTable","lookupTable","JustificationTable","wdcOffset","postCompensationTable","widthDeltaClusters","just","horizontal","vertical","LigatureData","action","ContextualData","markIndex","currentIndex","InsertionData","currentInsertIndex","markedInsertIndex","SubstitutionTable","SubtableData","substitutionTable","ligatureActions","ligatureList","insertionActions","Subtable","FeatureEntry","featureType","featureSetting","enableFlags","disableFlags","MorxChain","defaultFlags","chainLength","nFeatureEntries","nSubtables","subtables","morx","unused","nChains","chains","OpticalBounds","opbd","CBLC","_class","TableEntry","checkSum","Directory","numTables","binarySearch","cmp","_step9","_iterator9","tables$1","maxExponentFor2","maxPowerOf2","CmapProcessor","cmapTable","findSubtable","_step10","_iterator10","uvs","_proto15","_step11","_iterator11","_step12","_step11$value","_iterator12","variationSelector","getVariationSelector","rangeOffset","_gid","_min","_max","_mid","sel","getCharacterSet","endCodes","_step13","_iterator13","codePointsForGlyph","_res2","_step14","_res3","_iterator14","_step15","_res4","_iterator15","_group","KernProcessor","_proto16","getKerning","_step16","_iterator16","crossStream","variation","pairIdx","pair","leftOffset","rightOffset","override","UnicodeLayoutEngine","_proto17","positionGlyphs","clusterStart","clusterEnd","isMark","positionCluster","baseBox","cbox","yGap","mark","markBox","combiningClass","getCombiningClass","_proto18","addPoint","UNICODE_SCRIPTS","Caucasian_Albanian","Arabic","Imperial_Aramaic","Armenian","Avestan","Balinese","Bamum","Bassa_Vah","Batak","Bengali","Bopomofo","Brahmi","Braille","Buginese","Buhid","Chakma","Canadian_Aboriginal","Carian","Cham","Cherokee","Coptic","Cypriot","Cyrillic","Devanagari","Deseret","Duployan","Egyptian_Hieroglyphs","Elbasan","Ethiopic","Georgian","Glagolitic","Gothic","Grantha","Greek","Gujarati","Gurmukhi","Hangul","Han","Hanunoo","Hebrew","Hiragana","Pahawh_Hmong","Katakana_Or_Hiragana","Old_Italic","Javanese","Kayah_Li","Katakana","Kharoshthi","Khmer","Khojki","Kannada","Kaithi","Tai_Tham","Lao","Latin","Lepcha","Limbu","Linear_A","Linear_B","Lisu","Lycian","Lydian","Mahajani","Mandaic","Manichaean","Mende_Kikakui","Meroitic_Cursive","Meroitic_Hieroglyphs","Malayalam","Modi","Mongolian","Mro","Meetei_Mayek","Myanmar","Old_North_Arabian","Nabataean","Nko","Ogham","Ol_Chiki","Old_Turkic","Oriya","Osmanya","Palmyrene","Pau_Cin_Hau","Old_Permic","Phags_Pa","Inscriptional_Pahlavi","Psalter_Pahlavi","Phoenician","Miao","Inscriptional_Parthian","Rejang","Runic","Samaritan","Old_South_Arabian","Saurashtra","Shavian","Sharada","Siddham","Khudawadi","Sinhala","Sora_Sompeng","Sundanese","Syloti_Nagri","Syriac","Tagbanwa","Takri","Tai_Le","New_Tai_Lue","Tamil","Tai_Viet","Telugu","Tifinagh","Tagalog","Thaana","Thai","Tibetan","Tirhuta","Ugaritic","Vai","Warang_Citi","Old_Persian","Cuneiform","Yi","Inherited","Common","Unknown","OPENTYPE_SCRIPTS","_step17","_iterator17","RTL","arab","hebr","syrc","thaa","cprt","khar","phnx","lydi","avst","armi","phli","prti","sarb","orkh","samr","mand","merc","mero","mani","mend","nbat","narb","palm","phlp","direction","GlyphRun","direction$1","_step18","_iterator18","_step19","_iterator19","_step20","_iterator20","GlyphPosition","allTypographicFeatures","exclusive","allTypeFeatures","ligatures","requiredLigatures","commonLigatures","rareLigatures","rebusPictures","diphthongLigatures","squaredLigatures","abbrevSquaredLigatures","symbolLigatures","contextualLigatures","historicalLigatures","cursiveConnection","unconnected","partiallyConnected","cursive","letterCase","verticalSubstitution","substituteVerticalForms","linguisticRearrangement","numberSpacing","monospacedNumbers","proportionalNumbers","thirdWidthNumbers","quarterWidthNumbers","smartSwash","wordInitialSwashes","wordFinalSwashes","nonFinalSwashes","diacritics","showDiacritics","hideDiacritics","decomposeDiacritics","verticalPosition","normalPosition","superiors","inferiors","ordinals","scientificInferiors","fractions","noFractions","verticalFractions","diagonalFractions","overlappingCharacters","preventOverlap","typographicExtras","slashedZero","mathematicalExtras","mathematicalGreek","ornamentSets","noOrnaments","dingbats","piCharacters","fleurons","decorativeBorders","internationalSymbols","mathSymbols","characterAlternatives","noAlternates","designComplexity","designLevel1","designLevel2","designLevel3","designLevel4","designLevel5","styleOptions","noStyleOptions","displayText","engravedText","illuminatedCaps","titlingCaps","tallCaps","characterShape","traditionalCharacters","simplifiedCharacters","JIS1978Characters","JIS1983Characters","JIS1990Characters","traditionalAltOne","traditionalAltTwo","traditionalAltThree","traditionalAltFour","traditionalAltFive","expertCharacters","JIS2004Characters","hojoCharacters","NLCCharacters","traditionalNamesCharacters","numberCase","lowerCaseNumbers","upperCaseNumbers","textSpacing","proportionalText","monospacedText","halfWidthText","thirdWidthText","quarterWidthText","altProportionalText","altHalfWidthText","transliteration","noTransliteration","annotation","noAnnotation","boxAnnotation","roundedBoxAnnotation","circleAnnotation","invertedCircleAnnotation","parenthesisAnnotation","periodAnnotation","romanNumeralAnnotation","diamondAnnotation","invertedBoxAnnotation","invertedRoundedBoxAnnotation","kanaSpacing","fullWidthKana","proportionalKana","ideographicSpacing","fullWidthIdeographs","proportionalIdeographs","halfWidthIdeographs","unicodeDecomposition","canonicalComposition","compatibilityComposition","transcodingComposition","rubyKana","CJKSymbolAlternatives","noCJKSymbolAlternatives","CJKSymbolAltOne","CJKSymbolAltTwo","CJKSymbolAltThree","CJKSymbolAltFour","CJKSymbolAltFive","ideographicAlternatives","noIdeographicAlternatives","ideographicAltOne","ideographicAltTwo","ideographicAltThree","ideographicAltFour","ideographicAltFive","CJKVerticalRomanPlacement","CJKVerticalRomanCentered","CJKVerticalRomanHBaseline","italicCJKRoman","CJKItalicRoman","caseSensitiveLayout","caseSensitiveSpacing","alternateKana","alternateHorizKana","alternateVertKana","stylisticAlternatives","noStylisticAlternates","stylisticAltOne","stylisticAltTwo","stylisticAltThree","stylisticAltFour","stylisticAltFive","stylisticAltSix","stylisticAltSeven","stylisticAltEight","stylisticAltNine","stylisticAltTen","stylisticAltEleven","stylisticAltTwelve","stylisticAltThirteen","stylisticAltFourteen","stylisticAltFifteen","stylisticAltSixteen","stylisticAltSeventeen","stylisticAltEighteen","stylisticAltNineteen","stylisticAltTwenty","contextualAlternates","swashAlternates","contextualSwashAlternates","lowerCase","defaultLowerCase","lowerCaseSmallCaps","lowerCasePetiteCaps","upperCase","defaultUpperCase","upperCaseSmallCaps","upperCasePetiteCaps","languageTag","CJKRomanSpacing","halfWidthCJKRoman","proportionalCJKRoman","defaultCJKRoman","fullWidthCJKRoman","OTMapping","rlig","clig","dlig","hlig","liga","hist","smcp","pcap","frac","dnom","numr","afrc","case","ccmp","cpct","valt","swsh","cswh","curs","c2pc","c2sc","fin2","medi","med2","fin3","fina","pkna","half","halt","hkna","vkna","ital","lnum","onum","mgrk","calt","vrt2","tnum","pnum","sups","subs","ordn","pwid","hwid","qwid","twid","fwid","palt","trad","smpl","jp78","jp83","jp90","jp04","expt","hojo","nlck","tnam","ruby","titl","ss01","ss02","ss03","ss04","ss05","ss06","ss07","ss08","ss09","ss10","ss11","ss12","ss13","ss14","ss15","ss16","ss17","ss18","ss19","ss20","_class$1","AATMapping","ot","aat","mapFeatureStrings","typeCode","settingCode","_class$2","AATLookupTable","_proto19","glyphsForValue","classValue","_step21","_iterator21","_step22","_iterator22","_segment","AATStateMachine","_proto20","processEntry","currentState","classCode","shouldAdvance","entryIndex","traverse","visited","_this$stateTable","_step23","_iterator23","REVERSE_DIRECTION","AATMorxProcessor","processIndicRearragement","processContextualSubstitution","processLigature","processNoncontextualSubstitutions","processGlyphInsertion","inputCache","_proto21","_step24","_iterator24","_step25","_iterator25","_step26","_iterator26","processSubtable","ligatureStack","markedGlyph","markedIndex","stateMachine","getStateMachine","getProcessor","reorderGlyphs","verb","subsitutions","_lookup","_lookupTable","_this$ligatureStack","actionIndex","ligatureIndex","ligatureGlyphs","_codePoints","componentGlyph","ligatureEntry","_insertGlyphs","insertionActionIndex","isBefore","_this$glyphs","insertions","_count","_isBefore","getSupportedFeatures","_step27","_iterator27","_step28","_iterator28","generateInputs","generateInputCache","_step29","_iterator29","_step30","_iterator30","generateInputsForSubtable","_stack$pop","rangeA","rangeB","reverseA","reverseB","AATLayoutEngine","morxProcessor","fallbackPosition","_proto22","glyphRun","mapOTToAAT","getAvailableFeatures","mapAATToOT","_feature","_r","_f","stringsForGlyph","_step31","glyphStrings","_iterator31","_addStrings","strings","_step32","_iterator32","_cmapProcessor","ShapingPlan","stages","globalFeatures","allFeatures","_proto23","_addFeatures","_step33","stageIndex","stage","_iterator33","addStage","setFeatureOverrides","assignGlobalFeatures","_step34","_iterator34","processor","_step35","_iterator35","applyFeatures","VARIATION_FEATURES","COMMON_FEATURES","FRACTIONAL_FEATURES","HORIZONTAL_FEATURES","DIRECTIONAL_FEATURES","ltr","rtl","DefaultShaper","plan","_plan","planPreprocessing","planFeatures","planPostprocessing","assignFeatures","userFeatures","isDigit","trie","FEATURES","ShapingClasses","ISOL","FINA","FIN2","MEDI","MED2","INIT","STATE_TABLE","ArabicShaper","_DefaultShaper","curAction","prevAction","getShapingClass","_STATE_TABLE$state$ty","category","getCategory","GlyphIterator","_proto24","shouldIgnore","ignoreMarks","ignoreBaseGlyphs","isBase","ignoreLigatures","isLigature","peek","increment","peekIndex","DEFAULT_SCRIPTS","OTProcessor","lookups","variationsIndex","_variationProcessor","findVariationsIndex","normalizedCoords","selectScript","ligatureID","currentFeature","_proto25","findScript","_step36","_iterator36","_step37","_iterator37","changed","_step38","_iterator38","_step39","_iterator39","substituteFeature","substituteFeatureForVariations","lookupsForFeatures","exclude","_step40","_iterator40","_step41","_iterator41","lookupIndex","_step42","_iterator42","substitution","variations","conditions","variationConditionsMatch","applyLookups","glyphIterator","_step43","_iterator43","_step43$value","_step44","_iterator44","applyLookup","applyLookupList","_step45","_iterator45","lookupRecord","_step46","_iterator46","coverageIndex","_step47","_iterator47","sequence","sequenceMatches","component","sequenceMatchIndices","coverageSequenceMatches","getClassID","_step48","_iterator48","classSequenceMatches","_this6","classID","applyContext","_step49","_iterator49","_step50","_iterator50","_rule","applyChainingContext","_step51","_iterator51","_step52","_iterator52","_rule2","GlyphInfo","ligatureComponent","isLigated","cursiveAttachment","markAttachment","shaperInfo","substituted","isMultiplied","HangulShaper","_DefaultShaper2","getType","_STATE_TABLE$1$state$","STATE_TABLE$1","DECOMPOSE","hasGlyphForCodePoint","decompose","COMPOSE","compose","TONE_MARK","reorderToneMark","INVALID","insertDottedCircle","HANGUL_BASE","L_BASE","V_BASE","T_BASE","isL","isV","isT","isLV","HANGUL_END","isLVT","isTone","glyphForCodePoint","ljmo","vjmo","tjmo","lv","prevType","isCombiningL","isCombiningV","isCombiningT","del","dottedCircle","indicMachine","useData","categories","decompositions","CATEGORIES","POSITIONS","Start","Ra_To_Become_Reph","Pre_M","Pre_C","Base_C","After_Main","Above_C","Before_Sub","Below_C","After_Sub","Before_Post","Post_C","After_Post","Final_C","SMVD","End","CONSONANT_FLAGS","JOINER_FLAGS","HALANT_OR_COENG_FLAGS","INDIC_CONFIGS","Default","hasOldSpec","virama","basePos","rephPos","rephMode","blwfMode","INDIC_DECOMPOSITIONS","decompositions$1","trie$1","IndicShaper","_DefaultShaper3","setupSyllables","initialReordering","finalReordering","unicodeScript","fromOpenType","indicConfig","isOldSpec","_loop","decomposed","indicCategory","indicPosition","IndicInfo","syllableType","syllable","_step53","_iterator53","_step53$value","isConsonant","isJoiner","isHalantOrCoeng","wouldSubstitute","_step54","_iterator54","_glyph$features","_layoutEngine","GSUBProcessor","consonantPosition","consonant","nextSyllable","_glyphs$start$shaperI","_i3","hasReph","rphf","_g","_i4","seenBelow","_i5","_i6","_info2","_i7","disallowDoubleHalants","_i8","_i9","_info3","_j2","_i10","_j3","_i11","_i12","blwf","_i13","_i14","abvf","pstf","_i15","_i16","_j4","cfar","_i17","nonJoiner","_j5","tryPref","BASE_C","_i18","newPos","_i19","oldPos","newRephPos","_i20","reph","_i21","_newPos","_oldPos2","_oldPos","_tmp","categories$1","decompositions$2","trie$2","stateMachine$1","UniversalShaper","_DefaultShaper4","setupSyllables$1","clearSubstitutionFlags","recordRphf","recordPref","reorder","useCategory","USEInfo","_step55","_iterator55","_step55$value","_step56","_iterator56","_step57","_iterator57","_step58","_iterator58","nextSyllable$1","isHalant","SHAPERS","mong","phag","hang","bng2","beng","dev2","deva","gjr2","gujr","guru","gur2","knda","knd2","mlm2","mlym","ory2","orya","taml","tml2","telu","tel2","khmr","bali","batk","brah","bugi","buhd","cakm","cham","dupl","egyp","gran","hano","java","kthi","kali","khoj","sind","lepc","limb","mahj","mtei","modi","hmng","rjng","saur","shrd","sidd","sinh","sund","sylo","tglg","tagb","tale","lana","tavt","takr","tibt","tfng","tirh","latn","DFLT","_OTProcessor","_this7","_this$glyphs2","curGlyph","_index2","_index3","_step60","_iterator60","ligature","_step61","_curGlyph","_iterator61","_characters","_index4","ligatureGlyph","isMarkLigature","_step62","lastLigID","lastNumComps","curComps","_iterator62","matchIndex","GPOSProcessor","_OTProcessor2","_proto28","applyPositionValue","variationProcessor","variationStore","getDelta","nextGlyph","_step63","_iterator63","_pair","class1","class2","_nextGlyph","curRecord","nextRecord","getAnchor","rightToLeft","baseGlyphIndex","baseIndex","markRecord","baseAnchor","applyAnchor","_markIndex","_baseGlyphIndex","ligIndex","ligAttach","markGlyph","ligGlyph","compIndex","_markRecord","_baseAnchor","mark1Index","prevIndex","_cur","good","mark2Index","_markRecord2","_baseAnchor2","markCoords","markPos","anchor","fixCursiveAttachment","fixMarkAttachment","_k","OTLayoutEngine","glyphInfos","_proto29","setup","_this8","shaper","choose","_step59","_iterator59","_this9","glyphInfo","zeroMarkWidths","zeroMarkAdvances","LayoutEngine","unicodeLayoutEngine","kernProcessor","_proto30","forString","_script","getScript","_step64","_iterator64","forCodePoints","_script2","hideDefaultIgnorables","positioned","isDefaultIgnorable","plane","_step65","_iterator65","_step66","_iterator66","SVG_COMMANDS","Path","_bbox","_cbox","_proto31","toFunction","_this10","toSVG","mapPoints","_step67","_iterator67","_fn","_step68","_iterator68","_step69","p0","p2","p3","_iterator69","_c$args","_c$args2","qp1x","qp1y","p3x","p3y","_c$args3","b2ac","_i23","_class$3","_class$4","StandardNames","Glyph","_proto32","_getPath","_getCBox","_getBBox","_getTableMetrics","metric","_getMetrics","_metrics","os2","_this$_getTableMetric","leftBearing","_this$_getTableMetric2","advanceHeight","topBearing","getAdvanceAdjustment","getScaledPath","_getName","render","GlyfHeader","numberOfContours","Point","onCurve","endContour","Component","scale01","scale10","TTFGlyph","_Glyph","_proto34","internal","_getTableStream","_parseGlyphCoord","same","_decode","glyfPos","_decodeSimple","_decodeComposite","endPtsOfContours","numCoords","_getPhantomPoints","transformPoints","phantomPoints","haveInstructions","gPos","_this$_metrics","_getContours","_step70","_iterator70","_contours","contour","directory","contours","firstPt","lastPt","curvePt","pt","prevPt","midX","midY","CFFGlyph","_Glyph2","_proto35","CFF2","bias","usedGsubrs","usedSubrs","nStems","_usedGsubrs","_usedSubrs","gsubrs","gsubrsBias","privateDict","subrs","Subrs","subrsBias","vstore","vsindex","checkWidth","nominalWidthX","parseStems","subr","blendVector","getBlendVector","numOperands","v1","v2","c3x","c3y","c4x","c4y","c5x","c5y","c6x","c6y","pts","startx","starty","SBIXImage","originX","originY","buflen","SBIXGlyph","_TTFGlyph","_proto36","getImageForSize","img","renderOutlines","COLRLayer","COLRGlyph","_Glyph3","_proto37","layers","_step71","_iterator71","_step71$value","cpal","colr","rec","baseLayer","_getBaseGlyph","GlyphVariationProcessor","normalizeCoords","blendVectors","_proto38","normalized","glyphPoints","tupleCount","sharedPoints","decodePoints","origPoints","tupleDataSize","tupleCoords","startCoords","_a","endCoords","_a2","tupleFactor","nPoints","xDeltas","decodeDeltas","yDeltas","outPoints","hasDelta","interpolateMissingDeltas","deltaX","deltaY","runCount","inPoints","firstPoint","firstDelta","curDelta","deltaInterpolate","deltaShift","ref1","ref2","in1","in2","out1","out2","_p","_table$advanceWidthMa","itemStore","varData","deltaSet","netAdjustment","master","scalar","regionIndex","axes","resolved","Subset","_proto39","_this11","Point$1","Glyf","xPoints","yPoints","TTFGlyphEncoder","_proto40","encodeSimple","lastX","lastY","lastFlag","pointCount","_encodePoint","shortFlag","sameFlag","TTFSubset","_Subset","_this12","glyphEncoder","_proto41","_addGlyph","curOffset","nextOffset","_step72","_iterator72","CFFSubset","_Subset2","_this13","_proto42","subsetCharstrings","charstrings","_step73","_iterator73","subsetSubrs","subsetFontdict","_step74","used_fds","used_subrs","fd_select","_iterator74","createCIDFontdict","_step75","_iterator75","addString","_i24","_arr2","CIDCount","TTFFont","variationCoords","_directoryPos","_tables","_glyphs","_decodeDirectory","_getTable","_proto43","_decodeTable","logErrors","getName","getVariation","settings","namedVariations","_step76","_iterator76","default","_step77","_iterator77","WOFFDirectoryEntry","compLength","origChecksum","WOFFDirectory","flavor","totalSfntSize","metaOffset","metaLength","metaOrigLength","privOffset","privLength","_step78","_iterator78","WOFFFont","_TTFFont","_proto44","outBuffer","WOFF2Glyph","_TTFGlyph2","_proto45","_transformedGlyphs","Base128","knownTags","WOFF2DirectoryEntry","customTag","transformVersion","transformed","transformLength","WOFF2Directory","totalCompressedSize","WOFF2Font","_TTFFont2","_proto46","_dataPos","_decompress","_decompressed","decompressedSize","decompressed","_transformGlyfTable","GlyfTable","nContours","totalPoints","read255UInt16","decodeTriplet","composites","Substream","_buf","indexFormat","nContourStreamSize","nPointsStreamSize","flagStreamSize","glyphStreamSize","compositeStreamSize","bboxStreamSize","instructionStreamSize","bboxes","LOWEST_U_CODE","withSign","baseval","b0","TTCHeader","numFonts","dsigTag","dsigLength","dsigOffset","TrueTypeCollection","_step79","_iterator79","_step80","_iterator80","DFontName","Ref","nameOffset","dataOffset","handle","maxTypeIndex","refList","TypeList","DFontMap","typeList","nameListOffset","DFontHeader","dataLength","mapLength","DFont","_step82","_iterator82","_step83","_iterator83","sfnt","_step81","_iterator81","_step84","_iterator84","_step85","_iterator85","_require","_require2","classTrie","mapClass","mapFirst","Break","curClass","nextClass","LB8a","LB21a","LB30a","nextCodePoint","nextCharClass","getSimpleBreak","getPairTableBreak","lastClass","shouldBreak","firstClass","config","localStorage","deprecated","isArgumentsObject","whichTypedArray","BigIntSupported","SymbolSupported","ObjectToString","numberValue","stringValue","booleanValue","bigIntValue","symbolValue","checkBoxedPrimitive","prototypeValueOf","isMapToString","isSetToString","isWeakMapToString","isWeakSetToString","isArrayBufferToString","working","isDataViewToString","isDataView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isBigInt64Array","isBigUint64Array","isWeakMap","isWeakSet","SharedArrayBufferCopy","isSharedArrayBufferToString","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","descriptors","formatRegExp","objects","isNull","noDeprecation","throwDeprecation","traceDeprecation","debugs","debugEnvRegex","NODE_DEBUG","debugEnv","seen","stylize","stylizeNoColor","isBoolean","_extend","isUndefined","stylizeWithColor","formatValue","styleType","primitive","formatPrimitive","isNumber","visibleKeys","arrayToHash","isError","formatError","braces","toUTCString","formatArray","formatProperty","reduceToSingleString","numLinesEst","pid","isNullOrUndefined","isPrimitive","kCustomPromisifiedSymbol","callbackifyOnRejected","newReason","promisify","original","promiseReject","callbackify","callbackified","maybeCb","rej","foundName","xmldocAssumeBrowser","XmlElement","delegates","firstChild","lastChild","XmlTextNode","XmlCDataNode","XmlCommentNode","XmlDocument","addParserEvents","onopentag","parser_opentag","onclosetag","parser_closetag","ontext","parser_text","oncdata","parser_cdata","oncomment","parser_comment","ondoctype","parser_doctype","parser_error","_addChild","_opentag","_closetag","_cdata","_comment","eachChild","childNamed","childrenNamed","childWithAttribute","descendantsNamed","descendantWithPath","descendant","valueWithPath","toStringWithIndent","linebreak","compressed","preserveWhitespace","escapeXML","childIndent","formatText","_doctype","finalText","trimmed","URLBrowserResolver","resolving","headers","existsSync","xhr","headerName","setRequestHeader","onreadystatechange","readyState","ontimeout","fetchUrl","writeFileSync","defaultClientFonts","Roboto","bolditalics","Document","docDefinition","tableLayouts","vfs","_createDoc","getExtendedUrl","printer","createPdfKitDocument","urlResolver","images","_flushDoc","_pdfMakePages","_getPages","ignoreBuffer","_bufferToBlob","blob","_openWindow","win","_openPdf","getBlob","pdfUrl","autoPrint","print","defaultFileName","getBase64","getDataUrl","getStream","createPdf","canCreatePdf","pdfMake","VirtualFileSystem","fileSystem","dataSystem","fixFilename","dataContent","bindFS","isAutoColumn","isStarColumn","buildColumnWidths","availableWidth","autoColumns","autoMin","autoMax","starColumns","starMaxMin","starMaxMax","fixedColumns","initial_availableWidth","_minWidth","_maxWidth","elasticWidth","_calcWidth","minW","maxW","starSize","measureMinMax","maxStar","starCount","TextTools","StyleContextStack","ColumnCalculator","fontStringify","getNodeId","qrEncoder","DocMeasure","fontProvider","styleDictionary","defaultStyle","imageMeasure","svgMeasure","textTools","styleStack","autoImageIndex","measureDocument","docStructure","measureNode","auto","_margin","getNodeMargin","processSingleMargins","currentMargin","marginLeft","marginTop","marginRight","marginBottom","flattenStyleArray","styleArray","flattenedStyles","styleName","convertMargin","flattenedStyleArray","extendMargins","measureColumns","measureVerticalContainer","ul","measureUnorderedList","ol","measureOrderedList","measureTable","measureLeaf","toc","measureToc","measureImage","measureSVG","canvas","measureCanvas","qr","measureQr","convertIfBase64Image","measureImageWithDimensions","_width","_height","maxWidth","maxHeight","minWidth","minHeight","_alignment","getProperty","writeDimensions","_textRef","_textNodeRef","buildInlines","_inlines","textStyle","numberStyle","textMargin","lineStyle","tocStyle","lineMargin","tocMargin","lineNumberStyle","tocNumberStyle","_nodeRef","linkToDestination","alignment","_tocItemRef","_table","dontBreakRows","gapSizeForList","sizeOfString","buildUnorderedMarker","gapSize","buildCircle","lineColor","buildSquare","buildDisc","_minHeight","_maxHeight","buildOrderedMarker","prepareAlpha","toAlpha","prepareRoman","CD","XC","XL","IX","roman","counterText","prepareDecimal","textArray","markerColor","_gapSize","listMarker","reversed","counterValue","_gap","measures","numGaps","extendTableWidths","_layout","getLayout","hLineWidth","vLineWidth","hLineColor","vLineColor","hLineStyle","vLineStyle","paddingLeft","paddingRight","paddingTop","paddingBottom","defaultBorder","getOffsets","totalOffset","prevRightPadding","lOffset","cols","rows","colSpans","rowData","_span","measureCb","colSpan","markSpans","span","rowSpan","markVSpans","extendWidthsForColSpans","currentMinMax","getMinMax","minDifference","maxDifference","vector","measure","DocPreprocessor","preprocessDocument","tocs","nodeReferences","preprocessNode","preprocessColumns","preprocessVerticalContainer","preprocessList","preprocessTable","preprocessText","preprocessToc","preprocessImage","preprocessSVG","preprocessCanvas","preprocessQr","pageReference","textReference","tocItem","tocItemId","_pseudo","tocItemRef","_getNodeForNodeRef","_pageRef","isSetParentNode","TraversalTracker","DocumentContext","pageSize","pageMargins","availableHeight","snapshots","endingCell","tracker","backgroundLength","beginColumnGroup","bottomMost","lastColumnWidth","beginColumn","saved","calculateBottomMost","destContext","saveContextInEndingCell","bottomMostContext","markEnding","_columnEndingContext","completeColumnGroup","addMargin","initializePage","getCurrentPage","pageSnapshot","moveToRelative","beginDetachedBlock","endDetachedBlock","getPageSize","currentPage","newPageOrientation","pageOrientation","pageOrientationString","currentPageOrientation","orientation","moveToNextPage","nextPageIndex","prevPage","prevY","createNewPage","currentAvailableWidth","newPageCreated","getCurrentPosition","innerHeight","innerWidth","pageNumber","pageInnerHeight","pageInnerWidth","verticalRatio","horizontalRatio","Line","offsetVector","ElementWriter","contextStack","addPageItem","addLine","dontUpdateContextPosition","getHeight","getCurrentPositionOnPage","alignLine","getWidth","inlines","newLineForced","lastLineInParagraph","additionalSpacing","justifyShift","addImage","absolutePosition","alignImage","addSVG","addQr","_canvas","addVector","imageWidth","alignCanvas","canvasWidth","ignoreContextX","ignoreContextY","beginClip","endClip","addFragment","useBlockXOffset","useBlockYOffset","cloneLine","_node","pushContext","contextOrWidth","popContext","FontProvider","fontDescriptors","pdfKitDoc","fontCache","fontDef","getFontType","typeName","getFontFile","familyName","provideFont","def","variable","nodeId","isPattern","getPattern","ImageMeasure","imageDictionary","realImageSrc","PageElementWriter","TableProcessor","addAll","otherArray","LayoutBuilder","registerTableLayouts","layoutDocument","background","footer","watermark","pageBreakBeforeFct","addPageBreaksIfNecessary","linearNodeList","nodeInfo","startPosition","pageNumbers","pageBreak","pageBreakCalculated","followingNodesOnPage","nodesOnNextPage","previousNodesOnPage","ii","resetXYs","resetXY","docPreprocessor","docMeasure","tryLayoutDocument","writer","startTracking","addBackground","processNode","addHeadersAndFooters","addWatermark","backgroundGetter","pageBackground","beginUnbreakableBlock","commitUnbreakableBlock","addStaticRepeatable","headerOrFooter","sizeFunction","addDynamicRepeatable","nodeGetter","pageIndex","headerSizeFct","footerSizeFct","getWatermarkFontSize","rotatedSize","styleContextStack","sizeOfRotatedText","watermarkObject","getWatermarkSize","decorateNode","applyMargins","unbreakable","absPosition","relPosition","relativePosition","processVerticalContainer","processColumns","processList","processTable","processLeaf","processToc","processImage","processSVG","processCanvas","processQr","columnNode","gaps","gapArray","processRow","tableBody","tableRow","pageBreaks","storePageBreakData","pageDesc","colLeftOffset","getEndingCell","columnIndex","endingRow","orderedList","nextMarker","addMarkerToFirstLeaf","markerLine","addInline","getAscenderHeight","tableNode","beginTable","rowHeights","heights","beginRow","endRow","endTable","buildNextLine","currentHeight","_pageNodeRef","cloneInline","inline","newInline","isForceContinue","hasEnoughSpaceForInline","isHardWrap","noWrap","getAvailableWidth","widthPerChar","maxChars","noNewLine","leadingCut","trailingCut","inlineWidths","nextInlines","inlineWidth","inlineTrailingCut","nextInline","lineEnd","transactionLevel","repeatables","fitOnPage","addFct","fragment","nextPage","rep","insertedOnPages","originalX","forcedX","forcedY","unbreakableContext","nbPages","currentBlockToRepeatable","pushToRepeatables","popFromRepeatables","PdfKit","getEngineInstance","createPdfDocument","PdfKitEngine","SVGMeasure","textDecorator","PdfPrinter","createMetadata","standardizePropertyKey","standardizedKey","fixPageMargins","updatePageOrientationInOptions","previousPageOrientation","offsetText","renderLine","preparePageNodeRefLine","newWidth","diffWidth","drawBackground","shiftToBaseline","shiftedY","linkToPage","drawDecorations","renderWatermark","renderVector","gradient","pn","renderImage","renderSVG","fontsFamily","requiredFonts","requiredFont","findFont","fixPageSize","isNeedSwapPageSizes","pageSize2widthAndHeight","pdfOptions","builder","registerDefaultTableLayouts","layoutBuilder","noBorders","headerLineOnly","headerRows","lightHorizontalLines","pageBreakBefore","maxNumberPages","maxPagesNumber","pageHeight","calculatePageHeight","getItemHeight","getBottomPosition","fixedMargins","bottomPosition","createPatterns","patternDefinitions","boundingBox","colored","renderPages","progressCallback","totalItems","renderedItems","il","printActionRef","OpenAction","VERSIONS","NUMERIC_REGEXP","ALPHANUMERIC_REGEXP","ALPHANUMERIC_OUT_REGEXP","GF256_MAP","GF256_INVMAP","GF256_GENPOLY","prevpoly","poly","ALPHANUMERIC_MAP","MASKFUNCS","needsverinfo","ver","ndatabits","ecclevel","nfullbits","ndatalenbits","getmaxdatalen","calculateecc","genpoly","modulus","polylen","genpolylen","quotient","augumentbch","maskdata","maskf","putformatinfo","evaluatematrix","evaluategroup","score","nblacks","nextrow","generate","maxbuflen","datalen","nlenbits","nblocks","subsizes","subsize","subsize0","pivot","eccs","nitemsperblock","augumenteccs","getsizebyver","blit","aligns","maxj","makebasematrix","jj","putdata","bestmask","bestscore","generateFrame","MODES","ECCLEVELS","eccLevel","newdata","validatedata","cd","buildCanvas","foreground","modSize","styleOverrides","styleNameOrOverride","howMany","autopush","styleNames","styleOverrideObject","pushStyleOverrideObject","pushedItems","xmldoc","stripUnits","textVal","parseSVG","svgString","docWidth","docHeight","viewBoxParts","tableWidth","getTableInnerContentWidth","rowSpanData","prepareRowSpanData","rsd","lastWidth","cleanUpRepeatables","rowsWithoutPageBreak","keepWithHeaderRows","prepareCellBorders","rowIndex","colIndex","cell","border","rowOffset","setBorder","colOffset","borderIndex","borderValue","drawHorizontalLine","onRowBreak","rowPaddingTop","topLineWidth","reservedAtBottom","bottomLineWidth","rowPaddingBottom","rowCallback","rowTopY","lineIndex","overrideY","cellAbove","currentCell","rowCellAbove","currentLine","shouldDrawLine","topBorder","bottomBorder","rowBottomBorder","_rowSpanCurrentOffset","colSpanIndex","drawVerticalLine","vLineColIndex","vLineRowIndex","beforeVLineColIndex","cellBefore","rowCellBeforeAbove","rowCurrentCellAbove","stopTracking","endingPage","endingY","getLineXs","_colSpan","ys","hasBreaks","yi","yl","willBreak","rowBreakWithoutHeader","hzLineOffset","leftCellBorder","rightCellBorder","overlayPattern","overlayOpacity","widthRightBorder","widthLeftBorder","x1f","y1f","bgWidth","bgHeight","hLineWhenBroken","headerRepeatable","drawDecoration","firstInline","biggerInline","maxInline","totalWidth","lineAscent","lw","decoration","decorationStyle","decorationColor","nbDashes","rdx","nbDots","sh","nbWaves","rwx","iii","groupDecorations","currentGroup","ll","decorationItem","LEADING","TRAILING","splitWords","copyStyle","normalizeString","getStyleProperty","currentLineWidth","measured","normalizeTextArray","getOneWord","tmpWords","lastWord","leadingIndent","fontName","preserveLeadingSpaces","preserveTrailingSpaces","leadingSpaces","trailingSpaces","getTrimmedWidth","angleRad","callbacks","innerFunction","possibleNames","$c5L0i$base64js","$c5L0i$unicodetrie","$parcel$interopDefault","__esModule","$parcel$export","$parcel$defineInteropFlag","$43d7963e56408b24$export$410364bbb673ddbc","$43d7963e56408b24$export$c03b919c6651ed55","$43d7963e56408b24$export$941569448d136665","$43d7963e56408b24$export$92f6187db8ca6d26","$43d7963e56408b24$export$7d1258ebb7625a0d","$43d7963e56408b24$export$52c8ea63abd07594","$43d7963e56408b24$export$727d9dbc4fbb948f","$43d7963e56408b24$export$a5b49f4dc6a07d2c","$43d7963e56408b24$export$7b6804e8df61fcf5","$43d7963e56408b24$export$aebd617640818cda","$43d7963e56408b24$export$de8b4ee23b2cf823","$43d7963e56408b24$export$3c52dd84024ae72c","$43d7963e56408b24$export$a11bdcffe109e74b","$43d7963e56408b24$export$e33ad6871e762338","$43d7963e56408b24$export$2e2bcd8739ae039","$29668e65f2091c2c$exports","$43d7963e56408b24$var$trie","$43d7963e56408b24$var$log2","log2","$43d7963e56408b24$var$bits","$43d7963e56408b24$var$CATEGORY_BITS","$43d7963e56408b24$var$COMBINING_BITS","combiningClasses","$43d7963e56408b24$var$SCRIPT_BITS","scripts","$43d7963e56408b24$var$EAW_BITS","eaw","$43d7963e56408b24$var$CATEGORY_SHIFT","$43d7963e56408b24$var$COMBINING_SHIFT","$43d7963e56408b24$var$SCRIPT_SHIFT","$43d7963e56408b24$var$CATEGORY_MASK","$43d7963e56408b24$var$COMBINING_MASK","$43d7963e56408b24$var$SCRIPT_MASK","$43d7963e56408b24$var$EAW_MASK","getEastAsianWidth","getNumericValue","isAlphabetic","isPunctuation","isLowerCase","isUpperCase","isTitleCase","isWhiteSpace","isBaseForm","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","nmd","paths"],"sourceRoot":""}
\ No newline at end of file
diff --git a/src/backoffice/templates/backoffice/activitylog_card.html b/src/backoffice/templates/backoffice/activitylog_card.html
index c3309797c96c3afb8c2db3a8898ee7854f775bcf..7e4d50eb530ae406f07ac6a45ea900fc9148eae8 100644
--- a/src/backoffice/templates/backoffice/activitylog_card.html
+++ b/src/backoffice/templates/backoffice/activitylog_card.html
@@ -112,7 +112,7 @@
   </div>
 {% endif %}
 
-<script>
+<script nonce="{{ request.csp_nonce }}">
   alc_div = document.getElementById("logentries_{{ alc_ident }}");
   // make "visible log entries" selector visible and click the "w/ msg only" one
   document.getElementById("visible_logentries_{{ alc_ident }}").classList.remove("d-none");
diff --git a/src/backoffice/templates/backoffice/assembly_event.html b/src/backoffice/templates/backoffice/assembly_event.html
index fba3d006bf81fa6905b6c6f1773281b663b4d6c5..ccbd41d97aa9e85622f25b3c3795ed276a0cb7d4 100644
--- a/src/backoffice/templates/backoffice/assembly_event.html
+++ b/src/backoffice/templates/backoffice/assembly_event.html
@@ -12,7 +12,7 @@
 {% endblock title %}
 {% block scripts %}
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
     publishEvent = document.getElementById('publishEvent');
diff --git a/src/backoffice/templates/backoffice/assembly_events.html b/src/backoffice/templates/backoffice/assembly_events.html
index 3229cb926bff88470fcbdd91d14cf664501a2857..103bc5842fa9e2758e58608f80f834da2dea67d7 100644
--- a/src/backoffice/templates/backoffice/assembly_events.html
+++ b/src/backoffice/templates/backoffice/assembly_events.html
@@ -13,7 +13,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#events').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/assembly_list.html b/src/backoffice/templates/backoffice/assembly_list.html
index 7943e7a39b4de0cc50a14c290fb1547cc68f5348..6afad8c85879faf8b4417388d0b13798eaf9d620 100644
--- a/src/backoffice/templates/backoffice/assembly_list.html
+++ b/src/backoffice/templates/backoffice/assembly_list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#assemblies').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html b/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html
index 3bae576a72a4731999699b70a438e9b72ea9cb52..4fdf7557963eee192fb6ded04449e4c5c8a6b738 100644
--- a/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html
+++ b/src/backoffice/templates/backoffice/assembly_room_wa_linterblock.html
@@ -43,7 +43,7 @@
   <script src="{% static 'vendor/d3/d3.js' %}"></script>
   <script src="{% static 'vendor/d3/d3-graphviz.js' %}"></script>
   <div id="exitgraph"></div>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
  d3.select("#exitgraph")
    .graphviz()
    .dot("{{ wa_linter.exitGraph | escapejs }}")
diff --git a/src/backoffice/templates/backoffice/conferences/publication_edit.html b/src/backoffice/templates/backoffice/conferences/publication_edit.html
index 6675e1e67892a7e2de09b1a73beb557c16906ac4..3587660002367888d1b2afb96090fa3097ca5972 100644
--- a/src/backoffice/templates/backoffice/conferences/publication_edit.html
+++ b/src/backoffice/templates/backoffice/conferences/publication_edit.html
@@ -11,7 +11,7 @@
 {% endblock title %}
 {% block scripts %}
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
     publishConference = document.getElementById('publishConference');
diff --git a/src/backoffice/templates/backoffice/conferences/registration_edit.html b/src/backoffice/templates/backoffice/conferences/registration_edit.html
index 0fd704f437c4d226339bfc53b95ce7147c717a66..9b3c5aa49164246697b123f2c418bc40b85b79e2 100644
--- a/src/backoffice/templates/backoffice/conferences/registration_edit.html
+++ b/src/backoffice/templates/backoffice/conferences/registration_edit.html
@@ -11,7 +11,7 @@
 {% endblock title %}
 {% block scripts %}
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
     publishConference = document.getElementById('publishConference');
diff --git a/src/backoffice/templates/backoffice/event/list.html b/src/backoffice/templates/backoffice/event/list.html
index 4ce972dd2a88167b0c6702e29f6dd85a13164306..14df4bad69f24ae365fffc5f8d2ad3f9b503e1ae 100644
--- a/src/backoffice/templates/backoffice/event/list.html
+++ b/src/backoffice/templates/backoffice/event/list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>{% include "backoffice/event/components/list_script.js" %}</script>
+  <script nonce="{{ request.csp_nonce }}">{% include "backoffice/event/components/list_script.js" %}</script>
 {% endblock scripts %}
 
 {% block content %}
diff --git a/src/backoffice/templates/backoffice/map_floor_list.html b/src/backoffice/templates/backoffice/map_floor_list.html
index 3fb085ee97647215022f7c5af285caf9e2c61469..53f15955a650b79cca8080be88cdc6f9f88f74f5 100644
--- a/src/backoffice/templates/backoffice/map_floor_list.html
+++ b/src/backoffice/templates/backoffice/map_floor_list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#pois').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/map_poi_list.html b/src/backoffice/templates/backoffice/map_poi_list.html
index fe3088da3deb1b0b102509f7ad3fbef025873e13..f8560e6f19a613452cbdafa141a28d52ad1e54c5 100644
--- a/src/backoffice/templates/backoffice/map_poi_list.html
+++ b/src/backoffice/templates/backoffice/map_poi_list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#pois').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/moderation_assembly-list.html b/src/backoffice/templates/backoffice/moderation_assembly-list.html
index 20bc65dbb3f4be0aa311211c333c40a9f313df0d..909e2c49cad869c6f6689e6bc69b642fed11dbb2 100644
--- a/src/backoffice/templates/backoffice/moderation_assembly-list.html
+++ b/src/backoffice/templates/backoffice/moderation_assembly-list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#assemblies').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/moderation_badge-list.html b/src/backoffice/templates/backoffice/moderation_badge-list.html
index 170d5823fd427129924c53b350f24e80ff9c7ced..7ee761343e715fea4a83514b47cc329ac516495d 100644
--- a/src/backoffice/templates/backoffice/moderation_badge-list.html
+++ b/src/backoffice/templates/backoffice/moderation_badge-list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#badges').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/moderation_base.html b/src/backoffice/templates/backoffice/moderation_base.html
index ac969027df52930179b5d0e569b1ba77170a7eb1..549b8a105a3f5404bd07e1016911aad768dafa74 100644
--- a/src/backoffice/templates/backoffice/moderation_base.html
+++ b/src/backoffice/templates/backoffice/moderation_base.html
@@ -4,7 +4,7 @@
 
 {% block scripts %}
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
 
diff --git a/src/backoffice/templates/backoffice/moderation_board-list.html b/src/backoffice/templates/backoffice/moderation_board-list.html
index 986750ecfd8902e09ae3ed92926b7aa0f04195b3..f8ea68958f413619b8a38c40da4114cb0f4bdb15 100644
--- a/src/backoffice/templates/backoffice/moderation_board-list.html
+++ b/src/backoffice/templates/backoffice/moderation_board-list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#entries').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/moderation_user-list.html b/src/backoffice/templates/backoffice/moderation_user-list.html
index 8d82c41fe65f8f14334dfd8c4ac331d6a7de16e0..2f935964662994a9081a526bb8b34a33bc101b44 100644
--- a/src/backoffice/templates/backoffice/moderation_user-list.html
+++ b/src/backoffice/templates/backoffice/moderation_user-list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#users').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/moderation_wiki-list.html b/src/backoffice/templates/backoffice/moderation_wiki-list.html
index d30fe275b7292ae9de26998a11da38934842b518..30252e582e50aee53ac38d69e6cb024219c7187b 100644
--- a/src/backoffice/templates/backoffice/moderation_wiki-list.html
+++ b/src/backoffice/templates/backoffice/moderation_wiki-list.html
@@ -10,7 +10,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#pages').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/project/create_edit.html b/src/backoffice/templates/backoffice/project/create_edit.html
index aa15146a2fd030336298fb1aac4041b080c43c49..f88aa7700b87ca8af0de19d4b2484f9645cc2641 100644
--- a/src/backoffice/templates/backoffice/project/create_edit.html
+++ b/src/backoffice/templates/backoffice/project/create_edit.html
@@ -13,7 +13,7 @@
 {% block scripts %}
   <script src="{% static "backoffice/form-add.js" %}"></script>
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
     publishProject = document.getElementById('publishProject');
diff --git a/src/backoffice/templates/backoffice/project/list.html b/src/backoffice/templates/backoffice/project/list.html
index 72ecd1ad12fbfab3bd05953034bcd806d8a89034..868c9b2f7b0e5fde9ecf2e411f2a6220a3b27649 100644
--- a/src/backoffice/templates/backoffice/project/list.html
+++ b/src/backoffice/templates/backoffice/project/list.html
@@ -16,7 +16,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>{% include "backoffice/project/components/list_script.js" %}</script>
+  <script nonce="{{ request.csp_nonce }}">{% include "backoffice/project/components/list_script.js" %}</script>
 {% endblock scripts %}
 
 {% block content %}
diff --git a/src/backoffice/templates/backoffice/sos.html b/src/backoffice/templates/backoffice/sos.html
index ca441a001aff5b8ce866161cf98ec24455a6380e..1dcb9f2c312162083fa8d6f5e7d2f3d5dae4b686 100644
--- a/src/backoffice/templates/backoffice/sos.html
+++ b/src/backoffice/templates/backoffice/sos.html
@@ -13,8 +13,8 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>{% include "backoffice/event/components/list_script.js" %}</script>
-  <script>{% include "backoffice/project/components/list_script.js" %}</script>
+  <script nonce="{{ request.csp_nonce }}">{% include "backoffice/event/components/list_script.js" %}</script>
+  <script nonce="{{ request.csp_nonce }}">{% include "backoffice/project/components/list_script.js" %}</script>
 {% endblock scripts %}
 
 {% block content %}
diff --git a/src/backoffice/templates/backoffice/sos_create_edit.html b/src/backoffice/templates/backoffice/sos_create_edit.html
index 2669294582d8655faa6dc029aad71053ce63c879..33d7a9d3ceed74841ee479251ed492681870590a 100644
--- a/src/backoffice/templates/backoffice/sos_create_edit.html
+++ b/src/backoffice/templates/backoffice/sos_create_edit.html
@@ -12,7 +12,7 @@
 {% endblock title %}
 {% block scripts %}
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
     publishEvent = document.getElementById('publishEvent');
diff --git a/src/backoffice/templates/backoffice/wa-map-detail.html b/src/backoffice/templates/backoffice/wa-map-detail.html
index add7aac05150983fa5db5d698c6eac71899f0caa..741acf21494e2c50f6849370fc8f268b6ad239d9 100644
--- a/src/backoffice/templates/backoffice/wa-map-detail.html
+++ b/src/backoffice/templates/backoffice/wa-map-detail.html
@@ -3,7 +3,7 @@
 {% load i18n %}
 
 {% block scripts %}
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
 $(function() {
   function changeEdit(id) {
     $(id).attr('disabled', function(i, v) { return !v; });
diff --git a/src/backoffice/templates/backoffice/wa-map-list.html b/src/backoffice/templates/backoffice/wa-map-list.html
index 2d7a0f159b67babec8df3a4f6e6b117665b98bb1..95e2c94eefdbdad812151fcc6376231d2ad66bf9 100644
--- a/src/backoffice/templates/backoffice/wa-map-list.html
+++ b/src/backoffice/templates/backoffice/wa-map-list.html
@@ -9,7 +9,7 @@
 
 {% block scripts %}
   <script src="{% static 'vendor/datatables/datatables.min.js' %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
       $(document).ready(function() {
           $('#wa-maps').DataTable({
             pageLength: 100,
diff --git a/src/backoffice/templates/backoffice/wiki_lock_list.html b/src/backoffice/templates/backoffice/wiki_lock_list.html
index 2d0213a6cf4af94a3cf48357de097bc7285d3cae..0b04fd024bbec54e5e260aa49065692d7145febf 100644
--- a/src/backoffice/templates/backoffice/wiki_lock_list.html
+++ b/src/backoffice/templates/backoffice/wiki_lock_list.html
@@ -5,7 +5,7 @@
 
 {% block scripts %}
   <script src="{% static "backoffice/modal.js" %}"></script>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
   $(document).ready(() => {
     showModal = registerModal()
 
diff --git a/src/core/templates/core/map.html b/src/core/templates/core/map.html
index 5f038ccef24a2c7c3ef8dd29cdde6ab248d39847..8b976f4f8a5247c74024a93fae0b92080490f931 100644
--- a/src/core/templates/core/map.html
+++ b/src/core/templates/core/map.html
@@ -7,7 +7,7 @@
     <div id="{{ mapid }}" style="width: 100%; min-height: 35em;"></div>
   </div>
   {% with mapstyleid=mapid|add:"_style" %}{{ map_config.style|json_script:mapstyleid }}{% endwith %}
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
     window.addEventListener("load", function () {
       const initial_floor_idx = {% if floor_id %}document.getElementById('{{ floor_id }}').value{% else %}null{% endif %};
 
diff --git a/src/core/templates/oauth2_provider/out-of-band-display-token.html b/src/core/templates/oauth2_provider/out-of-band-display-token.html
index 69075acc857a6c258a4451675445fc17543bcccc..c728f6a8fcbb354912efa544df514d0df7bd7601 100644
--- a/src/core/templates/oauth2_provider/out-of-band-display-token.html
+++ b/src/core/templates/oauth2_provider/out-of-band-display-token.html
@@ -27,7 +27,7 @@
             #token { font-family: monospace; }
             .hidden { display: none; }
     </style>
-    <script>
+    <script nonce="{{ request.csp_nonce }}">
             document.addEventListener("DOMContentLoaded", function(){
                 document.querySelector('#token').innerHTML = new URLSearchParams(window.location.hash.slice(1)).get("access_token");
 
diff --git a/src/hub/settings/base.py b/src/hub/settings/base.py
index 1c4d6482e7febf1f186368b549712a29e4884c34..234f57d16e5d2cf402ba2e5f4b67d362acb3ed6f 100644
--- a/src/hub/settings/base.py
+++ b/src/hub/settings/base.py
@@ -123,6 +123,19 @@ env = environ.FileAwareEnv(
     API_USERS=(list, []),
     DISABLE_REQUEST_LOGGING=(bool, False),
     MOLLY_GUARD=(bool, True),
+    CSP_DEFAULT_SRC=(list, ["'self'"]),
+    CSP_SCRIPT_SRC=(list, ["'self'"]),
+    CSP_STYLE_SRC=(list, ["'self'", "'unsafe-inline'"]),
+    CSP_IMG_SRC=(list, ["'self'", 'data:']),
+    CSP_CONNECT_SRC=(list, ["'self'"]),
+    CSP_FONT_SRC=(list, ["'self'"]),
+    CSP_OBJECT_SRC=(list, ["'none'"]),
+    CSP_FRAME_SRC=(list, ["'none'"]),
+    CSP_MEDIA_SRC=(list, ["'self'"]),
+    CSP_FRAME_ANCESTORS=(list, ["'none'"]),
+    CSP_FORM_ACTION=(list, ["'self'"]),
+    CSP_BASE_URI=(list, ["'self'"]),
+    CSP_INCLUDE_NONCE_IN=(list, ['script-src']),
 )
 
 
@@ -195,6 +208,7 @@ INSTALLED_APPS = [
     'rest_framework',
     'rest_framework.authtoken',
     'django_rich',
+    'csp',
     'rules',
     # our apps
     'core',
@@ -211,6 +225,7 @@ MIDDLEWARE = [
     'django.middleware.csrf.CsrfViewMiddleware',
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
+    'csp.middleware.CSPMiddleware',
     'core.middleware.TimezoneMiddleware',
     # TODO drüber nachdenken ob wir die brauchen (ist default an in Django)
     # 'django.middleware.clickjacking.XFrameOptionsMiddleware',  # noqa: ERA001
@@ -229,6 +244,7 @@ TEMPLATES = [
                 'django.contrib.auth.context_processors.auth',
                 'django.contrib.messages.context_processors.messages',
                 'django.template.context_processors.i18n',
+                'csp.context_processors.nonce',
             ],
         },
     },
@@ -293,6 +309,21 @@ CSRF_COOKIE_NAME = env('CSRF_COOKIE_NAME', default=SESSION_COOKIE_NAME.replace('
 CSRF_COOKIE_PATH = SESSION_COOKIE_PATH
 CSRF_COOKIE_SECURE = SESSION_COOKIE_SECURE
 
+# Content Security Policy
+CSP_DEFAULT_SRC = env('CSP_DEFAULT_SRC')
+CSP_SCRIPT_SRC = env('CSP_SCRIPT_SRC')
+CSP_STYLE_SRC = env('CSP_STYLE_SRC')
+CSP_IMG_SRC = env('CSP_IMG_SRC')
+CSP_CONNECT_SRC = env('CSP_CONNECT_SRC')
+CSP_FONT_SRC = env('CSP_FONT_SRC')
+CSP_OBJECT_SRC = env('CSP_OBJECT_SRC')
+CSP_FRAME_SRC = env('CSP_FRAME_SRC')
+CSP_MEDIA_SRC = env('CSP_MEDIA_SRC')
+CSP_FRAME_ANCESTORS = env('CSP_FRAME_ANCESTORS')
+CSP_FORM_ACTION = env('CSP_FORM_ACTION')
+CSP_BASE_URI = env('CSP_BASE_URI')
+CSP_INCLUDE_NONCE_IN = env('CSP_INCLUDE_NONCE_IN')
+
 # OAuth2 configuration
 OAUTH2_PROVIDER_APPLICATION_MODEL = 'core.Application'
 OAUTH2_PROVIDER = {
diff --git a/src/hub/settings/default.py b/src/hub/settings/default.py
index f7c1ee2ba33cd603c778d9cf26a0ce3034a4f5ed..086f23d434f2fbd5ce55c3f4b7c17807b4619b62 100644
--- a/src/hub/settings/default.py
+++ b/src/hub/settings/default.py
@@ -138,6 +138,7 @@ if IS_FRONTEND:
                     'django.template.context_processors.request',
                     'django.contrib.auth.context_processors.auth',
                     'django.contrib.messages.context_processors.messages',
+                    'csp.context_processors.nonce',
                 ],
                 'environment': 'plainui.jinja2.environment',
             },
diff --git a/src/plainui/jinja2/plainui/base.html.j2 b/src/plainui/jinja2/plainui/base.html.j2
index 558c1e1c42b67781579891b6b51dc63de4451a1a..4396c237f011b400c15825cdc3cc8144ff13c585 100644
--- a/src/plainui/jinja2/plainui/base.html.j2
+++ b/src/plainui/jinja2/plainui/base.html.j2
@@ -25,7 +25,7 @@
     <script src="{{ static('vendor/map/leaflet.js') }}"></script>
     <link href="{{ static('vendor/map/leaflet.draw.css') }}" rel='stylesheet' />
     <script src="{{ static('vendor/map/leaflet.draw.js') }}"></script>
-    <script>
+    <script nonce="{{request.csp_nonce}}">
             document.addEventListener('DOMContentLoaded', (e) => {
                 document.querySelector('html').classList.remove('no-js');
                 document.querySelector('html').classList.add('js');
@@ -121,7 +121,7 @@
   </body>
   <script async
           src="{{ static('plainui/vendor/bootstrap5/bootstrap.bundle.min.js') }}" /></script>
-  <script>
+  <script nonce="{{request.csp_nonce}}">
         setTimeout(() => {
             var options = {
                 html: true,
diff --git a/src/plainui/jinja2/plainui/components/integrations.html.j2 b/src/plainui/jinja2/plainui/components/integrations.html.j2
index fadb327557c83d0e7030e8a67c4ed44e222e3e36..4d00e5b7ff442a084a26a5cff018c8c0a7ed315a 100644
--- a/src/plainui/jinja2/plainui/components/integrations.html.j2
+++ b/src/plainui/jinja2/plainui/components/integrations.html.j2
@@ -1,7 +1,7 @@
 {% macro vocPlayer(playerId='player', vocStream=None, vocLecture=None) -%}
   <div id="{{ playerId }}" class="hub_voc_player"></div>
 
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
         new VOCPlayer.Player({
             {% if vocStream -%}
             vocStream: "{{ vocStream }}",
diff --git a/src/plainui/jinja2/plainui/components/map.html.j2 b/src/plainui/jinja2/plainui/components/map.html.j2
index 8c1f7d8bbed58a47fe12669016c3a53b73a22b2f..ee3960cd440d9e347cc97d86842f03fa93fe1cb2 100644
--- a/src/plainui/jinja2/plainui/components/map.html.j2
+++ b/src/plainui/jinja2/plainui/components/map.html.j2
@@ -3,7 +3,7 @@
   {% set map_start_pos = map_config["start"] %}
 
   <div id="{{ map_container_id }}" style="width: 100%; min-height: 20em;"></div>
-  <script>
+  <script nonce="{{ request.csp_nonce }}">
     const style = {{ map_config.style|tojson|safe }};
 
     const map = new maplibregl.Map({
diff --git a/src/plainui/jinja2/plainui/public_fahrplan.html.j2 b/src/plainui/jinja2/plainui/public_fahrplan.html.j2
index 269151d901ecce9f10c02fc6356eadd88e58fd57..81e48466058bca83e0ef532a005d3b5029fb8dd0 100644
--- a/src/plainui/jinja2/plainui/public_fahrplan.html.j2
+++ b/src/plainui/jinja2/plainui/public_fahrplan.html.j2
@@ -16,7 +16,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1">
     {% block head %}
     {% endblock head %}
-    <script>
+    <script nonce="{{ request.csp_nonce }}">
             document.addEventListener('DOMContentLoaded', (e) => {
                 document.querySelector('html').classList.remove('no-js');
                 document.querySelector('html').classList.add('js');
diff --git a/src/plainui/jinja2/plainui/static_page_edit.html.j2 b/src/plainui/jinja2/plainui/static_page_edit.html.j2
index 740c85f12a3b6dc491a1a08b7253c1c9964061fb..4a092a612003554858a762f5af01d467eb302aea 100644
--- a/src/plainui/jinja2/plainui/static_page_edit.html.j2
+++ b/src/plainui/jinja2/plainui/static_page_edit.html.j2
@@ -36,14 +36,15 @@
     {% endif %}
     {% if preview_body is defined %}
       <article class="pb-11 my-4 hub-card">
-        <h2 class="hub-section-title">{{ _('Preview') }}</h2>
+        <h2 class="hub-section-title">{{ _("Preview") }}</h2>
 
         {{ markdownMacro.markdown(markdown=preview_body | safe, customClass="p-2 rounded") }}
       </article>
     {% endif %}
-    <form method="post" class="hub-card"
+    <form method="post"
+          class="hub-card"
           action="{{ url('plainui:static_page_edit', page_slug=page_slug) }}{{ '?rev=' + revision if revision else '' }}">
-      <h2 class="hub-section-title">{{ _('Wiki__edit') }}</h2>
+      <h2 class="hub-section-title">{{ _("Wiki__edit") }}</h2>
 
       {%- if not_latest_revision %}
         {% call alert.warning() %}
@@ -63,7 +64,10 @@
               {{ _("Save") }}
               {% if page.is_localized %}({{ get_language() }}){% endif %}
             </button>
-            <button type="submit" name="preview" value="true" class="btn btn-secondary mx-1">{{ _("Preview") }}</button>
+            <button type="submit"
+                    name="preview"
+                    value="true"
+                    class="btn btn-secondary mx-1">{{ _("Preview") }}</button>
           {%- endif %}
         </div>
         <div class="col d-flex justify-content-end">
@@ -77,7 +81,7 @@
 
 {% block jstools %}
   {% if page_slug and lock_id %}
-    <script>
+    <script nonce="{{ request.csp_nonce }}">
   const data = new URLSearchParams();
   data.append('page_slug', {{ page_slug | tojson }});
   data.append('lock_id', {{ lock_id | tojson }});